*{box-sizing:border-box}html{--bg:#06131d;--surface:#10232d;--text:#e8f5f5;--muted:#a6bcc8;--accent:#40e5de;--on-accent:#042126;--line:#2c424d;--halo:#08bdbb18;--danger:#ffd298;--display:Outfit,ui-rounded,system-ui,sans-serif;background:var(--bg);color:var(--text);color-scheme:dark;font-size:16px}html[data-theme=light]{--bg:#f3f8f8;--surface:#e7efef;--text:#10262e;--muted:#48626e;--accent:#006f73;--on-accent:#fff;--line:#bdcdce;--halo:#1cb8b211;--danger:#805000;color-scheme:light}html[data-theme=contrast]{--bg:#000;--surface:#111;--text:#fff;--muted:#dedede;--accent:#71fff4;--on-accent:#000;--line:#aaa;--halo:transparent;--danger:#ffdd99}html[data-text-size=large]{font-size:20px}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;background:radial-gradient(ellipse at 12% 0,var(--halo),transparent 48%),var(--bg);min-height:100dvh}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}a{text-decoration:none}a,button{color:inherit}button:disabled,input:disabled{opacity:.55;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,8.5vw,2.5rem);letter-spacing:-.035em;line-height:1.13;margin-bottom:20px;overflow-wrap:anywhere}h1,h2{font-family:var(--display);font-weight:550}h2{font-size:1.15rem;line-height:1.35}p{overflow-wrap:anywhere}svg{flex-shrink:0}a svg,button svg{pointer-events:none}.app-shell{max-width:480px;margin:auto;padding:calc(22px + env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));min-height:100dvh}.app-header{justify-content:space-between;margin-bottom:20px}.app-header,.brand{display:flex;align-items:center}.brand{gap:10px;min-height:48px;font-family:var(--display);font-size:1rem;letter-spacing:.18em;line-height:1.2}.brand strong{display:block;color:var(--accent);font-size:.85rem;letter-spacing:.11em;font-weight:600}.brand-art{background:url(/icons/icon-192.png) 50%/cover;border-radius:13px}.avatar,.brand-art{width:46px;height:46px}.avatar{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);border-radius:50%;flex-shrink:0;font-size:.875rem}.context-line{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin-bottom:7px}.demo-pill{font-size:.65rem;letter-spacing:.035em;border:1px solid var(--line);border-radius:20px;padding:4px 8px;color:var(--muted)}.greeting{font-family:var(--display);font-size:1.2rem;font-weight:450;margin:0 0 8px}.now{position:relative;padding-top:1px;margin-bottom:26px}.eyebrow{color:var(--accent);font-size:.8rem;font-weight:600;letter-spacing:.1em;margin:0 0 14px}.now .eyebrow{text-align:center;margin-top:-8px;margin-bottom:18px;letter-spacing:.04em}.hero-description{color:var(--muted);font-size:.95rem;margin-bottom:24px}.outline-button,.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;width:100%;padding:12px 18px;border-radius:18px;font-size:.95rem;font-weight:600;border:1px solid transparent;text-align:center}.primary-button{background:var(--accent);color:var(--on-accent);margin:16px 0 0}.primary-button svg:last-child{margin-left:auto}.outline-button{background:transparent;border-color:var(--accent);color:var(--accent)}.outline-button:active,.primary-button:active{transform:translateY(1px)}.section-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-label h2{font:inherit;color:var(--muted);font-size:.85rem;margin:0}.section-label>a{font-size:.75rem;color:var(--accent);min-height:44px;display:flex;align-items:center}.activity-list{list-style:none;padding:0;margin:0}.activity-list li{border-bottom:1px solid var(--line)}.activity-list li:first-child{border-top:1px solid var(--line)}.activity-list a{display:flex;align-items:center;gap:14px;min-height:80px;padding:14px 0}.activity-icon{color:var(--text);display:flex}.activity-copy{flex:1 1;min-width:0}.activity-copy strong{display:block;font-weight:550;font-size:.9rem;line-height:1.4}.activity-copy small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}.activity-list a>svg:last-child{width:17px;color:var(--muted)}.home-actions{margin-top:25px}.ask-entry{display:flex;align-items:center;gap:10px;margin-top:12px}.ask-entry>a:first-child{flex:1 1;min-height:50px;display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:26px;color:var(--muted);padding:10px 17px;font-size:.9rem}.mic-button{border:0;background:var(--accent);color:var(--on-accent);border-radius:50%;width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.micro-caption{color:var(--muted);font-size:.66rem;text-align:center;margin:12px 0 0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);z-index:20;display:flex;justify-content:space-around;padding:10px max(20px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:var(--bg);border-top:1px solid var(--line)}.bottom-nav a{position:relative;display:flex;align-items:center;gap:5px;flex-direction:column;min-width:90px;min-height:48px;color:var(--muted);font-size:.7rem}.bottom-nav a[aria-current=page]{color:var(--accent)}.bottom-nav a[aria-current=page]:after{content:"";height:2px;position:absolute;bottom:-4px;width:20px;background:var(--accent);border-radius:2px}.demo-tools{margin-top:22px;color:var(--muted);font-size:.75rem}.demo-tools summary{min-height:44px;padding:12px 0;cursor:pointer}.demo-tools label{display:block}.demo-tools select{width:100%;margin:8px 0;min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--line);padding:8px;border-radius:9px}.demo-tools p{font-size:.7rem}.pwa-actions:empty{display:none}.pwa-actions button{margin-top:14px}.back-link{display:inline-flex;align-items:center;gap:5px;min-height:44px;color:var(--muted);font-size:.85rem;margin:6px 0 18px}.page-eyebrow{margin-top:30px}.intro{color:var(--muted);font-size:1rem;line-height:1.65}.detail-block{padding:22px 0;border-top:1px solid var(--line);margin-top:24px}.detail-block p{color:var(--muted)}.detail-meta{margin:0 0 24px}.detail-meta>div{padding:12px 0;border-top:1px solid var(--line)}.detail-meta dt{font-size:.75rem;color:var(--muted)}.detail-meta dd{margin:4px 0 0;font-size:.95rem}.notice,.state-notice{display:flex;align-items:flex-start;gap:12px;background:var(--surface);padding:16px;border-radius:14px;font-size:.85rem;margin:18px 0;color:var(--text)}.notice p{margin:0}.state-notice{border:1px solid var(--line)}.state-notice p{color:var(--muted);margin:6px 0}.state-notice>svg{color:var(--danger)}.text-button{background:transparent;color:var(--accent);padding:8px 0;min-height:44px;border:0;text-decoration:underline}.segmented{display:flex;flex-wrap:wrap;gap:4px;background:var(--surface);padding:4px;border-radius:14px;margin:20px 0}.segmented button{min-height:44px;flex:1 1;padding:8px 9px;border:1px solid transparent;border-radius:10px;background:transparent;font-size:.8rem;color:var(--muted)}.segmented button[aria-pressed=true]{background:var(--bg);color:var(--accent);border-color:var(--line)}fieldset{border:0;padding:0;margin:25px 0}legend{font-weight:550}fieldset .segmented{margin-top:10px}.profile-summary{display:flex;gap:14px;align-items:center;padding:20px 0}.profile-summary h2{margin-bottom:5px}.profile-summary p{color:var(--muted);font-size:.8rem;margin:0}.profile-summary .avatar{width:60px;height:60px}.presence{height:86px;position:relative;max-width:300px;margin:10px auto 0;overflow:hidden;isolation:isolate}.orbit{width:96%;height:154px;top:29px;left:2%;border-top:1px solid var(--accent);transform:rotate(-5deg);opacity:.5}.orbit,.orbit:after{position:absolute;border-radius:50%}.orbit:after{content:"";inset:-5px;background:radial-gradient(ellipse at 50% 0,var(--halo),transparent 65%)}.orbit-light{position:absolute;left:23%;top:4px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent)}.presence[data-state=ATTENTION] .orbit{opacity:.9}.presence[data-state=REST] .orbit{opacity:.35}.presence[data-state=LISTENING] .orbit{opacity:1}.presence[data-state=LISTENING] .orbit-light{animation:breathe 1.4s ease-in-out infinite}.presence-wave{display:none;justify-content:center;align-items:center;gap:5px;height:35px;position:absolute;bottom:5px;left:0;right:0}.presence-wave i{height:20px;width:3px;border-radius:4px;background:var(--accent);animation:wave .9s ease-in-out infinite alternate}.presence-wave i:nth-child(2){animation-delay:.2s;height:30px}.presence-wave i:nth-child(3){animation-delay:.4s;height:35px}.presence-wave i:nth-child(4){animation-delay:.6s;height:26px}.presence[data-state=LISTENING] .presence-wave{display:flex}.presence[data-state=PROCESSING] .orbit{opacity:.8;animation:process 1.7s ease-in-out infinite alternate}.presence[data-state=PROCESSING] .orbit-light{opacity:.5;box-shadow:none}.presence[data-state=RESPONSE] .orbit{opacity:1}.presence[data-state=ERROR] .orbit,.presence[data-state=PARTIAL] .orbit{border-top-style:dashed;opacity:.5}.ask-surface .presence{height:125px;margin:10px auto 20px}.ask-surface .orbit{top:45px}.ask-surface .presence-wave{bottom:15px}.ask-surface h1{font-size:2rem}.ask-surface .section-label{flex-wrap:wrap}.ask-surface .section-label .eyebrow{margin:0}.answer{background:var(--surface);border:1px solid var(--line);padding:20px;border-radius:22px;margin:22px 0}.answer>p{font-size:1rem;line-height:1.65}.answer>small{color:var(--muted);font-size:.7rem}.answer .activity-list{margin-top:16px}.answer .activity-list a{gap:8px}.answer .activity-icon{display:none}.suggestions{display:grid;grid-gap:8px;gap:8px;margin:24px 0}.suggestions button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;text-align:left;background:transparent;border:1px solid var(--line);border-radius:15px;padding:12px 15px;font-size:.85rem}.voice-controls{display:flex;align-items:center;justify-content:center;gap:12px;min-height:94px;margin:20px 0}.voice-controls .primary-button,.voice-controls .primary-button svg{margin:0}.voice-start{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;color:var(--on-accent);background:var(--accent);border:9px solid var(--surface);box-shadow:0 0 0 1px var(--line)}.voice-start svg{width:28px;height:28px}.question-form label{display:block;font-size:.8rem;margin-bottom:8px;color:var(--muted)}.question-form>div{display:flex;gap:8px;align-items:center}.question-form input{min-width:0;width:100%;background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:24px;min-height:50px;padding:12px 16px;font-size:1rem}.capture-options{display:grid;grid-gap:10px;gap:10px;margin:24px 0}.capture-options button{display:flex;align-items:center;gap:14px;min-height:64px;border:1px solid var(--line);border-radius:17px;background:var(--surface);padding:16px}.capture-options button>svg:last-child{margin-left:auto}.capture-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.file-label{display:block;margin:20px 0 10px}input[type=file]{width:100%;min-width:0;font-size:.85rem}input::-webkit-file-upload-button{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);margin-right:8px;min-height:44px}input::file-selector-button{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);margin-right:8px;min-height:44px}.note-label{display:block}.note-label textarea{display:block;width:100%;height:180px;resize:vertical;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);padding:14px;margin:10px 0;font-size:1rem}.note-label small,.preview small{color:var(--muted);font-size:.75rem}.preview{background:var(--surface);border-radius:18px;padding:16px;margin-top:18px}.preview img{max-width:100%;max-height:280px;border-radius:10px;display:block;margin:0 auto 14px}.preview p{margin-bottom:4px;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:10px;z-index:100;background:var(--accent);color:var(--on-accent);padding:15px;border-radius:10px}.skip-link:focus{top:10px}@keyframes breathe{50%{transform:scale(1.45);opacity:.65}}@keyframes wave{to{transform:scaleY(.35)}}@keyframes process{to{transform:rotate(5deg);opacity:.35}}@media(hover:hover){.activity-list a:hover,.suggestions button:hover{background:var(--halo)}.primary-button:hover{filter:brightness(1.08)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:374px){.app-shell{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.context-line{font-size:.7rem}.demo-pill{font-size:.6rem}.activity-list a{gap:10px}.greeting{font-size:1.1rem}.now h1{font-size:2rem}}@media(min-width:700px){.app-shell{padding-top:36px}.app-shell,.bottom-nav{border-inline:1px solid var(--line)}}.now .presence{height:64px;margin-top:0}.now .orbit{top:21px}.now h1{font-size:2rem}.now .eyebrow,.now h1{margin-bottom:14px}.now,.now .hero-description{margin-bottom:16px}.now .primary-button{margin-top:12px}.next-activities .activity-list a{min-height:72px;padding-block:12px}.home-actions{margin-top:18px}.app-shell{padding-top:0}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--bg);padding-top:calc(22px + env(safe-area-inset-top));padding-bottom:12px;margin-bottom:8px}@media(min-width:700px){.app-header{padding-top:calc(36px + env(safe-area-inset-top))}}