@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2) format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-opsz-normal-DIwfbPUE.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-opsz-normal-C0olyEE-.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-opsz-normal-DrHU7SY7.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-opsz-normal-DX68cEVD.woff2) format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-opsz-normal-HoL-AExg.woff2) format("woff2-variations");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-opsz-normal-BpEBLj1O.woff2) format("woff2-variations");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff")}:root{--sb-bg: #fbf9f4;--sb-surface: #ffffff;--sb-surface-2: #f5f1e8;--sb-fg: #1b2230;--sb-muted: #5c6475;--sb-border: #eae4d8;--sb-border-strong: #a39a86;--sb-link: #2f4fc2;--sb-accent: #f2a73b;--sb-accent-fg: #1b2230;--sb-primary: #1b2230;--sb-primary-fg: #fbf9f4;--sb-primary-hover: #2c3547;--sb-ink: #1b2230;--sb-ink-fg: #f3eee3;--sb-ink-muted: #b9bfcc;--sb-ink-line: #2f3849;--sb-ink-hover: #262f40;--sb-ok: #2b7a4b;--sb-ok-bg: #e4f1e9;--sb-ok-fg: #1e5a37;--sb-warn: #b7791f;--sb-warn-bg: #fbf0da;--sb-warn-fg: #7a4f0e;--sb-danger: #c2410c;--sb-danger-bg: #fbe9e0;--sb-danger-fg: #983208;--sb-info: #2f4fc2;--sb-info-bg: #e8edfb;--sb-info-fg: #26409f;--sb-focus: #2f4fc2;--sb-focus-ink: #f2a73b;--sb-font-sans: "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--sb-font-display: "Fraunces Variable", "Source Serif 4 Variable", Georgia, serif;--sb-font-serif: "Source Serif 4 Variable", Georgia, "Times New Roman", serif;--sb-font-mono: "JetBrains Mono", ui-monospace, monospace;--sb-space-1: 4px;--sb-space-2: 8px;--sb-space-3: 12px;--sb-space-4: 16px;--sb-space-5: 24px;--sb-space-6: 32px;--sb-space-7: 48px;--sb-gap: var(--sb-space-5);--sb-fs-xs: 13px;--sb-fs-sm: 15px;--sb-fs-md: 16px;--sb-fs-lg: 20px;--sb-fs-xl: 28px;--sb-fs-xxl: 38px;--sb-radius-sm: 6px;--sb-radius: 10px;--sb-radius-card: 14px;--sb-row: 46px;--sb-shadow-1: 0 1px 2px rgb(27 34 48 / 6%);--sb-shadow-2: 0 12px 32px rgb(27 34 48 / 16%);--sb-z-sticky: 5;--sb-z-shell: 10;--sb-z-overlay: 1000;--sb-z-toast: 1100;--sb-motion: .16s;--sb-measure: 68ch;--sb-read-measure: 680px;--sb-read-size: 18px;--sb-read-leading: 1.65;color-scheme:light}:root[data-theme=dark]{--sb-bg: #14171f;--sb-surface: #1c212c;--sb-surface-2: #232938;--sb-fg: #ece8de;--sb-muted: #a4abba;--sb-border: #2c3342;--sb-border-strong: #6b7488;--sb-link: #8fa6f5;--sb-accent: #f2a73b;--sb-accent-fg: #1b2230;--sb-primary: #ece8de;--sb-primary-fg: #1b2230;--sb-primary-hover: #ffffff;--sb-ink: #0e1117;--sb-ink-fg: #ece8de;--sb-ink-muted: #a4abba;--sb-ink-line: #232938;--sb-ink-hover: #1a1f2b;--sb-ok: #6fd39a;--sb-ok-bg: #16352a;--sb-ok-fg: #a9efc3;--sb-warn: #f2c06b;--sb-warn-bg: #3a2c10;--sb-warn-fg: #f6d596;--sb-danger: #f58a5f;--sb-danger-bg: #43231a;--sb-danger-fg: #ffb899;--sb-info: #8fa6f5;--sb-info-bg: #1f2a52;--sb-info-fg: #c4d2ff;--sb-focus: #8fa6f5;--sb-focus-ink: #f2a73b;--sb-shadow-1: 0 1px 2px rgb(0 0 0 / 40%);--sb-shadow-2: 0 12px 32px rgb(0 0 0 / 55%);color-scheme:dark}*{box-sizing:border-box}html{font-size:16px}html,body{margin:0;background:var(--sb-bg);color:var(--sb-fg);font-family:var(--sb-font-sans);font-size:var(--sb-fs-sm);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--sb-link);text-underline-offset:3px}:focus-visible{outline:2px solid var(--sb-focus);outline-offset:2px}.p-button:focus-visible,.p-inputtext:focus-visible,.p-select:focus-within,.p-multiselect:focus-within{outline:2px solid var(--sb-focus);outline-offset:2px}.mono{font-family:var(--sb-font-mono);font-size:.9em}.keep-lines{white-space:pre-wrap;overflow-wrap:anywhere}.muted{color:var(--sb-muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.stack{display:flex;flex-direction:column;gap:var(--sb-gap)}.row{display:flex;align-items:center;gap:var(--sb-space-3);flex-wrap:wrap}.row-end{margin-left:auto}h1,h2,h3,.page-title{font-family:var(--sb-font-display);font-optical-sizing:auto;font-weight:500;letter-spacing:-.01em;color:var(--sb-fg)}.page-title{margin:0 0 var(--sb-space-2);font-size:var(--sb-fs-xxl);line-height:1.15}h2{font-size:var(--sb-fs-xl);line-height:1.2;margin:var(--sb-space-5) 0 var(--sb-space-2)}h3{font-size:var(--sb-fs-lg);line-height:1.3}p,.hint,ul.prose{max-width:var(--sb-measure)}.hint{color:var(--sb-muted);font-size:var(--sb-fs-xs)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:8px;top:8px;background:var(--sb-surface);padding:var(--sb-space-2);z-index:var(--sb-z-overlay)}.state{border:1px dashed var(--sb-border-strong);border-radius:var(--sb-radius-card);padding:var(--sb-space-6);background:var(--sb-surface)}.state-error{border-style:solid;border-color:var(--sb-danger)}.state-denied{border-style:solid;border-color:var(--sb-border)}.state h2{margin:0 0 var(--sb-space-2);font-size:var(--sb-fs-lg)}.state p{margin:0 0 var(--sb-space-3)}.centered{max-width:460px;margin:12vh auto;padding:0 var(--sb-space-4)}.chip{display:inline-flex;align-items:center;gap:var(--sb-space-1);padding:2px 10px;border:1px solid var(--sb-border);border-radius:999px;font-size:var(--sb-fs-xs);margin:2px 4px 2px 0;color:var(--sb-fg);background:var(--sb-surface);text-decoration:none}a.chip:hover{border-color:var(--sb-link)}.status-chip{border-color:transparent;font-weight:500}.queued{display:inline-flex;align-items:center;gap:var(--sb-space-2)}.queued-bell{color:var(--sb-muted)}.file-native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0}.file-name{overflow-wrap:anywhere}.course-facts,.course-translations{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sb-space-2) var(--sb-space-4);margin:0}.preview-notice{border:1px solid var(--sb-border);border-radius:var(--sb-radius);padding:var(--sb-space-2) var(--sb-space-3);background:var(--sb-surface-2)}.status-ok{background:var(--sb-ok-bg);color:var(--sb-ok-fg)}.status-warn{background:var(--sb-warn-bg);color:var(--sb-warn-fg)}.status-danger{background:var(--sb-danger-bg);color:var(--sb-danger-fg)}.status-info{background:var(--sb-info-bg);color:var(--sb-info-fg)}.status-neutral{background:var(--sb-surface-2);color:var(--sb-fg);border-color:var(--sb-border)}.danger-text{color:var(--sb-danger)}.shell{background:linear-gradient(to right,var(--sb-ink) 264px,var(--sb-bg) 264px);display:grid;grid-template-columns:264px minmax(0,1fr);grid-template-rows:auto 1fr auto;min-height:100vh}.shell-side{grid-column:1;grid-row:1 / 4;position:sticky;top:0;height:100vh;overflow-y:auto;padding:var(--sb-space-5) var(--sb-space-4);background:var(--sb-ink);color:var(--sb-ink-fg)}.shell-side :focus-visible{outline-color:var(--sb-focus-ink)}.shell-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.brand{display:block;font-family:var(--sb-font-display);font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--sb-ink-fg);text-decoration:none;margin:0 var(--sb-space-3) var(--sb-space-5)}.shell-top{grid-column:2;grid-row:1;display:flex;align-items:center;gap:var(--sb-space-2);padding:var(--sb-space-3) var(--sb-space-7);background:var(--sb-bg);position:sticky;top:0;z-index:var(--sb-z-shell)}.shell-main{grid-column:2;grid-row:2;padding:var(--sb-space-5) var(--sb-space-7) var(--sb-space-7);min-width:0}:where(.shell-main>*){max-width:1040px}.shell-foot{grid-column:2;grid-row:3;display:flex;align-items:center;gap:var(--sb-space-3);padding:var(--sb-space-3) var(--sb-space-7);border-top:1px solid var(--sb-border);color:var(--sb-muted);font-size:var(--sb-fs-xs)}.nav-link{position:relative;display:flex;align-items:center;gap:var(--sb-space-3);min-height:42px;padding:8px var(--sb-space-3);border-radius:var(--sb-radius);color:var(--sb-ink-fg);text-decoration:none;font-weight:500;transition:background var(--sb-motion)}.nav-link:hover,.nav-stage:hover{background:var(--sb-ink-hover)}.nav-link[aria-current=page]{background:var(--sb-ink-hover);font-weight:600}.nav-link[aria-current=page] svg{color:var(--sb-accent)}.nav-link[aria-current=page]:before{content:"";position:absolute;left:-16px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--sb-accent)}.nav-heading{font-size:var(--sb-fs-xs);font-weight:600;color:var(--sb-ink-muted);margin:var(--sb-space-6) var(--sb-space-3) var(--sb-space-2)}.nav-course-title{font-weight:600;margin:0 var(--sb-space-3) var(--sb-space-1);overflow-wrap:anywhere}.nav-stage{display:flex;align-items:center;gap:var(--sb-space-2);min-height:36px;padding:6px var(--sb-space-3) 6px var(--sb-space-5);border-radius:var(--sb-radius);text-decoration:none;color:var(--sb-ink-muted);font-size:var(--sb-fs-sm)}.nav-stage[aria-current=page]{color:var(--sb-ink-fg);font-weight:600}.bell-panel{width:min(360px,90vw)}.bell-panel ul{list-style:none;padding:0;margin:0 0 var(--sb-space-3);display:flex;flex-direction:column;gap:var(--sb-space-2)}.bell-item{border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);padding:var(--sb-space-3) var(--sb-space-4);background:var(--sb-surface)}.bell-count{position:absolute;top:-4px;right:-4px;pointer-events:none;background:var(--sb-accent);color:var(--sb-accent-fg);border-radius:999px;padding:0 6px;font-size:var(--sb-fs-xs);font-weight:600}.perm-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sb-space-3);max-height:40vh;overflow:auto}.perm-group{border:1px solid var(--sb-border);border-radius:var(--sb-radius);padding:var(--sb-space-2) var(--sb-space-3)}.perm-group legend{font-weight:600;padding:0 var(--sb-space-1)}.perm-check{display:flex;gap:var(--sb-space-2);align-items:center;min-height:32px}.confirm-bar{background:var(--sb-warn-bg);color:var(--sb-warn-fg);padding:var(--sb-space-2) var(--sb-space-3);border-radius:var(--sb-radius)}.invite-list{width:100%;max-width:720px}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sb-space-3)}.plain-list.row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--sb-space-2)}.tab-link{padding:4px 10px;border-radius:var(--sb-radius);text-decoration:none;border:1px solid var(--sb-border);color:var(--sb-fg)}.save-line{display:flex;align-items:center;gap:var(--sb-space-3);flex-wrap:wrap;min-height:24px;margin:0 0 var(--sb-space-3);color:var(--sb-muted);font-size:var(--sb-fs-xs)}.module-card{border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);background:var(--sb-surface);padding:var(--sb-space-4);gap:var(--sb-space-3)}.module-head{flex-wrap:nowrap}.title-input{flex:1 1 200px;min-width:0;font-weight:600}.module-title{font-family:var(--sb-font-display);font-size:var(--sb-fs-lg)}.topic-block{border-top:1px solid var(--sb-border);padding:var(--sb-space-2) 0}.topic-row{flex-wrap:nowrap}.topic-blocks{padding:var(--sb-space-3) 0 var(--sb-space-2) var(--sb-space-6);display:flex;flex-direction:column;gap:var(--sb-space-3)}.objectives{margin:0;padding-left:var(--sb-space-5);color:var(--sb-muted)}.next-card,.generate-box{margin-top:var(--sb-gap)}.build-form{margin-top:var(--sb-space-4)}.held-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sb-gap);padding:var(--sb-space-4) var(--sb-space-5);border-radius:var(--sb-radius-card);background:var(--sb-surface);border:1px solid var(--sb-border);border-left:4px solid var(--sb-warn)}.held-row a{color:var(--sb-link)}.passage{margin:0;padding-left:var(--sb-space-3);border-left:3px solid var(--sb-border);font-family:var(--sb-font-serif)}textarea{font:inherit;color:var(--sb-fg);background:var(--sb-surface);border:1px solid var(--sb-border-strong);border-radius:var(--sb-radius);padding:var(--sb-space-3)}fieldset.field{border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);background:var(--sb-surface);padding:var(--sb-space-4);margin:0}fieldset.field legend{font-weight:500;padding:0 var(--sb-space-1)}.crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:var(--sb-space-2);padding:0;margin:0 0 var(--sb-space-3);font-size:var(--sb-fs-xs)}.crumbs li+li:before{content:"/";margin-right:var(--sb-space-2);color:var(--sb-muted)}.page-head{margin-bottom:var(--sb-space-5)}.page-head .page-title{margin-bottom:var(--sb-space-1)}.page-head>.muted{margin:0;font-size:var(--sb-fs-md)}.guarded{display:inline-flex;align-items:center;gap:var(--sb-space-2);flex-wrap:wrap;position:relative}.stage-strip{list-style:none;display:flex;padding:0;margin:var(--sb-space-2) 0 var(--sb-space-4);max-width:none}.stage-strip>li{position:relative;flex:1 1 0;min-width:0}.stage-strip>li:before{content:"";position:absolute;top:7px;left:0;right:0;height:2px;background:var(--sb-border)}.stage-strip>li.is-done:before{background:var(--sb-accent)}.stage{position:relative;display:flex;flex-direction:column;gap:2px;padding:24px var(--sb-space-3) var(--sb-space-2) 0;text-decoration:none;color:var(--sb-fg)}.stage:before{content:"";position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;background:var(--sb-bg);border:2px solid var(--sb-border-strong)}.stage-done:before{background:var(--sb-accent);border-color:var(--sb-accent)}.stage-needs:before{border-color:var(--sb-accent);border-width:4px}.stage-current:before{box-shadow:0 0 0 4px #f2a73b4d}.stage-current strong{text-decoration:underline;text-decoration-color:var(--sb-accent);text-decoration-thickness:3px;text-underline-offset:5px}.stage-blocked,.stage-later{color:var(--sb-muted)}.next-action{display:flex;gap:var(--sb-space-3);align-items:baseline;border-left:4px solid var(--sb-accent);padding:var(--sb-space-2) var(--sb-space-4);margin-bottom:var(--sb-gap);background:var(--sb-surface-2);border-radius:0 var(--sb-radius) var(--sb-radius) 0}.count{color:var(--sb-muted);font-size:var(--sb-fs-xs)}.stack>h2{margin:var(--sb-space-2) 0 0}.stack>h2+[data-testid=section-help]{margin:calc(4px - var(--sb-gap)) 0 0}.field{display:flex;flex-direction:column;gap:6px}.field{position:relative}.field-slot{padding-bottom:22px}.field-slot>.field-error{position:absolute;left:0;bottom:0}.field-label{display:flex;align-items:baseline;gap:var(--sb-space-2);font-weight:500}.field-required{font-weight:400;font-size:var(--sb-fs-xs);color:var(--sb-muted)}.field-error{display:flex;align-items:center;gap:var(--sb-space-1);color:var(--sb-danger);font-size:var(--sb-fs-xs)}.field-invalid .p-inputtext,.field-invalid textarea{border-color:var(--sb-danger)}.p-button{min-height:42px;font-weight:500;transition:background var(--sb-motion),box-shadow var(--sb-motion)}.p-button.p-button-sm{min-height:36px}.p-button.p-button-icon-only{min-width:42px}.p-button.p-button-icon-only.p-button-sm{min-width:36px}.p-button.p-button-danger.p-button-outlined{color:var(--sb-danger);border-color:var(--sb-danger)}.p-button.btn-accent{background:var(--sb-accent);border-color:var(--sb-accent);color:var(--sb-accent-fg);font-weight:600}.p-button.btn-accent:not(:disabled):hover{background:#f5b95e;border-color:#f5b95e;color:var(--sb-accent-fg)}.p-inputtext,.p-select,.p-multiselect{min-height:42px}.p-select-label,.p-multiselect-label{display:flex;flex-wrap:wrap;gap:var(--sb-space-1)}.app-table{max-height:calc(100vh - 260px);overflow:auto;border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);background:var(--sb-surface)}.app-table table{table-layout:fixed;width:100%;font-variant-numeric:tabular-nums;border-collapse:collapse}.app-table th,.app-table td{font-variant-numeric:tabular-nums;padding:0 var(--sb-space-4);height:var(--sb-row);overflow-wrap:anywhere;border-bottom:1px solid var(--sb-border);text-align:left}.app-table tbody tr:last-child td{border-bottom:0}.app-table thead th{position:sticky;top:0;z-index:var(--sb-z-sticky);background:var(--sb-surface);color:var(--sb-muted);font-weight:600;font-size:var(--sb-fs-xs)}.app-table tbody tr:hover{background:var(--sb-surface-2)}.app-table .p-datatable-table-container{overflow:visible}.col-actions{width:120px}.skeleton-line{height:14px;border-radius:var(--sb-radius-sm);background:var(--sb-border);margin-bottom:var(--sb-space-2);animation:sb-pulse 1.2s ease-in-out infinite}@keyframes sb-pulse{50%{opacity:.5}}.p-toast{z-index:var(--sb-z-toast)}.toast-body{display:flex;flex-direction:column;gap:var(--sb-space-2)}.skeleton-w60{width:60%}.skeleton-w80{width:80%}.dlg-sm{width:min(460px,92vw)}.dlg-md{width:min(560px,94vw)}.dlg-lg{width:min(720px,95vw)}.drawer-md{width:min(480px,96vw)}.drawer-logs{width:min(66vw,1400px)}.logs-wide{max-width:66vw}.search-field{display:flex;align-items:center;gap:var(--sb-space-2);max-width:360px}.row-menu-item{display:flex;align-items:flex-start;gap:var(--sb-space-2);padding:var(--sb-space-2) var(--sb-space-3);min-height:40px;text-decoration:none;color:var(--sb-fg);cursor:pointer}.row-menu-danger{color:var(--sb-danger)}.row-menu-text{display:flex;flex-direction:column}.row-menu-reason{color:var(--sb-muted)}kbd{border:1px solid var(--sb-border);border-radius:var(--sb-radius-sm);padding:1px 6px;background:var(--sb-surface-2)}.course-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:var(--sb-space-4);min-height:72px;padding:var(--sb-space-3) var(--sb-space-5)}.course-row-title{font-family:var(--sb-font-display);font-size:var(--sb-fs-lg);font-weight:500;color:var(--sb-fg);text-decoration:none;overflow-wrap:anywhere}.course-row-title:hover{text-decoration:underline;text-decoration-color:var(--sb-accent);text-decoration-thickness:3px}.course-row-next{margin:0;display:flex;align-items:center;gap:var(--sb-space-3);flex-wrap:wrap}.course-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sb-space-2);margin-top:2px}.link-button{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--sb-space-4);border-radius:var(--sb-radius);background:var(--sb-primary);color:var(--sb-primary-fg);text-decoration:none;font-weight:500}.link-button:hover{background:var(--sb-primary-hover)}.fix-squares{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--sb-space-2)}.fix-square{display:block;width:26px;height:26px;border-radius:6px;background:var(--sb-ok-bg);border:1px solid var(--sb-ok)}.fix-square-held{background:var(--sb-warn-bg);border-color:var(--sb-warn)}.fix-square-draft{background:var(--sb-surface-2);border-color:var(--sb-border-strong);border-style:dashed}.fix-legend{display:flex;flex-wrap:wrap;gap:var(--sb-space-4)}.fix-legend span:before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px;border-radius:4px;border:1px solid var(--sb-ok);background:var(--sb-ok-bg)}.fix-legend span:nth-child(2):before{border-color:var(--sb-warn);background:var(--sb-warn-bg)}.fix-legend span:nth-child(3):before{border-color:var(--sb-border-strong);border-style:dashed;background:var(--sb-surface-2)}.here-card-text{flex:1 1 280px;gap:var(--sb-space-2)}.flush{margin:0}.module-purpose{padding:var(--sb-space-2) var(--sb-space-4) 0}.source-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sb-space-3)}.source-used{margin:0}.learn-layout{display:grid;grid-template-columns:220px minmax(0,var(--sb-read-measure)) minmax(240px,320px);gap:var(--sb-space-6);align-items:start;max-width:none}.learn-main{max-width:var(--sb-read-measure)}.learn-rail{position:sticky;top:var(--sb-space-7)}.learn-rail ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--sb-border)}.learn-rail a{display:flex;align-items:center;gap:var(--sb-space-2);padding:6px var(--sb-space-3);margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--sb-muted);font-size:var(--sb-fs-sm)}.learn-rail a:hover{color:var(--sb-fg)}.learn-rail a[data-done=true]{color:var(--sb-fg);border-left-color:var(--sb-accent)}.learn-rail svg{flex:none;color:var(--sb-ok)}.learn-rail .tick-open{color:var(--sb-border-strong)}.learn-rail .tick-held,.syllabus-row .tick-held{color:var(--sb-warn)}.learn-side{position:sticky;top:var(--sb-space-6);max-height:calc(100vh - 48px);overflow:auto}.companion{border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);padding:var(--sb-space-4);background:var(--sb-surface);gap:var(--sb-space-3)}.companion h2{margin:0;font-size:var(--sb-fs-lg)}.passage-text{margin:0;padding-left:var(--sb-space-3);border-left:3px solid var(--sb-accent);font-family:var(--sb-font-serif);font-size:16px;line-height:1.6}.answer-set{border:0;padding:0;margin:0}.answer-set legend{font-weight:600;padding:0;margin-bottom:var(--sb-space-3);font-family:var(--sb-font-serif);font-size:var(--sb-read-size)}.answer-option{display:flex;align-items:flex-start;gap:var(--sb-space-3);min-height:44px;padding:var(--sb-space-2) var(--sb-space-3);border:1px solid var(--sb-border);border-radius:var(--sb-radius);background:var(--sb-surface);flex-wrap:nowrap}.answer-option>span{flex:1 1 auto;min-width:0}.answer-option:has(input:checked){border-color:var(--sb-fg)}.answer-option input{margin-top:4px;accent-color:var(--sb-primary)}.cite-chip{cursor:pointer;font:inherit;background:var(--sb-surface);color:var(--sb-link);border:1px solid var(--sb-border);border-radius:999px;display:inline-flex;gap:var(--sb-space-2);align-items:center;padding:var(--sb-space-1) var(--sb-space-3);min-height:32px;text-align:left}.cite-chip[aria-expanded=true]{border-color:var(--sb-link)}.cite-chip{font-size:var(--sb-fs-sm)}.cite-chip .cite-title{max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cite-chip .mono{flex:none}.cloze-line{line-height:2.4;font-family:var(--sb-font-serif);font-size:var(--sb-read-size)}.cloze-input{width:10ch;margin:0 var(--sb-space-1)}.disclosure{display:inline-flex;align-items:center;justify-content:center;gap:var(--sb-space-2);background:none;border:0;font:inherit;font-weight:600;color:var(--sb-fg);cursor:pointer;min-width:var(--sb-space-6);min-height:32px;padding:0}.tutor-head{margin:0;font-size:var(--sb-fs-lg)}.grow{flex:1 1 12ch}.spot-facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--sb-space-1) var(--sb-space-3);margin:0}.spot-facts dt{font-weight:600}.spot-facts dd{margin:0}.reading,.reading p,.reading li{font-family:var(--sb-font-serif);font-size:var(--sb-read-size);line-height:var(--sb-read-leading);max-width:var(--sb-read-measure)}.reading p,.reading ul,.reading ol,.reading pre,.reading table,.reading blockquote{margin:0}.reading ul,.reading ol{padding-left:1.4em}.reading li+li{margin-top:var(--sb-space-1)}.reading h1,.reading h2,.reading h3,.reading h4{margin:var(--sb-space-2) 0 0;font-family:var(--sb-font-sans);font-size:var(--sb-fs-md);font-weight:600}.reading table{border-collapse:collapse;width:100%;font-family:var(--sb-font-sans);font-size:var(--sb-fs-sm);line-height:1.4}.reading th,.reading td{border:1px solid var(--sb-border);padding:var(--sb-space-1) var(--sb-space-2);text-align:left;vertical-align:top}.reading th{background:var(--sb-surface);font-weight:600}.reading pre{padding:var(--sb-space-3);background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);overflow:auto;font-size:var(--sb-fs-sm);line-height:1.5}.reading code{font-family:var(--sb-font-mono);font-size:.9em}.reading blockquote{padding-left:var(--sb-space-3);border-left:3px solid var(--sb-border-strong);color:var(--sb-muted)}.cite-mark{font:inherit;font-family:var(--sb-font-sans);font-size:.7em;line-height:1;vertical-align:super;padding:1px 2px;margin:0 1px;border:0;border-radius:var(--sb-radius-sm);background:none;color:var(--sb-link);cursor:pointer}.cite-mark:before{content:"["}.cite-mark:after{content:"]"}.cite-mark:hover,.cite-mark[aria-expanded=true]{background:var(--sb-surface);outline:1px solid var(--sb-link)}span.cite-mark{cursor:default;color:var(--sb-muted)}.term-mark{font:inherit;padding:0;border:0;background:none;color:inherit;cursor:pointer;text-decoration:underline dotted var(--sb-accent);text-decoration-thickness:1.5px;text-underline-offset:3px}.term-mark:hover,.term-mark[aria-expanded=true]{background:var(--sb-surface);text-decoration-style:solid}.sources-list{counter-reset:none}.source-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--sb-space-3);padding:var(--sb-space-3) 0;border-bottom:1px solid var(--sb-border)}.source-row:last-child{border-bottom:0}.source-number{color:var(--sb-muted);font-size:var(--sb-fs-sm);padding-top:2px}.source-number:before{content:"["}.source-number:after{content:"]"}.source-body{gap:var(--sb-space-1)}.source-address{font-size:var(--sb-fs-xs);overflow-wrap:anywhere}.glossary{margin:0;max-width:var(--sb-read-measure)}.glossary dt{font-weight:600;margin-top:var(--sb-space-4)}.glossary dd{margin:var(--sb-space-1) 0 0}.glossary .reading-line{margin:0;font-family:var(--sb-font-serif);font-size:var(--sb-read-size);line-height:var(--sb-read-leading)}.glossary .hint{margin:var(--sb-space-1) 0 0}.reference-page{max-width:var(--sb-read-measure)}.learn-block-reading{padding:0}.learn-block{gap:var(--sb-space-4)}.learn-block-head{margin:0;font-size:var(--sb-fs-xs);color:var(--sb-muted)}.learn-card{background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);padding:var(--sb-space-5)}.learn-card-definition,.learn-card-example{border-left:4px solid var(--sb-accent)}.attempt-dots{display:inline-flex;gap:6px;align-items:center}.attempt-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--sb-border-strong)}.attempt-dot-used{background:var(--sb-warn);border-color:var(--sb-warn)}.answer-ok{border-left:4px solid var(--sb-ok)}.answer-no{border-left:4px solid var(--sb-warn)}.answer-result{padding:var(--sb-space-3) var(--sb-space-4);background:var(--sb-surface-2);border-radius:var(--sb-radius)}.hero{padding:var(--sb-space-5) 0 var(--sb-space-4)}.hero .page-title{font-size:46px;max-width:18ch}.hero-for{font-size:var(--sb-fs-lg);font-family:var(--sb-font-serif);color:var(--sb-muted);max-width:40ch;margin:0}.hero-outcomes{margin:var(--sb-space-4) 0 0;padding-left:var(--sb-space-5);font-family:var(--sb-font-serif);font-size:17px}.here-card{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sb-space-4);padding:var(--sb-space-5);background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-card)}.here-card h2{margin:0;font-size:var(--sb-fs-xl)}.progress-line{height:6px;border-radius:3px;background:var(--sb-border);overflow:hidden;width:100%}.progress-line>span{display:block;height:100%;background:var(--sb-accent)}.syllabus{gap:var(--sb-space-2)}.syllabus-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:var(--sb-space-3);min-height:var(--sb-row);padding:var(--sb-space-2) var(--sb-space-4);border-bottom:1px solid var(--sb-border)}.syllabus-row:last-child{border-bottom:0}.syllabus-card{border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);background:var(--sb-surface);overflow:hidden}.syllabus-card>h3{margin:0;padding:var(--sb-space-3) var(--sb-space-4);border-bottom:1px solid var(--sb-border);font-size:var(--sb-fs-lg)}.sources-of-course{display:flex;flex-wrap:wrap;gap:var(--sb-space-2);list-style:none;padding:0;margin:0}.diagram{margin:0;max-width:var(--sb-read-measure)}.diagram-canvas svg{max-width:100%;height:auto}.flashcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sb-space-3)}.flashcard{border:1px solid var(--sb-border);border-radius:var(--sb-radius-card);background:var(--sb-surface);padding:var(--sb-space-3);display:flex;flex-direction:column;gap:var(--sb-space-2)}.flashcard-face{font:inherit;text-align:left;border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:var(--sb-space-1);color:inherit}.flashcard-term{font-family:var(--sb-font-display);font-size:var(--sb-fs-lg)}.flashcard-back{margin:0}.done-card{padding:var(--sb-space-5);background:var(--sb-surface);border:1px solid var(--sb-border);border-left:4px solid var(--sb-ok);border-radius:var(--sb-radius-card)}.next-lesson{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sb-space-4);padding:var(--sb-space-5);background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-card)}.next-lesson a{font-family:var(--sb-font-display);font-size:var(--sb-fs-lg)}.mobile-bar{display:none}@media(max-width:1559px){.learn-layout{grid-template-columns:minmax(0,var(--sb-read-measure)) minmax(216px,1fr);gap:var(--sb-space-5)}.learn-rail{grid-column:1 / -1;position:static}.learn-rail ol{flex-direction:row;flex-wrap:wrap;border-left:0;gap:var(--sb-space-2)}.learn-rail a{margin-left:0;border:1px solid var(--sb-border);border-radius:999px;padding:4px var(--sb-space-3);background:var(--sb-surface)}.learn-rail a[data-done=true]{border-color:var(--sb-accent)}}@media(max-width:1099px){.shell{grid-template-columns:224px minmax(0,1fr);background:linear-gradient(to right,var(--sb-ink) 224px,var(--sb-bg) 224px)}.shell-top,.shell-foot,.shell-main{padding-inline:var(--sb-space-5)}.learn-layout{grid-template-columns:minmax(0,1fr)}.learn-side{position:static;max-height:none}}@media(max-width:900px){.held-row{grid-template-columns:1fr}.topic-row,.module-head{flex-wrap:wrap}.topic-row .row-end,.module-head .row-end{margin-left:0}.topic-blocks{padding-left:var(--sb-space-3)}.course-row{grid-template-columns:minmax(0,1fr)}.stage-strip{flex-wrap:wrap;row-gap:var(--sb-space-3)}.stage-strip>li{flex:1 1 33%}}@media(max-width:800px){.shell{grid-template-columns:1fr;background:var(--sb-bg)}.shell-side{grid-column:1;grid-row:auto;order:-1;position:static;height:auto;padding:var(--sb-space-3) var(--sb-space-4);overflow:visible;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sb-space-2) var(--sb-space-4)}.brand{margin:0}.shell-nav{display:contents}.shell-nav>ul{flex-direction:row;flex-wrap:wrap}.nav-link[aria-current=page]:before{display:none}.nav-heading{display:none}.shell-top,.shell-main,.shell-foot{grid-column:1;grid-row:auto}.shell-top{position:static;flex-wrap:wrap;padding:var(--sb-space-2) var(--sb-space-4)}.shell-main{padding:var(--sb-space-4) var(--sb-space-4) 96px}.page-title{font-size:30px}.hero .page-title{font-size:34px}.mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:var(--sb-z-shell);gap:var(--sb-space-3);align-items:center;padding:var(--sb-space-3) var(--sb-space-4);background:var(--sb-surface);border-top:1px solid var(--sb-border)}.mobile-bar .progress-line{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.course-head{gap:var(--sb-space-3)}.companion .tutor-head{font-family:var(--sb-font-sans);font-size:var(--sb-fs-md);font-weight:600;letter-spacing:0;margin:0}.companion .disclosure{text-align:left}.p-inputnumber,.p-inputnumber-input,.p-datepicker,.p-datepicker-input{width:100%}.scenario-item{align-items:stretch}.scenario-item .scenario-text{margin:0}.scenario-item .scenario-source{flex:1 1 24ch}.fold{display:flex;flex-direction:column;gap:var(--sb-space-2);width:100%;align-self:stretch}.fold-head{display:flex;align-items:center;justify-content:flex-end;gap:var(--sb-space-2)}.fold-head .p-button svg{transition:transform var(--sb-motion)}.fold-head .p-button[aria-expanded=true] svg{transform:rotate(90deg)}.fold-body{padding-top:var(--sb-space-1)}.group-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sb-space-3)}.group-list .group-title{margin:0 0 var(--sb-space-1);font-weight:500}.group-list ul{margin:0;padding-left:var(--sb-space-4)}.stat-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sb-space-3)}.stat-tile{display:flex;flex-direction:column;gap:var(--sb-space-1);padding:var(--sb-space-3) var(--sb-space-4);background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius-card)}.stat-value{font-family:var(--sb-font-display);font-size:var(--sb-fs-lg);font-weight:600;overflow-wrap:anywhere}.stat-label{color:var(--sb-muted);font-size:var(--sb-fs-xs)}.call-json{margin:0;max-height:40vh;overflow:auto;padding:var(--sb-space-3);background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:var(--sb-radius);white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--sb-fs-xs)}.chain-tree,.chain-children{gap:var(--sb-space-2)}.chain-node>summary{display:flex;align-items:center;gap:var(--sb-space-3);flex-wrap:wrap;cursor:pointer;padding:var(--sb-space-2) 0}.chain-body{padding-left:var(--sb-space-4);border-left:1px solid var(--sb-border);margin-left:var(--sb-space-2)}.chain-call{display:flex;align-items:center;gap:var(--sb-space-3);flex-wrap:wrap;padding:var(--sb-space-1) 0}.chain-label{font-weight:500}.ordering-step{flex-wrap:nowrap;align-items:flex-start}.ordering-text{flex:1 1 auto;min-width:0}.topic-illustration{display:block;max-width:24rem;width:100%;height:auto;border-radius:var(--sb-radius);border:1px solid var(--sb-border)}
