@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#1c3452;background:#faf6ee;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: oklch(.974 .011 84);--surface: oklch(.995 .005 90);--surface-2: oklch(.955 .016 82);--fg: oklch(.32 .062 255);--fg-strong: oklch(.245 .072 258);--muted: oklch(.53 .038 255);--border: oklch(.902 .016 82);--border-strong: oklch(.845 .022 82);--accent: oklch(.56 .16 33);--accent-deep: oklch(.46 .14 31);--accent-soft: oklch(.945 .038 38);--mint: oklch(.545 .1 178);--mint-soft: oklch(.93 .04 178);--warn: oklch(.6 .125 62);--shadow: 0 18px 48px rgba(63, 52, 37, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--fg)}button,textarea,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid color-mix(in oklch,var(--accent) 55%,white);outline-offset:2px}.app-viewport{min-height:100vh;display:flex;justify-content:center;background:radial-gradient(circle at 50% -15%,oklch(.995 .008 80),transparent 54%),var(--bg)}.app-frame{width:min(100%,760px);min-height:100vh;position:relative;display:flex;flex-direction:column;background:color-mix(in oklch,var(--bg) 86%,white)}.test-login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0%,oklch(.918 .06 300 / .62),transparent 48%),var(--bg)}.test-login-card{width:min(100%,390px);display:grid;gap:14px;padding:28px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.test-login-mark{color:var(--accent-deep);font-size:12px;font-weight:800;letter-spacing:.18em}.test-login-card h1{margin:0;font-size:25px}.test-login-card>p{margin:-6px 0 2px;color:var(--muted);font-size:13px;line-height:1.6}.test-login-card label{display:grid;gap:6px;color:var(--fg-strong);font-size:12px;font-weight:600}.test-login-card input{width:100%;padding:11px 12px;border:1px solid var(--border-strong);border-radius:11px;color:var(--fg);background:var(--surface);font-size:14px}.test-login-error{margin:0!important;color:#a33c38!important}.test-session-logout{padding:7px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface);font-size:10px}.topbar{height:62px;flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border);background:color-mix(in oklch,var(--surface) 76%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-mark,.topbar-actions,.center-heading,.block-heading,.sheet-header,.goal-overview,.row-actions,.row-main,.constraint-row,.conversation-heading,.quick-links,.accepted-line,.action-principle{display:flex;align-items:center}.brand-mark{gap:9px;font-weight:600;color:var(--fg-strong);font-size:14px}.brand-dot{width:9px;height:9px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.topbar-actions{gap:10px}.sync-label,.muted-label{color:var(--muted);font-size:11px}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:50%;color:var(--muted);background:transparent}.icon-button:hover{background:var(--surface-2);color:var(--fg)}.icon-button.small{width:28px;height:28px;border-color:var(--border);background:var(--surface)}.content-scroll{flex:1 1 auto;overflow-y:auto;padding:25px 20px 110px}.conversation-screen{min-height:calc(100vh - 150px);display:flex;flex-direction:column;max-width:630px;margin:0 auto}.conversation-heading{justify-content:space-between;align-items:flex-start;gap:18px;padding:10px 2px 23px}.eyebrow{margin:0 0 7px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:7px;color:var(--fg-strong);font-size:clamp(25px,6vw,33px);letter-spacing:-.04em;line-height:1.15}h2{margin-bottom:0;color:var(--fg-strong);font-size:16px;letter-spacing:-.02em;line-height:1.35}.subheading{max-width:450px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.avatar{width:43px;height:43px;flex:0 0 43px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:var(--accent-deep);font-weight:700;font-size:15px}.avatar-child{background:var(--accent-soft)}.avatar-mom{background:var(--mint-soft);color:color-mix(in oklch,var(--mint) 65%,var(--fg))}.chat-stream{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;padding:3px 0 18px}.load-older-messages{align-self:center;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:12px}.load-older-messages:disabled{opacity:.6}.bubble-row{display:flex;width:100%}.bubble-row.is-user{justify-content:flex-end}.chat-bubble{max-width:min(88%,520px);padding:14px 16px 9px;border:1px solid var(--border);border-radius:18px 18px 18px 5px;background:var(--surface);box-shadow:0 4px 20px #46362209;font-size:14px;line-height:1.7;white-space:pre-wrap}.user-bubble{border-color:color-mix(in oklch,var(--accent) 16%,var(--border));border-radius:18px 18px 5px;background:var(--accent-soft);color:var(--fg-strong)}.bubble-time{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1;text-align:right}.chat-note{align-self:center;padding:5px 11px;border-radius:999px;color:var(--muted);background:color-mix(in oklch,var(--surface-2) 78%,transparent);font-size:10px}.conversation-card{display:grid;gap:8px;margin:0 0 14px;padding:15px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 5px 20px #4a3a2809}.conversation-card h2{font-size:15px}.conversation-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.conversation-card small{color:var(--muted);font-size:10px;line-height:1.5}.card-kicker{display:flex;align-items:center;gap:6px;color:var(--accent-deep);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.card-kicker svg{color:var(--accent)}.action-card{border-color:color-mix(in oklch,var(--accent) 28%,var(--border));background:linear-gradient(135deg,color-mix(in oklch,var(--accent-soft) 78%,var(--surface)),var(--surface))}.memory-card{background:color-mix(in oklch,var(--mint-soft) 35%,var(--surface))}.approval-card{border-color:color-mix(in oklch,var(--accent) 30%,var(--border))}.card-meta,.memory-tags,.quick-prompts{display:flex;flex-wrap:wrap;gap:6px}.card-meta span,.memory-tags span{padding:5px 7px;border-radius:8px;color:var(--muted);background:color-mix(in oklch,var(--surface-2) 78%,transparent);font-size:10px}.memory-tags span{color:color-mix(in oklch,var(--mint) 65%,var(--fg));background:var(--mint-soft)}.quick-prompts{margin:0 0 10px;overflow-x:auto;flex-wrap:nowrap;padding:2px 1px 4px;scrollbar-width:none}.quick-prompts::-webkit-scrollbar{display:none}.quick-prompts button{flex:0 0 auto;padding:7px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface);font-size:11px}.quick-prompts button:hover{border-color:var(--border-strong);color:var(--fg)}.conversation-hint{display:flex;align-items:center;gap:7px;margin:0 0 11px;color:var(--muted);font-size:11px}.composer{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:12px 12px 8px 15px;border:1px solid var(--border);border-radius:23px;background:#ffffffd6;background:oklch(1 .006 270 / .84);box-shadow:0 10px 28px #29314d1a,0 2px 6px #29314d0a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.composer textarea{display:block;flex:1;min-width:0;width:100%;min-height:42px;max-height:112px;resize:none;overflow-y:hidden;border:0;outline:0;color:var(--fg);background:transparent;font-size:15px;line-height:1.5}.composer textarea::placeholder{color:color-mix(in oklch,var(--muted) 80%,white)}.composer-actions,.composer-tools{display:flex;align-items:center}.composer-actions{justify-content:space-between;gap:10px}.composer-tools{gap:4px}.composer-tool{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:13px;color:var(--muted);background:transparent;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.composer-tool img{width:25px;height:25px;object-fit:contain}.composer-tool:hover{background:var(--accent-soft);transform:translateY(-1px)}.composer-tool.microphone-btn.recording{background:#ffe5dbeb;background:oklch(.944 .05 38 / .92);box-shadow:0 0 0 3px #ffe5db70;box-shadow:0 0 0 3px oklch(.944 .05 38 / .44)}.composer-tool.microphone-btn.recording img{filter:drop-shadow(0 2px 5px oklch(.62 .15 34 / .28))}.voice-active{color:var(--accent-deep)}.send-button{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;color:#fff;background:var(--accent)}.send-button:hover,.primary-action:hover,.mini-primary:hover{background:var(--accent-deep)}.quick-links{justify-content:flex-end;padding:13px 3px 0}.text-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;color:var(--accent-deep);background:transparent;font-size:12px}.text-link:hover{color:var(--accent)}.bottom-nav{position:absolute;right:0;bottom:0;left:0;z-index:4;height:80px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:end;padding:8px 18px max(9px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in oklch,var(--surface) 91%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-button,.camera-nav-button{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:var(--muted);font-size:10px}.nav-button{height:58px;border-radius:14px}.nav-button.active{color:var(--accent-deep);background:var(--accent-soft)}.camera-nav-button{position:relative;height:68px;margin-top:-24px;gap:4px}.camera-disc{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:4px solid var(--bg);border-radius:50%;color:#fff;background:var(--accent);box-shadow:0 8px 20px color-mix(in oklch,var(--accent) 24%,transparent)}.camera-nav-button small{color:var(--accent-deep);font-size:10px}.agent-center{max-width:700px;margin:0 auto}.center-heading{align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 2px 21px}.settings-button{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;color:var(--muted);background:var(--surface);font-size:11px}.settings-button:hover{color:var(--fg);border-color:var(--border-strong)}.center-tabs{display:flex;gap:3px;overflow-x:auto;padding:3px;margin-bottom:16px;border:1px solid var(--border);border-radius:13px;background:color-mix(in oklch,var(--surface-2) 72%,transparent)}.center-tabs button{position:relative;flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:9px 12px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:12px}.center-tabs button.active{color:var(--fg-strong);background:var(--surface);box-shadow:0 2px 8px #4332200f}.tab-count{min-width:16px;padding:1px 4px;border-radius:999px;color:#fff;background:var(--accent);font-size:9px}.center-content{display:grid;gap:13px}.section-block{padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 5px 22px #4a3a2809}.flat-block{padding-top:16px}.block-heading{align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.body-copy{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.75}.confidence,.status-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:4px 8px;border-radius:999px;color:var(--accent-deep);background:var(--accent-soft);font-size:10px}.uncertainty{display:flex;align-items:flex-start;gap:7px;margin-top:13px;padding:9px 11px;border-radius:10px;color:var(--muted);background:var(--surface-2);font-size:11px;line-height:1.55}.uncertainty svg{flex:0 0 auto;margin-top:2px;color:var(--mint)}.action-suggestion{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;margin-top:15px;padding:13px;border:1px solid color-mix(in oklch,var(--accent) 22%,var(--border));border-radius:13px;background:color-mix(in oklch,var(--accent-soft) 50%,var(--surface))}.suggestion-icon{width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:11px;color:var(--accent-deep);background:var(--surface)}.suggestion-copy{display:grid;gap:3px;min-width:0}.suggestion-copy strong,.row-main strong{color:var(--fg-strong);font-size:12px;line-height:1.45}.suggestion-copy span,.row-main span,.row-main small{color:var(--muted);font-size:11px;line-height:1.55}.card-actions{grid-column:1 / -1;display:flex;gap:8px;padding-top:3px}.primary-action,.ghost-action,.quiet-action,.mini-primary,.mini-quiet{border:0;border-radius:9px;font-size:11px}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 13px;color:#fff;background:var(--accent)}.primary-action.full{width:100%;padding:12px;margin-top:15px}.primary-action:disabled{cursor:not-allowed;opacity:.45}.ghost-action{padding:9px 13px;color:var(--fg);background:var(--surface);border:1px solid var(--border)}.ghost-action:hover,.mini-quiet:hover{border-color:var(--border-strong);background:var(--surface-2)}.quiet-action{display:inline-flex;align-items:center;gap:6px;margin-top:13px;padding:0;color:var(--muted);background:transparent}.accepted-line{gap:7px;margin-top:14px;color:var(--mint);font-size:12px}.goal-overview{gap:14px}.goal-ring{position:relative;width:72px;height:72px;flex:0 0 72px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:conic-gradient(var(--accent) 0 0%,var(--accent-soft) 0% 100%)}.goal-ring:before{content:"";position:absolute;width:58px;height:58px;border-radius:50%;background:var(--surface)}.goal-ring span{position:relative;z-index:1;color:var(--fg-strong);font-size:17px;font-weight:700}.goal-ring small{font-size:10px}.goal-summary{display:grid;gap:4px;min-width:0}.goal-summary strong{color:var(--fg-strong);font-size:13px}.goal-summary span{color:var(--muted);font-size:11px;line-height:1.55}.thin-progress{height:5px;overflow:hidden;margin-top:7px;border-radius:999px;background:var(--surface-2)}.thin-progress i{display:block;height:100%;border-radius:inherit;background:var(--mint)}.event-list{display:grid;gap:13px}.event-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start}.event-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--border-strong)}.event-dot.insight{background:var(--accent)}.event-dot.action{background:var(--warn)}.event-dot.evidence{background:var(--mint)}.event-dot.outcome{background:var(--fg)}.event-row div{display:grid;gap:2px}.event-row strong{color:var(--fg-strong);font-size:12px}.event-row span:not(.event-dot){color:var(--muted);font-size:11px;line-height:1.5}.event-row time{color:var(--muted);font-size:10px;white-space:nowrap}.goal-detail-card{padding:19px;border-radius:18px;background:var(--fg-strong);color:#fff;box-shadow:var(--shadow)}.goal-detail-card h2{color:#fff;font-size:19px}.goal-detail-card .body-copy{color:#ffffffad;margin-top:7px}.goal-detail-card .eyebrow{color:color-mix(in oklch,var(--accent) 72%,white)}.constraint-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.info-line{display:grid;gap:2px;padding:9px 10px;border-radius:10px;background:#ffffff14}.info-line span{color:#ffffff94;font-size:10px}.info-line strong{font-size:12px}.stepper-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;color:#ffffffb8;font-size:11px}.stepper{display:inline-flex;align-items:center;gap:9px}.stepper button{width:25px;height:25px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;background:#ffffff14}.stepper strong{min-width:24px;text-align:center;color:#fff}.path-list{display:grid;gap:14px}.path-row{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center}.path-dot{width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.path-dot.verified{background:var(--mint)}.path-dot.observing{background:var(--accent)}.path-dot.needs_review{background:var(--warn)}.path-row div{display:grid;gap:2px}.path-row strong{color:var(--fg-strong);font-size:12px}.path-row div span{color:var(--muted);font-size:10px;line-height:1.5}.status-badge.verified{color:color-mix(in oklch,var(--mint) 70%,var(--fg));background:var(--mint-soft)}.status-badge.needs_review{color:var(--accent-deep);background:var(--accent-soft)}.constraint-row{align-items:flex-start;gap:8px;margin-top:11px;color:var(--muted);font-size:11px;line-height:1.6}.constraint-row svg{flex:0 0 auto;margin-top:2px;color:var(--mint)}.filter-row{display:flex;gap:6px;padding:1px 0 3px}.filter-row button{padding:7px 12px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface);font-size:11px}.filter-row button.active{color:var(--accent-deep);border-color:color-mix(in oklch,var(--accent) 30%,var(--border));background:var(--accent-soft)}.evidence-row,.action-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.evidence-row:first-of-type,.action-row:first-of-type{border-top:0}.row-main{min-width:0;align-items:flex-start;gap:9px}.row-main>div{display:grid;min-width:0;gap:2px}.row-main span{display:block}.row-main small{display:block;margin-top:3px;font-size:10px}.evidence-type{min-width:33px;padding:4px 5px;border-radius:7px;color:var(--accent-deep);background:var(--accent-soft);font-size:9px!important;text-align:center}.evidence-type.attempt{color:color-mix(in oklch,var(--mint) 75%,var(--fg));background:var(--mint-soft)}.action-symbol{width:28px;height:28px;display:flex;flex:0 0 28px;align-items:center;justify-content:center;border-radius:9px;color:var(--accent-deep);background:var(--accent-soft)}.action-symbol.done{color:var(--mint);background:var(--mint-soft)}.mini-primary,.mini-quiet{padding:7px 9px;white-space:nowrap}.mini-primary{color:#fff;background:var(--accent)}.mini-quiet{color:var(--muted);background:var(--surface-2)}.row-actions{justify-content:flex-end;flex-wrap:wrap;gap:5px}.action-principle{gap:10px;padding:14px 16px;border:1px dashed var(--border-strong);border-radius:14px;color:var(--muted);background:color-mix(in oklch,var(--surface-2) 38%,transparent)}.action-principle svg{flex:0 0 auto;color:var(--accent)}.action-principle div{display:grid;gap:3px}.action-principle strong{color:var(--fg);font-size:12px}.action-principle span{font-size:11px;line-height:1.55}.growth-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.metric{display:grid;gap:4px;padding:14px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.metric strong{color:var(--fg-strong);font-size:22px;letter-spacing:-.04em}.metric span{color:var(--muted);font-size:10px}.growth-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.growth-columns .section-block{min-width:0}.archive-row,.state-row{display:flex;align-items:flex-start;gap:8px;padding:10px 0;border-top:1px solid var(--border)}.archive-row svg{flex:0 0 auto;margin-top:2px;color:var(--mint)}.archive-row span{flex:1;color:var(--fg);font-size:11px;line-height:1.5}.archive-row small{color:var(--muted);font-size:9px;white-space:nowrap}.state-row{justify-content:space-between;gap:14px}.state-row div{display:grid;gap:3px}.state-row strong{color:var(--fg-strong);font-size:12px}.state-row span:not(.status-badge){color:var(--muted);font-size:11px;line-height:1.5}.empty-copy{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.sheet-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:#261f1640;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.capture-sheet,.detail-sheet{width:min(100%,600px);padding:12px 20px 23px;border:1px solid var(--border);border-radius:24px 24px 14px 14px;background:var(--surface);box-shadow:0 -12px 48px #2f211426}.sheet-handle{width:38px;height:4px;margin:0 auto 15px;border-radius:99px;background:var(--border-strong)}.sheet-header{align-items:flex-start;justify-content:space-between;gap:13px}.sheet-header h2{font-size:19px}.upload-zone{display:grid;gap:6px;align-items:center;justify-items:center;margin-top:17px;padding:28px 16px;border:1px dashed var(--border-strong);border-radius:16px;color:var(--accent-deep);background:var(--accent-soft);text-align:center}.upload-zone strong{color:var(--fg-strong);font-size:13px}.upload-zone span{color:var(--muted);font-size:10px}.upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.photo-preview{width:min(100%,240px);max-height:145px;object-fit:cover;border-radius:11px;border:1px solid var(--border)}.detail-list{display:grid;gap:9px;margin-top:17px}.detail-list div{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:12px;line-height:1.55}.detail-list svg{flex:0 0 auto;margin-top:2px;color:var(--mint)}.outcome-list{display:grid;gap:8px;margin-top:16px}.outcome-list button{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:13px;color:var(--fg);background:var(--surface);text-align:left}.outcome-list button:hover{border-color:var(--border-strong);background:var(--surface-2)}.outcome-list button>svg:first-child{color:var(--accent)}.outcome-list span{display:grid;gap:2px}.outcome-list strong{font-size:12px}.outcome-list small{color:var(--muted);font-size:10px}.challenge-list{display:grid;gap:10px;margin-top:16px}.challenge-list label{display:grid;gap:5px;padding:11px;border:1px solid var(--border);border-radius:12px}.challenge-list span{color:var(--muted);font-size:10px}.challenge-list strong{color:var(--fg-strong);font-size:15px}.challenge-list input{width:100%;padding:9px 10px;border:1px solid var(--border-strong);border-radius:9px;outline:none;color:var(--fg);background:var(--bg);font-size:14px}.challenge-list input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 18%,transparent)}.toast{position:fixed;right:50%;bottom:92px;z-index:30;transform:translate(50%);padding:9px 14px;border-radius:999px;color:#fff;background:var(--fg-strong);box-shadow:var(--shadow);font-size:11px}@media(min-width:700px){.content-scroll,.bottom-nav{padding-right:34px;padding-left:34px}.sheet-backdrop{align-items:center}.capture-sheet,.detail-sheet{border-radius:22px}}@media(max-width:470px){.topbar{padding:0 15px}.content-scroll{padding-right:15px;padding-left:15px}.brand-mark{font-size:13px}.sync-label{display:none}.section-block{padding:15px}.action-suggestion{grid-template-columns:auto 1fr}.growth-columns{grid-template-columns:1fr}.evidence-row,.action-row{grid-template-columns:1fr;gap:8px}.row-actions{justify-content:flex-start}.center-tabs button{padding-right:10px;padding-left:10px}.bottom-nav{padding-right:8px;padding-left:8px}}:root{--bg: oklch(.984 .004 252);--surface: oklch(1 0 0);--surface-2: oklch(.962 .008 255);--fg: oklch(.248 .044 264);--fg-strong: oklch(.214 .046 266);--muted: oklch(.476 .024 262);--border: oklch(.912 .012 258);--border-strong: oklch(.842 .018 260);--accent: oklch(.615 .162 275);--accent-soft: oklch(.952 .026 275);--accent-deep: oklch(.468 .172 275);--mint: oklch(.426 .088 168);--mint-soft: oklch(.954 .03 168);--shadow: 0 10px 30px oklch(.22 .04 265 / .1), 0 2px 8px oklch(.24 .04 265 / .06)}body{overflow:hidden;background:#070a12}.app-viewport{min-height:100dvh;display:grid;place-items:center;background:#070a12}.app-frame{width:390px;height:min(860px,calc(100dvh - 34px));min-height:0;overflow:hidden;container:app-frame / inline-size;border:1px solid oklch(1 0 0 / .12);border-radius:44px;background:var(--bg);box-shadow:0 50px 120px #01020594,0 2px #ffffff29 inset}.topbar{height:60px;flex:0 0 60px;padding:18px 20px 9px;border-bottom:0;background:var(--bg)}.brand{display:flex;align-items:center;gap:8px;min-width:0}.brand-mark{width:36px;height:36px;display:grid;place-items:center;overflow:visible}.brand-mark img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 3px 5px oklch(.53 .16 280 / .15))}.brand-name{display:block;font-family:DM Sans,Arial Rounded MT Bold,sans-serif;font-size:22px;font-weight:700;letter-spacing:.035em;line-height:1;color:#3346c0;background:linear-gradient(110deg,#2e4fc7,#2256c8,#0c5cc9,#0064c3,#006bbf);background:linear-gradient(110deg,#2e4fc7,#2256c8,#0c5cc9,color(xyz 0.147 0.129 0.573),color(xyz 0.148 0.139 0.581));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.content-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 20px 96px;scrollbar-width:none}.content-scroll::-webkit-scrollbar{display:none}.conversation-screen,.agent-center{max-width:none;min-height:calc(100% + 1px);margin:0}.conversation-heading{display:block;padding:13px 2px 18px}.greeting{padding:13px 2px 18px}.eyebrow{color:var(--muted);font-size:10px;font-weight:560;letter-spacing:.15em}h1,h2,.conversation-card h2,.goal-detail-card h2{color:var(--fg-strong);font-family:PingFang SC,HarmonyOS Sans SC,system-ui,sans-serif;font-weight:680;letter-spacing:0}h1{font-size:30px;line-height:1.34}.greeting h1{margin:8px 0 0}.greeting .lead,.page-head .lead{max-width:100%;margin-top:8px;color:#384152;font-size:14px;line-height:1.72}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 2px 12px}.section-heading h2{font-size:18px;font-weight:650}.section-heading span{color:var(--muted);font-size:10.5px}.chat-stream{gap:13px;padding:3px 0 18px}.msg{display:flex;align-items:flex-end;gap:8px;width:100%}.msg.user{justify-content:flex-end}.msg>div{width:fit-content;min-width:0;max-width:82%}.msg .bubble{width:fit-content;max-width:100%;padding:11px 14px;border-radius:18px;font-size:14px;line-height:1.68;white-space:pre-wrap;word-break:break-word}.msg.agent .bubble{border:1px solid var(--border);border-bottom-left-radius:6px;color:var(--fg);background:var(--surface);box-shadow:0 1px 2px #181f2e08}.msg.agent .bubble.is-active{color:var(--muted)}.assistant-activity{display:inline-flex;align-items:center;gap:8px;min-height:22px}.assistant-activity-dots{display:inline-flex;align-items:center;gap:3px}.assistant-activity-dots i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:assistant-thinking 1.1s ease-in-out infinite}.assistant-activity-dots i:nth-child(2){animation-delay:.14s}.assistant-activity-dots i:nth-child(3){animation-delay:.28s}@keyframes assistant-thinking{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.assistant-activity-dots i{animation:none;opacity:.75}}.msg.user .bubble{border:1px solid oklch(.535 .182 275);border-bottom-right-radius:6px;color:#fff;background:#535cd4;box-shadow:0 6px 16px #535cd426}.avatar{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;margin-bottom:2px}.avatar img{width:29px;height:29px;object-fit:contain;filter:drop-shadow(0 3px 5px oklch(.53 .16 280 / .13))}.chat-time{margin:5px 2px 0;color:var(--muted);font-size:10px}.msg.user .chat-time{text-align:right}.chat-end{height:1px;flex:0 0 1px}.chat-note{align-self:center;padding:5px 11px;border-radius:999px;color:var(--muted);background:var(--surface-2);font-size:10px}.conversation-card{gap:8px;margin:0 0 12px;padding:19px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.conversation-card p{color:#384152}.goal-candidate-edit{display:grid;gap:9px}.goal-candidate-edit label{display:grid;gap:5px;color:var(--muted);font-size:11px}.goal-candidate-edit input{min-width:0;padding:9px 10px;border:1px solid var(--border-strong);border-radius:9px;color:var(--fg);background:var(--surface);font:inherit}.goal-merge-control select{min-width:0;flex:1;padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;color:var(--fg);background:var(--surface);font:inherit}.action-card{border-color:#cfd6f3;background:var(--accent-soft)}.vocab-card{margin-top:14px;border-color:#c3ccf2}.vocab-card h2{margin:5px 0;font-size:17px}.vocab-card p{margin:4px 0 10px;font-size:12px;line-height:1.6}.vocab-actions,.vocab-result-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.vocab-actions button,.vocab-actions label,.vocab-result-actions button{min-height:34px;padding:7px 10px;border-radius:10px;font-size:11px}.vocab-upload{display:inline-flex;align-items:center;cursor:pointer}.vocab-upload input{position:absolute;width:1px;height:1px;opacity:0}.vocab-list-head button,.vocab-settings button,.vocab-import-row button{color:var(--accent-deep);font-size:11px}.vocab-settings{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:11px}.vocab-settings summary{color:var(--accent-deep);cursor:pointer}.vocab-settings-fields{display:grid;gap:9px;margin-top:10px}.vocab-settings label{display:flex;align-items:center;gap:6px;font-size:11px}.vocab-settings-fields>button{justify-self:start}.vocab-history{display:grid;gap:7px;margin-top:10px}.vocab-history>div{display:grid;gap:2px;padding-bottom:7px;border-bottom:1px solid var(--border)}.vocab-history small{color:var(--muted);font-size:10px}.goal-config-list{display:grid;gap:9px;margin-top:12px}.goal-config-field{display:grid;grid-template-columns:minmax(92px,.35fr) minmax(0,1fr);gap:10px;padding-bottom:9px;border-bottom:1px solid var(--border)}.goal-config-field>strong{color:var(--fg-strong);font-size:12px}.goal-config-value{min-width:0;color:var(--muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.goal-config-nested-object{display:grid;gap:6px;margin:0}.goal-config-nested-object>div{display:grid;grid-template-columns:minmax(72px,.4fr) minmax(0,1fr);gap:8px}.goal-config-nested-object dt{color:var(--muted)}.goal-config-nested-object dd{min-width:0;margin:0}.goal-config-nested-list{display:grid;gap:3px;margin:0;padding-left:18px}.vocab-settings input,.vocab-answer,.vocab-import-row input{min-width:0;padding:8px;border:1px solid var(--border-strong);border-radius:9px;color:var(--fg);background:var(--surface);font:inherit}.vocab-list-head{display:flex;align-items:center;justify-content:space-between}.vocab-review-list{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.vocab-word{display:grid;gap:6px;padding:10px 0;border-bottom:1px solid var(--border)}.vocab-word>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:13px}.vocab-word span{color:var(--muted)}.vocab-result-actions button{border:1px solid var(--border-strong);background:var(--surface-2)}.vocab-meaning{font-size:24px!important;font-weight:650}.vocab-answer{width:100%;font-size:16px}.vocab-feedback{color:var(--accent-deep)!important}.vocab-due-preview{display:grid;gap:5px;margin:9px 0}.vocab-due-preview>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:6px 0;border-bottom:1px solid var(--border);font-size:12px}.vocab-due-preview span{color:var(--fg)}.vocab-due-preview small{color:var(--muted);font-size:10px}.vocab-import-sheet{max-height:min(80dvh,680px);overflow-y:auto}.vocab-import-items{display:grid;gap:8px;margin-top:14px}.vocab-import-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:6px}.vocab-candidate-meta{grid-column:1 / -1;color:var(--muted);font-size:10px}.vocab-purpose{display:flex;gap:8px;margin:12px 0 2px}.vocab-purpose button{padding:8px 12px;border:1px solid var(--border);border-radius:10px;color:var(--muted);background:var(--surface);font-size:12px}.vocab-purpose button.active{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}.memory-card{background:var(--surface-2)}.card-kicker{color:var(--muted);font-size:10px;letter-spacing:.12em}.card-kicker svg{color:var(--accent-deep)}.card-meta span,.memory-tags span{border:1px solid var(--border);color:#384152;background:var(--surface-2)}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{min-height:40px;flex:0 0 auto;padding:0 13px;border:1px solid var(--border);border-radius:999px;color:#384152;background:var(--surface);font-size:12px;white-space:nowrap}.chip:hover{border-color:var(--border-strong);background:var(--surface-2)}.conversation-hint{margin:0 0 11px;color:var(--muted);font-size:10.5px}.conversation-hint svg{color:var(--accent)}.composer{min-height:56px;padding:5px 5px 5px 16px;border:1px solid var(--border);border-radius:20px;background:#ffffffd6;box-shadow:var(--shadow)}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),var(--shadow)}.composer textarea::placeholder{color:var(--muted)}.camera-btn{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--muted);background:transparent}.camera-btn:hover{color:var(--accent-deep);background:var(--accent-soft)}.photo-review-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.photo-review-form label{display:grid;gap:5px;color:var(--muted);font-size:11px}.photo-review-form label:last-child{grid-column:1 / -1}.photo-review-form select,.photo-review-form textarea{width:100%;padding:9px 10px;border:1px solid var(--border-strong);border-radius:9px;color:var(--fg);background:var(--bg);font:inherit}.review-photo{display:block;width:min(100%,420px);max-height:320px;margin:14px auto;object-fit:contain}.send-btn{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,#646ee3,#6851be);box-shadow:0 6px 14px #5d5bc52e}.send-btn:hover{background:#464cc0}.quick-links{padding:13px 3px 0}.text-link{color:var(--accent-deep)}.primary-action{color:#fff;background:#535cd4;box-shadow:0 8px 20px #535cd42e}.primary-action:hover{background:#464cc0}.ghost-action{border-color:var(--border-strong);color:var(--fg);background:var(--surface)}.bottom-nav{position:absolute;right:12px;bottom:max(10px,env(safe-area-inset-bottom));left:12px;height:auto;min-height:72px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 5px;border:1px solid var(--border);border-radius:22px;background:#ffffffd1;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.nav-item{width:100%;min-width:0;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;border:0;border-radius:16px;color:var(--muted);background:transparent;font-size:11px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.nav-item:hover{color:#384152;background:var(--surface-2)}.nav-item.active{color:var(--accent-deep);background:linear-gradient(145deg,#e2e7fff0,#eee6ffe6);background:linear-gradient(145deg,color(xyz 0.796 0.81 1.179 / 0.941),color(xyz 0.826 0.815 1.127 / 0.902));box-shadow:0 3px 10px #6466bb1a,0 1px 2px #6466bb14;font-weight:700}.nav-icon{width:23px;height:23px;display:block;object-fit:contain;filter:saturate(.82) opacity(.72)}.nav-item.active .nav-icon{filter:drop-shadow(0 3px 5px oklch(.53 .16 280 / .15)) saturate(1.05) opacity(1)}.agent-center{padding-top:13px}.center-heading{align-items:flex-start;padding:0 2px 18px}.center-heading h1{font-size:24px}.center-tabs{border-color:var(--border);background:var(--surface-2)}.center-tabs button.active{color:var(--fg);background:var(--surface)}.section-block,.goal-detail-card{border-color:var(--border);box-shadow:var(--shadow)}.goal-detail-card{color:#fff;background:var(--fg-strong)}.status-badge,.confidence{color:var(--accent-deep);background:var(--accent-soft)}.mini-primary{color:#fff;background:#535cd4}.toast{bottom:90px;background:var(--fg-strong)}.backend-goal-row{width:100%;display:flex;align-items:center;gap:12px;color:var(--fg);text-align:left;cursor:pointer}.backend-goal-row:hover{border-color:var(--border-strong);transform:translateY(-1px)}.backend-goal-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;color:var(--accent-deep);background:var(--accent-soft)}.backend-goal-copy{min-width:0;flex:1;display:grid;gap:5px}.backend-goal-copy strong{color:var(--fg-strong);font-size:14px}.backend-goal-copy small{color:var(--muted);font-size:11px}.backend-goal-row>svg{color:var(--muted)}.goal-back{display:inline-flex;align-items:center;gap:5px;margin:4px 0 14px;padding:5px 0;border:0;color:var(--muted);background:transparent;font-size:12px;cursor:pointer}.goal-detail-heading{margin-bottom:18px}.goal-metrics{margin-bottom:14px}.goal-detail-section{margin-top:12px}.goal-detail-section h2{margin:2px 0 0;font-size:16px}.goal-detail-section .block-heading{display:flex}.goal-due-list{display:grid;gap:3px}.goal-word-row{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:baseline;padding:9px 0;border-top:1px solid var(--border)}.goal-word-row strong{color:var(--fg-strong);font-size:13px}.goal-word-row span{color:var(--fg);font-size:12px}.goal-word-row small{grid-column:1 / -1;color:var(--muted);font-size:10px}.goal-reminder-note{margin:11px 0 0;color:var(--muted);font-size:10px}.pending-import-list,.goal-set-list{display:grid;gap:8px;margin:8px 0 12px}.pending-import-list>strong,.goal-set-list strong{color:var(--fg-strong);font-size:11px}.pending-import-list button{display:flex;align-items:center;justify-content:space-between;padding:10px;border:1px solid var(--border);border-radius:10px;color:var(--accent-deep);background:var(--surface-2);text-align:left;font-size:11px}.goal-set-list>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.goal-set-list small{color:var(--muted);font-size:10px}.goal-disclosure{padding-top:10px;border-top:1px solid var(--border);color:var(--accent-deep);font-size:11px}.goal-disclosure summary,.goal-settings summary{cursor:pointer}.goal-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:14px}.goal-stage-grid>div{display:grid;gap:4px;padding:9px 6px;border-radius:10px;background:var(--surface-2);text-align:center}.goal-stage-grid strong{color:var(--fg-strong);font-size:16px}.goal-stage-grid span{color:var(--muted);font-size:9px;line-height:1.3}.goal-event-list .archive-row{align-items:flex-start}.goal-event-list .archive-row>span{display:grid;gap:3px}.goal-event-list .archive-row small{color:var(--muted);font-size:10px;white-space:normal}.goal-settings{margin-top:12px}.dictation-panel{border-color:#a1d8cab8;background:linear-gradient(145deg,#ffffffe8,#cff9ee8f);background:linear-gradient(145deg,color(xyz 0.951 1 1.114 / 0.91),#cff9ee8f)}.dictation-actions{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.dictation-upload{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid var(--border);border-radius:13px;cursor:pointer}.dictation-upload input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.dictation-results{display:grid;gap:8px;margin:14px 0}.dictation-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.8fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:14px;background:#ffffffb3;background:oklch(1 .006 270 / .7)}.dictation-result>span{display:grid;gap:3px}.dictation-result small{color:var(--muted);font-size:10px}.dictation-result input{min-width:0;padding:8px;border:1px solid var(--border);border-radius:9px;background:#fff}.dictation-result em{color:#993a31;font-size:11px;font-style:normal;font-weight:700}.dictation-result em.correct{color:#005d40;color:oklch(.42 .11 165)}@media(max-width:440px){.dictation-result{grid-template-columns:1fr auto}.dictation-result input{grid-column:1 / 2}.dictation-result em{grid-column:2;grid-row:1 / 3}}.goal-complete-button{width:100%;margin-top:12px}@media(max-width:520px){body{background:var(--bg)}.app-viewport{display:block;min-height:100dvh}.app-frame{width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none}}@container app-frame (max-width: 470px){.goal-config-field,.goal-config-nested-object>div{grid-template-columns:minmax(0,1fr);gap:3px}.goal-config-field>strong,.goal-config-nested-object dt{min-width:0;overflow-wrap:anywhere}.goal-config-nested-object dt{color:var(--fg-strong);font-weight:600}}:root{--bg: oklch(.979 .012 270);--surface: oklch(.998 .004 270 / .88);--surface-2: oklch(.954 .022 270 / .74);--border: oklch(.89 .026 270 / .82);--sky: oklch(.926 .058 238 / .88);--lavender: oklch(.92 .06 300 / .76);--peach: oklch(.944 .05 38 / .75);--accent-soft: oklch(.934 .052 278);--shadow: 0 2px 5px oklch(.31 .04 270 / .035), 0 18px 42px oklch(.31 .045 270 / .1)}body{background:#f0f3fc}.app-viewport{background:radial-gradient(ellipse at 12% 8%,oklch(.925 .054 238 / .72),transparent 35%),radial-gradient(ellipse at 90% 22%,oklch(.918 .06 300 / .62),transparent 34%),radial-gradient(ellipse at 52% 100%,oklch(.943 .052 38 / .72),transparent 40%),#f0f3fc}.app-frame{background:radial-gradient(circle at 0% 0%,var(--sky),transparent 36%),radial-gradient(circle at 100% 28%,var(--lavender),transparent 34%),radial-gradient(circle at 54% 100%,var(--peach),transparent 38%),var(--bg);box-shadow:0 42px 100px #3f45652e,0 2px #ffffffb8 inset}.topbar{background:#f5f8ff6b;background:oklch(.979 .012 270 / .42)}.content-scroll{background:transparent}.composer{background:#ffffffc7;background:oklch(1 .006 270 / .78);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav{background:#ffffffc7;background:oklch(1 .006 270 / .78)}@media(max-width:520px){body,.app-viewport{background:var(--bg)}}.worksheet-sheet,.capture-sheet{max-height:90vh;overflow-y:auto}.capture-backdrop{align-items:center}.capture-backdrop .capture-sheet{border-radius:22px}.capture-instruction{display:grid;gap:6px;margin-top:12px}.capture-instruction>span{display:flex;align-items:baseline;gap:7px;color:var(--fg-strong);font-size:12px;font-weight:650}.capture-instruction small{color:var(--muted);font-size:10px;font-weight:400}.worksheet-sheet .review-photo{width:100%;max-height:55vh}.worksheet-question{display:flex;align-items:flex-start;gap:12px;padding:12px 2px;border-bottom:1px solid #dce1ef;cursor:pointer}.worksheet-question input{width:20px;height:20px;flex:0 0 auto;accent-color:#525bd5}.worksheet-question span{display:grid;gap:4px;min-width:0}.worksheet-question small{color:#596174;overflow-wrap:anywhere}:root{--fg: oklch(.255 .05 270);--fg-strong: oklch(.255 .05 270);--muted: oklch(.575 .028 270);--accent: oklch(.545 .175 278);--accent-deep: oklch(.405 .13 278);--mint-soft: oklch(.94 .052 165 / .78)}.app-frame{border-color:#ffffffb3;box-shadow:0 40px 100px #01020f7a}.topbar{min-height:69px;height:69px;flex-basis:69px;padding:16px 20px 12px;background:transparent}.chat-topbar{min-height:44px;height:44px;flex-basis:44px;padding:0 20px}.chat-topbar .brand{transform:translateY(7px)}.chat-topbar .brand-mark,.chat-topbar .brand-mark img{width:44px;height:44px}.chat-page{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.chat-page>.vocab-summary-bubble,.chat-page>.pending-vocab-import,.chat-page>.worksheet-entry{flex:0 0 auto}.chat-page .conversation-screen{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;height:100%;padding-bottom:calc(60px + max(10px,env(safe-area-inset-bottom)))}.vocab-summary-bubble{display:inline-flex;align-items:center;align-self:flex-end;gap:9px;max-width:100%;margin:7px 0 11px;padding:8px 11px;border:1px solid oklch(.81 .07 178);border-radius:17px 17px 5px;color:var(--fg);background:#c8f5e9f5;box-shadow:0 5px 15px #00483d14;box-shadow:0 5px 15px oklch(.36 .07 178 / .08);text-align:left}.vocab-summary-bubble:hover{border-color:#42a995;background:#b7efe1}.vocab-summary-icon{display:grid;flex:0 0 29px;width:29px;height:29px;place-items:center;border-radius:10px;color:#005c4d;color:oklch(.42 .1 178);background:#9cddce}.vocab-summary-copy{display:grid;min-width:0;gap:1px}.vocab-summary-copy strong{font-size:11px;line-height:1.3}.vocab-summary-copy small{color:var(--muted);font-size:10px;line-height:1.3}.vocab-summary-bubble>svg:last-child{flex:0 0 auto;margin-left:5px;color:var(--accent-deep)}.chat-page>.pending-vocab-import{margin:0 0 8px;padding:12px 14px;border-radius:17px}.pending-vocab-head{display:flex;align-items:center;justify-content:space-between}.pending-vocab-dismiss{display:grid;width:28px;height:28px;place-items:center;margin:-5px -7px -5px 0;border:0;border-radius:50%;color:var(--muted);background:transparent;cursor:pointer}.pending-vocab-dismiss:hover{color:var(--ink);background:#464f7514}.chat-page .chat-stream{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain;gap:13px;padding:2px 1px 14px;scrollbar-width:none}.chat-page .chat-stream::-webkit-scrollbar{display:none}.msg .bubble{padding:11px 13px;border-radius:19px;font-size:13px;line-height:1.65}.msg.agent .bubble{border-color:#ffffffc7;border-bottom-left-radius:6px;background:var(--surface);box-shadow:0 6px 16px #232a3f0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.msg.agent .bubble p{margin:0 0 .7em}.msg.agent .bubble p:last-child,.msg.agent .bubble>:last-child{margin-bottom:0}.msg.agent .bubble ul,.msg.agent .bubble ol{margin:.45em 0 .7em;padding-left:1.4em}.msg.agent .bubble li+li{margin-top:.2em}.msg.agent .bubble a{color:var(--accent-deep);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:2px}.msg.agent .bubble pre{max-width:100%;overflow-x:auto;padding:10px;border-radius:9px;background:var(--surface-2)}.msg.agent .bubble code{overflow-wrap:anywhere;font-size:.9em}.msg.agent .bubble table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.msg.agent .bubble th,.msg.agent .bubble td{padding:5px 7px;border:1px solid var(--border)}.msg.user .bubble{border-color:#7376da7a;border-bottom-right-radius:6px;background:linear-gradient(145deg,#626cdc,#6a54c2);box-shadow:0 9px 20px #5d5bc52e}.msg>div{max-width:82%}.msg:has(.conversation-card)>div{max-width:calc(100% - 35px);width:100%}.msg:has(.conversation-card) .bubble{max-width:82%}.msg .conversation-card{margin:9px 0 0}.avatar,.avatar img{width:36px;height:36px}.avatar{flex-basis:36px}.chat-time{font-size:9px}.conversation-card{padding:16px;border-color:#ffffffb8;border-radius:22px;background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.conversation-card h2{font-size:17px;line-height:1.45}.conversation-card p{font-size:11.5px;line-height:1.7}.conversation-card .card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.conversation-card .status-badge{min-height:23px;padding:0 8px;border:1px solid oklch(.82 .065 165);background:var(--mint-soft);color:#175740;font-size:9px}.conversation-card .status-badge:before{content:"";width:5px;height:5px;margin-right:5px;border-radius:50%;background:currentColor}.conversation-card .status-badge.proposal-waiting{border-color:#f9d0c3;background:#ffe5dbbf;background:oklch(.944 .05 38 / .75);color:#9a4d35}.approval-card{background:linear-gradient(135deg,#ffffffdb,#fff6f28f);background:linear-gradient(135deg,color(xyz 0.951 1 1.12 / 0.859),color(xyz 0.926 0.934 0.918 / 0.561));border-color:#fbd4c8cc}.card-kicker{color:var(--accent-deep);font-size:9px;letter-spacing:.1em}.card-actions{gap:8px;flex-wrap:wrap}.card-actions button{min-height:39px;padding:0 13px;border-radius:13px;font-size:11px;font-weight:650}.chip-row{padding:5px 1px 9px}.chip{min-height:39px;border-color:#ffffffd1;background:#ffffffad;background:oklch(1 .006 270 / .68);box-shadow:0 4px 12px #262d420a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:11.5px}.conversation-bottom{flex:0 0 auto;margin:0 -20px;padding:0 16px 8px;background:linear-gradient(to bottom,#f5f8ff2e,#f5f8ffe0 28%);background:linear-gradient(to bottom,color(xyz 0.894 0.938 1.093 / 0.18),color(xyz 0.894 0.938 1.093 / 0.878) 28%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.conversation-hint{margin:0 1px 8px}.composer{display:flex;align-items:center;min-height:52px;gap:6px;padding:4px 8px 4px 15px;border-color:#ffffffd1;border-radius:999px;background:#ffffffd1;background:oklch(1 .006 270 / .82);box-shadow:0 8px 22px #29314d14,0 2px 6px #29314d09}.composer textarea{width:0;min-height:36px;max-height:70px;flex:1 1 auto;padding-top:7px;font-size:14px;line-height:1.45}.composer-actions{flex:0 0 auto;gap:3px}.composer-tools{gap:0}.composer-tool.microphone-btn{width:36px;height:36px}.composer-tool.microphone-btn img{width:24px;height:24px}.composer-tool.camera-btn{width:40px;height:40px}.composer-tool.camera-btn img{width:38px;height:27px;transform:translate(-5px)}.send-btn{width:40px;height:40px;flex-basis:40px;border-radius:50%}.bottom-nav{min-height:62px;padding:5px;border-color:#fffc;background:#ffffffc2;background:oklch(1 .006 270 / .76)}.nav-item{min-height:51px;border-radius:17px}.nav-item.active{background:linear-gradient(145deg,#dae1ff,#eae0ff);background:linear-gradient(145deg,color(xyz 0.751 0.761 1.164),color(xyz 0.795 0.781 1.093));box-shadow:none}.nav-icon{width:20px;height:20px}.goal-list-intro{padding:8px 2px 20px}.goal-list-intro h1{font-size:29px}.goal-list-intro .lead{font-size:13px;line-height:1.7}.goal-list-heading{margin:6px 2px 12px}.backend-goal-row{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;margin-bottom:13px;padding:18px;border-color:#ffffffc2;border-radius:23px;background:var(--surface)}.backend-goal-row:after{content:"";position:absolute;width:118px;height:118px;right:-62px;top:-64px;border-radius:50%;background:var(--sky);opacity:.68;pointer-events:none}.backend-goal-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px}.backend-goal-title{position:relative;z-index:1;margin-top:9px;color:var(--fg-strong);font-size:19px;line-height:1.45}.backend-goal-summary{position:relative;z-index:1;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.6}.backend-goal-row .status-badge{border:1px solid var(--border);background:var(--surface-2);color:var(--muted)}.backend-goal-row .goal-state-active{border-color:#9dd2ba;background:var(--mint-soft);color:#175740}.goal-list-progress{height:8px;overflow:hidden;margin-top:17px;border-radius:99px;background:#d6efe380}.goal-list-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#219d75,#20926c)}.goal-list-progress-caption{margin-top:7px;color:var(--muted);font-size:10px}.backend-goal-next{display:flex;gap:8px;align-items:flex-start;margin-top:14px;padding:11px;border:1px solid oklch(.84 .07 165 / .72);border-radius:14px;background:var(--mint-soft);color:var(--muted);font-size:10.5px;line-height:1.64}.backend-goal-next b{color:var(--fg)}.backend-goal-next>span:first-child{color:#175740;font-size:17px;line-height:1}.backend-goal-detail-link{display:flex;align-items:center;gap:3px;align-self:flex-start;margin-top:13px;color:var(--accent-deep);font-size:11px;font-weight:650}.backend-goal-detail-link svg{color:currentColor}.goal-detail-heading{margin-top:2px}.goal-detail-section{border-radius:22px;background:var(--surface)}.goal-back{width:38px;height:38px;justify-content:center;overflow:hidden;margin:0 0 10px;padding:0;border:1px solid oklch(1 0 0 / .78);border-radius:50%;background:#ffffffc7;background:oklch(1 .006 270 / .78);box-shadow:0 5px 13px #262d4212;font-size:0}.goal-back svg{width:18px;height:18px}.showing-goal-detail{background:radial-gradient(circle at 100% 0%,var(--lavender),transparent 35%),radial-gradient(circle at 0% 90%,var(--sky),transparent 38%),var(--bg)}.showing-goal-detail .content-scroll{padding-top:18px;padding-bottom:28px}.showing-goal-detail .backend-goals{padding-top:0}@media(max-width:520px){.app-frame{box-shadow:none}}@media(max-width:520px){html,body,#root{width:100%;height:100%;min-height:0}body{height:100vh;height:100dvh;min-height:0;overflow:hidden}#root{height:100vh;height:100dvh}.app-viewport{height:100vh;height:100dvh;min-height:0;overflow:hidden}.app-frame{height:100%;min-height:0}#root{touch-action:pan-x pan-y}.composer textarea{font-size:16px}}@media(max-width:520px){html.keyboard-open .bottom-nav{display:none}html.keyboard-open .chat-page .conversation-screen{padding-bottom:max(4px,env(safe-area-inset-bottom))}html.keyboard-open .conversation-bottom{margin-bottom:0;padding-bottom:max(4px,env(safe-area-inset-bottom))}html.keyboard-open .conversation-bottom>.chip-row,html.keyboard-open .conversation-hint{display:none}}.worksheet-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.voice-recorder-panel{position:relative;isolation:isolate;overflow:hidden;margin:0 1px 8px;padding:10px 12px 8px;border:1px solid oklch(.78 .08 240 / .75);border-radius:16px;background:radial-gradient(circle at 94% 0%,oklch(.93 .06 215 / .7),transparent 40%),linear-gradient(130deg,#f8fafff5,#e6f1fff0);background:radial-gradient(circle at 94% 0%,oklch(.93 .06 215 / .7),transparent 40%),linear-gradient(130deg,color(xyz 0.912 0.955 1.112 / 0.961),color(xyz 0.827 0.871 1.152 / 0.941));box-shadow:0 5px 20px #36468017,inset 0 0 0 1px #ffffff8c}.voice-recorder-panel:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(oklch(.61 .08 235 / .11) 1px,transparent 1px),linear-gradient(90deg,oklch(.61 .08 235 / .11) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(90deg,transparent 35%,black);mask-image:linear-gradient(90deg,transparent 35%,black)}.voice-recorder-panel>*{position:relative;z-index:1}.voice-recorder-panel.voice-hud-active:after{content:"";position:absolute;top:0;left:-38%;width:38%;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,oklch(.73 .15 205 / .9),transparent);animation:voice-scan 3.2s linear infinite}.voice-recorder-panel.cancel-armed{border-color:#f07968;background:linear-gradient(130deg,#fff8f7f5,#ffe9e6f0);background:linear-gradient(130deg,color(xyz 0.927 0.951 0.992 / 0.961),color(xyz 0.878 0.859 0.844 / 0.941))}.voice-recorder-heading{display:flex;align-items:center;gap:8px;color:var(--fg);font-size:11px}.voice-recorder-heading strong{font-weight:700;letter-spacing:.04em}.voice-recorder-heading time{margin-left:auto;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.voice-hud-orb{position:relative;display:inline-grid;place-items:center;width:19px;height:19px;flex:0 0 19px;border:1px solid oklch(.65 .14 235 / .7);border-radius:50%;background:#cceeff7a;background:oklch(.93 .06 235 / .48);box-shadow:0 0 0 3px #4ac9ec2b,0 0 15px #009ac17a;box-shadow:0 0 0 3px #4ac9ec2b,0 0 15px oklch(.63 .18 220 / .48)}.voice-hud-orb:before{content:"";position:absolute;inset:-4px;border:1px dashed oklch(.62 .13 235 / .58);border-radius:50%}.voice-hud-active .voice-hud-orb{animation:voice-orb-pulse 1.8s ease-in-out infinite}.voice-hud-active .voice-hud-orb:before{animation:voice-orbit 6s linear infinite}.voice-hud-orb:after{content:"";width:5px;height:5px;border-radius:50%;background:#0092bf;background:oklch(.61 .18 225);box-shadow:0 0 8px #0098c3;box-shadow:0 0 8px oklch(.63 .17 225)}.voice-recorder-panel.cancel-armed .voice-hud-orb{border-color:#e06351;background:#ffece8;background:oklch(.96 .05 30)}.voice-recorder-panel.cancel-armed .voice-hud-orb:after{background:#e15342;box-shadow:0 0 8px #e15342}@keyframes voice-orbit{to{transform:rotate(360deg)}}@keyframes voice-orb-pulse{50%{box-shadow:0 0 0 6px #4ac9ec1f,0 0 23px #009ac199;box-shadow:0 0 0 6px #4ac9ec1f,0 0 23px oklch(.63 .18 220 / .6)}}@keyframes voice-scan{to{left:100%}}.voice-levels{position:relative;height:38px;display:flex;align-items:center;justify-content:center;gap:4px;margin:3px 0 5px;border-radius:12px;background:radial-gradient(ellipse at center,oklch(.82 .09 225 / .34),transparent 72%)}.voice-levels:before{content:"";position:absolute;left:9%;right:9%;top:50%;height:1px;background:linear-gradient(90deg,transparent,oklch(.65 .14 225 / .4),oklch(.63 .13 285 / .4),transparent);box-shadow:0 0 10px #2193e075}.voice-levels:after{content:"";position:absolute;inset:3px 22%;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse,oklch(.65 .17 230 / .2),transparent 70%);filter:blur(6px);animation:voice-wave-glow 1.6s ease-in-out infinite}.voice-levels i{position:relative;z-index:1;width:4px;min-height:5px;border-radius:10px;background:linear-gradient(180deg,#00cadb,#00a9e7 26%,#0098ee,#1d84f5 52%,#3980f1,#4b7ced 64%,#6372e6 76%,#855dd7);background:linear-gradient(180deg,color(xyz 0.314 0.468 0.786),color(xyz 0.28 0.34 0.844) 26%,color(xyz 0.265 0.284 0.869),#1d84f5 52%,#3980f1,#4b7ced 64%,#6372e6 76%,#855dd7);box-shadow:0 0 7px #0094bcb8,0 0 15px #6d7cee75;box-shadow:0 0 7px oklch(.62 .19 225 / .72),0 0 15px #6d7cee75;transition:height 85ms ease-out,opacity 85ms ease-out}.voice-recorder-panel.cancel-armed .voice-levels i{background:linear-gradient(180deg,#ff9b51,#e24947);background:linear-gradient(180deg,color(xyz 0.563 0.45 0.096),#e24947);box-shadow:0 0 9px #fa5d36a6}@keyframes voice-wave-glow{50%{opacity:.45;transform:scaleX(1.18)}}.voice-preview-player{display:block;width:100%;height:37px;margin:8px 0 2px}.voice-recorder-notice{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.voice-recorder-actions{display:flex;align-items:center;min-height:19px;gap:8px;margin-top:4px}.voice-recorder-actions button.voice-cancel{margin-left:auto;padding:2px 4px;border:0;color:var(--muted);background:transparent;font-size:11px}.voice-recorder-actions button:disabled{cursor:not-allowed;opacity:.48}.conversation-hint.voice-active{color:var(--accent-deep)}.composer-tool.microphone-btn.recording{border-radius:50%;background:#dadaff;animation:voice-breathe 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.voice-recorder-panel.voice-hud-active:after,.voice-hud-orb,.voice-hud-orb:before,.voice-levels:after,.composer-tool.microphone-btn.recording{animation:none}.voice-levels i{transition:none}}.voice-live-transcript{min-height:21px;max-height:78px;overflow-y:auto;color:var(--fg);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.voice-gesture-tip{color:var(--muted);font-size:10px}.voice-composer{display:flex;align-items:center;gap:8px;border-radius:22px;padding:5px 7px}.voice-text-toggle{width:39px;height:40px;flex:0 0 39px;border:0;border-radius:13px;color:var(--accent-deep);background:transparent;font-size:20px}.voice-hold-button{min-width:0;height:43px;display:flex;flex:1 1 auto;align-items:center;justify-content:center;gap:7px;border:1px solid oklch(.83 .055 280);border-radius:16px;color:var(--accent-deep);background:#eef1ff;background:oklch(.96 .025 280);font-size:13px;font-weight:700;touch-action:none;user-select:none;-webkit-user-select:none}.voice-hold-button img{width:20px;height:20px}.voice-hold-button.recording{border-color:#7275cc;color:#fff;background:linear-gradient(115deg,#6d7cdf,#735acc)}.voice-hold-button.cancel-armed{border-color:#db6d60;background:#e06255}.voice-hold-button:disabled{opacity:.56}@media(prefers-reduced-motion:reduce){.voice-hold-button.recording{animation:none}}
