:root{--app-gutter:16px;--header-gutter:var(--app-gutter);--shell:transparent;--shell-2:#e8edf7;--plate:#fff;--page:#f4ede3;--ink:#12141a;--ink-2:#5b6473;--ink-3:#808997;--line:#e6eaf2;--focus:#2f5fe0;--brand:#2f5fe0;--brand-ink:#2f5fe0;--brand-2:#4f7ffb;--brand-soft:#e8efff;--mint:#d8f5e3;--mint-ink:#14794a;--lilac:#f3e8ff;--lilac-2:#f8effe;--lilac-ink:#6a4bc7;--sky:#e4effe;--sky-ink:#1d4f8b;--butter:#fdf3d3;--butter-ink:#8a5a08;--leaf:#ddf6e4;--leaf-ink:#14794a;--amber:#f4a72c;--danger:#fdeceb;--danger-ink:#a8433a;--plain:#fff;--body-bg:var(--page);--topbar-bg:#f4ede3;--brand-logo-light-display:block;--brand-logo-dark-display:none;--topbar-border:#e6eaf2;--tagline-ink:var(--ink-2);--mobile-nav-bg:#fffffff0;--mobile-nav-border:#e6eaf2;--mobile-nav-ink:var(--ink-2);--mobile-nav-current-ink:var(--brand);--mobile-nav-active-bg:var(--brand-soft);--who-bg:#ffffffc7;--who-border:#e6eaf2;--chrome-ink:var(--ink);--chrome-muted:var(--ink-2);--chrome-subtle:#2f5fe00f;--chrome-border:#e6eaf2;--chrome-active:#fff;--chrome-active-shadow:var(--shadow);--surface:#fff;--surface-soft:#f7f9fd;--surface-tint:#f7f9fd;--field-bg:#fff;--field-border:var(--line);--focus-shadow:0 0 0 2px var(--brand-soft);--card-bg:#fff;--card-border:#e6eaf2;--card-active-bg:linear-gradient(150deg, var(--lilac) 0%, var(--lilac-2) 100%);--card-active-border:transparent;--card-active-shadow:var(--shadow);--spine-line:#d9e0e8;--spine-node-bg:#fff;--spine-node-border:#c9d3dd;--dot-lock-bg:#f6f2e4;--chip-bg:#f2f4f7;--button-bg:var(--brand);--button-hover-bg:var(--brand-2);--button-ink:#fff;--button-ghost-bg:#fff;--button-ghost-hover-bg:#f6f8fa;--button-ghost-border:var(--line);--button-ghost-ink:var(--ink);--icon-bg:#fff;--icon-border:var(--line);--icon-solid-bg:var(--brand);--icon-solid-border:var(--brand);--icon-solid-ink:#fff;--play-bg:var(--brand);--play-ink:#fff;--panel-bg:#fff;--panel-border:#e6eaf2;--event-plain-bg:#fff;--event-plain-border:var(--line);--badge-bg:#ffffffb3;--cta-bg:#fff;--bar-bg:var(--line);--bar-fill:var(--brand);--more-bg:#fff;--more-border:var(--line);--more-backdrop:#0000007a;--sheet-control-bg:#fff;--sheet-control-border:var(--line);--hub-shadow:0 16px 40px #141e3c29;--note-ours-bg:#f2f4f7;--note-ours-ink:var(--ink-2);--pre-bg:#f6f8fa;--pre-border:var(--line);--editor-bg:#fff;--editor-border:var(--line);--editor-gutter:#f6f8fa;--editor-active:#f6f4ff;--editor-selection:#7c6cf538;--heat-0:#f2f4f7;--heat-1:#eeeaff;--heat-2:#d8d0ff;--heat-3:#b4a8ff;--heat-4:#7c6cf5;--card-active-hover-shadow:var(--shadow-lift);--card-suggested-hover-shadow:var(--shadow-lift);--card-radius:var(--r-md);--chip-border:transparent;--chip-ink:var(--ink-2);--chip-done-border:transparent;--chip-maybe-border:transparent;--chip-now-border:transparent;--play-size:44px;--play-shadow:var(--shadow);--edge-stroke:var(--spine-node-border);--edge-filter:none;--edge-linecap:round;--spine-active-border:var(--brand);--spine-active-shadow:0 0 0 3px var(--brand-soft);--spine-progress-line:var(--brand);--r-lg:26px;--r-md:18px;--r-sm:12px;--shadow:0 1px 2px #141e3c0a, 0 8px 24px #141e3c0f;--shadow-lift:0 2px 4px #141e3c0f, 0 18px 40px #141e3c1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--shell:#1c2a45;--shell-2:#2a3750;--plate:transparent;--page:#1c2a45;--ink:#f8fbff;--ink-2:#d9deeb;--ink-3:#c5ccd8;--line:#ffffff14;--focus:#c4b5fd;--brand:#8b5cf6;--brand-ink:#b495f9;--brand-2:#22d3ee;--brand-soft:#8b5cf638;--mint:#34d39924;--mint-ink:#6ee7b7;--lilac:#22d3ee24;--lilac-2:#22d3ee14;--lilac-ink:#67e8f9;--sky:#22d3ee24;--sky-ink:#67e8f9;--butter:#f5a52424;--butter-ink:#fcd34d;--leaf:#34d39924;--leaf-ink:#6ee7b7;--amber:#f5a524;--danger:#f8717129;--danger-ink:#ffd0cc;--plain:#ffffff09;--body-bg:var(--page);--topbar-bg:#1c2a45;--brand-logo-light-display:none;--brand-logo-dark-display:block;--topbar-border:#ffffff0f;--tagline-ink:#ffffffad;--mobile-nav-bg:#2a3750eb;--mobile-nav-border:#ffffff0f;--mobile-nav-ink:var(--ink-3);--mobile-nav-current-ink:var(--focus);--mobile-nav-active-bg:#8b5cf624;--who-bg:#ffffff0e;--who-border:#ffffff13;--chrome-active:#ffffff24;--surface:#ffffff09;--surface-soft:#ffffff09;--surface-tint:#ffffff07;--field-bg:#ffffff09;--field-border:#ffffff13;--focus-shadow:0 0 0 2px #22d3ee38;--card-bg:#ffffff07;--card-border:#ffffff13;--card-radius:20px;--card-active-bg:linear-gradient(150deg, #8b5cf638, #22d3ee0f);--card-active-border:#8b5cf68c;--card-active-shadow:0 0 44px #8b5cf64d, 0 0 0 1px #8b5cf633;--card-active-hover-shadow:var(--card-active-shadow);--card-suggested-hover-shadow:0 0 0 3px var(--brand-soft);--spine-line:#22d3ee38;--spine-progress-line:#22d3ee73;--spine-node-bg:#25324c;--spine-node-border:#22d3ee59;--spine-active-border:#8b5cf6d9;--spine-active-shadow:0 0 22px #8b5cf673;--dot-lock-bg:#f5a52424;--chip-bg:#ffffff12;--chip-ink:#ffffff9e;--chip-border:transparent;--chip-done-border:transparent;--chip-now-border:transparent;--chip-maybe-border:transparent;--button-bg:linear-gradient(140deg, var(--brand), var(--brand-2));--button-hover-bg:var(--shell-2);--button-ghost-bg:#ffffff0e;--button-ghost-hover-bg:#ffffff16;--button-ghost-border:#ffffff13;--button-ghost-ink:var(--ink);--icon-bg:#ffffff0b;--icon-border:#ffffff17;--icon-solid-bg:var(--brand);--icon-solid-border:transparent;--play-bg:linear-gradient(140deg, var(--brand), var(--brand-2));--play-size:44px;--play-shadow:0 0 22px #8b5cf68c;--panel-bg:#ffffff09;--panel-border:#ffffff13;--event-plain-bg:#ffffff09;--event-plain-border:#ffffff13;--badge-bg:#ffffff12;--cta-bg:#ffffff12;--bar-bg:#ffffff17;--bar-fill:linear-gradient(90deg, var(--brand), var(--brand-2));--more-bg:#2a3750;--more-border:#ffffff13;--sheet-control-bg:#ffffff0e;--sheet-control-border:#ffffff13;--hub-shadow:0 18px 44px #0006;--note-ours-bg:#ffffff0e;--note-ours-ink:var(--ink-2);--pre-bg:#ffffff09;--pre-border:#ffffff13;--editor-bg:#ffffff09;--editor-border:#ffffff13;--editor-gutter:#ffffff08;--editor-active:#8b5cf624;--editor-selection:#22d3ee3d;--heat-0:#ffffff09;--heat-1:#22d3ee2e;--heat-2:#22d3ee57;--heat-3:#8b5cf66b;--heat-4:#8b5cf6;--edge-stroke:#22d3ee73;--edge-filter:drop-shadow(0 0 4px #22d3ee59);--edge-linecap:round;--shadow:none;--shadow-lift:0 18px 44px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--shell:#1c2a45;--shell-2:#2a3750;--plate:transparent;--page:#1c2a45;--ink:#f8fbff;--ink-2:#d9deeb;--ink-3:#c5ccd8;--line:#ffffff14;--focus:#c4b5fd;--brand:#8b5cf6;--brand-ink:#b495f9;--brand-2:#22d3ee;--brand-soft:#8b5cf638;--mint:#34d39924;--mint-ink:#6ee7b7;--lilac:#22d3ee24;--lilac-2:#22d3ee14;--lilac-ink:#67e8f9;--sky:#22d3ee24;--sky-ink:#67e8f9;--butter:#f5a52424;--butter-ink:#fcd34d;--leaf:#34d39924;--leaf-ink:#6ee7b7;--amber:#f5a524;--danger:#f8717129;--danger-ink:#ffd0cc;--plain:#ffffff09;--body-bg:var(--page);--topbar-bg:#1c2a45;--brand-logo-light-display:none;--brand-logo-dark-display:block;--topbar-border:#ffffff0f;--tagline-ink:#ffffffad;--mobile-nav-bg:#2a3750eb;--mobile-nav-border:#ffffff0f;--mobile-nav-ink:var(--ink-3);--mobile-nav-current-ink:var(--focus);--mobile-nav-active-bg:#8b5cf624;--who-bg:#ffffff0e;--who-border:#ffffff13;--chrome-active:#ffffff24;--surface:#ffffff09;--surface-soft:#ffffff09;--surface-tint:#ffffff07;--field-bg:#ffffff09;--field-border:#ffffff13;--focus-shadow:0 0 0 2px #22d3ee38;--card-bg:#ffffff07;--card-border:#ffffff13;--card-radius:20px;--card-active-bg:linear-gradient(150deg, #8b5cf638, #22d3ee0f);--card-active-border:#8b5cf68c;--card-active-shadow:0 0 44px #8b5cf64d, 0 0 0 1px #8b5cf633;--card-active-hover-shadow:var(--card-active-shadow);--card-suggested-hover-shadow:0 0 0 3px var(--brand-soft);--spine-line:#22d3ee38;--spine-progress-line:#22d3ee73;--spine-node-bg:#25324c;--spine-node-border:#22d3ee59;--spine-active-border:#8b5cf6d9;--spine-active-shadow:0 0 22px #8b5cf673;--dot-lock-bg:#f5a52424;--chip-bg:#ffffff12;--chip-ink:#ffffff9e;--chip-border:transparent;--chip-done-border:transparent;--chip-now-border:transparent;--chip-maybe-border:transparent;--button-bg:linear-gradient(140deg, var(--brand), var(--brand-2));--button-hover-bg:var(--shell-2);--button-ghost-bg:#ffffff0e;--button-ghost-hover-bg:#ffffff16;--button-ghost-border:#ffffff13;--button-ghost-ink:var(--ink);--icon-bg:#ffffff0b;--icon-border:#ffffff17;--icon-solid-bg:var(--brand);--icon-solid-border:transparent;--play-bg:linear-gradient(140deg, var(--brand), var(--brand-2));--play-size:44px;--play-shadow:0 0 22px #8b5cf68c;--panel-bg:#ffffff09;--panel-border:#ffffff13;--event-plain-bg:#ffffff09;--event-plain-border:#ffffff13;--badge-bg:#ffffff12;--cta-bg:#ffffff12;--bar-bg:#ffffff17;--bar-fill:linear-gradient(90deg, var(--brand), var(--brand-2));--more-bg:#2a3750;--more-border:#ffffff13;--sheet-control-bg:#ffffff0e;--sheet-control-border:#ffffff13;--hub-shadow:0 18px 44px #0006;--note-ours-bg:#ffffff0e;--note-ours-ink:var(--ink-2);--pre-bg:#ffffff09;--pre-border:#ffffff13;--editor-bg:#ffffff09;--editor-border:#ffffff13;--editor-gutter:#ffffff08;--editor-active:#8b5cf624;--editor-selection:#22d3ee3d;--heat-0:#ffffff09;--heat-1:#22d3ee2e;--heat-2:#22d3ee57;--heat-3:#8b5cf66b;--heat-4:#8b5cf6;--edge-stroke:#22d3ee73;--edge-filter:drop-shadow(0 0 4px #22d3ee59);--edge-linecap:round;--shadow:none;--shadow-lift:0 18px 44px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;overflow-x:hidden}body{background:var(--body-bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}main{min-height:100%}button,input,textarea{font:inherit;-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shell{background:0 0;border-radius:0;width:100%;min-height:100dvh;padding:0}.topbar{z-index:40;min-height:64px;padding:10px var(--header-gutter);background:var(--topbar-bg);border-bottom:1px solid var(--topbar-border);-webkit-backdrop-filter:blur(18px)saturate(150%);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.cogniflow-logo{flex:none;width:auto;height:30px}.cogniflow-logo-light{display:var(--brand-logo-light-display)}.cogniflow-logo-dark{display:var(--brand-logo-dark-display)}.brand-home{color:inherit;border-radius:var(--r-sm);flex:none;align-items:center;line-height:0;text-decoration:none;display:inline-flex}.brand-home:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.brand-copy{min-width:0;padding-right:20px}.brand-line{align-items:center;gap:9px;min-width:0;display:flex}.tagline{color:var(--tagline-ink);white-space:nowrap;text-overflow:ellipsis;margin:5px 0 0;font-size:12px;line-height:1.2;overflow:hidden}.engine-dot{cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:50%;left:calc(100% + 1px);transform:translateY(-50%)}.engine-dot span{background:var(--butter-ink);border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 4px #ffc9571f}.engine-dot-inline{flex:none;width:32px;height:32px;position:static;transform:none}.nav{display:none}.who{border:1px solid var(--who-border);background:var(--who-bg);min-width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .12s,background .16s,border-color .16s;display:flex}.account-avatar{background:linear-gradient(140deg, var(--brand), var(--brand-2));color:#fff;border-radius:999px;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:grid;overflow:hidden}.account-avatar img{object-fit:cover;width:100%;height:100%;display:block}.who-anchor{flex:none;display:flex;position:relative}.profile-button-name,.profile-chevron{display:none}.plate{width:100%;min-height:calc(100dvh - 64px);padding:16px var(--app-gutter) calc(64px + env(safe-area-inset-bottom) + 16px);background:0 0;border-radius:0}.view-region{min-width:0}.view-updating{color:var(--ink-2);margin:0 0 10px;font-size:.82rem;font-weight:700}.view-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:min(360px,48vh);padding:32px 16px;display:flex}.view-loading h1{margin:14px 0 6px}.view-loading-mark{border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite loading-turn}.tutor-progress-note{border-radius:var(--r-sm);background:var(--sky);width:fit-content;max-width:100%;color:var(--sky-ink);text-align:center;margin:12px auto 0;padding:10px 14px;font-size:.9rem;font-weight:700}.restart-note{margin-bottom:18px}@keyframes loading-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.view-loading-mark{animation:none}}.columns,.academic-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.academic-main{gap:18px;min-width:0;display:grid}.greeting-block{gap:14px;display:grid}.greeting-copy{min-width:0}.greeting-block h1{margin-bottom:8px}.breadcrumb{color:var(--brand-ink);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 8px;font-size:11px;font-weight:900;line-height:1.2;display:flex}.continue-btn{justify-content:center;width:100%}.dashboard-stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.focus-card{border:1px solid var(--card-border);border-radius:var(--r-md);background:var(--card-bg);min-width:0;box-shadow:var(--shadow);gap:16px;padding:18px;display:grid}.focus-card.active{border-color:var(--card-active-border);background:var(--card-active-bg);box-shadow:var(--card-active-shadow)}.focus-copy,.focus-meter{min-width:0}.focus-card h2{margin-bottom:6px}.focus-meter{align-content:start;gap:7px;display:grid}.focus-meter strong{color:var(--ink);font-size:2rem;line-height:1}.roadmap-title-row{justify-content:space-between;gap:16px;display:flex}.roadmap-title-row .sub{margin:4px 0 0}.dashboard-rail{min-width:0;display:none}.reveal-btn{border:1px solid var(--button-ghost-border);background:var(--button-ghost-bg);min-height:36px;color:var(--button-ghost-ink);font:inherit;cursor:pointer;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:800}.reveal-btn:disabled{opacity:.5;cursor:not-allowed}.hint-panel .note{margin-top:12px}h1{letter-spacing:0;margin:0 0 16px;font-size:26px;font-weight:800;line-height:1.15}h2{letter-spacing:0;margin:0;font-size:18px;font-weight:800;line-height:1.25}h3{margin:0 0 6px;font-size:15px;font-weight:700;line-height:1.3}.feature-title,.exercise-title{letter-spacing:0;margin:0 0 6px;font-size:15px;font-weight:700;line-height:1.3;display:block}p{margin:0 0 10px}.sub{color:var(--ink-2);max-width:62ch}.hero{gap:18px;max-width:680px;margin:20px auto 0;display:grid}.hero h1{max-width:12em;margin-bottom:0;display:block}.hero .sub{margin:0}.hero-pill{border:1px solid var(--field-border);background:var(--field-bg);width:fit-content;color:var(--lilac-ink);text-transform:uppercase;letter-spacing:.09em;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;line-height:1}.step-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;display:grid}.step-strip span{border:1px solid var(--field-border);background:var(--surface-soft);min-height:32px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.07em;border-radius:999px;place-items:center;font-size:11px;font-weight:800;line-height:1;display:grid}.name-block{gap:10px;max-width:460px;display:grid}.name-block .muted{margin:-4px 0 0}.name-field{border:1px solid var(--field-border);background:var(--field-bg);min-height:48px;color:var(--ink-3);border-radius:14px;align-items:center;gap:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.name-field:focus-within,.search:focus-within{border-color:var(--focus);box-shadow:var(--focus-shadow)}.name-field input[type=text]{min-height:46px;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:16px}.language-picker{gap:8px;display:grid}.language-label{margin:0;font-weight:700}.language-toggle{border:1px solid var(--sheet-control-border);border-radius:var(--r-sm);background:var(--surface-soft);grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:4px;padding:4px;display:grid}.language-toggle button{min-width:0;min-height:44px;color:var(--ink-2);font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-radius:9px;font-size:13px;font-weight:800}.language-toggle button[aria-checked=true]{background:var(--button-bg);color:var(--button-ink)}.hero-cta{width:100%;min-height:48px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.feature{border:1px solid var(--card-border);border-radius:var(--r-md);background:var(--card-bg);flex-direction:column;min-height:138px;padding:14px;display:flex}.feature>span{background:var(--brand-soft);width:30px;height:30px;color:var(--lilac-ink);border-radius:999px;place-items:center;margin-bottom:12px;display:grid}.feature .muted{margin:auto 0 0}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.search{background:var(--surface-soft);border:1px solid var(--field-border);width:100%;min-width:0;min-height:44px;color:var(--ink-3);border-radius:14px;grid-column:1/-1;align-items:center;gap:9px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.search input{font:inherit;width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:16px}.stat{text-align:left;border:1px solid var(--card-border);border-radius:var(--r-md);background:var(--card-bg);min-width:0;box-shadow:var(--shadow);flex-direction:column;justify-content:space-between;gap:9px;padding:15px;display:flex;position:relative}.stat b{color:var(--ink);overflow-wrap:anywhere;font-size:1.42rem;font-weight:800;line-height:1.05;display:block}.stat span{letter-spacing:.08em;color:var(--ink-3);font-size:11px;font-weight:800;line-height:1.1;display:block}.stat small{color:var(--ink-2);font-size:12px;line-height:1.25;display:block}.stat .stat-chip{background:var(--chip-bg);width:fit-content;color:var(--chip-ink);letter-spacing:0;text-transform:none;border-radius:999px;padding:5px 8px;position:absolute;top:12px;right:12px}.stat.done{background:var(--mint);border-color:#b9f8d333}.stat.done b{color:var(--mint-ink)}.stat.maybe{background:var(--butter);border-color:#ffe1a333}.stat.maybe b{color:var(--butter-ink)}.academic-stat.done,.academic-stat.maybe{background:var(--card-bg);border-color:var(--card-border)}.academic-stat.done b,.academic-stat.maybe b{color:var(--ink)}@media (min-width:390px){.toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}}.flow-head{color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 14px;font-size:11px;font-weight:800;line-height:1.2;display:flex}.flow-head span{align-items:center;gap:7px;min-width:0;display:inline-flex}.flow-head span:last-child{text-align:right;letter-spacing:.04em;justify-content:flex-end}.flow-head i{background:var(--brand);border-radius:999px;flex:none;width:8px;height:8px}.plan{grid-template-columns:minmax(0,1fr);gap:16px;display:grid;position:relative}.edges,.roadmap-index,.roadmap-icon,.roadmap-progress,.roadmap-arrow,.focus-tag{display:none}.roadmap-copy{min-width:0}.roadmap-wait{margin-top:-6px;margin-bottom:12px}.spine-item{--node-center:30px;grid-template-columns:44px minmax(0,1fr);gap:10px;min-width:0;display:grid;position:relative}.spine-item:before,.spine-item:after{content:"";background:var(--spine-line);z-index:0;width:2px;position:absolute;left:21px}.spine-item:before{height:calc(var(--node-center) + 16px);top:-16px}.spine-item:first-child:before{top:var(--node-center);height:0}.spine-item:after{top:var(--node-center);bottom:-16px}.spine-item:last-child:after{display:none}.spine-completed:before,.spine-continues:after{background:var(--spine-progress-line,var(--brand))}.spine-node{z-index:2;border:2px solid var(--spine-node-border);width:28px;height:28px;color:var(--ink-3);background:var(--spine-node-bg);border-radius:999px;place-items:center;margin:16px auto 0;font-size:12px;font-weight:900;display:grid;position:relative}.spine-completed .spine-node{background:var(--mint);color:var(--mint-ink);border-color:#b9f8d3d9}.spine-provisional .spine-node{background:var(--butter);color:var(--butter-ink);border-color:#ffe1a3db}.spine-active .spine-node{border-color:var(--spine-active-border,#aeb6ffe6);background:linear-gradient(140deg, var(--brand), var(--brand-2));color:#fff;box-shadow:var(--spine-active-shadow,0 0 24px #7c6cf58c)}.spine-available .spine-node{color:var(--lilac-ink);border-color:#aeb6ffb8}.spine-locked .spine-node{color:var(--ink-3);background:0 0;border-color:#bcc5d861}.card{z-index:1;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius,var(--r-md));min-width:0;box-shadow:var(--shadow);padding:16px;transition:transform .2s,box-shadow .2s,border-color .18s,background .18s;position:relative}.card.active{background:var(--card-active-bg);border-color:var(--card-active-border);box-shadow:var(--card-active-shadow)}.card.locked{opacity:.6}.card.suggested{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft), var(--shadow)}.card .flag{letter-spacing:.09em;text-transform:uppercase;color:var(--brand-ink);margin:-2px 0 8px;font-size:11px;font-weight:800;line-height:1}.card .flag.active-now{background:var(--brand-soft);width:fit-content;color:var(--lilac-ink);border-radius:999px;padding:5px 8px}.iconbtn.solid.go{background:linear-gradient(140deg, var(--brand), var(--brand-2));border-color:#0000}.standing{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-sm);margin-bottom:8px;padding:12px 14px}.standing b{font-size:.93rem}.dashboard{border-radius:var(--r-md);background:var(--panel-bg);border:1px solid var(--panel-border);min-width:0;margin:0 0 24px;padding:14px}.dashboard-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.dashboard-head .sub{margin:4px 0 0}.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:6px;display:grid}.best-day{margin:0 0 12px}.empty-activity{border:1px solid var(--event-plain-border);border-radius:var(--r-sm);background:var(--event-plain-bg);color:var(--ink-2);padding:14px;font-size:.9rem}.heatmap-scroll{max-width:100%;padding-bottom:4px;overflow:auto hidden}.heatmap{width:max-content;min-width:322px}.heatmap-months{color:var(--ink-3);grid-template-columns:30px repeat(26,18px);align-items:end;gap:4px;margin-bottom:4px;font-size:10px;line-height:1;display:grid}.heatmap-body{grid-template-columns:30px repeat(26,18px);gap:4px;display:grid}.heatmap-days,.heatmap-week{grid-template-rows:repeat(7,18px);gap:4px;display:grid}.heatmap-days{color:var(--ink-3);font-size:10px;line-height:18px}.heat-cell{background:var(--heat-0);border:1px solid var(--card-border);border-radius:4px;width:18px;height:18px}.heat-0{background:var(--heat-0)}.heat-1{background:var(--heat-1)}.heat-2{background:var(--heat-2)}.heat-3{background:var(--heat-3)}.heat-4{background:var(--heat-4)}.hour-strip{grid-template-columns:repeat(24,minmax(0,1fr));align-items:end;gap:2px;min-width:0;height:82px;margin-top:14px;display:grid}.hour-column{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:82px;display:flex}.hour-bar{border:1px solid var(--card-border);border-radius:4px 4px 2px 2px;width:100%;min-height:0}.hour-column small{height:10px;color:var(--ink-3);font-size:9px;line-height:1}.activity-note{margin:10px 0 0;font-size:11px}.card .top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card .top h3,.card .top .exercise-title{min-width:0}.chip-row{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.card .desc{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 14px;font-size:.88rem;display:-webkit-box;overflow:hidden}.card .exercise-prompt{color:var(--ink-2);white-space:pre-wrap;margin:8px 0 14px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.88rem;line-height:1.55;overflow:visible}.card .foot{border-top:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.skill-action{justify-content:space-between;width:100%}.chip{background:var(--chip-bg);max-width:100%;color:var(--chip-ink,var(--ink-2));border:1px solid var(--chip-border,var(--card-border));white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:.78rem;font-weight:800;line-height:1.1;display:inline-flex}.chip.done{background:var(--mint);color:var(--mint-ink);border-color:var(--chip-done-border,#b9f8d333)}.chip.now{background:var(--lilac);color:var(--lilac-ink);border-color:var(--chip-now-border,#dad6ff38)}.chip.maybe{background:var(--butter);color:var(--butter-ink);border-color:var(--chip-maybe-border,#ffe1a333)}.status-desktop,.top-play,.dot{display:none}.dot{background:var(--mint);border-radius:999px;place-items:center;width:44px;height:44px;font-size:.78rem}.dot.lock{background:var(--dot-lock-bg)}.iconbtn{border:1px solid var(--icon-border);background:var(--icon-bg);width:44px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:999px;flex:none;place-items:center;padding:0;font-size:.92rem;display:grid}.iconbtn.solid{background:var(--icon-solid-bg);border-color:var(--icon-solid-border);color:var(--icon-solid-ink)}.play{background:var(--play-bg);width:44px;height:44px;color:var(--play-ink);cursor:pointer;box-shadow:var(--play-shadow,none);border:0;border-radius:999px;flex:none;place-items:center;font-size:.98rem;transition:transform .18s;display:grid}.play.top-play{display:none}.play:disabled,.iconbtn:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--r-md);padding:16px}.panel .head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.event{border-radius:var(--r-md);margin-bottom:12px;padding:14px}.event .row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.event .kind{align-items:center;gap:9px;font-size:.9rem;font-weight:700;display:flex}.event .when{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.78rem}.event p{color:var(--ink-2);margin:0;font-size:.85rem}.event .badge{background:var(--badge-bg);border-radius:999px;place-items:center;width:26px;height:26px;font-size:.8rem;display:grid}.event.sky{background:var(--sky);color:var(--sky-ink)}.event.lilac{background:var(--lilac);color:var(--lilac-ink)}.event.butter{background:var(--butter);color:var(--butter-ink)}.event.leaf{background:var(--leaf);color:var(--leaf-ink)}.event.plain{background:var(--event-plain-bg);border:1px solid var(--event-plain-border)}.cta{border-radius:var(--r-sm);background:var(--cta-bg);width:100%;color:var(--ink);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:11px;font-weight:700;display:flex}label{margin-bottom:7px;font-size:.88rem;font-weight:700;display:block}input[type=text],textarea{border:1px solid var(--field-border);border-radius:var(--r-sm);width:100%;min-width:0;font:inherit;background:var(--field-bg);color:var(--ink);padding:12px 14px;transition:border-color .15s,box-shadow .15s}input[type=text]{min-height:44px;font-size:16px}textarea{resize:vertical;min-height:220px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:16px;line-height:1.55}.code-editor,.code-editor>div{width:100%;min-width:0}.editor-hint{color:var(--ink-3);margin:6px 0 0;font-size:11px;line-height:1.25}input:focus,textarea:focus{border-color:var(--focus);box-shadow:var(--focus-shadow)}.btn{min-height:44px;font:inherit;border-radius:var(--r-sm);background:var(--button-bg);color:var(--button-ink);cursor:pointer;border:1px solid #0000;padding:11px 20px;font-weight:700;transition:transform .12s,background .18s,border-color .18s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:var(--button-ghost-bg);color:var(--button-ghost-ink);border-color:var(--button-ghost-border)}.btn:active:not(:disabled),.iconbtn:active:not(:disabled),.play:active:not(:disabled),.bottom-nav button:active:not(:disabled),.who:active{transform:scale(.98)}.engine-dot:active{transform:translateY(-50%)scale(.97)}.engine-dot-inline:active{transform:scale(.97)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.muted{color:var(--ink-3);font-size:13px}.err{color:var(--danger-ink);font-weight:600}.bar{background:var(--bar-bg);border-radius:4px;height:6px;margin-top:5px;overflow:hidden}.bar>span{background:var(--bar-fill);border-radius:4px;height:100%;transition:width .5s;display:block}.note{border-radius:var(--r-md);background:var(--lilac);color:var(--lilac-ink);border:1px solid var(--card-border);margin-bottom:14px;padding:14px 16px;font-size:.9rem}.note strong{margin-bottom:3px;display:block}.note.good{background:var(--mint);color:var(--mint-ink);border-color:#b9f8d333}.note.warn{background:var(--danger);color:var(--danger-ink);border-color:#ffd0cc2e}.note.info{background:var(--sky);color:var(--sky-ink);border-color:#c7e4ff2e}.note.ours{background:var(--note-ours-bg);color:var(--note-ours-ink);border-color:var(--field-border)}.engine-status-detail,.engine-status-meta,.engine-status-help{margin:0}.engine-status-note,.engine-status-live{gap:8px;display:grid}.engine-status-meta{font-size:13px;font-weight:700}.engine-status-help{font-size:13px}.engine-status-note .engine-retry{justify-self:start}.templates-banner{display:none}pre{background:var(--pre-bg);border:1px solid var(--pre-border);border-radius:var(--r-sm);margin:0 0 12px;padding:12px;font-size:.84rem;overflow-x:auto}code{font-family:ui-monospace,Consolas,monospace;font-size:.88em}.bottom-nav{z-index:45;height:calc(64px + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--mobile-nav-bg);border-top:1px solid var(--mobile-nav-border);-webkit-backdrop-filter:blur(20px)saturate(150%);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{min-width:0;min-height:52px;color:var(--mobile-nav-ink);cursor:pointer;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:800;line-height:1;transition:color .18s,background .18s,transform .12s;display:flex;position:relative}.bottom-nav button>span{font-size:20px;line-height:1}.bottom-nav button[aria-current=page],.bottom-nav button.open{color:var(--mobile-nav-current-ink);background:var(--mobile-nav-active-bg)}.bottom-nav button[aria-current=page]:before,.bottom-nav button.open:before{content:"";background:var(--brand);border-radius:999px;width:28px;height:3px;position:absolute;top:3px}.bottom-nav button:disabled{color:var(--ink-2);opacity:.72;cursor:not-allowed}.more-backdrop.account-hub-backdrop{z-index:70;background:var(--more-backdrop);justify-content:center;align-items:flex-end;padding:16px 0 0;display:flex;position:fixed;inset:0}.account-hub{color:var(--ink);background:var(--more-bg);border:1px solid var(--more-border);overscroll-behavior:contain;animation:.14s ease-out both account-hub-enter;overflow-y:auto}.account-hub-sheet{width:min(100%,440px);max-height:min(82dvh,680px);padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:var(--hub-shadow);border-radius:24px 24px 0 0}.account-hub-popover{z-index:75;border-radius:var(--r-md);width:300px;max-height:min(680px,100dvh - 88px);box-shadow:var(--hub-shadow);padding:8px;position:absolute;top:calc(100% + 8px);right:0}@keyframes account-hub-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hub-identity{align-items:center;gap:12px;min-width:0;padding:10px 12px 12px;display:flex}.hub-identity>div{gap:2px;min-width:0;display:grid}.hub-identity strong,.hub-identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hub-identity strong{font-weight:600}.hub-identity span{color:var(--ink-3);font-size:12px}.hub-group{border-top:1px solid var(--more-border);padding:8px 0}.hub-item{border-radius:var(--r-sm);width:100%;min-height:40px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;transition:transform .12s,background .16s,color .16s;display:flex}.hub-item svg{flex:none}.hub-item>span{min-width:0}.hub-item small{color:var(--ink-3);margin-top:3px;font-size:11px;font-weight:500;line-height:1.3;display:block}.hub-item:hover{background:var(--sheet-control-bg)}.hub-item:active:not(:disabled){transform:scale(.99)}.hub-item:focus-visible,.hub-theme-control button:focus-visible,.hub-retry:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.hub-item:disabled{opacity:.55;cursor:not-allowed}.hub-external{color:var(--ink-3);margin-left:auto}.hub-theme-row{justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.hub-theme-label{font-size:14px;font-weight:600}.hub-theme-control{border:1px solid var(--sheet-control-border);background:var(--surface-soft);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;min-width:0;padding:2px;display:grid}.hub-theme-control button{min-width:0;min-height:30px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:4px 7px;font-size:11px;font-weight:700}.hub-theme-control button[aria-checked=true]{background:var(--chrome-active);color:var(--ink)}.hub-engine-row{align-items:center;gap:10px;min-height:40px;padding:8px 12px;display:flex}.hub-engine-row>div{gap:2px;min-width:0;display:grid}.hub-engine-row strong{font-size:13px;font-weight:600}.hub-engine-row small{color:var(--ink-3);font-size:11px;line-height:1.3}.hub-status-dot{background:var(--ink-3);border-radius:999px;flex:none;width:8px;height:8px}.hub-status-dot.online{background:var(--mint-ink)}.hub-status-dot.waking{background:var(--amber)}.hub-status-dot.offline{background:var(--danger-ink)}.hub-status-dot.templates{background:var(--butter-ink)}.hub-retry{border:1px solid var(--sheet-control-border);background:var(--sheet-control-bg);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;margin-left:auto;padding:4px 7px;font-size:11px;font-weight:700}.hub-group-heading{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:4px 12px 6px;font-size:11px;font-weight:700}.hub-signout-group{padding-bottom:0}.hub-signout:hover,.hub-signout:focus-visible,.settings-danger-button:hover,.settings-danger-button:focus-visible{background:var(--danger);color:var(--danger-ink);border-color:#0000}.hub-error{color:var(--danger-ink);margin:6px 12px 4px;font-size:12px;font-weight:600}@media (max-width:767px){.account-hub-sheet .hub-item,.account-hub-sheet .hub-engine-row,.account-hub-sheet .hub-theme-control button,.account-hub-sheet .hub-retry{min-height:48px}}.glass-sweep{z-index:60;pointer-events:none;-webkit-backdrop-filter:blur(9px)saturate(150%);background:linear-gradient(115deg,#fff0 30%,#ffffff8c 48%,#d6e8ff73 56%,#fff0 74%);animation:.62s cubic-bezier(.32,.72,0,1) forwards sweep;position:fixed;inset:0}@keyframes sweep{0%{opacity:0;transform:translate(-28%)}35%{opacity:1}to{opacity:0;transform:translate(28%)}}@media (min-width:768px){:root{--app-gutter:32px;--header-gutter:16px}body{background:var(--body-bg);color:var(--ink);padding:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}.shell{background:var(--shell);max-width:none;min-height:0;margin:0 auto;padding:0}.topbar{min-height:0;padding:12px var(--header-gutter) 20px;-webkit-backdrop-filter:none;background:0 0;border-bottom:0;justify-content:space-between;align-items:center;gap:18px;display:flex;position:static}.brand{min-width:auto;display:block}.cogniflow-logo{height:44px}.tagline,.engine-dot{display:none}.nav{background:var(--chrome-subtle);-webkit-backdrop-filter:blur(18px)saturate(160%);border:1px solid var(--chrome-border);border-radius:999px;align-items:center;gap:4px;padding:5px;display:flex;box-shadow:inset 0 1px #ffffff29}.nav button{color:var(--chrome-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:9px 15px;font-weight:600;transition:color .18s,background .18s;display:inline-flex}.nav button[aria-current=page]{color:var(--chrome-ink);background:var(--chrome-active);box-shadow:var(--chrome-active-shadow)}.who{background:var(--chrome-subtle);-webkit-backdrop-filter:blur(18px)saturate(160%);border:1px solid var(--chrome-border);width:auto;min-width:0;height:44px;color:var(--chrome-ink);text-align:left;border-radius:999px;justify-content:flex-start;align-items:center;gap:9px;padding:5px 10px 5px 6px;display:flex}.profile-button-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.87rem;font-weight:600;line-height:1.25;display:block;overflow:hidden}.profile-chevron{color:var(--chrome-muted);flex:none;transition:transform .16s;display:block}.who[aria-expanded=true] .profile-chevron{transform:rotate(180deg)}.plate{background:var(--plate);padding:30px var(--app-gutter) 36px;border-radius:22px;max-width:1420px;min-height:74vh;margin:0 auto}.bottom-nav{display:none}.templates-banner{display:block}.columns{gap:30px}h1{letter-spacing:0;align-items:center;gap:10px;margin:0 0 18px;font-size:2.05rem;font-weight:800;line-height:1.2;display:flex}h2{letter-spacing:0;margin:0;font-size:1.28rem;font-weight:800;line-height:1.25}h3{margin:0 0 6px;font-size:1rem;font-weight:700;line-height:1.3}.feature-title,.exercise-title{font-size:1rem}.hero{max-width:760px;margin:8vh auto 0}.hero h1{display:block}.hero-pill{background:var(--brand-soft);color:var(--brand-ink);border-color:#0000}.step-strip span{border-color:var(--field-border);background:var(--surface-soft);color:var(--ink-2)}.name-field{border-color:var(--field-border);background:var(--field-bg);color:var(--ink-3)}.name-field:focus-within,.search:focus-within{border-color:var(--focus);box-shadow:var(--focus-shadow)}.name-field input[type=text]{color:var(--ink);background:0 0}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.feature{border-color:var(--card-border);background:var(--card-bg);min-height:146px}.feature>span{background:var(--brand-soft);color:var(--brand-ink)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px;display:flex}.search{background:var(--surface-soft);border:1px solid var(--field-border);width:auto;min-width:190px;max-width:280px;min-height:0;color:var(--ink-3);border-radius:999px;flex:1;align-items:center;gap:9px;padding:10px 16px;display:flex}.search input{font:inherit;width:100%;color:var(--ink);background:0 0;border:0;outline:none}.stat{text-align:center;border:1px solid var(--card-border);border-radius:var(--r-sm);background:var(--card-bg);min-width:84px;padding:9px 14px;position:relative}.stat b{font-size:1.25rem;font-weight:800;line-height:1.1;display:block}.stat span{letter-spacing:.09em;color:var(--ink-3);margin-top:0;font-size:.66rem;font-weight:700}.stat.done{background:var(--mint);border-color:#0000}.stat.done b{color:var(--mint-ink)}.stat.maybe{background:var(--butter);border-color:#0000}.stat.maybe b{color:var(--butter-ink)}.flow-head{display:none}.card{z-index:1;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius,var(--r-md));box-shadow:var(--shadow);padding:18px 18px 15px;transition:transform .2s,box-shadow .2s;position:relative}.card.active{background:var(--card-active-bg);border-color:var(--card-active-border);box-shadow:var(--card-active-shadow)}.card.locked{opacity:.82}.card.suggested{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft), var(--shadow)}.card .flag{letter-spacing:.09em;text-transform:uppercase;color:var(--brand-ink);margin:-4px 0 8px;font-size:.68rem;font-weight:700}.card .flag.active-now{display:none}.card .desc{color:var(--ink-2);margin:8px 0 14px;font-size:.88rem;display:block;overflow:visible}.card .foot{border-top:0;justify-content:space-between;align-items:center;gap:10px;padding-top:0;display:flex}.skill-action{justify-content:flex-start;width:auto}.skill-action .muted{white-space:nowrap}.status-mobile{display:none}.status-desktop{display:inline-flex}.play.top-play{display:grid}.mobile-play{display:none}.chip{background:var(--chip-bg);color:var(--chip-ink,var(--ink-2));border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.chip.done{background:var(--mint);color:var(--mint-ink)}.chip.now{background:var(--lilac);color:var(--lilac-ink)}.chip.maybe{background:var(--butter);color:var(--butter-ink)}.dot{background:var(--mint);border-radius:999px;place-items:center;width:26px;height:26px;font-size:.78rem;display:grid}.dot.lock{background:var(--dot-lock-bg)}.iconbtn{border:1px solid var(--icon-border);background:var(--icon-bg);width:30px;height:30px;color:var(--ink-3);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:.8rem;display:grid}.iconbtn.solid{background:var(--icon-solid-bg);border-color:var(--icon-solid-border);color:var(--icon-solid-ink)}.iconbtn.solid.go{background:var(--brand);border-color:var(--brand)}.play{width:var(--play-size,54px);height:var(--play-size,54px);background:var(--play-bg);color:var(--play-ink);cursor:pointer;box-shadow:var(--play-shadow,0 6px 20px #5a3cb438);border:0;border-radius:999px;place-items:center;font-size:1.05rem;transition:transform .18s;display:grid}.standing{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-sm);margin-bottom:8px;padding:12px 14px}.spread{flex-wrap:nowrap;align-items:baseline}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:22px;padding:22px}.panel .head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.event{border-radius:var(--r-md);margin-bottom:13px;padding:15px 16px}.event .when{color:var(--ink-2);font-size:.78rem}.event p{color:var(--ink-2);margin:0;font-size:.85rem}.event .badge{background:var(--badge-bg);border-radius:999px;place-items:center;width:26px;height:26px;font-size:.8rem;display:grid}.event.sky{background:var(--sky)}.event.lilac{background:var(--lilac)}.event.butter{background:var(--butter)}.event.leaf{background:var(--leaf)}.event.plain{background:var(--event-plain-bg);border:1px solid var(--event-plain-border)}.cta{border-radius:var(--r-sm);background:var(--cta-bg);width:100%;color:var(--ink);border:0;margin-top:12px;padding:11px}input[type=text],textarea{border:1px solid var(--field-border);border-radius:var(--r-sm);width:100%;font:inherit;background:var(--field-bg);color:var(--ink);padding:12px 14px}input[type=text]{min-height:0;font-size:inherit}textarea{resize:vertical;min-height:190px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.87rem;line-height:1.55}input:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px;box-shadow:none;border-color:#0000}.btn{font:inherit;border-radius:var(--r-sm);background:var(--button-bg);min-height:0;color:var(--button-ink);cursor:pointer;border:1px solid #0000;padding:11px 20px;font-weight:700}.btn.ghost{background:var(--button-ghost-bg);color:var(--button-ghost-ink);border-color:var(--button-ghost-border)}.muted{color:var(--ink-3);font-size:.84rem}.err{color:var(--danger-ink)}.bar{background:var(--bar-bg);border-radius:4px;height:6px;margin-top:5px;overflow:hidden}.bar>span{background:var(--bar-fill);border-radius:4px;height:100%;transition:width .5s;display:block}.note{border-radius:var(--r-md);border:0;margin-bottom:14px;padding:14px 16px;font-size:.9rem}.note.good{background:var(--mint);color:var(--mint-ink)}.note.warn{background:var(--danger);color:var(--danger-ink)}.note.info{background:var(--sky);color:var(--sky-ink)}.note.ours{background:var(--note-ours-bg);color:var(--note-ours-ink)}pre{background:var(--pre-bg);border:1px solid var(--pre-border);border-radius:var(--r-sm);margin:0 0 12px;padding:12px;font-size:.84rem;overflow-x:auto}.shell{max-width:1280px;box-shadow:none;background:0 0;border-radius:0;padding:0}.topbar{background:0 0;border-bottom:0;padding:18px 0 16px}.brand{align-items:center;min-width:0;display:flex}.brand-copy{padding-right:0}.brand-line{gap:10px}.nav{border-color:var(--chrome-border);box-shadow:var(--shadow);background:#ffffffb3}.nav button{color:var(--chrome-muted);font-size:.92rem}.who{border-color:var(--chrome-border);max-width:220px;color:var(--chrome-ink);background:#ffffffb8}.profile-button-name{max-width:150px}.plate{background:0 0;border-radius:0;min-height:0;padding:18px 0 48px}.academic-layout{gap:28px}.academic-main{gap:22px}.greeting-block{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:22px}.greeting-block h1{margin:0 0 8px;font-size:2rem;display:block}.greeting-block .continue-btn{white-space:nowrap;width:auto}.dashboard-stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.academic-stat{text-align:left;border-radius:18px;min-height:132px;padding:17px}.academic-stat b{font-size:1.58rem}.academic-stat small{min-height:2.5em}.focus-card{border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:stretch;gap:24px;padding:22px}.focus-meter{text-align:right;justify-items:end}.focus-meter .continue-btn{width:100%}.roadmap-title-row{align-items:end}.roadmap-section{min-width:0}.flow-head{margin:0 0 12px;display:flex}.plan{grid-template-columns:minmax(0,1fr);gap:12px;display:grid;position:relative}.spine-item{display:block}.spine-item:before,.spine-item:after,.spine-node{display:none}.roadmap-card{border-radius:18px;grid-template-columns:42px 36px minmax(0,1fr) minmax(116px,auto) 30px;align-items:center;gap:14px;min-height:86px;padding:16px 18px;display:grid}.roadmap-card .flag,.roadmap-card .bar,.roadmap-card .foot,.roadmap-card .top-play,.roadmap-card .dot,.roadmap-card .status-mobile{display:none}.roadmap-index{color:var(--ink-3);letter-spacing:.08em;font-size:.78rem;font-weight:900;display:block}.roadmap-icon{border:1px solid var(--icon-border);background:var(--icon-bg);width:32px;height:32px;color:var(--ink-2);border-radius:999px;place-items:center;font-size:.78rem;font-weight:900;display:grid}.roadmap-icon-completed{background:var(--mint);color:var(--mint-ink);border-color:#0000}.roadmap-icon-provisional{background:var(--butter);color:var(--butter-ink);border-color:#0000}.roadmap-icon-active{background:linear-gradient(140deg, var(--brand), var(--brand-2));color:#fff;border-color:#0000}.roadmap-copy{min-width:0}.roadmap-card .top{display:block}.roadmap-card .top h3{overflow-wrap:anywhere;margin:0;display:block}.focus-tag{color:var(--brand-ink);letter-spacing:.08em;font-size:.72rem;font-weight:900;display:inline}.roadmap-card .desc{color:var(--ink-2);margin:4px 0 0;display:block;overflow:visible}.roadmap-wait{margin:4px 0 0}.roadmap-progress{text-align:right;justify-items:end;gap:5px;min-width:0;display:grid}.roadmap-progress small{color:var(--ink-2);white-space:nowrap;font-size:.78rem;line-height:1.1}.roadmap-arrow{border:1px solid var(--icon-border);background:var(--icon-bg);width:30px;height:30px;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:1.2rem;line-height:1;display:grid}.roadmap-arrow:disabled,.locked-arrow{opacity:.45;cursor:not-allowed}.dashboard-rail{gap:16px;display:grid}}@media (prefers-color-scheme:dark) and (min-width:768px){:root:not([data-theme=light]) .shell{background:var(--shell);max-width:none;padding:0}:root:not([data-theme=light]) .topbar{padding:12px var(--header-gutter) 20px}:root:not([data-theme=light]) .plate{background:var(--plate);padding:30px var(--app-gutter) 36px;border-radius:22px;max-width:1420px;min-height:74vh;margin:0 auto}:root:not([data-theme=light]) .nav{background:var(--chrome-subtle);border-color:var(--chrome-border);box-shadow:inset 0 1px #ffffff29}:root:not([data-theme=light]) .who{background:var(--chrome-subtle);border-color:var(--chrome-border);color:var(--chrome-muted)}:root:not([data-theme=light]) .brand{align-items:center;gap:10px;display:flex}}@media (min-width:768px){:root[data-theme=dark] .shell{background:var(--shell);max-width:none;padding:0}:root[data-theme=dark] .topbar{padding:12px var(--header-gutter) 20px}:root[data-theme=dark] .plate{background:var(--plate);padding:30px var(--app-gutter) 36px;border-radius:22px;max-width:1420px;min-height:74vh;margin:0 auto}:root[data-theme=dark] .nav{background:var(--chrome-subtle);border-color:var(--chrome-border);box-shadow:inset 0 1px #ffffff29}:root[data-theme=dark] .who{background:var(--chrome-subtle);border-color:var(--chrome-border);color:var(--chrome-muted)}:root[data-theme=dark] .brand{align-items:center;gap:10px;display:flex}}@media (min-width:1080px){.columns{grid-template-columns:minmax(0,1fr) 372px}.academic-layout{grid-template-columns:minmax(0,1fr) 350px}.dashboard-rail{align-self:start;position:sticky;top:24px}}@media (hover:hover) and (min-width:768px){.nav button:hover{color:var(--chrome-ink)}.who:hover{background:var(--sheet-control-bg)}.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.card.active:hover{box-shadow:var(--card-active-hover-shadow,var(--shadow-lift))}.card.suggested:hover{box-shadow:var(--card-suggested-hover-shadow,var(--shadow-lift))}.iconbtn:hover{color:var(--ink)}.play:hover{transform:scale(1.06)}.btn:hover:not(:disabled){background:var(--button-hover-bg)}.btn.ghost:hover:not(:disabled){background:var(--button-ghost-hover-bg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.glass-sweep{display:none}.btn:active:not(:disabled),.iconbtn:active:not(:disabled),.play:active:not(:disabled),.bottom-nav button:active:not(:disabled),.who:active,.hub-item:active,.engine-dot:active{transform:none}}.auth-page{place-items:center;width:100%;min-height:100dvh;padding:24px 16px;display:grid}.auth-shell{gap:16px;width:min(100%,420px);min-width:0;display:grid}.auth-wordmark{justify-content:center;display:flex}.auth-card{width:100%;padding:clamp(20px,7vw,30px)}.auth-card:hover{transform:none}.auth-card h1{text-align:center;margin:0 0 24px;font-size:clamp(1.55rem,7vw,2rem);line-height:1.15;display:block}.auth-form,.auth-field,.auth-result{min-width:0;display:grid}.auth-form{gap:16px}.auth-field{gap:7px}.auth-field label{margin:0}.auth-field input{border:1px solid var(--field-border);border-radius:var(--r-sm);background:var(--field-bg);width:100%;min-width:0;min-height:48px;color:var(--ink);padding:12px 14px;font-size:16px;line-height:1.25;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{border-color:var(--focus);box-shadow:var(--focus-shadow)}.password-field{min-width:0;position:relative}.password-field input{padding-right:78px}.password-toggle{min-width:70px;min-height:44px;color:var(--brand-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;font-weight:800;position:absolute;top:2px;right:2px}.auth-field-help{color:var(--ink-2);margin:-10px 0 0;font-size:13px}.auth-inline-link,.auth-return-link,.auth-foot a,.auth-error a{min-height:44px;color:var(--brand-ink);align-items:center;font-weight:700;display:inline-flex}.auth-inline-link{justify-self:end;width:fit-content;margin:-8px 0}.auth-page .btn{width:100%;min-height:48px}.auth-error{color:var(--danger-ink);overflow-wrap:anywhere;margin:0;font-weight:600}.auth-status{color:var(--ink-2);margin:0}.auth-divider{color:var(--ink-2);text-transform:lowercase;align-items:center;gap:12px;margin:18px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:auto;height:1px}.auth-google{justify-content:center;align-items:center;gap:10px;display:flex}.auth-google svg{flex:none;width:20px;height:20px}.auth-foot{color:var(--ink-2);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:5px;margin:14px 0 -10px;display:flex}.auth-result{gap:12px}.auth-result p{margin:0}.auth-return-link{width:fit-content}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .auth-field-help,:root:not([data-theme=light]) .auth-divider{color:var(--ink-3)}}:root[data-theme=dark] .auth-field-help,:root[data-theme=dark] .auth-divider{color:var(--ink-3)}.auth-page a:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.welcome-account{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:1rem}.name-block>.muted{overflow-wrap:anywhere}@media (min-width:768px){.auth-page{min-height:100dvh}.who{max-width:min(280px,40vw)}}.engine-retry{max-width:100%;min-height:44px}.who.profile-button[aria-expanded=true]{border-color:var(--focus);background:var(--sheet-control-bg)}.settings-view{width:100%;min-height:0}.settings-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:28px;display:flex}.settings-heading h1{margin-bottom:5px}.settings-heading p{margin:0}.settings-back{flex:none}.settings-layout{gap:26px;min-width:0;display:grid}.settings-nav{scrollbar-width:thin;gap:6px;padding:2px 2px 8px;display:flex;overflow-x:auto}.settings-nav button{border-radius:var(--r-sm);min-height:42px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:9px;padding:9px 12px;font-size:14px;font-weight:600;display:flex}.settings-nav button:hover{background:var(--surface-soft);color:var(--ink)}.settings-nav button[aria-current=page]{border-color:var(--line);background:var(--surface-soft);color:var(--ink)}.settings-content{width:100%;min-width:0;max-width:640px}.settings-section,.settings-section-intro,.settings-control{min-width:0}.settings-section-intro{margin-bottom:26px}.settings-section-intro h2{margin-bottom:6px}.settings-section-intro p{color:var(--ink-2);margin:0}.settings-control{border-top:1px solid var(--line);padding:22px 0}.settings-section-intro+.settings-control{border-top:0;padding-top:0}.settings-control h3{margin:0 0 12px;font-size:15px;line-height:1.3}.settings-profile-photo{align-items:center;gap:16px;display:flex}.settings-profile-photo p{margin:0}.settings-helper{color:var(--ink-3);margin:9px 0 0;font-size:13px}.settings-error{color:var(--danger-ink);margin:9px 0 0;font-size:13px;font-weight:600}.settings-action-row,.settings-confirm-row,.settings-inline-error{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.settings-action-row{margin-top:14px}.settings-success{color:var(--mint-ink);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.settings-saved-status{animation:.16s 2.84s both settings-status-out}@keyframes settings-status-out{0%{opacity:1}to{opacity:0}}.settings-static-row{justify-content:space-between;gap:16px;display:flex}.settings-static-row strong{text-align:right}.appearance-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.appearance-options button{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-soft);min-width:0;min-height:112px;color:var(--ink);font:inherit;cursor:pointer;align-content:space-between;justify-items:start;gap:10px;padding:14px;font-weight:700;display:grid;position:relative}.appearance-options button[aria-checked=true]{border:2px solid var(--focus);padding:13px}.appearance-options button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.appearance-swatch{border:1px solid var(--line);border-radius:8px;width:44px;height:34px;display:flex;overflow:hidden}.appearance-swatch.light{background:#fff}.appearance-swatch.dark{background:#1c2a45}.appearance-swatch.system{background:0 0}.appearance-swatch.system i{width:50%;height:100%}.appearance-swatch.system i:first-child{background:#fff}.appearance-swatch.system i:last-child{background:#1c2a45}.appearance-check{color:var(--focus);position:absolute;top:12px;right:12px}.settings-list{display:grid}.settings-list-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:10px 0;display:flex}.settings-list-row:first-child{border-top:0}.settings-session-row>div{gap:2px;min-width:0;display:grid}.settings-session-row strong{overflow-wrap:anywhere;font-size:14px}.settings-session-row div>span{color:var(--ink-3);font-size:12px}.settings-current-badge{background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:700}.settings-small-button{min-height:36px;padding:7px 11px;font-size:12px}.settings-confirm-row{margin-top:14px}.settings-inline-error{color:var(--danger-ink);justify-content:space-between;font-size:13px;font-weight:600}.settings-inline-error .btn{min-height:36px;padding:7px 11px}.settings-skeleton-list{gap:8px;display:grid}.settings-skeleton-row{border-radius:var(--r-sm);width:100%;height:48px;display:block}.settings-password-form{gap:15px;display:grid}.settings-checkbox{cursor:pointer;align-items:center;gap:9px;width:fit-content;display:flex}.settings-checkbox input{width:18px;height:18px;accent-color:var(--brand)}.settings-danger-button{color:var(--danger-ink)}.settings-danger-button.btn.ghost:hover:not(:disabled),.settings-danger-button.btn.ghost:focus-visible:not(:disabled){background:var(--danger);color:var(--danger-ink);border-color:#0000}@media (max-width:520px){.appearance-options{grid-template-columns:1fr}.appearance-options button{grid-template-columns:auto 1fr;align-content:center;place-items:center start;min-height:76px}}@media (min-width:768px){.settings-layout{grid-template-columns:220px minmax(0,640px);align-items:start;gap:40px}.settings-nav{gap:5px;padding:0;display:grid;overflow:visible}.settings-nav button{width:100%}}.skeleton{--skeleton-base:var(--surface-soft);--skeleton-highlight:var(--card-bg);border:1px solid var(--line);border-radius:var(--r-md);background:var(--skeleton-base);height:48px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(100deg, transparent 25%, var(--skeleton-highlight) 50%, transparent 75%);animation:1.8s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-heading{border-radius:var(--r-sm);width:min(100%,430px);height:56px}.skeleton-card{height:138px}.who.identity-skeleton{border:1px solid var(--who-border);cursor:default;pointer-events:none;width:44px;min-width:44px;height:44px;padding:0}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (min-width:768px){.who.identity-skeleton{width:150px;min-width:150px;height:44px}}@media (prefers-reduced-motion:reduce){.skeleton:after,.account-hub,.settings-saved-status{animation:none}}
