@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: oklch(.175 .005 75);--surface: oklch(.208 .006 75);--surface-2: oklch(.243 .007 75);--border: oklch(.318 .009 75);--border-strong: oklch(.4 .011 75);--ink: oklch(.95 .007 85);--ink-muted: oklch(.765 .013 80);--ink-faint: oklch(.625 .014 80);--scenario-ink: oklch(.9 .006 85);--accent: oklch(.81 .13 72);--accent-hover: oklch(.85 .13 74);--accent-dim: oklch(.81 .13 72 / .14);--accent-ink: oklch(.22 .03 65);--accent-text: oklch(.81 .13 72);--note-ink: oklch(.88 .045 72);--pass: oklch(.78 .07 155);--pass-dim: oklch(.78 .07 155 / .14);--fail: oklch(.7 .012 250);--fail-dim: oklch(.7 .012 250 / .12);--due: var(--accent-text);--overdue: oklch(.76 .11 45);--kind-mechanism: oklch(.68 .045 250);--kind-instinct: oklch(.76 .075 120);--kind-question: oklch(.82 .12 70);--kind-ink: oklch(.175 .005 75);--shadow: 0 1px 2px oklch(0 0 0 / .4), 0 8px 24px oklch(0 0 0 / .28);color-scheme:dark;--radius: 10px;--radius-sm: 7px;--ease: cubic-bezier(.22, 1, .36, 1);--dur: .18s;--font: "Be Vietnam Pro", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--z-nav: 10;--z-sticky: 20;--z-sheet: 30;--z-toast: 40}:root[data-theme=light]{--bg: oklch(.958 .011 85);--surface: oklch(.993 .004 85);--surface-2: oklch(.934 .013 85);--border: oklch(.885 .017 85);--border-strong: oklch(.8 .02 85);--ink: oklch(.24 .015 70);--ink-muted: oklch(.46 .02 70);--ink-faint: oklch(.53 .02 70);--scenario-ink: oklch(.27 .012 70);--accent: oklch(.79 .135 72);--accent-hover: oklch(.75 .14 70);--accent-dim: oklch(.79 .135 72 / .16);--accent-ink: oklch(.24 .04 65);--accent-text: oklch(.52 .105 62);--note-ink: oklch(.36 .06 62);--pass: oklch(.47 .075 155);--pass-dim: oklch(.6 .08 155 / .14);--fail: oklch(.48 .015 250);--fail-dim: oklch(.6 .01 250 / .12);--overdue: oklch(.53 .12 45);--kind-mechanism: oklch(.66 .05 250);--kind-instinct: oklch(.72 .08 120);--kind-question: oklch(.78 .12 70);--kind-ink: oklch(.22 .015 70);--shadow: 0 1px 2px oklch(.3 .02 70 / .08), 0 8px 24px oklch(.3 .02 70 / .1);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em;text-wrap:balance;overflow-wrap:anywhere}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:.98rem}p{margin:0}a{color:var(--accent-text);text-decoration:none}::selection{background:var(--accent-dim)}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:4px}.btn{--_bg: var(--surface-2);--_fg: var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--_bg);color:var(--_fg);font:inherit;font-weight:500;padding:.6rem 1.05rem;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}.btn:hover:not(:disabled){background:var(--border)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{--_bg: var(--accent);--_fg: var(--accent-ink);border-color:transparent;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{--_bg: transparent;border-color:transparent;color:var(--ink-muted);padding:.5rem .8rem}.btn-ghost:hover:not(:disabled){background:var(--surface);color:var(--ink)}.btn-lg{padding:.8rem 1.4rem;font-size:1rem}label.field{display:block}.field-label{display:block;font-size:.82rem;font-weight:500;color:var(--ink-muted);margin-bottom:.4rem;letter-spacing:.01em}.field-hint{font-size:.78rem;color:var(--ink-faint);margin-top:.3rem}textarea,input[type=text],input[type=search]{width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .85rem;font:inherit;line-height:1.55;resize:vertical;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}textarea{min-height:4.5rem}textarea:focus,input[type=text]:focus,input[type=search]:focus{outline:none;border-color:var(--accent-text);background:var(--surface)}textarea::placeholder,input::placeholder{color:var(--ink-faint)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.18rem .5rem;border-radius:100px;border:1px solid var(--border);color:var(--ink-muted);white-space:nowrap}.tag-due{color:var(--due);border-color:color-mix(in oklch,var(--due) 45%,transparent);background:var(--accent-dim)}.tag-overdue{color:var(--overdue);border-color:color-mix(in oklch,var(--overdue) 45%,transparent)}.tag-pass{color:var(--pass);border-color:color-mix(in oklch,var(--pass) 45%,transparent);background:var(--pass-dim)}.tag-fail{color:var(--fail);border-color:color-mix(in oklch,var(--fail) 45%,transparent)}.dot{width:7px;height:7px;border-radius:50%;flex:none}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:rise var(--dur) var(--ease) both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.mono{font-family:var(--mono);font-size:.9rem;line-height:1.6}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:var(--z-nav);display:flex;align-items:center;gap:1.25rem;padding:.85rem clamp(1rem,4vw,2.5rem);background:color-mix(in oklch,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.55rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.brand .dot{width:9px;height:9px;background:var(--accent);box-shadow:0 0 12px var(--accent)}.topbar-links{display:flex;gap:.15rem;margin-left:auto}.nav-link{color:var(--ink-muted);font-weight:500;font-size:.9rem;padding:.35rem .65rem;border-radius:7px;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.nav-link:hover{color:var(--ink);background:var(--surface)}.nav-link.active{color:var(--ink);background:var(--surface-2)}.nav-link{white-space:nowrap}@media (min-width: 640px) and (max-width: 959.98px){.topbar{gap:.75rem}.nav-link{padding:.35rem .45rem}}@media (min-width: 640px) and (max-width: 759.98px){.brand{font-size:0;gap:0}.nav-link{padding:.35rem;font-size:.85rem}}.topbar-settings{position:relative;display:grid;place-items:center;width:2.1rem;height:2.1rem;margin-left:.5rem;border-radius:7px;color:var(--ink-muted);transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.topbar-settings:before{content:"";position:absolute;left:-.5rem;top:22%;bottom:22%;border-left:1px solid var(--border)}.topbar-settings:hover{color:var(--ink);background:var(--surface)}.topbar-settings.active{color:var(--ink);background:var(--surface-2)}.icon{width:1.15rem;height:1.15rem;flex:none}.tabbar{display:none}.tab{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.3rem 0;border:0;background:none;font:inherit;cursor:pointer;font-size:.68rem;font-weight:500;color:var(--ink-faint);transition:color var(--dur) var(--ease)}.tab .icon{width:1.35rem;height:1.35rem}.tab.active{color:var(--accent-text)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:#00000059;animation:fade var(--dur) var(--ease) both}.sheet{position:fixed;left:.6rem;right:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom));z-index:calc(var(--z-sheet) + 1);display:flex;flex-direction:column;gap:.15rem;padding:.45rem;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);animation:rise var(--dur) var(--ease) both}.sheet-item{display:flex;align-items:center;gap:.8rem;padding:.85rem .9rem;border-radius:11px;color:var(--ink);font-weight:500}.sheet-item .icon{color:var(--ink-muted)}.sheet-item:hover,.sheet-item.active{background:var(--surface-2)}.sheet-item.active .icon{color:var(--accent-text)}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (max-width: 639.98px){.topbar{display:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);display:grid;grid-template-columns:repeat(5,1fr);padding:.4rem .25rem calc(.45rem + env(safe-area-inset-bottom));background:color-mix(in oklch,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border)}.shell:has(textarea:focus,input[type=text]:focus,input[type=search]:focus) .tabbar{display:none}.shell .page{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}}.page{width:100%;max-width:780px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2rem) 5rem}.page-wide{max-width:940px}.page-xwide{max-width:1760px}.stack{display:flex;flex-direction:column}.stack>*+*{margin-top:var(--gap, 1.25rem)}.eyebrow{font-size:.8rem;color:var(--ink-faint);font-weight:500}.lead{color:var(--ink-muted);max-width:62ch}.today{display:flex;flex-direction:column;max-width:36rem;padding-top:clamp(.5rem,6vh,3.5rem)}.today-date{font-size:.85rem;color:var(--ink-faint)}.today-kind{margin-top:clamp(1.5rem,7vh,3rem);font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--accent-text)}.today-kind.is-free{color:var(--ink-muted)}.today-title{margin-top:.35rem;font-size:clamp(1.6rem,4.5vw,2.15rem);line-height:1.22;letter-spacing:-.015em;overflow-wrap:anywhere}.today-line{margin-top:.9rem;font-size:1.02rem;color:var(--ink-muted)}.today-topic{margin-top:.6rem;font-weight:600;overflow-wrap:anywhere}.today-note{margin-top:.8rem;font-size:.9rem;color:var(--ink-muted)}.today-length{margin-top:.9rem;font-size:.85rem;color:var(--ink-faint)}.today-go{margin-top:1.75rem}.today-link{margin-top:1.1rem;font-size:.9rem;align-self:flex-start}.today .thinking,.today .error-note{margin-top:1rem}.next-up{color:var(--ink-muted);font-size:.92rem}@media (max-width: 639.98px){.today-go .btn{width:100%}}.session-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.scenario{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem 1.4rem;color:var(--scenario-ink)}.scenario-warn{color:var(--overdue);font-weight:600}.session-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.75rem,4vw,3rem);align-items:start}.session-split .scenario-col{position:sticky;top:calc(var(--nav-h, 0px) + 1rem);max-height:calc(100dvh - var(--nav-h, 0px) - 2rem);overflow:auto}@media (max-width: 860px){.session-split{grid-template-columns:minmax(0,1fr)}.session-split .scenario-col{position:static;max-height:none;overflow:visible}}.phase-rail{display:flex;gap:.4rem;align-items:center;font-size:.78rem;color:var(--ink-faint)}.phase-rail b{color:var(--accent-text);font-weight:600}.phase-rail .sep{opacity:.4}.cold-note{display:flex;gap:.6rem;align-items:flex-start;padding:.75rem .9rem;border-radius:var(--radius-sm);background:var(--accent-dim);color:var(--note-ink);font-size:.86rem;border:1px solid color-mix(in oklch,var(--accent) 25%,transparent)}.error-note{background:var(--fail-dim);border-color:var(--border);color:var(--ink-muted)}.error-detail{display:block;margin-top:.3rem;font-family:var(--mono);font-size:.76rem;color:var(--ink-muted);overflow-wrap:anywhere}.chat{display:flex;flex-direction:column;gap:.9rem}.msg{max-width:92%}.msg-mentor .msg-body{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.msg-you{align-self:flex-end}.msg-you .msg-body{background:color-mix(in oklch,var(--accent) 16%,var(--surface));border:1px solid color-mix(in oklch,var(--accent) 30%,transparent);border-radius:var(--radius);padding:.8rem 1rem;white-space:pre-wrap}.prose{line-height:1.65}.prose>*:first-child{margin-top:0}.prose>*:last-child{margin-bottom:0}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--ink);font-weight:600;line-height:1.25;margin:1.4em 0 .5em}.prose h1{font-size:1.4rem}.prose h2{font-size:1.2rem}.prose h3{font-size:1.05rem}.prose h4{font-size:.95rem}.prose p{margin:.7em 0}.prose ul,.prose ol{margin:.7em 0;padding-left:1.4em}.prose li{margin:.3em 0}.prose li>ul,.prose li>ol{margin:.3em 0}.prose strong{font-weight:600;color:var(--ink)}.prose em{font-style:italic}.prose a{color:var(--accent-text);text-decoration:none}.prose a:hover{text-decoration:underline}.prose code{font-family:var(--mono);font-size:.86em;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:.1em .35em}.prose pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem 1rem;overflow-x:auto;margin:.9em 0}.prose pre code{background:none;border:none;padding:0;font-size:.86rem}.prose blockquote{margin:.9em 0;padding:.2em 0 .2em 1em;border-left:3px solid var(--border);color:var(--ink-muted)}.prose hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}.prose table{border-collapse:collapse;display:block;overflow-x:auto;margin:.9em 0}.prose th,.prose td{border:1px solid var(--border);padding:.45em .7em;text-align:left}.prose th{background:var(--surface-2);font-weight:600}.msg-role{font-size:.72rem;color:var(--ink-faint);margin-bottom:.3rem;font-weight:500;letter-spacing:.02em}.chat-input{display:flex;gap:.6rem;align-items:flex-end}.chat-input textarea{min-height:3rem}.thinking{display:inline-flex;gap:.28rem;align-items:center;color:var(--ink-faint);font-size:.85rem}.thinking .dot{width:5px;height:5px;background:currentColor;animation:pulse 1.1s var(--ease) infinite}.thinking .dot:nth-child(2){animation-delay:.15s}.thinking .dot:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}.proposal{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.proposal input{margin-top:.3rem;accent-color:var(--accent)}.proposal .tag{margin-right:.35rem}.alts{list-style:none;padding:0;margin:.5rem 0 0}.alts li{padding:.6rem 0;border-top:1px solid var(--border);color:var(--ink-muted)}.alts li:first-child{border-top:none}.onboard-wrap{min-height:100dvh;display:grid;place-items:center;padding:2rem 1rem 4rem}.onboard-card{width:100%;max-width:620px}.steps{display:flex;gap:.4rem;margin-bottom:1.75rem}.step-pip{height:3px;flex:1;border-radius:2px;background:var(--border);transition:background var(--dur) var(--ease)}.step-pip.done{background:var(--accent)}.step-pip.current{background:var(--ink-muted)}.probe-counter{font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:.82rem}.prog-grid{display:grid;gap:1.25rem}.section-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;margin-bottom:.9rem}.stack>.section-title{margin-bottom:0}.section-title .why{font-size:.8rem;color:var(--accent-text);font-weight:500}.trend{display:flex;gap:3px;flex-wrap:wrap}.trend-cell{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;font-size:.6rem;font-weight:700;color:var(--kind-ink)}.trend-legend{display:flex;gap:1.1rem;flex-wrap:wrap;margin-top:.8rem;font-size:.8rem;color:var(--ink-muted)}.trend-legend span{display:inline-flex;align-items:center;gap:.4rem}.queue{display:flex;flex-direction:column}.gap-row{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;align-items:center;padding:.9rem 0;border-top:1px solid var(--border)}.gap-row:first-child{border-top:none}.gap-id{font-family:var(--mono);font-size:.78rem;color:var(--ink-faint)}.gap-title{color:var(--ink);font-weight:500}.gap-meta{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.ladder{display:flex;gap:3px;align-items:center}.rung{width:16px;height:4px;border-radius:2px;background:var(--border)}.rung.filled{background:var(--pass)}.rung-label{font-size:.72rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}.cadence{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}.ratio{font-variant-numeric:tabular-nums}.ratio b{font-size:1.6rem;font-weight:600}.cadence-warn{color:var(--overdue);font-size:.86rem}.skills{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem}.skills dt{color:var(--ink-muted)}.skills dd{margin:0;font-variant-numeric:tabular-nums;color:var(--ink);text-align:right}.skills dd.unprobed{color:var(--ink-faint);font-style:italic}.caveat{font-size:.82rem;color:var(--ink-faint);margin-bottom:1rem}.center-note{text-align:center;color:var(--ink-muted);padding:3rem 1rem}button.panel{font:inherit;color:inherit;width:100%}.segmented{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;align-self:flex-start;background:var(--bg);border:1px solid var(--border);border-radius:10px}.segment{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;font-weight:500;cursor:pointer;color:var(--ink-muted);padding:.45rem .95rem;border-radius:7px;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.segment:hover{color:var(--ink)}.segment.on{background:var(--surface-2);color:var(--ink);box-shadow:0 1px 2px #0000001f}.session-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem}.session-clock{margin-left:auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .75rem;font-size:.85rem;color:var(--ink-faint)}.session-clock-time{font-variant-numeric:tabular-nums}.session-clock-note{color:var(--ink-muted)}.answer-field{display:flex;flex-direction:column;gap:.4rem}.answer-field .btn-sm{align-self:flex-start}.frame{margin:.1rem 0 .35rem;padding-left:1.1rem;font-size:.85rem;color:var(--ink-muted)}.frame li{margin:.1rem 0}.btn-sm{padding:.35rem .75rem;font-size:.85rem}.plan-list{list-style:none;margin:0;padding:0}.plan-row{display:grid;grid-template-columns:5.4rem minmax(0,1fr) auto;gap:.75rem;align-items:baseline;padding:.6rem .55rem;border-top:1px solid var(--border)}.plan-row:first-child{border-top:none}.plan-row.is-today{background:var(--surface-2);border-radius:var(--radius-sm);border-top-color:transparent}.plan-row.is-today+.plan-row{border-top-color:transparent}.plan-row.is-faint .plan-what{color:var(--ink-faint)}.plan-row.is-today .plan-when,.plan-row.is-today.is-faint .plan-what{color:var(--ink-muted)}.plan-when{font-size:.85rem;font-weight:600;color:var(--ink-faint);white-space:nowrap}.plan-when span{font-weight:400;margin-left:.4rem;font-variant-numeric:tabular-nums}.plan-id{font-family:var(--mono);font-weight:500}.plan-what{overflow-wrap:anywhere}.plan-topics{color:var(--ink-muted)}.plan-mark{font-size:.85rem;color:var(--ink-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.plan-done{color:var(--accent-text);font-weight:700}@media (max-width: 560px){.gap-row{grid-template-columns:1fr}.gap-meta{justify-content:flex-start}}.card-source{font-size:.85rem;color:var(--ink-muted)}.card-q{font-size:1.05rem}.card-a{border-left:3px solid var(--accent);padding-left:.9rem}.card-actions{display:flex;flex-wrap:wrap;gap:.6rem}.card-retire{font-size:.85rem;color:var(--ink-faint)}.link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;font:inherit;cursor:pointer;color:var(--ink-muted);text-decoration:underline;text-underline-offset:2px}.link-btn:hover{color:var(--ink)}.link-btn:disabled{opacity:.5;cursor:default}.card-list .prose p{margin:0}.card-list details{margin-top:.35rem}.card-list summary{cursor:pointer;color:var(--accent-text);font-size:.88rem}.proposal-card{display:inline-flex;flex-direction:column;gap:.25rem}.card-q,.card-a,.card-list .prose,.lesson-body,.proposal-card{overflow-wrap:anywhere}.ask-form{display:grid;gap:.5rem}.ask-form textarea{min-height:3.2rem}.question-row{grid-template-columns:minmax(0,1fr) auto}.question-drop{font-size:.85rem;color:var(--ink-muted);text-align:right}.question-row .plan-what,.search-hits li,.glossary li{overflow-wrap:anywhere}.search-hits li{display:grid;gap:.2rem}.search-title{color:var(--ink)}.search-snippet{margin:0;font-size:.9rem;color:var(--ink-muted)}.glossary-term{font-weight:600}.sql-editor{font-family:var(--mono);font-size:.88rem;line-height:1.5;min-height:10rem;-moz-tab-size:2;tab-size:2}.sql-table-wrap{overflow-x:auto;max-width:100%}.sql-table{border-collapse:collapse;font-family:var(--mono);font-size:.8rem}.sql-table th,.sql-table td{border:1px solid var(--border);padding:.3rem .55rem;text-align:left;white-space:nowrap}.sql-table th{color:var(--ink-muted);font-weight:600;background:var(--surface-2)}.sql-table td.is-null{color:var(--ink-faint);font-style:italic}.sql-verdict{padding:.8rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}.sql-verdict.is-ok{border-color:var(--accent-text)}.sql-verdict code{overflow-wrap:anywhere}.sql-types{margin:0;font-size:.8rem;color:var(--ink-muted);overflow-wrap:anywhere}.sql-data summary{cursor:pointer;font-family:var(--mono);font-size:.85rem}.sql-data[open] summary{margin-bottom:.4rem}.sql-code{overflow-x:auto;max-width:100%;font-family:var(--mono);font-size:.82rem;margin:.4rem 0 0}.proposal-answer{color:var(--ink-muted);font-size:.9rem}.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}.dock{display:flex;align-items:center;gap:.35rem;margin-top:.6rem;padding:.3rem;background:color-mix(in oklch,var(--surface) 86%,transparent);border:1px solid var(--border);border-radius:16px}.dock-week{list-style:none;margin:0;padding:0;flex:1;min-width:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.15rem}.dock-day{display:grid;gap:.05rem;min-width:0;padding:.4rem .2rem;border-radius:11px;text-align:center}.dock-when{font-size:.7rem;font-weight:600;color:var(--ink-muted);white-space:nowrap}.dock-when b{display:block;color:var(--ink);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.dock-done{margin-left:.15rem;color:var(--accent-text);font-weight:800}.dock-what{display:none;font-size:.76rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-day.is-planned .dock-what{color:var(--ink-muted)}.dock-day.is-none .dock-when,.dock-day.is-none .dock-when b,.dock-day.is-none .dock-what{color:var(--ink-faint)}.dock-day.is-today{background:var(--accent)}.dock-day.is-today .dock-when,.dock-day.is-today .dock-when b,.dock-day.is-today .dock-what,.dock-day.is-today .dock-done{color:var(--accent-ink)}.dock-switch{display:flex;flex-direction:column;gap:.15rem}.dock-seg{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;cursor:pointer;font-size:.72rem;font-weight:600;color:var(--ink-muted);padding:.3rem .55rem;border-radius:8px}.dock-seg:hover{color:var(--ink)}.dock-seg.on{background:var(--surface-2);color:var(--ink)}.dock-month{flex:1;min-width:0;padding:.3rem .45rem}.dock-month-title{font-size:.82rem;font-weight:700;margin-bottom:.35rem}.dock-heads,.dock-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.15rem;text-align:center}.dock-heads span{font-size:.66rem;font-weight:600;color:var(--ink-faint)}.dock-grid{list-style:none;margin:.2rem 0 0;padding:0}.dock-cell{position:relative;padding:.25rem 0 .55rem;border-radius:8px;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.dock-cell.is-done,.dock-cell.is-open{color:var(--ink);font-weight:600}.dock-mark{position:absolute;left:50%;bottom:.08rem;transform:translate(-50%);font-size:.62rem;line-height:1;font-weight:800;color:var(--accent-text)}.dock-cell.is-today{background:var(--accent);color:var(--accent-ink)}.dock-cell.is-today .dock-mark{color:var(--accent-ink)}.city{position:relative;--c-bg: oklch(.155 .006 75);--c-spot: oklch(.215 .014 75);--c-plate: oklch(.215 .006 75);--c-plate-l: oklch(.185 .006 75);--c-plate-r: oklch(.165 .006 75);--c-lot: oklch(.235 .007 75);--c-ctx-l: oklch(.19 .005 75);--c-ctx-r: oklch(.176 .005 75);--c-ctx-t: oklch(.205 .005 75);--c-lit-l: #f0b54d;--c-lit-r: #b98226;--c-lit-t: #ffd27a;--c-dim-l: #6b5426;--c-dim-r: #54421f;--c-dim-t: #7d6330;--c-raw-l: #3b3832;--c-raw-r: #2f2c27;--c-raw-t: #47433b;--c-today-t: #fff1c9;--c-win: #120e08;--c-ghost: rgb(242 184 75 / .05);--c-ghost-line: rgb(242 184 75 / .4);--c-future: rgb(242 184 75 / .32);--c-ring: #fff6dc;--c-cloud: rgb(150 145 135 / .26);--c-shadow: rgb(0 0 0 / .35)}:root[data-theme=light] .city{--c-bg: #f3efe6;--c-spot: #fcf9f2;--c-plate: #ebe5d8;--c-plate-l: #ddd5c5;--c-plate-r: #d2c9b8;--c-lot: #f1ece2;--c-ctx-l: #ece7de;--c-ctx-r: #e5dfd4;--c-ctx-t: #f2eee7;--c-lit-l: #f0b54d;--c-lit-r: #c98a22;--c-lit-t: #f6cd7d;--c-dim-l: #dccaa6;--c-dim-r: #c7b590;--c-dim-t: #e8dabf;--c-raw-l: #e2dccf;--c-raw-r: #d0c8b9;--c-raw-t: #ece7dd;--c-win: #2a2116;--c-ghost: rgb(201 138 34 / .06);--c-ghost-line: rgb(201 138 34 / .45);--c-future: rgb(201 138 34 / .38);--c-ring: #7a4e0c;--c-cloud: rgb(255 255 255 / .85);--c-shadow: rgb(60 40 10 / .16)}.city-hud{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}.city-pill{font-size:.78rem;font-weight:700;padding:.35rem .8rem;border-radius:999px;white-space:nowrap;background:var(--accent);color:var(--accent-ink)}.city-pill.is-quiet{background:color-mix(in oklch,var(--surface) 86%,transparent);color:var(--ink);border:1px solid var(--border)}.city-scene{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:radial-gradient(ellipse 70% 60% at 50% 42%,var(--c-spot),var(--c-bg))}.city-scene svg{display:block;width:100%;height:auto}.city .ctx.f-l{fill:var(--c-ctx-l)}.city .ctx.f-r{fill:var(--c-ctx-r)}.city .ctx.f-t{fill:var(--c-ctx-t)}.city .plate{fill:var(--c-plate)}.city .plate-l{fill:var(--c-plate-l)}.city .plate-r{fill:var(--c-plate-r)}.city .plate-shadow,.city .shade{fill:var(--c-shadow)}.city .lot{fill:var(--c-lot)}.city .footprint{fill:transparent;stroke:var(--c-future);stroke-width:1.2;stroke-dasharray:4 4}.city .plot.is-selected .footprint{stroke:var(--c-ring);stroke-width:2;stroke-dasharray:none}.city [role=button]{cursor:pointer;outline:none}.city .lit .f-l{fill:var(--c-lit-l)}.city .lit .f-r{fill:var(--c-lit-r)}.city .lit .f-t{fill:var(--c-lit-t)}.city .dim .f-l{fill:var(--c-dim-l)}.city .dim .f-r{fill:var(--c-dim-r)}.city .dim .f-t{fill:var(--c-dim-t)}.city .raw .f-l{fill:var(--c-raw-l)}.city .raw .f-r{fill:var(--c-raw-r)}.city .raw .f-t{fill:var(--c-raw-t)}.city .today .f-l{fill:var(--c-lit-t)}.city .today .f-r{fill:var(--c-lit-l)}.city .today .f-t{fill:var(--c-today-t)}.city .ghost polygon{fill:var(--c-ghost);stroke:var(--c-ghost-line);stroke-width:.9;stroke-dasharray:3 3}.city .win{fill:var(--c-win)}.city .today .win{opacity:.8}.city .floor .ring{fill:#ffffff24;stroke:var(--c-ring);stroke-width:2;stroke-dasharray:none}.city .clouds{pointer-events:none}.city-cloud ellipse{fill:var(--c-cloud)}.city-cloud{animation:city-drift 60s linear infinite alternate}@keyframes city-drift{0%{transform:translate(-140px)}to{transform:translate(140px)}}@media (prefers-reduced-motion: reduce){.city .clouds{display:none}}.city-pop{position:absolute;z-index:4;left:var(--x);top:var(--y);width:max-content;max-width:240px;display:grid;gap:.2rem;padding:.7rem .9rem;border-radius:14px;background:color-mix(in oklch,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow);animation:fade var(--dur) var(--ease) both}.city-pop[data-side=left]{transform:translate(-100%,-50%)}.city-pop[data-side=right]{transform:translateY(-50%)}.city-pop small{font-size:.72rem;font-weight:600;color:var(--ink-muted)}.city-pop-title{font-weight:700;line-height:1.3;overflow-wrap:anywhere}.city-pop-state{font-size:.82rem;color:var(--ink-muted)}.city-pop-go{justify-self:start;margin-top:.3rem;padding:.3rem .75rem;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--accent);color:var(--accent-ink)}@media (min-width: 760px){.city-hud{position:absolute;z-index:3;top:.9rem;right:.9rem;margin:0}.city-pill.is-quiet{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.city-scene{aspect-ratio:16 / 10}.city-scene svg{height:100%}.city .dock{position:absolute;z-index:3;left:50%;bottom:.9rem;transform:translate(-50%);width:min(46rem,calc(100% - 1.8rem));margin:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.dock-day{text-align:left;padding:.45rem .6rem}.dock-when b{display:inline;font-size:inherit}.dock-what{display:block}}@media (max-width: 759.98px){.city-pop[data-side]{position:static;width:auto;max-width:none;margin:0 .5rem .5rem;transform:none}}
