@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/atkinson-hyperlegible-next-latin-BcXVPD7q.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:italic;font-weight:200 800;font-display:swap;src:url(/assets/atkinson-hyperlegible-next-latin-italic-DC5MiAaX.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/familjen-grotesk-latin-CfZa4wxB.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Familjen Grotesk;font-style:italic;font-weight:400 700;font-display:swap;src:url(/assets/familjen-grotesk-latin-italic-Uc4KRZYH.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/jetbrains-mono-latin-B9CIFXIH.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--line-pitch:28px;--ruled-offset:-7px;--ruled-bg:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--line-pitch) - 1px), var(--rule) calc(var(--line-pitch) - 1px), var(--rule) var(--line-pitch));--ink:#1b1b1a;--ink-learner:#1d4fc4;--ink-marker:#d8433a;--ink-marker-text:#b8352c;--ink-marker-text-hover:#94271f;--pencil:#63635e;--rule:#cbd6e3;--rule-strong:#aebccf;--margin-rule:#d8433a;--signal-success:#1f7a3f;--signal-error:#b8352c;--signal-warning:#8a5a00;--signal-info:#1d4fc4;--font-display:"Familjen Grotesk", system-ui, sans-serif;--font-sans:"Atkinson Hyperlegible Next", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--fs-display:2.25rem;--fs-h1:1.75rem;--fs-h2:1.375rem;--fs-h3:1.125rem;--fs-body:1.0625rem;--fs-caption:.875rem;--fs-label:.8125rem;--tracking-display:-.01em;--tracking-label:0;--tracking-tight:0;--lh-display:1.15;--lh-body:1.647;--radius-sm:4px;--radius-md:4px;--radius-lg:4px;--radius-card:6px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--space-10:4.5rem;--shadow-paper:none;--shadow-lift:0 12px 24px -12px #00000040;--motion-out-expo:cubic-bezier(.16, 1, .3, 1);--motion-fast:.14s;--motion-base:.24s;--motion-ink:.32s;--sidebar-width-expanded:18rem;--sidebar-width-collapsed:3rem;--sidebar-mobile-strip-height:3rem;--color-background:#e6e8ec;--color-surface:#fff;--color-surface-soft:#dfe2e7;--color-surface-raised:#fbfaf7;--color-text:#1b1b1a;--color-heading:#1b1b1a;--color-text-muted:#63635e;--color-text-faint:#63635e;--color-border:#cbd6e3;--color-border-strong:#aebccf;--color-accent:#1d4fc4;--color-accent-hover:#173fa0;--color-accent-text:#1d4fc4;--color-accent-strong:#1d4fc4;--color-accent-soft:#e0e7f4;--color-accent-ring:#1d4fc459;--btn-fill-hover:#173fa0;--color-text-on-accent:#fff;--color-wordmark:#1b1b1a;--color-stub-heading:#1b1b1a;--color-success-text:#1d733b;--color-error-text:#b8352c;--color-warning-text:#8a5a00;--color-info-text:#1d4fc4;--color-info-strong:#1d4fc4;--desk:#e6e8ec;--desk-deep:#dfe2e7;--card:#fff;--card-edge:#cfd3da;--card-drop:#c4c8d0;--card-learner:#dbe6fb;--card-learner-edge:#b9cdf5;--tab-focus:#b8352c;--tab-gaps:#8a5a00;--tab-mastered:#1f7a3f;--tab-level:#63635e;--tab-ink:#fff;--sw-light-paper:#f6f5f0;--sw-light-ink:#aebccf;--sw-light-rule:#cbd6e3;--sw-light-margin:#d8433a;--sw-dark-paper:#141518;--sw-dark-ink:#363b47;--sw-dark-rule:#262a33;--sw-dark-margin:#ff6a5e}:root[data-theme=dark]{--ink:#ecebe6;--ink-learner:#8fb0ff;--ink-marker:#ff6a5e;--ink-marker-text:#ff6a5e;--ink-marker-text-hover:#c9463b;--pencil:#a3a39c;--rule:#262a33;--rule-strong:#363b47;--margin-rule:#ff6a5e;--signal-success:#5fcf8a;--signal-error:#ff6a5e;--signal-warning:#e6b450;--signal-info:#8fb0ff;--color-background:#15171b;--color-surface:#22252b;--color-surface-soft:#1b1d22;--color-surface-raised:#1f2126;--color-text:#ecebe6;--color-heading:#ecebe6;--color-text-muted:#a3a39c;--color-text-faint:#a3a39c;--color-border:#262a33;--color-border-strong:#363b47;--color-accent:#8fb0ff;--color-accent-hover:#a9c2ff;--color-accent-text:#8fb0ff;--color-accent-strong:#3b63d6;--color-accent-soft:#8fb0ff24;--color-accent-ring:#8fb0ff73;--color-text-on-accent:#fff;--btn-fill-hover:#2f52b8;--color-wordmark:#ecebe6;--color-stub-heading:#ecebe6;--color-success-text:#5fcf8a;--color-error-text:#ff6a5e;--color-warning-text:#e6b450;--color-info-text:#8fb0ff;--color-info-strong:#3b63d6;--shadow-paper:none;--shadow-lift:0 12px 24px -12px #000000b3;--desk:#15171b;--desk-deep:#1b1d22;--card:#22252b;--card-edge:#2e323a;--card-drop:#0b0c0e;--card-learner:#1e2a44;--card-learner-edge:#2f4470;--tab-focus:#ff6a5e;--tab-gaps:#e6b450;--tab-mastered:#5fcf8a;--tab-level:#a3a39c;--tab-ink:#141518}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#ecebe6;--ink-learner:#8fb0ff;--ink-marker:#ff6a5e;--ink-marker-text:#ff6a5e;--ink-marker-text-hover:#c9463b;--pencil:#a3a39c;--rule:#262a33;--rule-strong:#363b47;--margin-rule:#ff6a5e;--signal-success:#5fcf8a;--signal-error:#ff6a5e;--signal-warning:#e6b450;--signal-info:#8fb0ff;--color-background:#15171b;--color-surface:#22252b;--color-surface-soft:#1b1d22;--color-surface-raised:#1f2126;--color-text:#ecebe6;--color-heading:#ecebe6;--color-text-muted:#a3a39c;--color-text-faint:#a3a39c;--color-border:#262a33;--color-border-strong:#363b47;--color-accent:#8fb0ff;--color-accent-hover:#a9c2ff;--color-accent-text:#8fb0ff;--color-accent-strong:#3b63d6;--color-accent-soft:#8fb0ff24;--color-accent-ring:#8fb0ff73;--color-text-on-accent:#fff;--btn-fill-hover:#2f52b8;--color-wordmark:#ecebe6;--color-stub-heading:#ecebe6;--color-success-text:#5fcf8a;--color-error-text:#ff6a5e;--color-warning-text:#e6b450;--color-info-text:#8fb0ff;--color-info-strong:#3b63d6;--shadow-paper:none;--shadow-lift:0 12px 24px -12px #000000b3;--desk:#15171b;--desk-deep:#1b1d22;--card:#22252b;--card-edge:#2e323a;--card-drop:#0b0c0e;--card-learner:#1e2a44;--card-learner-edge:#2f4470;--tab-focus:#ff6a5e;--tab-gaps:#e6b450;--tab-mastered:#5fcf8a;--tab-level:#a3a39c;--tab-ink:#141518}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--color-background);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-height:100vh;color:var(--color-text);background:var(--color-background);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);caret-color:var(--ink-learner);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--motion-base) ease, color var(--motion-base) ease;font-weight:400}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-heading);letter-spacing:var(--tracking-display);font-weight:600;line-height:var(--lh-display)}code,kbd,pre,samp{font-family:var(--font-mono)}a{color:var(--ink-learner);text-underline-offset:3px;transition:color var(--motion-fast) ease;text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover)}button{font-family:inherit}input,textarea,select{caret-color:var(--ink-learner)}:focus-visible{outline:2px solid var(--ink-learner);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-accent-soft);color:var(--color-text)}*{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--rule-strong);border-radius:var(--radius-sm)}table,[data-tabular]{font-variant-numeric:tabular-nums}.label{font-family:var(--font-sans);font-size:var(--fs-caption);letter-spacing:var(--tracking-label);color:var(--pencil);font-weight:700}.hairline{background:var(--color-border);border:0;height:1px}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--color-accent-strong);color:var(--color-text-on-accent);font-family:var(--font-sans);font-weight:600;font-size:var(--fs-caption);transition:top var(--motion-fast) ease;padding:.5rem .875rem;text-decoration:none;position:absolute;top:-2.5rem;left:.75rem}.skip-link:focus,.skip-link:focus-visible{color:var(--color-text-on-accent);outline:2px solid var(--ink-learner);outline-offset:2px;top:.75rem}body.sb-scroll-lock{overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skip-link{transition:none}}.p-button.confirm-delete-strong{background:var(--ink-marker-text);border-color:var(--ink-marker-text);color:var(--color-text-on-accent)}.p-button.confirm-delete-strong:hover{background:var(--ink-marker-text-hover);border-color:var(--ink-marker-text-hover);color:var(--color-text-on-accent)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.hit-44{position:relative}@media (pointer:coarse){.hit-44:after{content:"";position:absolute;inset:-8px}.coarse-2x{min-height:calc(var(--line-pitch) * 2);align-items:center;display:inline-flex}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-fill{min-height:var(--line-pitch);border-radius:var(--radius-sm);background:var(--color-accent-strong);color:var(--color-text-on-accent);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:700;line-height:calc(var(--line-pitch) - 2px);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.375rem;padding:0 1rem;text-decoration:none;display:inline-flex}.btn-fill:hover:not(:disabled){background:var(--btn-fill-hover)}.btn-fill:focus-visible{outline:2px solid var(--color-accent-ring);outline-offset:2px}.btn-fill:disabled{color:var(--pencil);border-color:var(--rule-strong);cursor:default;background:0 0}.btn-fill--busy{opacity:.7;pointer-events:none}.btn-fill-row{min-height:var(--line-pitch);flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.crux-dialog .p-dialog,.p-dialog.crux-dialog,.p-confirmdialog{border-radius:var(--radius-card);border:1px solid var(--card-edge);background:var(--card);color:var(--color-text);box-shadow:var(--shadow-lift)}.crux-dialog .p-dialog-header,.p-dialog.crux-dialog .p-dialog-header,.p-confirmdialog .p-dialog-header{font-family:var(--font-display);letter-spacing:var(--tracking-display);font-weight:600;font-size:var(--fs-h2);color:var(--color-heading);background:0 0;padding:1.25rem 1.5rem .75rem}.crux-dialog .p-dialog-content,.p-dialog.crux-dialog .p-dialog-content,.p-confirmdialog .p-dialog-content{color:var(--color-text);background:0 0;padding:.5rem 1.5rem 1.25rem}.crux-dialog .p-dialog-footer,.p-dialog.crux-dialog .p-dialog-footer,.p-confirmdialog .p-dialog-footer{border-top:1px solid var(--color-border);background:0 0;padding:.875rem 1.5rem 1.125rem}.crux-dialog .p-dialog-footer .p-button,.p-dialog.crux-dialog .p-dialog-footer .p-button,.p-confirmdialog .p-dialog-footer .p-button{background:var(--color-accent-strong);color:var(--color-text-on-accent);border-radius:var(--radius-sm);font-family:var(--font-sans);border:0;padding:.5rem 1.25rem;font-weight:600}.p-inputtext,.p-textarea,.p-select,.p-password-input{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);caret-color:var(--ink-learner)}.p-inputtext:focus,.p-textarea:focus,.p-select:focus,.p-password-input:focus{border-color:var(--ink-learner);box-shadow:none;outline:2px solid var(--ink-learner);outline-offset:1px}.p-inputtext::placeholder,.p-textarea::placeholder{color:var(--color-text-muted)}.p-toast .p-toast-message{border-radius:var(--radius-card);border:1px solid var(--card-edge);background:var(--card);color:var(--color-text);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:none;backdrop-filter:none;border-left-width:1px}.p-toast .p-toast-message-info,.p-toast .p-toast-message-success,.p-toast .p-toast-message-warn,.p-toast .p-toast-message-error,.p-toast .p-toast-message-secondary,.p-toast .p-toast-message-contrast{border-color:var(--card-edge);background:var(--card);color:var(--color-text)}.p-toast .p-toast-message-content{align-items:flex-start;gap:.5rem;padding:.75rem .875rem}.p-toast .p-toast-summary{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--color-heading);font-weight:700}.p-toast .p-toast-detail{font-family:var(--font-sans);font-size:var(--fs-caption);color:var(--color-text-muted)}.p-toast .p-toast-message-icon,.p-toast .p-toast-close-button{color:var(--color-text-muted)}.p-toast-message-enter-from{opacity:1;clip-path:inset(0 100% 0 0);transform:none}.p-toast-message-enter-active{transition:clip-path var(--motion-ink) var(--motion-out-expo);transform:none}.p-toast-message-enter-to{clip-path:inset(0);transform:none}.p-toast-message-leave-active{transition:opacity var(--motion-base) ease, max-height var(--motion-base) ease, margin-bottom var(--motion-base) ease}.p-toast-message-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){.p-toast-message-enter-from{clip-path:inset(0)}.p-toast-message-enter-active,.p-toast-message-leave-active{transition:none}}#app{isolation:isolate;flex-direction:column;min-height:100vh;display:flex;position:relative}.profile-link{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--fs-label);background:0 0;align-items:center;gap:.375rem;padding:.5rem .875rem;text-decoration:none;transition:color .18s,background .18s,border-color .18s;display:inline-flex}.profile-link.profile-link-compact{padding:.45rem .75rem}.profile-link:hover,.profile-link:focus-visible{color:var(--color-heading);background:var(--color-surface);border-color:var(--color-heading)}.profile-link:focus-visible{outline:2px solid var(--color-accent-ring);outline-offset:2px}:root{--chat-bubble-bg:transparent;--chat-bubble-border:transparent;--chat-bubble-shadow:none;--chat-bubble-radius:0;--code-block-bg:var(--color-surface-soft);--code-block-border:var(--color-border);--code-block-text:var(--color-text);--math-bg:transparent;--math-accent:var(--ink-marker);--tool-pill-bg:transparent;--tool-pill-border:transparent;--tool-pill-text:var(--pencil);--user-bubble-bg:transparent;--user-bubble-text:var(--ink-learner);--user-bubble-radius:0}.logo[data-v-fc5eb8f9]{color:var(--color-wordmark,var(--color-heading));font-family:var(--font-display);letter-spacing:var(--tracking-tight);align-items:center;gap:.625rem;font-weight:600;line-height:1;display:inline-flex}.logo[data-size=sm][data-v-fc5eb8f9]{gap:.5rem;font-size:1rem}.logo[data-size=md][data-v-fc5eb8f9]{font-size:1.1875rem}.logo-mark[data-v-fc5eb8f9]{color:currentColor;flex-shrink:0}.logo[data-size=sm] .logo-mark[data-v-fc5eb8f9]{width:22px;height:22px}.logo[data-size=md] .logo-mark[data-v-fc5eb8f9]{width:28px;height:28px}.sb-row-menu[data-v-b2113d06]{flex-shrink:0;align-items:center;display:flex;position:relative}.sb-row-menu-trigger[data-v-b2113d06]{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--pencil);cursor:pointer;opacity:0;transition:opacity var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.sb-row-menu-trigger.is-open[data-v-b2113d06],.sb-row-menu-trigger[data-v-b2113d06]:focus-visible,.sb-row-menu-trigger[data-v-b2113d06]:hover{opacity:1;color:var(--ink-learner)}@media (prefers-reduced-motion:reduce){.sb-row-menu-trigger[data-v-b2113d06]{transition:none}}@media (hover:none){.sb-row-menu-trigger[data-v-b2113d06]{opacity:1}}.sb-row-menu-trigger[data-v-b2113d06]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:2px}.sb-row-menu-trigger[data-v-b2113d06]:disabled{cursor:not-allowed;opacity:.5}.sb-row-menu-popover[data-v-b2113d06]{z-index:40;background:var(--color-surface-raised);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);min-width:10rem;box-shadow:var(--shadow-lift);flex-direction:column;padding:.25rem 0;display:flex;position:absolute;top:calc(100% + .25rem);right:0}.sb-row-menu-item[data-v-b2113d06]{min-height:var(--line-pitch);font-family:var(--font-sans);color:var(--color-text);cursor:pointer;text-align:left;transition:background var(--motion-fast) ease;background:0 0;border:0;border-radius:0;align-items:center;gap:.5rem;padding:0 .75rem;font-size:.9375rem;display:inline-flex}.sb-menu-icon[data-v-b2113d06]{color:var(--pencil);flex-shrink:0}.sb-row-menu-item[data-v-b2113d06]:hover:not(:disabled){background:var(--color-surface-soft)}.sb-row-menu-item[data-v-b2113d06]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:-2px;border-radius:0}.sb-row-menu-item[data-v-b2113d06]:disabled{cursor:not-allowed;opacity:.5}.sb-row-menu-item--danger[data-v-b2113d06],.sb-row-menu-item--danger .sb-menu-icon[data-v-b2113d06]{color:var(--color-error-text)}.sb-row-menu-item--danger[data-v-b2113d06]:hover:not(:disabled){background:color-mix(in srgb, var(--ink-marker) 10%, transparent)}.sb-row[data-v-fbdc54b7]{border-radius:var(--radius-card);align-items:stretch;margin:0;padding:0;list-style:none;display:flex;position:relative}.sb-row[data-v-fbdc54b7]:hover,.sb-row[data-v-fbdc54b7]:focus-within{background:color-mix(in srgb, var(--card) 60%, transparent)}.sb-row--current[data-v-fbdc54b7]:not(.sb-row--collapsed){background:var(--card);border:1px solid var(--card-edge);box-shadow:0 1px 0 var(--card-drop)}.sb-row--current[data-v-fbdc54b7]:not(.sb-row--collapsed):hover,.sb-row--current[data-v-fbdc54b7]:not(.sb-row--collapsed):focus-within{background:var(--card)}.sb-row[data-v-fbdc54b7]:hover .sb-row-menu-trigger,.sb-row[data-v-fbdc54b7]:focus-within .sb-row-menu-trigger{opacity:1}.sb-row-button[data-v-fbdc54b7]{min-width:0;min-height:var(--line-pitch);text-align:left;cursor:pointer;color:var(--color-text);background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;padding:.25rem .25rem .25rem .75rem;font-family:inherit;display:flex}.sb-row-button[data-v-fbdc54b7]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:-2px;border-radius:0}.sb-row-topic[data-v-fbdc54b7]{min-width:0;line-height:var(--line-pitch);font-family:var(--font-sans);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9375rem;font-weight:400;overflow:hidden}.sb-row--ended .sb-row-topic[data-v-fbdc54b7]{color:var(--pencil)}.sb-row--current .sb-row-topic[data-v-fbdc54b7]{font-weight:700}.sb-row--collapsed[data-v-fbdc54b7]{justify-content:center}.sb-row--collapsed .sb-row-button[data-v-fbdc54b7]{justify-content:center;align-items:center;padding:0}.sb-row-mark[data-v-fbdc54b7]{background:var(--pencil);opacity:.6;border-radius:50%;width:8px;height:8px}.sb-row--ended .sb-row-mark[data-v-fbdc54b7]{background:var(--rule-strong);opacity:1}.sb-row--current .sb-row-mark[data-v-fbdc54b7]{background:var(--color-accent);opacity:1}.sb-row-rename-input[data-v-fbdc54b7]{border:0;border-bottom:1px solid var(--ink-learner);width:100%;color:var(--color-text);font-family:inherit;font-size:.9375rem;line-height:calc(var(--line-pitch) - 1px);background:0 0;border-radius:0;padding:0}.sb-row-rename-input[data-v-fbdc54b7]:focus-visible{border-bottom-width:2px;outline:none}.sb-row-pin[data-v-fbdc54b7]{vertical-align:middle;color:var(--pencil);flex-shrink:0;margin-right:.25rem}.sb-skel-list[data-v-8a321c32]{margin:0;padding:0;list-style:none}.sb-skel-row[data-v-8a321c32]{height:var(--line-pitch);align-items:center;padding:0 .75rem;display:flex}.sb-skel-line[data-v-8a321c32]{border-radius:var(--radius-card);background:var(--pencil);opacity:.19;width:70%;height:.5rem}.sb-skel-line--0[data-v-8a321c32]{width:55%}.sb-skel-line--2[data-v-8a321c32]{width:80%}.sidebar[data-v-7ecda64b]{background:var(--desk-deep);border-right:1px solid var(--card-edge);z-index:30;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar--expanded[data-v-7ecda64b],.sidebar--collapsed[data-v-7ecda64b]{width:100%}@keyframes sb-mode-fade-7ecda64b{0%{opacity:0}to{opacity:1}}.sidebar--expanded[data-v-7ecda64b]>*,.sidebar--collapsed[data-v-7ecda64b]>*{animation:sb-mode-fade-7ecda64b var(--motion-fast) ease}.sidebar--drawer[data-v-7ecda64b]{width:var(--sidebar-width-expanded,18rem);max-width:85vw;box-shadow:var(--shadow-lift);opacity:0;visibility:hidden;transition:opacity var(--motion-fast) ease, visibility 0s linear var(--motion-fast);position:fixed;top:0;left:0}.sidebar--drawer-open[data-v-7ecda64b]{opacity:1;visibility:visible;transition:opacity var(--motion-fast) ease}.sb-backdrop[data-v-7ecda64b]{z-index:29;background:color-mix(in srgb, var(--ink) 45%, transparent);animation:sb-mode-fade-7ecda64b var(--motion-fast) ease;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.sb-backdrop[data-v-7ecda64b],.sidebar--expanded[data-v-7ecda64b]>*,.sidebar--collapsed[data-v-7ecda64b]>*{animation:none}.sidebar--drawer[data-v-7ecda64b],.sidebar--drawer-open[data-v-7ecda64b]{transition:visibility}}.sb-header[data-v-7ecda64b]{align-items:center;gap:.5rem;min-height:3.25rem;padding:.75rem;display:flex}.sidebar--collapsed .sb-header[data-v-7ecda64b]{flex-direction:column;gap:.75rem;padding:.75rem 0}.sb-toggle--end[data-v-7ecda64b]{margin-left:auto}.sb-brand[data-v-7ecda64b]{color:var(--color-heading);text-decoration:none;display:inline-flex}.sb-toggle[data-v-7ecda64b]{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--pencil);cursor:pointer;transition:color var(--motion-fast) ease;background:0 0;border:0;justify-content:center;align-items:center;font-size:.875rem;display:inline-flex}.sb-toggle[data-v-7ecda64b]:hover{color:var(--ink-learner)}.sb-toggle[data-v-7ecda64b]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:2px}.sb-toggle--edge[data-v-7ecda64b]{border:1px solid var(--card-edge);background:var(--card);border-right:0;border-radius:6px 0 0 6px;width:22px;height:28px;position:absolute;top:.875rem;right:-1px}.sb-cta[data-v-7ecda64b]{padding:0 .75rem .25rem}.sidebar--collapsed .sb-cta[data-v-7ecda64b]{justify-content:center;padding:0 0 .25rem;display:flex}.sb-new-session[data-v-7ecda64b]{width:100%;min-height:var(--line-pitch);border-radius:var(--radius-sm);color:var(--ink-learner);font-family:var(--font-sans);cursor:pointer;transition:color var(--motion-fast) ease;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;font-size:.9375rem;font-weight:700;display:inline-flex}.sb-new-session[data-v-7ecda64b]:hover{color:var(--color-accent-hover);text-underline-offset:3px;text-decoration:underline}.sb-new-session[data-v-7ecda64b]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:2px}.sb-new-session--icon[data-v-7ecda64b]{justify-content:center;width:2.25rem;height:2.25rem;min-height:0}.sb-list-wrap[data-v-7ecda64b]{border-top:1px solid var(--rule-strong);flex:1;min-height:0;padding:0;overflow:hidden auto}.sb-section[data-v-7ecda64b]{margin:0}.sb-section-label[data-v-7ecda64b]{width:100%;line-height:var(--line-pitch);font-family:var(--font-sans);font-size:var(--fs-caption);letter-spacing:0;color:var(--color-text);background:0 0;border:0;align-items:center;gap:.375rem;margin:0;padding:0 .75rem;font-weight:700;display:flex}.sb-section-label .sb-inline-icon[data-v-7ecda64b]{color:var(--pencil)}.sb-inline-icon[data-v-7ecda64b],.sb-toggle-icon[data-v-7ecda64b]{flex-shrink:0}.sb-section-count[data-v-7ecda64b]{font-variant-numeric:tabular-nums;color:var(--pencil);font-weight:400}.sb-section-label .sb-section-count[data-v-7ecda64b]{margin-left:auto}.sb-session-list[data-v-7ecda64b]{flex-direction:column;margin:0;padding:.25rem 0;list-style:none;display:flex}.sb-session-list--collapsed[data-v-7ecda64b]{align-items:stretch}.sb-empty-hint[data-v-7ecda64b]{font-family:var(--font-sans);font-size:var(--fs-caption);color:var(--pencil);line-height:var(--line-pitch);margin:0;padding:0 .75rem}.sb-view-all[data-v-7ecda64b]{line-height:var(--line-pitch);font-family:var(--font-sans);font-size:var(--fs-caption);color:var(--ink-learner);padding:0 .75rem;font-weight:700;display:block}.sb-view-all[data-v-7ecda64b]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:-2px}.sb-rail[data-v-7ecda64b]{border-top:1px solid var(--rule-strong);flex-direction:column;align-items:stretch;padding:.25rem .75rem;display:flex}.sb-rail--column[data-v-7ecda64b]{align-items:center;padding:.5rem 0}.sb-icon[data-v-7ecda64b]{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--color-text);cursor:pointer;transition:color var(--motion-fast) ease;background:0 0;border:0;justify-content:center;align-items:center;font-size:1rem;text-decoration:none;display:inline-flex}.sb-icon.sb-icon--row[data-v-7ecda64b]{width:100%;height:var(--line-pitch);border-radius:0;justify-content:flex-start;gap:.625rem;padding:0}.sb-icon-btn[data-v-7ecda64b]{font:inherit;text-align:left;background:0 0;border:0}.sb-icon-label[data-v-7ecda64b]{font-family:var(--font-sans);font-size:.9375rem}.sb-icon[data-v-7ecda64b]:hover{color:var(--ink-learner)}.sb-icon[data-v-7ecda64b]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:2px}.sb-search[data-v-7ecda64b]{border-bottom:1px solid var(--rule-strong);color:var(--pencil);align-items:center;gap:.5rem;margin:0 .75rem .25rem;padding:0;display:flex}.sb-search[data-v-7ecda64b]:focus-within{border-bottom-color:var(--ink-learner)}.sb-search-input[data-v-7ecda64b]{min-width:0;color:var(--color-text);font-family:inherit;font-size:.9375rem;line-height:calc(var(--line-pitch) - 1px);background:0 0;border:0;outline:none;flex:1}.sb-search-input[data-v-7ecda64b]::placeholder{color:var(--pencil)}.sb-search-count[data-v-7ecda64b]{line-height:var(--line-pitch);color:var(--pencil);padding:0 .75rem}.sb-status-toggle[data-v-7ecda64b]{gap:1rem;margin:0 .75rem .25rem;display:flex}.sb-status-btn[data-v-7ecda64b]{color:var(--ink-learner);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:700;line-height:calc(var(--line-pitch) - 4px);cursor:pointer;transition:color var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:.25rem;padding:0;display:inline-flex}.sb-status-btn[data-v-7ecda64b]:hover{color:var(--color-accent-hover)}.sb-status-btn[data-v-7ecda64b]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:2px;border-radius:0}.sb-status-btn.active[data-v-7ecda64b]{color:var(--color-text);border-bottom-color:var(--ink)}.sb-review[data-v-7ecda64b]{min-height:var(--line-pitch);color:var(--ink-learner);font-family:var(--font-sans);align-items:center;gap:.5rem;margin:0 .75rem;padding:0;font-size:.9375rem;font-weight:700;text-decoration:none;display:flex}.sb-review[data-v-7ecda64b]:hover{color:var(--color-accent-hover);text-underline-offset:3px;text-decoration:underline}.sb-review[data-v-7ecda64b]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:2px}.sb-review-count[data-v-7ecda64b]{font-size:var(--fs-label);color:var(--pencil);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:400}.sb-strip[data-v-6cba0552]{z-index:25;height:var(--sidebar-mobile-strip-height,3rem);background:var(--desk-deep);border-bottom:1px solid var(--card-edge);align-items:center;gap:.5rem;padding:0 .5rem;display:flex;position:sticky;top:0}.sb-strip-brand[data-v-6cba0552]{color:var(--color-heading);margin-right:auto;padding:0 .25rem;text-decoration:none;display:inline-flex}.sb-strip-actions[data-v-6cba0552]{align-items:center;gap:.25rem;display:inline-flex}.sb-strip-btn[data-v-6cba0552]{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--color-text);cursor:pointer;transition:color var(--motion-fast) ease;background:0 0;border:0;justify-content:center;align-items:center;font-size:1rem;text-decoration:none;display:inline-flex}.sb-strip-btn[data-v-6cba0552]:hover{color:var(--ink-learner)}.sb-strip-btn[data-v-6cba0552]:focus-visible{outline:2px solid var(--ink-learner);outline-offset:2px}.route-progress[data-v-53d1b771]{z-index:1000;pointer-events:none;height:2px;animation:route-progress-in-53d1b771 var(--motion-fast) linear;position:fixed;top:0;left:0;right:0}.route-progress-bar[data-v-53d1b771]{background:var(--color-accent);transform-origin:0;width:100%;height:100%;transition:transform 8s cubic-bezier(.1,.6,.2,1)}.route-progress-bar.done[data-v-53d1b771]{transition:transform .15s ease, opacity var(--motion-fast) linear;opacity:0}@keyframes route-progress-in-53d1b771{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.route-progress[data-v-53d1b771]{animation:none}.route-progress-bar[data-v-53d1b771],.route-progress-bar.done[data-v-53d1b771]{opacity:1;transition:none}}.shell{grid-template-columns:var(--shell-sidebar-col,auto) 1fr;align-items:stretch;min-height:100vh;display:grid}.shell--sb-expanded{--shell-sidebar-col:var(--sidebar-width-expanded,18rem)}.shell--sb-collapsed{--shell-sidebar-col:var(--sidebar-width-collapsed,3rem)}.shell-main{flex-direction:column;min-width:0;min-height:100vh;display:flex}.page{z-index:1;flex:1;position:relative}.page-inner{max-width:72rem;margin:0 auto;padding:clamp(2rem,6vw,4.5rem) clamp(1rem,4vw,2.5rem) 4rem}.page-inner-sheet{max-width:none;padding-left:0;padding-right:0}.fade-enter-active{transition:opacity .16s}.fade-enter-from{opacity:0}@media (prefers-reduced-motion:reduce){.fade-enter-active{transition:none}}
