:root{--canvas:#141519;--s1:#1c1d22;--s2:#24252b;--border:#2e2f36;--text:#f2f2f4;--muted:#9a9ba3;--dim:#5f6069;--mint:#74ecc6;--onmint:#0e1f1a;--pink:#ff7ab8;--glass:#1c1d2299;--float:0 30px 80px #0000008c;--font:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:dark;font:500 14px/1.5 var(--font);color:var(--text);background:var(--canvas)}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{-webkit-font-smoothing:antialiased;position:fixed;inset:0}[hidden]{display:none!important}button,input{font:inherit}button{cursor:pointer;color:var(--text)}button:disabled{cursor:default;color:var(--dim);background:var(--s1)}:focus-visible{outline:2px solid var(--pink);outline-offset:3px}#canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.gm-card{background:var(--s1);border:1px solid var(--border);border-radius:16px;padding:14px 16px}.glass{background:var(--glass);backdrop-filter:blur(10px)}.brand{right:28px;bottom:calc(28px + env(safe-area-inset-bottom,0px));color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex;position:fixed}.brand img{transform:rotate(-8deg)}.brand small{color:var(--muted);font-size:12px;display:block}.brand strong{letter-spacing:-.035em;font-size:22px;font-weight:800;line-height:1.2;display:block}.gm-chip,.gm-pill{border:1.5px solid var(--border);background:var(--s2);border-radius:999px;font-weight:700}.gm-chip{padding:7px 12px;font-size:12px}.gm-pill{white-space:nowrap;padding:8px 14px;font-size:13px}.gm-pill:hover:not(:disabled){border-color:#3a3b44}.gm-pill.primary:not(:disabled),.gm-pill[aria-pressed=true]{background:var(--mint);color:var(--onmint);border-color:var(--mint)}.gm-pill[data-starting=true]{border-color:var(--mint)}.metrics{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;position:fixed;top:28px;right:28px}#fps{color:var(--mint)}.load-status{max-width:min(400px,100% - 56px);color:var(--muted);margin:0;font-size:12px;position:fixed;top:28px;left:28px}.conversation{width:min(680px,100% - 56px);left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px) + var(--keyboard-inset,0px));position:fixed;transform:translate(-50%)}.chat{box-shadow:var(--float);flex-direction:column;gap:10px;display:flex}.chat-heading,.question,.actions{align-items:center;gap:10px;display:flex}.chat-heading{color:var(--muted);justify-content:space-between;font-size:13px}.actions{flex-wrap:wrap}.gm-input{background:var(--canvas);color:var(--text);border:1px solid var(--border);border-radius:12px;flex:1;min-width:0;padding:9px 12px;font-size:14px}.gm-input::placeholder{color:var(--dim)}.gm-input:focus{border-color:#3a3b44}.gm-error{color:var(--pink);word-break:break-word;margin:0;font-size:12px;line-height:1.45}.load-status.gm-error{background:var(--s1);border:1px solid var(--border);border-radius:16px;padding:14px 16px}.history{scrollbar-width:thin;flex-direction:column;align-items:flex-start;gap:10px;max-height:24dvh;margin-bottom:10px;display:flex;overflow-y:auto}.history:empty{display:none}.history p{background:var(--s1);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:16px;max-width:85%;margin:0;padding:10px 14px}.history .player{background:var(--s2);align-self:flex-end}.history strong{color:var(--mint);font-size:12px;display:block}.mic-wave{height:36px;color:var(--mint);position:relative}.mic-wave canvas{width:100%;height:36px;display:block}.mic-wave span{background:var(--s1);border-radius:999px;padding:0 8px;font-size:12px;position:absolute;top:8px;right:0}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=1200px){.conversation{bottom:calc(118px + env(safe-area-inset-bottom,0px) + var(--keyboard-inset,0px))}}@media (width<=760px){.brand{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:10px 14px}.metrics{top:14px;right:14px}.load-status{max-width:calc(100% - 28px);top:14px;left:14px}.conversation{width:calc(100% - 28px);bottom:calc(100px + env(safe-area-inset-bottom,0px) + var(--keyboard-inset,0px))}.gm-input{font-size:16px}.gm-pill{padding:8px 12px}:root[data-keyboard] .history{max-height:16dvh}:root[data-keyboard] .chat-heading{display:none}}
