:root{--ink: #1a1218;--paper: #f4ebe2;--dusk: #2a1624;--wine: #6b2d4a;--rose: #c45c7a;--gold: #d4a574;--jasmine: #f0d9a8;--mist: rgba(244, 235, 226, .08);--line: rgba(212, 165, 116, .28);--shadow: 0 24px 60px rgba(18, 8, 14, .45)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Outfit,system-ui,sans-serif;color:var(--paper);background:#12080e;display:flex;overflow:hidden}.bloom{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(ellipse at 12% 20%,rgba(196,92,122,.28),transparent 42%),radial-gradient(ellipse at 88% 80%,rgba(212,165,116,.16),transparent 40%),radial-gradient(ellipse at 50% 0%,rgba(107,45,74,.5),transparent 55%);pointer-events:none;z-index:0}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.rail,.stage{position:relative;z-index:2}.rail{width:280px;flex-shrink:0;background:linear-gradient(180deg,#1a0c14eb,#12080ee0);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 20px 18px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;gap:14px;align-items:center;margin-bottom:28px}.mark{width:44px;height:44px;position:relative}.petal{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50% 0 50% 50%;background:linear-gradient(135deg,var(--jasmine),var(--rose));transform-origin:70% 70%}.petal:nth-child(2){transform:rotate(120deg);opacity:.85}.petal:nth-child(3){transform:rotate(240deg);opacity:.7}.brand-kicker{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.brand h1{font-family:Cormorant Garamond,serif;font-size:32px;font-weight:600;line-height:1;font-style:italic}.new-chat{border:1px solid var(--line);background:linear-gradient(180deg,#c45c7a40,#6b2d4a33);color:var(--paper);font:500 14px Outfit,sans-serif;padding:12px 14px;border-radius:999px;cursor:pointer;letter-spacing:.04em}.new-chat:hover{border-color:var(--gold)}.rail-label{margin:22px 4px 10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#f0d9a88c}.thread-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:6px}.thread{text-align:left;border:0;background:transparent;color:#f4ebe2b8;padding:10px 12px;border-radius:12px;cursor:pointer;font:400 13px Outfit,sans-serif}.thread.active,.thread:hover{background:var(--mist);color:var(--jasmine)}.rail-foot{font-size:11px;color:#f4ebe266;padding-top:12px}.stage{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:14px;padding:18px 28px;border-bottom:1px solid var(--line)}.ghost{display:none;border:0;background:transparent;color:var(--jasmine);font-size:20px;cursor:pointer}.top-title h2{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500}.top-title p{font-size:12px;color:#f4ebe280}.status{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gold)}.dot{width:8px;height:8px;border-radius:50%;background:#7dcea0;box-shadow:0 0 10px #7dcea0}.stream{flex:1;overflow:auto;padding:28px 8vw 16px;display:flex;flex-direction:column;gap:18px}.bubble{max-width:min(680px,100%);animation:rise .35s ease}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bubble.user{align-self:flex-end}.bubble.assistant{align-self:flex-start}.who{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}.bubble.user .who{text-align:right;color:#f4ebe273}.text{white-space:pre-wrap;line-height:1.65;font-size:15.5px;padding:14px 18px;border-radius:18px 18px 18px 6px;background:linear-gradient(180deg,#2a1624e6,#1a0c14d9);border:1px solid var(--line);box-shadow:var(--shadow)}.bubble.user .text{border-radius:18px 18px 6px;background:linear-gradient(180deg,#c45c7a73,#6b2d4a80);border-color:#f0d9a833}.typing .text{display:flex;gap:6px;padding:16px 20px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.composer{padding:8px 8vw 22px}.composer-shell{display:flex;align-items:flex-end;gap:10px;border:1px solid var(--line);background:#1a0c14bf;border-radius:22px;padding:10px 10px 10px 18px;box-shadow:var(--shadow)}textarea{flex:1;resize:none;border:0;background:transparent;color:var(--paper);font:400 15px Outfit,sans-serif;max-height:160px;outline:none}button#send,button#mic,button#attach{border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;flex-shrink:0}button#send,button#attach{width:42px;height:42px}button#send{background:linear-gradient(135deg,var(--rose),var(--wine));color:var(--jasmine)}button#attach{background:#f0d9a81a;color:var(--jasmine);border:1px solid var(--line)}button#attach.has-file{border-color:var(--gold);background:#d4a57438}button#mic{width:62px;height:62px;background:#f0d9a81f;color:var(--jasmine);border:1px solid var(--gold)}button#mic:hover,button#attach:hover{border-color:var(--gold)}button#mic.listening{background:linear-gradient(135deg,var(--rose),var(--wine));color:var(--jasmine);animation:pulse 1.2s ease infinite}.attach-preview{display:flex;align-items:center;gap:10px;margin:10px 4px 0}.attach-preview[hidden]{display:none}.attach-preview img{width:64px;height:64px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.attach-preview button{width:28px;height:28px;border:0;border-radius:50%;background:#c45c7a66;color:var(--paper);cursor:pointer}.bubble .shot{margin-bottom:8px;max-width:220px;max-height:220px;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block}@keyframes pulse{0%,to{box-shadow:0 0 #c45c7a73}50%{box-shadow:0 0 0 10px #c45c7a00}}.hint{margin-top:8px;font-size:11px;color:#f4ebe261;text-align:center}.empty{margin:auto;text-align:center;max-width:420px;color:#f4ebe2b3}.empty h3{font-family:Cormorant Garamond,serif;font-size:36px;font-style:italic;color:var(--jasmine);margin-bottom:8px}@media(max-width:860px){.ghost{display:block}.rail{position:absolute;inset:0 auto 0 0;transform:translate(-100%);transition:transform .25s ease;z-index:5}.rail.open{transform:none}.stream,.composer{padding-left:18px;padding-right:18px}}
