:root{color:#1d2924;font-synthesis:none;text-rendering:optimizelegibility;--ink:#1d2924;--muted:#68736d;--paper:#fbfaf6;--sage:#dfe8dc;--forest:#264f3d;--border:#1d29241f;background:#eeece4;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 8% -10%,#d9f66f47,#0000 36rem),radial-gradient(circle at 100% 20%,#5e997d24,#0000 28rem),#eeece4;min-width:320px;min-height:100dvh}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{background:#fbfaf6f7;flex-direction:column;width:min(100%,760px);min-height:100dvh;margin:0 auto;display:flex;box-shadow:0 0 60px #1e2f2717}.brand-header{min-height:4.5rem;padding:max(1rem, env(safe-area-inset-top)) 1.25rem .5rem;justify-content:flex-end;align-items:center;display:flex}.status-pill{color:var(--muted);white-space:nowrap;background:#f0f1eb;border-radius:2rem;align-items:center;gap:.45rem;padding:.5rem .72rem;font-size:.72rem;font-weight:650;display:flex}.status-dot{background:#9ca49f;border-radius:50%;width:.45rem;height:.45rem}.status-active .status-dot{background:#49a36e;box-shadow:0 0 0 .25rem #49a36e24}.status-error .status-dot{background:#b6574f}.conversation{overscroll-behavior:contain;flex:1;min-height:0;padding:0 1.25rem 1.25rem;overflow-y:auto}.home-state{flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:calc(100dvh - 6.5rem);padding:0 0 5rem;display:flex}.orb-stage,.active-orb-stage{flex-direction:column;justify-content:center;align-items:center;display:flex}.orb-stage{width:240px;height:240px}.active-orb-stage{min-height:300px;padding:.4rem 0 1rem}.web-audio-orb{pointer-events:none;flex:none}.orb-sparkles{animation:16s linear infinite spin-cw}@keyframes spin-cw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ask-prompt{color:var(--muted);letter-spacing:-.01em;margin:.85rem 0 0;font-size:.98rem}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:1rem;min-height:3.25rem;padding:.8rem 1.5rem;font-weight:700}.primary-button{background:var(--forest);color:#fff;box-shadow:0 .8rem 2rem #264f3d33}.start-button{opacity:1;min-width:8.75rem;transition:opacity .28s,transform .28s;transform:translateY(0)}.start-button-hidden{opacity:0;pointer-events:none;transform:translateY(.45rem)}.secondary-button{background:var(--sage);color:var(--forest)}.primary-button:focus-visible,.secondary-button:focus-visible,.icon-button:focus-visible,.text-entry input:focus-visible,.text-entry button:focus-visible{outline-offset:3px;outline:3px solid #7da647}.messages{flex-direction:column;gap:1rem;padding:0 0 1.5rem;display:flex}.message{max-width:88%}.message p{border-radius:1.15rem;margin:0;padding:.9rem 1rem;line-height:1.5}.message-user{align-self:flex-end}.message-user p{background:var(--forest);color:#fff;border-bottom-right-radius:.3rem}.message-assistant{align-self:flex-start}.message-assistant p{color:var(--ink);background:#eff1e9;border-bottom-left-radius:.3rem}.message.partial{opacity:.67}.processing-label{color:var(--muted);margin:0;font-size:.8rem}.notice{color:#5d5531;background:#fff9dc;border:1px solid #d9d1a9;border-radius:.8rem;margin:0 1rem .75rem;padding:.75rem .9rem;font-size:.78rem;line-height:1.4}.controls{padding:.7rem 1rem max(.9rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fbfaf6d1,#fbfaf6fa 35%);position:sticky;bottom:0}.control-row{grid-template-columns:repeat(4,3.65rem);justify-content:center;align-items:center;gap:clamp(.55rem,4vw,1.25rem);display:grid}.icon-button{border:1px solid var(--border);width:3.65rem;height:3.65rem;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;transition:background .16s,border-color .16s,color .16s,opacity .16s;display:grid}.icon-button svg{stroke-width:1.9px;width:1.35rem;height:1.35rem}.icon-button.active{background:#fff2d8;border-color:#ddbd7e}.icon-button:disabled{cursor:not-allowed}.unavailable-control{opacity:.34}.end-control{color:#a34842}.text-entry{opacity:0;visibility:hidden;background:#fff;border:1px solid #0000;border-radius:1rem;grid-template-columns:1fr 2.8rem;gap:.4rem;width:min(100%,34rem);max-height:0;margin:0 auto;padding:0 .35rem;transition:max-height .22s,margin .22s,padding .22s,opacity .18s,transform .22s,border-color .22s;display:grid;overflow:hidden;transform:translateY(.5rem)}.text-entry-open{border-color:var(--border);opacity:1;visibility:visible;max-height:4rem;margin-top:.7rem;padding:.35rem;transform:translateY(0)}.text-entry input{min-width:0;min-height:2.45rem;color:var(--ink);background:0 0;border:0;outline:0;padding:0 .65rem}.text-entry button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:.75rem;place-items:center;width:2.45rem;height:2.45rem;display:grid}.text-entry button svg{width:1.15rem;height:1.15rem}.text-entry button:disabled{opacity:.35;cursor:not-allowed}.hero-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:65vh;padding:2rem .5rem;display:flex}.hero-state h2{letter-spacing:-.035em;max-width:26rem;margin:.65rem 0 .75rem;font:600 clamp(2rem,9vw,3.6rem)/1.02 Georgia,serif}.hero-state>p{max-width:31rem;color:var(--muted);margin:0 0 1.6rem;line-height:1.6}.center-state{text-align:center;background:var(--paper);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex}.center-state h1{max-width:28rem;margin:0 0 .6rem;font:600 clamp(2rem,8vw,3rem)/1.05 Georgia,serif}.center-state p{max-width:30rem;color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=680px){body{padding:1.5rem 0}.app-shell{border-radius:1.5rem;min-height:calc(100dvh - 3rem);overflow:hidden}.home-state{min-height:calc(100dvh - 9.5rem)}.conversation,.controls{padding-inline:2rem}}@media (height<=620px){.home-state{justify-content:flex-start;padding-top:1rem}.active-orb-stage{min-height:260px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
