*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:none}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.35em;margin-bottom:1.35em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:none;font-weight:600}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:700}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:2.5em;margin-bottom:2.5em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:normal;color:var(--tw-prose-quotes);border-inline-start-width:3px;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1.1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2.4em;margin-bottom:.7em;line-height:1.2}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.9em;margin-bottom:.5em;line-height:1.3}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em;background:var(--color-surface-sunken);padding:.15em .35em;border-radius:var(--radius-sm)}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:""}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:""}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-ink-soft);--tw-prose-headings:var(--color-ink);--tw-prose-lead:var(--color-muted);--tw-prose-links:var(--color-primary);--tw-prose-bold:var(--color-ink);--tw-prose-counters:var(--color-muted);--tw-prose-bullets:var(--color-border-strong);--tw-prose-hr:var(--color-border);--tw-prose-quotes:var(--color-ink);--tw-prose-quote-borders:var(--color-primary-200);--tw-prose-captions:var(--color-muted);--tw-prose-kbd:var(--color-ink);--tw-prose-kbd-shadows:var(--color-ink);--tw-prose-code:var(--color-ink);--tw-prose-pre-code:var(--color-ink);--tw-prose-pre-bg:var(--color-surface-sunken);--tw-prose-th-borders:var(--color-border-strong);--tw-prose-td-borders:var(--color-border);--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:rgb(255 255 255/10%);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:var(--text-reading);line-height:var(--leading-reading)}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em;padding-inline-start:.25em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(.prose>p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.18em;line-height:1.65;color:var(--color-ink)}.prose :where(h2,h3,h4):not(:where([class~=not-prose],[class~=not-prose] *)){font-family:var(--font-display);letter-spacing:-.01em}.prose :where(ul,ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.35em;margin-bottom:1.35em}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--color-primary)}.prose :where(em):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-ink-soft)}.prose :where(a:hover):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration:underline}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.max-w-none{max-width:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.text-center{text-align:center}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-ink-soft{color:var(--color-ink-soft)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--color-primary-100:#ffe7e0;--color-primary-200:#ffc9bc;--color-primary-400:#ff7a5c;--color-primary-500:#ff5a3c;--color-primary:#ff5a3c;--color-primary-600:#f0481f;--color-primary-700:#c4371b;--color-on-primary:#ffffff;--color-ink:#1f1a17;--color-ink-soft:#463e38;--color-muted:#6b5f56;--color-faint:#948678;--color-surface:#fbf7f2;--color-surface-raised:#ffffff;--color-surface-sunken:#f3ece3;--color-surface-invert:#1f1a17;--color-border:#ece2d6;--color-border-strong:#daccbd;--color-ring:#ff5a3c;--color-success:#18a957;--color-success-ink:#0f7a3d;--color-success-bg:#e6f6ec;--color-warning:#e8a317;--color-warning-ink:#8a6300;--color-warning-bg:#fcf3db;--color-error:#e5484d;--color-error-ink:#c0353a;--color-error-bg:#fcebec;--color-info:#2e7cf6;--color-info-ink:#1a5fd0;--color-info-bg:#e7f0fe;--color-xp:#f0a21a;--color-streak:#ff5a3c;--color-streak-2:#ffb020;--font-display:var(--font-jakarta),"Plus Jakarta Sans","Segoe UI",system-ui,Arial,sans-serif;--font-ui:var(--font-jakarta),"Plus Jakarta Sans","Segoe UI",system-ui,Arial,sans-serif;--font-reading:var(--font-source-serif),"Source Serif 4",Georgia,"Times New Roman",serif;--font-mono:var(--font-jetbrains),"JetBrains Mono","SF Mono",ui-monospace,Consolas,monospace;--font-display-safe:Arial,"Segoe UI",system-ui,sans-serif;--font-reading-safe:Georgia,"Times New Roman",serif;--font-mono-safe:Consolas,"Courier New",monospace;--text-display:3.5rem;--text-h1:2.5rem;--text-display-sm:2.75rem;--text-h2:2rem;--text-h3:1.5rem;--text-h4:1.25rem;--text-lg:1.125rem;--text-base:1rem;--text-reading:1.1875rem;--text-sm:0.875rem;--text-caption:0.75rem;--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.6;--leading-reading:1.8;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extra:800;--tracking-tight:-0.02em;--tracking-wide:0.06em;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:28px;--radius-3xl:36px;--radius-pill:9999px;--shadow-xs:0 1px 2px rgba(31,26,23,0.06);--shadow-sm:0 2px 6px rgba(31,26,23,0.08);--shadow-md:0 6px 18px rgba(31,26,23,0.1);--shadow-lg:0 16px 40px rgba(31,26,23,0.14);--shadow-xl:0 28px 70px rgba(31,26,23,0.18);--shadow-primary:0 10px 26px rgba(255,90,60,0.34);--dur-fast:120ms;--dur-base:200ms;--dur-slow:360ms;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--container:1120px;--container-page-wide:900px;--container-reading:42rem;color-scheme:light}[data-theme=dark]{--color-primary-100:#3a201a;--color-primary-200:#5a2a1f;--color-primary-400:#ff8a6e;--color-primary-500:#ff6a4d;--color-primary:#ff6a4d;--color-primary-600:#ff7e63;--color-primary-700:#ff9277;--color-on-primary:#1a0f0a;--color-ink:#f6eee7;--color-ink-soft:#d9cfc6;--color-muted:#b0a296;--color-faint:#7e7468;--color-surface:#17120f;--color-surface-raised:#211a15;--color-surface-sunken:#0f0b09;--color-surface-invert:#fbf7f2;--color-border:#352b24;--color-border-strong:#4a3d33;--color-ring:#ff6a4d;--color-success:#2fbe6e;--color-success-ink:#4fd98c;--color-success-bg:#122318;--color-warning:#f5b73d;--color-warning-ink:#f7c463;--color-warning-bg:#2a2110;--color-error:#ff5a5f;--color-error-ink:#ff8589;--color-error-bg:#2a1416;--color-info:#5b9bff;--color-info-ink:#84b4ff;--color-info-bg:#11203a;--color-xp:#f5b73d;--color-streak:#ff6a4d;--color-streak-2:#ffc04d;--shadow-xs:0 1px 2px rgba(0,0,0,0.4);--shadow-sm:0 2px 6px rgba(0,0,0,0.45);--shadow-md:0 6px 18px rgba(0,0,0,0.5);--shadow-lg:0 16px 40px rgba(0,0,0,0.55);--shadow-xl:0 28px 70px rgba(0,0,0,0.6);--shadow-primary:0 10px 26px rgba(255,106,77,0.4);color-scheme:dark}@media (min-width:1024px){:root{--text-reading:1.0625rem;--leading-reading:1.65;--container-reading:45rem}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{overflow-x:clip;font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink);background:var(--color-surface);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}img,svg{display:block;max-width:100%}button,input,textarea{font:inherit;color:inherit}a{color:var(--color-primary-700);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-ring) 55%,transparent);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-extra);text-wrap:balance}.wordmark,h1,h2,h3,h4{font-family:var(--font-display)}.wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.03em;color:var(--color-ink)}.wordmark__mark{display:inline-flex;align-items:flex-end;gap:3px;background:var(--color-primary);padding:7px 8px;border-radius:10px;box-shadow:var(--shadow-primary)}.wordmark__mark i{display:block;width:5px;border-radius:3px;background:var(--color-on-primary)}.wordmark__mark i:first-child{height:11px}.wordmark__mark i:nth-child(2){height:19px}.wordmark__mark i:nth-child(3){height:14px}.wordmark__text{font-size:1.25rem;line-height:1}.wordmark__text b{color:var(--color-primary-700);font-weight:800}.wordmark--sm .wordmark__text{font-size:1rem}.wordmark--sm .wordmark__mark{padding:5px 6px;border-radius:8px}.wordmark--sm .wordmark__mark i{width:4px}.wordmark--lg .wordmark__text{font-size:1.75rem}.wordmark--mono .wordmark__text,.wordmark--mono .wordmark__text b{color:inherit}.wordmark--mono .wordmark__mark{background:currentColor;box-shadow:none}.wordmark--mono .wordmark__mark i{background:var(--color-surface)}.btn{--btn-h:48px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-h);padding:0 var(--space-6);border-radius:var(--radius-pill);font-family:var(--font-ui);font-weight:var(--weight-bold);font-size:var(--text-base);border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn:active{transform:translateY(1px) scale(.985)}.btn.is-disabled,.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn svg{width:18px;height:18px}.btn--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary)}.btn--primary:hover{background:var(--color-primary-600);box-shadow:0 14px 30px rgba(255,90,60,.42);transform:translateY(-1px)}.btn--secondary{background:var(--color-surface-raised);color:var(--color-ink);border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.btn--secondary:hover{border-color:var(--color-ink-soft);background:var(--color-surface-sunken)}.btn--ghost{background:transparent;color:var(--color-primary-700)}.btn--ghost:hover{background:var(--color-primary-100)}.btn--ink{background:var(--color-ink);color:var(--color-surface-raised)}.btn--ink:hover{background:var(--color-ink-soft);transform:translateY(-1px)}.btn--danger{background:var(--color-error);color:var(--color-surface-raised)}.btn--danger:hover{background:var(--color-error-ink);transform:translateY(-1px)}.btn--sm{--btn-h:38px;padding:0 var(--space-4);font-size:var(--text-sm)}.btn--lg{--btn-h:58px;padding:0 var(--space-8);font-size:var(--text-lg)}.btn--block{display:flex;width:100%}.btn--icon{padding:0;width:var(--btn-h)}.theme-toggle{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:transparent;color:var(--color-ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.theme-toggle:hover{background:var(--color-surface-sunken);border-color:var(--color-border-strong)}.tag,.theme-toggle__icon{display:inline-flex;align-items:center}.tag{gap:6px;height:28px;padding:0 12px;border-radius:var(--radius-pill);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.02em;background:var(--color-surface-sunken);color:var(--color-ink-soft);border:1px solid var(--color-border)}.tag--primary{background:var(--color-primary-100);color:var(--color-primary-700);border-color:transparent}.tag--free,.tag--success{background:var(--color-success-bg);color:var(--color-success-ink);border-color:transparent}.tag--warning{background:var(--color-warning-bg);color:var(--color-warning-ink);border-color:transparent}.tag--error{background:var(--color-error-bg);color:var(--color-error-ink)}.tag--error,.tag--info{border-color:transparent}.tag--info{background:var(--color-info-bg);color:var(--color-info-ink)}.tag--solid{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent}.tag__dot{width:7px;height:7px;border-radius:50%;background:currentColor}.field{display:flex;flex-direction:column;gap:7px}.field__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-soft)}.field__hint{font-size:var(--text-caption);color:var(--color-muted)}.input,.textarea{width:100%;background:var(--color-surface-raised);color:var(--color-ink);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);padding:13px 15px;font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--color-faint)}.input::placeholder,.textarea::placeholder{color:var(--color-faint)}.input:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 22%,transparent)}.textarea{min-height:110px;resize:vertical;line-height:var(--leading-normal)}.input--error,.textarea--error{border-color:var(--color-error)}.input--error:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-error) 22%,transparent)}.input:disabled{background:var(--color-surface-sunken);color:var(--color-faint);cursor:not-allowed}.playground{background:var(--color-surface-raised);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.playground__bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);font-size:var(--text-caption);font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.playground__bar .dot{width:11px;height:11px;border-radius:50%}.playground__editor{font-family:var(--font-mono);font-size:14px;line-height:1.65;padding:16px;min-height:120px;color:var(--color-ink);background:var(--color-surface-raised);border:0;width:100%;resize:vertical}.playground__editor:focus{outline:none}.playground__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px 14px;border-top:1px solid var(--color-border);background:var(--color-surface)}.playground__hintbar{font-size:var(--text-caption);color:var(--color-muted);font-family:var(--font-mono)}.card{display:flex;flex-direction:column;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.card--interactive{cursor:pointer}.card--interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card__media{flex:none;aspect-ratio:16/10;background:repeating-linear-gradient(135deg,var(--color-surface-sunken) 0 11px,color-mix(in srgb,var(--color-surface-sunken) 60%,var(--color-border)) 11px 22px);position:relative;display:grid;place-items:center}.card__media-label{font-family:var(--font-mono);font-size:11px;color:var(--color-faint);background:color-mix(in srgb,var(--color-surface) 70%,transparent);padding:4px 9px;border-radius:var(--radius-pill)}.card__media-tags{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between}.card__body{padding:var(--space-5);flex:1;display:flex;flex-direction:column}.card__body>.tag{align-self:flex-start}.card__title{font-size:var(--text-h4);font-weight:var(--weight-bold);font-family:var(--font-display);margin-bottom:6px;letter-spacing:-.01em}.card__desc{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-4)}.card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:auto}.card__price{font-family:var(--font-display);font-weight:800;font-size:var(--text-h4)}.card__price small{color:var(--color-muted);font-weight:600;font-size:var(--text-sm)}.card:has(>.card__cover-link){position:relative}.card__cover-link{position:absolute;inset:0;z-index:1;border-radius:inherit}.card__cover-link:focus-visible{outline-offset:-4px}.card__cta{position:relative;z-index:2}.lesson-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.lesson-row:hover{border-color:var(--color-border-strong)}.lesson-row__idx{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-md);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;background:var(--color-surface-sunken);color:var(--color-muted)}.lesson-row.is-done .lesson-row__idx{background:var(--color-success);color:#fff}.lesson-row.is-current .lesson-row__idx{background:var(--color-primary);color:var(--color-on-primary)}.lesson-row__main{flex:1;min-width:0}.lesson-row__title{font-weight:700;font-size:var(--text-base)}.lesson-row__meta{font-size:var(--text-caption);color:var(--color-muted);display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:2px}.lesson-row__meta span{white-space:nowrap}.progress{height:12px;background:var(--color-surface-sunken);overflow:hidden}.progress,.progress__fill{border-radius:var(--radius-pill)}.progress__fill{height:100%;background:var(--color-primary);transition:width var(--dur-slow) var(--ease-out)}.progress--success .progress__fill{background:var(--color-success)}.progress--xp .progress__fill{background:linear-gradient(90deg,var(--color-xp),var(--color-streak-2))}.progress--thin{height:7px}.progress-label{display:flex;justify-content:space-between;gap:var(--space-3);white-space:nowrap;font-size:var(--text-caption);font-weight:700;color:var(--color-muted);margin-bottom:6px}.xp{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px 0 10px;white-space:nowrap;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-xp) 16%,transparent);color:var(--color-warning-ink);font-weight:800;font-size:var(--text-sm)}.xp__star{width:18px;height:18px;color:var(--color-xp)}.xp--big{height:52px;font-size:var(--text-h3);padding:0 20px 0 14px}.streak{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px 0 9px;white-space:nowrap;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-streak) 14%,transparent);color:var(--color-primary-700);font-weight:800;font-size:var(--text-sm)}.flame{width:20px;height:22px;position:relative;flex-shrink:0}.flame svg{width:100%;height:100%}.streak--big{height:52px;font-size:var(--text-h3);padding:0 20px 0 14px}.streak--big .flame{width:30px;height:34px}@keyframes flicker{0%,to{transform:scale(1) rotate(-1deg)}50%{transform:scale(1.08) rotate(1deg)}}.flame--alive{animation:flicker 1.4s var(--ease-in-out) infinite;transform-origin:bottom center}.badge-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:var(--radius-pill);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.badge-chip__seal{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:var(--color-on-primary);flex-shrink:0;box-shadow:var(--shadow-primary)}.badge-chip--locked{opacity:.55}.badge-chip--locked .badge-chip__seal{background:var(--color-surface-sunken);color:var(--color-faint);box-shadow:none}.badge-chip__title{font-weight:800;font-size:var(--text-sm);line-height:1.1}.badge-chip__sub{font-size:var(--text-caption);color:var(--color-muted)}.appnav{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-3) var(--space-6);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border)}.appnav__links{display:flex;gap:4px;flex:1}.appnav__links a{font-weight:700;font-size:var(--text-sm);color:var(--color-muted);padding:9px 14px;border-radius:var(--radius-pill)}.appnav__links a:hover{color:var(--color-ink);background:var(--color-surface-sunken);text-decoration:none}.appnav__links a.is-active,.avatar-chip{color:var(--color-primary-700);background:var(--color-primary-100)}.avatar-chip{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:14px;border:1px solid var(--color-border);text-decoration:none;overflow:hidden}.avatar-chip:hover{border-color:var(--color-primary)}.avatar-chip__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@media (max-width:640px){.appnav{flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4)}.appnav .theme-toggle{margin-left:auto}.appnav__links{order:3;flex-basis:100%;gap:0}.appnav__links a{padding:7px 10px}}.tabbar{display:flex;background:var(--color-surface-raised);border-top:1px solid var(--color-border);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;color:var(--color-faint);font-size:10px;font-weight:700;letter-spacing:.02em;border:0;background:none;cursor:pointer}.tabbar__item svg{width:24px;height:24px}.tabbar__item.is-active{color:var(--color-primary-700)}.tabbar__item.is-active .tabbar__icon{background:var(--color-primary-100)}.tabbar__icon{width:48px;height:30px;border-radius:var(--radius-pill);display:grid;place-items:center;transition:background var(--dur-fast) var(--ease-out)}.callout{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid}.callout__icon{width:24px;height:24px;flex-shrink:0}.callout__title{font-weight:800;margin-bottom:2px}.callout__body{font-size:var(--text-sm);line-height:var(--leading-normal)}.callout--info{background:var(--color-info-bg);border-color:color-mix(in srgb,var(--color-info) 35%,transparent);color:var(--color-info-ink)}.callout--success{background:var(--color-success-bg);border-color:color-mix(in srgb,var(--color-success) 35%,transparent);color:var(--color-success-ink)}.callout--warning{background:var(--color-warning-bg);border-color:color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning-ink)}.callout--tip{background:var(--color-primary-100);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent);color:var(--color-primary-700)}.callout--error{background:var(--color-error-bg);border-color:color-mix(in srgb,var(--color-error) 40%,transparent);color:var(--color-error-ink)}.callout__body,.callout__title{color:var(--color-ink)}.callout--info .callout__title{color:var(--color-info-ink)}.callout--success .callout__title{color:var(--color-success-ink)}.callout--warning .callout__title{color:var(--color-warning-ink)}.callout--tip .callout__title{color:var(--color-primary-700)}.callout--error .callout__title{color:var(--color-error-ink)}.quiz-opt{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;padding:var(--space-4);background:var(--color-surface-raised);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);font-weight:500;color:var(--color-ink);transition:all var(--dur-fast) var(--ease-out)}.quiz-opt:hover{border-color:var(--color-primary);background:var(--color-primary-100)}.quiz-opt__key{width:30px;height:30px;flex-shrink:0;border-radius:var(--radius-sm);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);background:var(--color-surface-sunken);color:var(--color-muted)}.quiz-opt.is-selected{border-color:var(--color-primary);background:var(--color-primary-100)}.quiz-opt.is-selected .quiz-opt__key{background:var(--color-primary);color:var(--color-on-primary)}.quiz-opt.is-correct{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success-ink)}.quiz-opt.is-correct .quiz-opt__key{background:var(--color-success);color:#fff}.quiz-opt.is-incorrect{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error-ink)}.quiz-opt.is-incorrect .quiz-opt__key{background:var(--color-error);color:#fff}.quiz-opt__mark{margin-left:auto}.graded{border-radius:var(--radius-xl);border:1.5px solid;overflow:hidden}.graded__head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.graded__badge{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;flex-shrink:0}.graded__score{margin-left:auto;font-family:var(--font-mono);font-weight:700}.graded__body{padding:0 var(--space-5) var(--space-5);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-ink)}.graded__verdict{font-family:var(--font-display);font-weight:800;font-size:var(--text-h4);white-space:nowrap}.graded--pass{border-color:color-mix(in srgb,var(--color-success) 50%,transparent);background:var(--color-success-bg)}.graded--pass .graded__badge{background:var(--color-success)}.graded--pass .graded__verdict{color:var(--color-success-ink)}.graded--fail{border-color:color-mix(in srgb,var(--color-error) 50%,transparent);background:var(--color-error-bg)}.graded--fail .graded__badge{background:var(--color-error)}.graded--fail .graded__verdict{color:var(--color-error-ink)}.graded__hint{background:var(--color-surface-raised);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:var(--space-3);color:var(--color-ink)}.graded__hint b{color:var(--color-warning-ink)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);color:#fff;overflow:hidden}.avatar--sm{width:30px;height:30px;font-size:12px}.avatar--lg{width:64px;height:64px;font-size:var(--text-h4)}.avatar--ai{background:var(--color-ink);color:var(--color-surface-raised)}.avatar--coral{background:var(--color-primary);color:var(--color-on-primary)}.avatar--ring{box-shadow:0 0 0 3px var(--color-surface-raised),0 0 0 5px var(--color-primary)}.scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--color-ink) 55%,transparent);display:grid;place-items:center;padding:var(--space-6)}.modal{width:100%;max-width:420px;background:var(--color-surface-raised);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden}.modal__body{padding:var(--space-6)}.modal__title{font-size:var(--text-h3);margin-bottom:var(--space-2)}.modal__foot{display:flex;gap:var(--space-3);padding:0 var(--space-6) var(--space-6)}.sheet{width:100%;max-width:480px;margin-top:auto;background:var(--color-surface-raised);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:var(--shadow-xl)}.sheet__grip{width:44px;height:5px;border-radius:var(--radius-pill);background:var(--color-border-strong);margin:12px auto}.chat{display:flex;flex-direction:column;gap:var(--space-4)}.bubble{display:flex;gap:var(--space-3);max-width:88%}.bubble__body{padding:12px 15px;border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:var(--leading-normal)}.bubble__role{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-muted);margin-bottom:4px}.bubble--student{align-self:flex-end;flex-direction:row-reverse}.bubble--student .bubble__body{background:var(--color-primary);color:var(--color-on-primary);border-bottom-right-radius:4px}.bubble--student .bubble__role{text-align:right}.bubble--ai .bubble__body{background:var(--color-surface-raised);border:1px solid var(--color-border);border-bottom-left-radius:4px}.bubble--human .bubble__body{background:var(--color-info-bg);border:1px solid color-mix(in srgb,var(--color-info) 30%,transparent);border-bottom-left-radius:4px}.bubble--human .bubble__role{color:var(--color-info-ink)}.bubble__body p{margin:0}.bubble__body ol+p,.bubble__body p+ol,.bubble__body p+p,.bubble__body p+ul,.bubble__body ul+p{margin-top:var(--space-2)}.bubble__body ol,.bubble__body ul{margin:0;padding-left:var(--space-5)}.bubble__body li+li{margin-top:var(--space-1)}.bubble__body code{font-family:var(--font-mono);font-size:.85em;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 5px}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:40;width:min(25rem,100vw);display:flex;flex-direction:column;background:var(--color-surface-raised);border-left:1px solid var(--color-border);box-shadow:var(--shadow-xl);transform:translateX(100%);visibility:hidden;transition:transform .28s var(--ease-out),visibility 0s linear .28s}.drawer.is-open{transform:translateX(0);visibility:visible;transition:transform .28s var(--ease-out),visibility 0s}.drawer__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.drawer__title{font-weight:800;font-size:var(--text-base);color:var(--color-ink)}.drawer__close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);cursor:pointer}.drawer__close:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.drawer__close svg{width:16px;height:16px}.drawer__body{flex:1;overflow-y:auto;padding:var(--space-5)}.drawer__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2)}.fab{position:fixed;right:var(--space-4);bottom:var(--space-16);z-index:30;display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary);cursor:pointer;transition:transform .18s var(--ease-out),opacity .18s var(--ease-out)}.fab:hover{transform:translateY(-2px)}.fab.is-hidden{opacity:0;pointer-events:none}.fab svg{width:24px;height:24px}@keyframes pop-in{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.pop{animation:pop-in var(--dur-slow) var(--ease-spring) both}.certificate{max-width:34rem;margin:var(--space-8) auto;text-align:center;background:var(--color-surface-raised);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--space-8) var(--space-6)}.certificate__seal{width:56px;height:56px;margin:0 auto var(--space-4);color:var(--color-primary)}.certificate__eyebrow{font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-muted)}.certificate__title{font-family:var(--font-display);font-size:var(--text-h1);font-weight:800;color:var(--color-ink);margin:var(--space-3) 0}.certificate__meta{color:var(--color-muted);font-size:var(--text-sm)}.certificate__code{font-family:var(--font-mono);color:var(--color-faint);font-size:var(--text-caption);margin-top:var(--space-2)}.reader{max-width:var(--container-reading);margin:0 auto;min-height:100vh;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-6)}.reader__bar{display:flex;align-items:center;gap:var(--space-3)}.reader__back{margin-left:auto}.compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-5) 0}@media (max-width:640px){.compare{grid-template-columns:1fr}}.compare__col{border-radius:var(--radius-lg);border:1.5px solid;padding:var(--space-4)}.compare__col--weak{background:var(--color-error-bg);border-color:color-mix(in srgb,var(--color-error) 35%,transparent)}.compare__col--strong{background:var(--color-success-bg);border-color:color-mix(in srgb,var(--color-success) 35%,transparent)}.compare__label{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:800;font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2)}.compare__label svg{width:16px;height:16px}.compare__col--weak .compare__label{color:var(--color-error-ink)}.compare__col--strong .compare__label{color:var(--color-success-ink)}.compare__text{margin:0;color:var(--color-ink);font-size:var(--text-sm);line-height:var(--leading-normal)}.anatomy{margin:var(--space-5) 0;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-surface-raised)}.anatomy__row{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.anatomy__row:first-child{border-top:0}.anatomy__tag{flex-shrink:0;min-width:6rem;font-family:var(--font-display);font-weight:800;font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-primary)}.anatomy__value{color:var(--color-ink);font-size:var(--text-base)}.versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:var(--space-2);margin:var(--space-5) 0}@media (max-width:560px){.versus{grid-template-columns:1fr}.versus__vs{display:none}}.versus__panel{border:1.5px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-surface-raised)}.versus__panel--accent{border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);background:var(--color-primary-100)}.versus__vs{display:grid;place-items:center;color:var(--color-muted);font-size:var(--text-sm)}.versus__title,.versus__vs{font-family:var(--font-display);font-weight:800}.versus__title{font-size:var(--text-h4);color:var(--color-ink);margin-bottom:var(--space-2)}.versus__caption{color:var(--color-ink-soft);font-size:var(--text-sm);line-height:var(--leading-normal)}.lesson-hero{margin-bottom:var(--space-6)}.lesson-hero__crumb{font-family:var(--font-ui);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}.lesson-hero__title{font-family:var(--font-display);font-size:2rem;line-height:var(--leading-tight);color:var(--color-ink);margin:var(--space-2) 0}.lesson-hero__meta{font-family:var(--font-ui);font-size:.85rem;color:var(--color-muted)}.reveal-section{animation:reveal-in var(--dur-slow) var(--ease-spring) both}@keyframes reveal-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-chip{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:.78rem;font-weight:700;border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);margin:var(--space-5) 0 var(--space-2);border:1px solid transparent;color:var(--color-primary);background:var(--color-primary-100)}.step-chip--done{color:var(--color-success-ink);background:var(--color-success-bg)}button.step-chip--done{cursor:pointer}button.step-chip--done:hover{border-color:var(--color-success)}.reveal-cta{text-align:center;margin:var(--space-8) 0 var(--space-3)}.reveal-cta__hint{font-family:var(--font-ui);font-size:.75rem;color:var(--color-faint);margin-top:var(--space-2)}.ghost-section{opacity:.3;filter:blur(1px);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-height:14rem;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,black 40%,transparent);mask-image:linear-gradient(180deg,black 40%,transparent)}.lesson-footer{position:fixed;bottom:0;left:0;right:0;z-index:10;background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4)}.lesson-footer__segments{display:flex;gap:var(--space-1);max-width:var(--container);margin:0 auto}.lesson-footer__seg{height:6px;flex:1;border-radius:var(--radius-pill);background:var(--color-surface-sunken);border:0;padding:0;cursor:pointer;position:relative;overflow:hidden}.lesson-footer__seg:disabled{cursor:default}.lesson-footer__seg-fill{position:absolute;inset:0 auto 0 0;width:var(--fill,0);background:var(--color-primary);border-radius:inherit}.lesson-footer__seg.is-done .lesson-footer__seg-fill{background:var(--color-success)}.lesson-footer__row{display:flex;justify-content:space-between;max-width:var(--container);margin:var(--space-2) auto 0;font-family:var(--font-ui);font-size:.78rem;color:var(--color-muted)}.lesson-footer__xp{color:var(--color-xp);font-weight:700}.lesson-sidebar{display:none}@media (min-width:1024px){.lesson-shell{display:grid;grid-template-columns:280px minmax(0,1fr)}.lesson-footer{display:none}.lesson-sidebar{display:flex;flex-direction:column;position:sticky;top:0;align-self:start;height:100dvh;overflow-y:auto;padding:var(--space-6) var(--space-5);border-right:1px solid var(--color-border);font-family:var(--font-ui)}.fab{bottom:var(--space-6)}}.lesson-sidebar__back{font-size:var(--text-sm);font-weight:700;color:var(--color-primary-700);text-decoration:none;margin-bottom:var(--space-4)}.lesson-sidebar__back:hover{text-decoration:underline}.lesson-sidebar__lesson{font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-3)}.lesson-sidebar__steps{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-1)}.lesson-sidebar__step{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-soft);background:none;border:0;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer}.lesson-sidebar__step:hover{background:var(--color-surface-sunken)}.lesson-sidebar__step.is-done{color:var(--color-muted)}.lesson-sidebar__step.is-done .lesson-sidebar__icon{color:var(--color-success-ink)}.lesson-sidebar__step.is-current{background:var(--color-primary-100);color:var(--color-primary-700);font-weight:700}.lesson-sidebar__step:disabled{color:var(--color-faint);cursor:default}.lesson-sidebar__step:disabled:hover{background:none}.lesson-sidebar__icon{width:16px;flex:none;text-align:center}.lesson-sidebar__meter{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;font-size:var(--text-caption);color:var(--color-muted)}.lesson-sidebar__xp{color:var(--color-xp);font-weight:700}@media (min-width:1024px){.lesson-row{padding:var(--space-5) var(--space-6)}}.prompt-block{background:var(--color-surface-invert);border-radius:var(--radius-xl);overflow:hidden;margin:var(--space-5) 0}[data-theme=dark] .prompt-block{background:var(--color-surface-sunken)}.prompt-block__code{color:var(--color-surface)}[data-theme=dark] .prompt-block__code{color:var(--color-ink)}.prompt-block__bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-4);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-faint);border-bottom:1px solid color-mix(in srgb,var(--color-border) 30%,transparent)}.prompt-block__bar,.prompt-block__copy{font-family:var(--font-ui);font-size:.72rem}.prompt-block__copy{color:inherit;background:transparent;border:1px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:var(--radius-sm);padding:2px var(--space-2);cursor:pointer}.prompt-block__code pre{margin:0;padding:var(--space-4);font-family:var(--font-mono);font-size:.82rem;line-height:1.65;overflow-x:auto;background:transparent!important}.spoiler{border:1px solid var(--color-border);border-radius:var(--radius-xl);margin:var(--space-5) 0;background:var(--color-surface)}.spoiler__head{font-family:var(--font-ui);font-size:.92rem;font-weight:600;color:var(--color-ink);padding:var(--space-3) var(--space-4);cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--space-2)}.spoiler__head::-webkit-details-marker{display:none}.spoiler__head:after{content:"▾";margin-left:auto;color:var(--color-faint);transition:transform var(--dur-base) var(--ease-out)}.spoiler[open] .spoiler__head:after{transform:rotate(180deg)}.spoiler__body{padding:0 var(--space-4) var(--space-3);border-top:1px dashed var(--color-border)}.tryit{border:1.5px solid var(--color-primary-200);background:linear-gradient(180deg,var(--color-primary-100),var(--color-surface));border-radius:var(--radius-2xl);padding:var(--space-4) var(--space-5);margin:var(--space-5) 0}.tryit__label{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-2)}.tryit__body{font-size:.95rem}.quiz-hint{font-family:var(--font-ui);font-size:.8rem;color:var(--color-muted);margin:calc(-1 * var(--space-2)) 0 var(--space-3)}@media (prefers-reduced-motion:reduce){.reveal-section{animation:none}}.glow{position:relative;overflow:hidden}.glow:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,var(--color-primary-100) 0,transparent 68%);pointer-events:none}.glow--tr:before{top:-60px;right:-60px}.glow--bl:before{bottom:-70px;left:-50px;background:radial-gradient(circle,var(--color-warning-bg) 0,transparent 68%)}.dot-grid{background-image:radial-gradient(var(--color-border) 1.5px,transparent 1.5px);background-size:14px 14px}.icon-sticker{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-lg);background:var(--color-primary-100);color:var(--color-primary-700);box-shadow:var(--shadow-sm);flex-shrink:0}.icon-sticker svg{width:22px;height:22px}.icon-sticker--amber{background:var(--color-warning-bg);color:var(--color-warning-ink)}.icon-sticker--success{background:var(--color-success-bg);color:var(--color-success-ink)}.outline-numeral{position:absolute;left:var(--space-2);top:-.35em;font-size:5.5rem;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:2px var(--color-primary-200);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.stat-tile{border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);background:var(--color-primary-100);color:var(--color-primary-700);min-width:110px}.stat-tile__num{font-size:var(--text-h2);font-weight:800;line-height:1.1}.stat-tile__label{font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.stat-tile--amber{background:var(--color-warning-bg);color:var(--color-warning-ink)}.stat-tile--success{background:var(--color-success-bg);color:var(--color-success-ink)}.ribbon-underline{display:block;width:56px;height:5px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-primary),var(--color-warning));margin-top:var(--space-2)}.lift{transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.lift--high:hover{box-shadow:var(--shadow-lg)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise-in var(--dur-base) var(--ease-out) both}.rise--2{animation-delay:80ms}.rise--3{animation-delay:.16s}[data-theme=dark] .glow:before{opacity:.35}[data-theme=dark] .dot-grid{background-image:radial-gradient(var(--color-border) 1px,transparent 1px)}@media (prefers-reduced-motion:reduce){.lift,.progress__fill,.rise{animation:none;transition:none}}.faq{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);margin:0 0 var(--space-3)}.faq__q{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-ink);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--space-2)}.faq__q::-webkit-details-marker{display:none}.faq__q:after{content:"+";margin-left:auto;color:var(--color-faint);font-weight:400;font-size:var(--text-h4);transition:transform var(--dur-base) var(--ease-out)}.faq[open] .faq__q:after{transform:rotate(45deg)}.faq__a{padding:0 var(--space-5) var(--space-4);color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.cta-banner{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-3xl);padding:var(--space-12) var(--space-10);box-shadow:var(--shadow-primary);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.cta-banner__title{font-family:var(--font-display);font-size:var(--text-h1);line-height:var(--leading-tight)}.cta-banner__sub{font-size:var(--text-base);color:color-mix(in srgb,var(--color-on-primary) 82%,transparent);max-width:48ch}.sitefooter{margin-top:var(--space-20);border-top:1px solid var(--color-border);padding:var(--space-8) var(--space-6) var(--space-10);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.sitefooter__links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5);font-size:var(--text-sm)}.sitefooter__links a{color:var(--color-muted);text-decoration:none}.sitefooter__links a:hover{color:var(--color-ink);text-decoration:underline}.sitefooter__legal{font-size:var(--text-xs);color:var(--color-muted)}.legal-prose{margin-top:var(--space-8);max-width:70ch;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-ink)}.legal-prose h2{font-family:var(--font-display);font-size:var(--text-h3);line-height:var(--leading-tight);margin:var(--space-8) 0 var(--space-3)}.legal-prose p,.legal-prose ul{margin-bottom:var(--space-4);color:var(--color-muted)}.legal-prose ul{list-style:disc;padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.legal-prose strong{color:var(--color-ink)}.legal-prose a{color:var(--color-primary);text-decoration:underline}.diagram{margin:var(--space-5) 0}.diagram__canvas{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}.diagram__caption{margin-top:var(--space-2);font-size:var(--text-caption);color:var(--color-muted)}.diagram__caption,.diagram__node{font-family:var(--font-ui);text-align:center}.diagram__node{display:flex;align-items:center;justify-content:center;min-width:0;padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.3}.diagram__node--accent{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.diagram__node--success{background:var(--color-success-bg);border-color:color-mix(in srgb,var(--color-success) 45%,transparent);color:var(--color-success-ink)}.diagram__node--warning{background:var(--color-warning-bg);border-color:color-mix(in srgb,var(--color-warning) 45%,transparent);color:var(--color-warning-ink)}.diagram__node--info{background:var(--color-info-bg);border-color:color-mix(in srgb,var(--color-info) 45%,transparent);color:var(--color-info-ink)}.diagram__node--question{background:var(--color-surface-invert);border-color:var(--color-surface-invert);color:var(--color-surface)}.diagram__arrow{width:20px;height:20px;transform:rotate(90deg)}.diagram__arrow,.diagram__loop{flex-shrink:0;align-self:center;color:var(--color-primary)}.diagram__loop{width:22px;height:22px}@media (min-width:640px){.diagram--cycle .diagram__canvas,.diagram--flow .diagram__canvas{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center}.diagram--cycle .diagram__arrow,.diagram--flow .diagram__arrow{transform:none}}.diagram__branches{display:flex;flex-direction:column;gap:var(--space-2)}@media (min-width:640px){.diagram--branch .diagram__canvas{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:var(--space-4)}}.diagram__scale{position:relative;padding:var(--space-2) 0 var(--space-5)}.diagram__track{position:relative;height:10px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-border-strong),var(--color-primary))}.diagram__marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:var(--radius-pill);background:var(--color-surface-raised);border:3px solid var(--color-primary)}.diagram__marker-label{position:absolute;bottom:0;transform:translateX(-50%);color:var(--color-primary-700);white-space:nowrap}.diagram__marker-label,.diagram__poles{font-family:var(--font-ui);font-size:var(--text-caption)}.diagram__poles{display:flex;justify-content:space-between;color:var(--color-muted)}.diagram--layers .diagram__canvas{align-items:center}.diagram__layer{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-bold);text-align:center}.diagram__layer--0{background:var(--color-primary);color:var(--color-on-primary)}.diagram__layer--1{background:var(--color-primary-200);color:var(--color-primary-700)}.diagram__layer--2{background:var(--color-primary-100);color:var(--color-primary-700)}.diagram__layer--3{background:var(--color-surface);color:var(--color-ink);border:1.5px solid var(--color-border-strong)}.diagram__grid{display:grid;grid-template-columns:1fr;gap:var(--space-2)}@media (min-width:640px){.diagram__grid{grid-template-columns:repeat(var(--diagram-cols,2),1fr)}}.funnel__bar{height:var(--space-3);background:var(--color-surface-sunken);overflow:hidden}.funnel__bar,.funnel__fill{border-radius:var(--radius-pill)}.funnel__fill{height:100%;background:var(--color-primary)}.daychart{display:flex;align-items:flex-end;gap:var(--space-1);height:var(--space-16)}.daychart__bar{flex:1 1 0;background:var(--color-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-height:2px}.page{max-width:760px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-20)}.page__eyebrow{font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-primary-700);margin-bottom:var(--space-2)}.page__title{font-size:var(--text-display-sm);font-weight:800;letter-spacing:-.075rem;line-height:var(--leading-tight);margin-bottom:var(--space-3)}.page__lead{font-size:var(--text-lg);color:var(--color-ink-soft);line-height:1.55;max-width:44ch;margin-bottom:var(--space-8)}@media (max-width:640px){.page__title{font-size:var(--text-h1)}}@media (min-width:1024px){.page--wide{max-width:var(--container-page-wide)}}.home-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center}@media (max-width:860px){.home-hero{grid-template-columns:1fr}}.home-hero__check{display:inline-flex;align-items:center;gap:8px}.hero-card-coral{background:var(--color-ink);color:var(--color-surface);border-radius:var(--radius-3xl);padding:var(--space-10);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:var(--space-5)}.hero-card-coral .streak,.hero-card-coral .xp{background:color-mix(in srgb,var(--color-surface) 10%,transparent)}.hero-card-coral .streak{color:var(--color-primary-400)}.hero-card-coral .xp{color:var(--color-streak-2)}.hero-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}@media (max-width:860px){.feature-grid{grid-template-columns:1fr}}.step-card{position:relative;padding:var(--space-6) var(--space-6) var(--space-6) var(--space-16);overflow:visible}.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}@media (max-width:640px){.catalog-grid{grid-template-columns:1fr}}.course-head{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-8)}.course-head__meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.lesson-list{list-style:none;display:grid;gap:var(--space-3);padding:0;counter-reset:lesson}.lesson-row__link{display:flex;align-items:center;gap:var(--space-4);flex:1;color:inherit;min-width:0}.lesson-row__link,.lesson-row__link:hover{text-decoration:none}.lesson-row--locked{opacity:.6}.lesson-row--next{box-shadow:var(--shadow-md)}.lesson-row--next .lesson-row__idx{background:var(--color-primary-100);color:var(--color-primary-700)}.auth-card{max-width:420px;margin:0 auto;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}.auth-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-faint);font-size:var(--text-caption);font-weight:700}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--color-border)}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--space-6)}