:root{--bg: #07080a;--bg-elev: #101215;--text: #f4f5f7;--text-dim: #c5cad3;--mute: #8b929e;--accent: #5eead4;--accent-dim: #2dd4bf;--accent-soft: rgba(94, 234, 212, .14);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--glass: rgba(16, 18, 21, .72);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--hit: 44px;--radius: 18px;--font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{height:100dvh}body{background:var(--bg);color:var(--text);font-family:var(--font);font-optical-sizing:auto;overflow:hidden;color-scheme:dark;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}button,a,input{touch-action:manipulation;font-family:inherit}.app{position:relative;height:100%;height:100dvh;display:flex;flex-direction:column;padding-top:max(.75rem,var(--safe-t));padding-right:max(1rem,var(--safe-r));padding-bottom:0;padding-left:max(1rem,var(--safe-l));overflow:hidden;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(94,234,212,.08),transparent 55%),var(--bg)}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-shrink:0;padding-bottom:.65rem}.brand{min-width:0}.wordmark{display:block;font-size:.78rem;font-weight:600;letter-spacing:.22em;color:var(--text)}.status-line{display:block;margin-top:.28rem;font-size:.78rem;color:var(--mute);font-weight:400}.status-line .dot{color:var(--mute)}.is-listen .status-line{color:var(--accent)}.top-right{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.clock-block{text-align:right;margin-right:.35rem}.clock{display:block;font-size:.95rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ampm{margin-left:.28rem;font-size:.68rem;color:var(--mute);font-weight:500;letter-spacing:.04em}.day{display:block;font-size:.68rem;color:var(--mute);margin-top:.08rem}.text-btn{background:transparent;border:0;color:var(--accent);font-size:.8rem;font-weight:500;min-height:var(--hit);padding:0 .55rem;cursor:pointer;border-radius:999px}.text-btn:disabled{opacity:.4;cursor:default}.text-btn:hover:not(:disabled){background:var(--accent-soft)}.stage{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem .5rem 2rem;gap:.35rem}.hero h1{margin:1.35rem 0 0;font-size:1.85rem;font-weight:600;letter-spacing:-.03em;line-height:1.15}.lede{margin:.45rem 0 1.15rem;color:var(--mute);font-size:.98rem;line-height:1.5;max-width:18rem}.debrief-cta{min-height:48px;padding:0 1.35rem;border:1px solid rgba(94,234,212,.28);background:var(--accent-soft);color:var(--accent);border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer}.debrief-cta:disabled{opacity:.4}.debrief-cta:hover:not(:disabled){background:#5eead433}.transcript{display:flex;flex-direction:column;gap:.85rem;padding:.4rem 0 1.2rem}.bubble{max-width:92%;display:flex;flex-direction:column;gap:.28rem}.bubble.user{align-self:flex-end}.bubble.assistant{align-self:flex-start}.who{font-size:.7rem;font-weight:500;color:var(--mute);letter-spacing:.04em;padding:0 .35rem}.bubble p{margin:0;padding:.85rem 1rem;line-height:1.55;font-size:1.02rem;white-space:pre-wrap;border-radius:var(--radius)}.bubble.user p{background:var(--accent-soft);border:1px solid rgba(94,234,212,.16);border-radius:18px 18px 6px;color:var(--text)}.bubble.assistant p,.bubble.thinking{background:#ffffff0a;border:1px solid var(--line);border-radius:18px 18px 18px 6px}.bubble.live p{opacity:.75}.bubble.thinking{padding:.85rem 1rem;min-width:4.5rem}.dots{display:inline-flex;gap:.28rem;align-items:center;height:1.2rem}.dots i{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.35;animation:dots 1.1s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dots{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.callout{margin:.6rem 0 .4rem;border:1px solid rgba(248,113,113,.35);background:var(--danger-soft);border-radius:14px;padding:.9rem 1rem}.callout-key{border-color:#5eead44d;background:var(--accent-soft)}.callout-k{display:block;font-size:.72rem;font-weight:600;color:var(--danger);margin-bottom:.3rem}.callout-key .callout-k{color:var(--accent)}.callout p{margin:0;line-height:1.5;font-size:.92rem;color:var(--text-dim)}.banner{color:var(--danger);font-size:.82rem;line-height:1.4;padding:.35rem .15rem .15rem;flex-shrink:0}.toast{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.15rem 0 .35rem;padding:.7rem .9rem;background:var(--glass);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-size:.88rem;color:var(--text-dim);flex-shrink:0}.toast button{background:transparent;border:0;color:var(--accent);font-weight:600;font-size:.85rem;min-height:36px;padding:0 .4rem;cursor:pointer}.dock{flex-shrink:0;display:flex;flex-direction:column;gap:.55rem;padding:.55rem 0 max(.85rem,calc(var(--safe-b) + .45rem));background:linear-gradient(to top,var(--bg) 70%,transparent)}.dock-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tier{display:inline-flex;padding:3px;border-radius:999px;background:#ffffff0a;border:1px solid var(--line)}.tier button{border:0;background:transparent;color:var(--mute);font-size:.68rem;font-weight:600;letter-spacing:.08em;min-height:32px;min-width:3.6rem;padding:0 .7rem;border-radius:999px;cursor:pointer}.tier button.on{background:var(--accent-soft);color:var(--accent)}.ghost{background:transparent;color:var(--text-dim);border:1px solid var(--line);border-radius:999px;min-height:var(--hit);padding:0 .9rem;font-size:.8rem;font-weight:500;cursor:pointer}.ghost.on,.ghost:hover:not(:disabled){border-color:#5eead459;color:var(--accent)}.ghost:disabled{opacity:.4;cursor:default}.dock-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center}.app.is-empty .dock-row{grid-template-columns:minmax(0,1fr) auto}.dock-row input{width:100%;min-height:52px;padding:.8rem 1rem;font-size:16px;color:var(--text);background:#ffffff0b;border:1px solid var(--line);border-radius:999px;outline:none}.dock-row input:focus{border-color:#5eead466}.send{min-height:52px;min-width:52px;padding:0 1.05rem;border:0;border-radius:999px;background:var(--accent);color:#06241f;font-size:.9rem;font-weight:600;cursor:pointer}.send:disabled{opacity:.35;cursor:default}.orb{position:relative;border:0;padding:0;background:transparent;cursor:pointer;flex-shrink:0}.orb-core{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.55),transparent 36%),radial-gradient(circle at 50% 55%,#5eead4,#0f766e 62%,#07080a);box-shadow:0 0 18px #5eead459,inset 0 0 12px #ffffff1f}.orb-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(94,234,212,.22)}.orb-hero{width:128px;height:128px;animation:breathe 4.4s ease-in-out infinite}.orb-dock{width:52px;height:52px;min-width:52px;min-height:52px;animation:breathe 4.4s ease-in-out infinite}.orb-hero .orb-core{inset:22%}.orb.dim{opacity:.55}.orb.is-listen{animation:none}.orb.is-listen .orb-ring{animation:pulse-ring 1.35s ease-out infinite}.orb.is-listen .orb-ring.delay{animation-delay:.45s}.orb.is-listen .orb-core{box-shadow:0 0 28px #5eead4a6,inset 0 0 12px #ffffff2e}.orb.is-think .orb-core{filter:saturate(.8)}.orb.is-speak .orb-core{box-shadow:0 0 22px #5eead480}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.7}to{transform:scale(1.55);opacity:0}}.sheet{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;justify-content:flex-end}.sheet-backdrop{position:absolute;inset:0;border:0;background:#0000008c;cursor:pointer;padding:0}.sheet-card{position:relative;z-index:1;max-height:min(84dvh,720px);width:100%;display:flex;flex-direction:column;background:var(--glass);border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);padding-bottom:var(--safe-b);animation:sheet-up .28s ease-out}.sheet-handle{width:36px;height:4px;border-radius:2px;background:#ffffff2e;margin:.6rem auto 0}.sheet-h{display:flex;justify-content:space-between;align-items:center;padding:.55rem .85rem .35rem 1.15rem}.sheet-title{font-size:1.05rem;font-weight:600;letter-spacing:-.02em}.sheet-sub{font-size:.75rem;color:var(--mute);margin-top:.12rem}.cal-actions{display:flex;flex-wrap:wrap;gap:.45rem;padding:.55rem 1rem .25rem}.events{list-style:none;margin:0;padding:.4rem 1.15rem 1.25rem;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}.events li{padding:.85rem 0;border-bottom:1px solid var(--line)}.when{color:var(--accent);font-size:.75rem;font-weight:500}.what{margin-top:.22rem;font-size:.98rem}.where{color:var(--mute);font-size:.78rem;margin-top:.15rem}.empty{color:var(--mute);line-height:1.5}.sched{display:grid;gap:.5rem;padding:.5rem 1rem .7rem}.sched input{background:#ffffff0a;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:.75rem .8rem;font-size:16px;min-height:var(--hit);outline:none}.sched label{display:grid;gap:.3rem;color:var(--mute);font-size:.75rem;font-weight:500}.primary{min-height:var(--hit);border:0;border-radius:12px;background:var(--accent);color:#06241f;font-weight:600;cursor:pointer}@keyframes sheet-up{0%{transform:translateY(18px);opacity:.4}to{transform:translateY(0);opacity:1}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}@media(min-width:480px){.hero h1{font-size:2.1rem}.bubble{max-width:78%}}@media(min-width:900px){.app{max-width:760px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}.sheet{justify-content:stretch;align-items:flex-end}.sheet-card{max-height:none;height:100%;max-width:400px;border-radius:0;animation:sheet-right .28s ease-out}.sheet-handle{display:none}@keyframes sheet-right{0%{transform:translate(24px);opacity:.4}to{transform:translate(0);opacity:1}}}.lede{max-width:22rem}.dock-links{display:flex;gap:.4rem;align-items:center}.dock-links .ghost{padding:0 .75rem}.count{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;margin-left:.35rem;padding:0 .28rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.68rem;font-weight:700}.sheet-tabs{display:flex;gap:.25rem;padding:.15rem 1rem .35rem;border-bottom:1px solid var(--line)}.sheet-tabs button{flex:1;min-height:var(--hit);border:0;background:transparent;color:var(--mute);font-size:.88rem;font-weight:600;cursor:pointer;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.sheet-tabs button.on{color:var(--accent);background:var(--accent-soft)}.task-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding:.7rem 1rem .35rem}.task-add input{background:#ffffff0a;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:.75rem .8rem;font-size:16px;min-height:var(--hit);outline:none}.task-add input:focus{border-color:#5eead466}.task-add .primary{min-width:4.5rem;padding:0 1rem}.tasks{list-style:none;margin:0;padding:.35rem .85rem 1.25rem;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}.task-row{display:flex;align-items:center;gap:.35rem;padding:.35rem .2rem;border-bottom:1px solid var(--line);min-height:56px}.task-row.done .task-title{text-decoration:line-through;color:var(--mute)}.task-body{flex:1;min-width:0}.task-title{font-size:.98rem;line-height:1.35}.task-due{margin-top:.12rem;font-size:.72rem;color:var(--accent);font-weight:500}.task-row.done .task-due{color:var(--mute)}.check{flex-shrink:0;width:44px;height:44px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;padding:0;color:#06241f}.check span{width:22px;height:22px;border-radius:7px;border:1.5px solid rgba(255,255,255,.28);display:grid;place-items:center;font-size:.78rem;font-weight:700;line-height:1}.check.on span{background:var(--accent);border-color:var(--accent)}.check:disabled{cursor:default}.icon-btn{flex-shrink:0;width:44px;height:44px;border:0;background:transparent;color:var(--mute);font-size:1.45rem;line-height:1;cursor:pointer;border-radius:12px}.icon-btn:hover{color:var(--danger);background:var(--danger-soft)}
