:root{--bg: #1b1c1f;--surface: #25262b;--surface-2: #2e2f35;--line: #3a3b42;--text: #ece7df;--muted: #9b968d;--gold: #c9a45c;--champagne: #dcc6a3;--owner: #3a3327;--owner-text: #f4ead8;--danger: #d98b7a;--radius: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:var(--champagne)}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.08em}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;background:radial-gradient(circle at 30% 25%,#e6cf9f,var(--gold) 55%,#8f6f33);color:#2a2218;font:600 19px/1 Georgia,Times New Roman,serif;box-shadow:0 0 0 1px #dcc6a340}.avatar.large{width:76px;height:76px;font-size:38px}.primary,.secondary{border:0;border-radius:14px;padding:12px 20px;font-weight:600}.primary{background:var(--gold);color:#241d12}.primary.small{padding:7px 14px;font-size:14px}.secondary{background:var(--surface-2);color:var(--text)}.link{background:none;border:0;color:var(--muted);text-decoration:underline}.icon{background:none;border:0;font-size:22px;width:40px;height:40px;border-radius:50%;color:var(--muted)}.splash,.enroll{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:calc(32px + var(--safe-top)) 28px calc(32px + var(--safe-bottom));text-align:center}.enroll h1{margin:0;font:500 28px/1.2 Georgia,serif;letter-spacing:.04em;color:var(--champagne)}.enroll p{margin:0;max-width:340px}.steps{text-align:left;margin:0;padding-left:22px;color:var(--text)}.code-input{width:240px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:center;font:600 26px/1 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.25em;outline:none}.code-input:focus{border-color:var(--gold)}.error{color:var(--danger)}.chat{height:100%;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:12px;flex:none;padding:calc(10px + var(--safe-top)) 14px 10px 16px;background:#1b1c1feb;border-bottom:1px solid rgba(58,59,66,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.who{flex:1;min-width:0}.name{font-weight:600;letter-spacing:.01em}.status{font-size:13px;color:var(--gold)}.status.off{color:var(--muted)}.feed{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 12px 8px;display:flex;flex-direction:column;gap:10px}.banner{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:14px;color:var(--champagne)}.row{display:flex;flex-direction:column;max-width:100%}.row.owner{align-items:flex-end}.row.jay{align-items:flex-start}.bubble{max-width:min(86%,720px);padding:10px 14px 6px;border-radius:var(--radius);overflow-wrap:anywhere}.bubble.jay{background:var(--surface);border-top-left-radius:6px}.bubble.owner{background:var(--owner);color:var(--owner-text);border-top-right-radius:6px}.bubble.pending{opacity:.6;padding-bottom:10px}.plain{white-space:pre-wrap}.time{font-size:11px;color:var(--muted);text-align:right;margin-top:2px}.service{align-self:center;max-width:86%;font-size:13px;color:var(--muted);text-align:center}.service p{margin:0}.buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;max-width:min(86%,720px)}.chip{border:1px solid rgba(201,164,92,.55);background:transparent;color:var(--champagne);border-radius:999px;padding:7px 14px;font-size:15px}.picture{display:block;max-width:100%;max-height:420px;border-radius:12px;margin:2px 0 6px}.audio{width:260px;max-width:100%;margin:2px 0 4px}.video{max-width:100%;border-radius:12px}.file{display:inline-block;margin:4px 0}.md{line-height:1.55}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol{margin:0 0 .6em}.md ul,.md ol{padding-left:1.3em}.md li{margin:.15em 0}.md h1,.md h2,.md h3,.md h4{font-size:1.05em;margin:.8em 0 .4em;color:var(--champagne)}.md strong{color:#f6efe3}.md blockquote{margin:.4em 0;padding-left:12px;border-left:2px solid var(--gold);color:var(--muted)}.md hr{border:0;border-top:1px solid var(--line);margin:.8em 0}.md .table{overflow-x:auto;margin:.4em 0 .7em}.md table{border-collapse:collapse;font-size:14px;min-width:100%}.md th,.md td{border-bottom:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}.md th{color:var(--champagne);font-weight:600}.md code.inline{font:.9em ui-monospace,SF Mono,Menlo,monospace;background:var(--surface-2);padding:1px 6px;border-radius:6px;cursor:copy}.md .code{position:relative;margin:.4em 0 .7em}.md pre{margin:0;padding:30px 14px 12px;background:#1f2024;border-radius:12px;overflow-x:auto;font:13px/1.5 ui-monospace,SF Mono,Menlo,monospace}.md .copy{position:absolute;top:6px;right:8px;border:0;background:transparent;color:var(--gold);font-size:12px;padding:2px 6px}.streaming:after{content:"▍";color:var(--gold);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.dots{display:flex;gap:5px;padding:14px 16px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:dot 1.2s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,60%,to{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}.composer{flex:none;display:flex;align-items:flex-end;gap:8px;padding:8px 10px calc(8px + var(--safe-bottom));background:var(--bg);border-top:1px solid rgba(58,59,66,.6)}.composer textarea{flex:1;resize:none;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:20px;padding:9px 14px;font:inherit;line-height:1.4;outline:none;max-height:168px}.composer textarea:focus{border-color:#c9a45c99}.send,.mic{width:40px;height:40px;border-radius:50%;border:0;flex:none;font-size:18px}.send{background:var(--gold);color:#241d12;font-weight:700}.mic{background:var(--surface-2)}.composer.recording{align-items:center}.cancel{color:var(--danger)}.wave{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:40px}.wave i{width:5px;border-radius:3px;background:linear-gradient(var(--champagne),var(--gold));height:calc(8px + 28px * var(--level) * var(--scale));transition:height 80ms linear}.timer{font-variant-numeric:tabular-nums;color:var(--champagne);min-width:44px}.sheet-back{position:fixed;inset:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(100%,520px);background:var(--surface);border-radius:22px 22px 0 0;padding:18px 20px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;gap:14px;max-height:85%;overflow-y:auto}.sheet h2{margin:0;font:500 20px Georgia,serif;color:var(--champagne)}.sheet h3{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sheet p{margin:0 0 8px}.devices{margin:0 0 6px;padding-left:18px}.toast{position:fixed;left:50%;bottom:calc(76px + var(--safe-bottom));transform:translate(-50%);background:var(--surface-2);color:var(--text);padding:8px 16px;border-radius:999px;font-size:14px;box-shadow:0 6px 24px #00000059}@media(min-width:900px){.feed{padding:24px max(24px,calc((100% - 820px)/2)) 12px}.composer{padding-left:max(10px,calc((100% - 820px)/2));padding-right:max(10px,calc((100% - 820px)/2))}}
