/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:var(--font-sans);--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:var(--font-mono);--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--container-xl:36rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.my-6{margin-block:calc(var(--spacing) * 6)}.\!mt-2{margin-top:calc(var(--spacing) * 2)!important}.\!mt-3{margin-top:calc(var(--spacing) * 3)!important}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-\[12vh\]{margin-top:12vh}.mt-\[18vh\]{margin-top:18vh}.\!mb-0{margin-bottom:0!important}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-\[3px\]{height:3px}.h-\[19px\]{height:19px}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-48{min-height:calc(var(--spacing) * 48)}.min-h-full{min-height:100%}.\!w-full{width:100%!important}.w-\[19px\]{width:19px}.w-full{width:100%}.\!max-w-\[42rem\]{max-width:42rem!important}.max-w-3xl{max-width:var(--container-3xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.scroll-mt-14{scroll-margin-top:calc(var(--spacing) * 14)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.\!justify-start{justify-content:flex-start!important}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--strong\)\]{border-color:var(--strong)}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--main\)\]{background-color:var(--main)}.bg-\[var\(--secondary\)\]{background-color:var(--secondary)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-transparent{background-color:#0000}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.\!pb-0{padding-bottom:0!important}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.\!text-base{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important}.\!text-lg{font-size:var(--text-lg)!important;line-height:var(--tw-leading,var(--text-lg--line-height))!important}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\!text-\[1\.6rem\]{font-size:1.6rem!important}.\!text-\[1\.8rem\]{font-size:1.8rem!important}.\!text-\[1\.35rem\]{font-size:1.35rem!important}.\!text-\[2rem\]{font-size:2rem!important}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.leading-\[1\.72\]{--tw-leading:1.72;line-height:1.72}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.\!font-semibold{--tw-font-weight:var(--font-weight-semibold)!important;font-weight:var(--font-weight-semibold)!important}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[var\(--accent-strong\)\]{color:var(--accent-strong)!important}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--accent-strong\)\]{color:var(--accent-strong)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--success\)\]{color:var(--success)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--warning\,var\(--muted\)\)\]{color:var(--warning,var(--muted))}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.\!underline{text-decoration-line:underline!important}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-\[var\(--shadow\)\]{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:bg-\[var\(--hover\)\]:hover{background-color:var(--hover)}.hover\:underline:hover{text-decoration-line:underline}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-6{padding:calc(var(--spacing) * 6)}}@media (min-width:48rem){.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}}@font-face{font-family:Geist Sans;src:url(/fonts/geist-sans.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-latin.woff2)format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-latin-italic.woff2)format("woff2");font-weight:200 900;font-style:italic;font-display:swap}:root{--bg-canvas:#fff;--bg-surface:#fff;--bg-subtle:#f6f6f6;--bg-hover:#efefef;--text-primary:#111;--text-secondary-token:#3f3f3f;--text-tertiary:#5c5c5c;--border-default:#e6e6e6;--accent-token:#111;--accent-subtle:#f3f3f3;--editor-font-size:14px;--bg:var(--bg-canvas);--sidebar:var(--bg-subtle);--main:var(--bg-surface);--secondary:var(--bg-subtle);--hover:var(--bg-hover);--text:var(--text-primary);--text-secondary:var(--text-secondary-token);--muted:var(--text-tertiary);--border:var(--border-default);--strong:#d4d4d4;--accent:var(--accent-token);--accent-soft:var(--accent-subtle);--accent-strong:#111;--subject:#1d4f91;--success:#0c6b3c;--error:#b42318;--warning:#8a5a00;--warning-text:#7a4e00;--editor:var(--ide-bg);--code:#111;--on-accent:#fff;--kw:#1d4f91;--str:#0c6b3c;--com:#5c5c5c;--num:#7a4e00;--shadow:none;--font-sans:"Geist Sans",ui-sans-serif,system-ui,sans-serif;--font-serif:"Source Serif 4","Iowan Old Style",Palatino,Georgia,serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ide-bg:#fff;--ide-chrome:#f6f6f6;--ide-elevated:#efefef;--ide-border:#e6e6e6;--ide-text:#111;--ide-muted:#5c5c5c;--ide-kw:#1d4f91;--ide-str:#0c6b3c;--ide-com:#6a737d;--ide-num:#8a5a00;--ide-active:#f0f0f0;--ide-selection:#cce0f5;--sidebar-width:252px;--sidebar-collapsed:64px;--content-reading:720px;--content-wide:1120px;--control-height:40px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--focus-width:2px;--motion-fast:.12s;--motion-normal:.18s}html[data-theme=dark]{--bg-canvas:#000;--bg-surface:#0a0a0a;--bg-subtle:#111;--bg-hover:#1a1a1a;--text-primary:#f4f4f4;--text-secondary-token:#c8c8c8;--text-tertiary:#9a9a9a;--border-default:#2c2c2c;--accent-token:#f5f5f5;--accent-subtle:#222;--bg:var(--bg-canvas);--sidebar:var(--bg-subtle);--main:var(--bg-surface);--secondary:#1c1c1c;--hover:var(--bg-hover);--text:var(--text-primary);--text-secondary:var(--text-secondary-token);--muted:var(--text-tertiary);--border:var(--border-default);--strong:#3a3a3a;--accent:var(--accent-token);--accent-soft:var(--accent-subtle);--accent-strong:#fff;--subject:#9eb6e0;--success:#6dcaa0;--error:#ff8d8d;--warning:#e3b15a;--warning-text:#e3b15a;--editor:var(--ide-bg);--code:#f4f4f4;--on-accent:#111;--kw:#9eb6e0;--str:#6dcaa0;--com:#9a9a9a;--num:#e3b15a;--shadow:none;--ide-bg:#1e1e1e;--ide-chrome:#252526;--ide-elevated:#2d2d2d;--ide-border:#3c3c3c;--ide-text:#d4d4d4;--ide-muted:#a0a0a0;--ide-kw:#569cd6;--ide-str:#ce9178;--ide-com:#6a9955;--ide-num:#b5cea8;--ide-active:#2a2d2e;--ide-selection:#264f78}*{box-sizing:border-box}body,html{height:100%;margin:0}body{color:var(--text);font-family:var(--font-sans);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);padding:.5rem .75rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:.75rem;left:.75rem}.app-shell{background:var(--bg);min-height:100dvh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar);border-right:1px solid var(--border);height:100dvh;transition:width var(--motion-normal) ease;flex-direction:column;flex:none;padding:1.25rem .75rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{flex:none;justify-content:space-between;gap:8px;height:32px;margin-bottom:22px;padding-left:12px}.sidebar-brand,.sidebar-header{align-items:center;display:flex}.sidebar-brand{white-space:nowrap;gap:10px}.sidebar-toggle{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.sidebar-toggle:focus-visible,.sidebar-toggle:hover{background:var(--hover);color:var(--text)}.sidebar.collapsed .sidebar-header{justify-content:center;padding-left:0}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section,.sidebar.collapsed .nav-text,.sidebar.collapsed .side-note,.sidebar.collapsed .sidebar-brand{display:none}.work{background:var(--main);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:1rem;height:44px;padding:0 1.5rem;display:flex}.content{flex:1;min-width:0;min-height:0;overflow-x:clip;container-type:inline-size}.canvas{--page-gutter:clamp(32px,3vw,48px);width:100%;min-width:0;max-width:calc(1240px + 2 * var(--page-gutter));padding:3rem var(--page-gutter) 4.5rem;margin-inline:auto}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:690}h1{letter-spacing:-.062em;margin:.75rem 0 1rem;font-size:clamp(28px,3vw,36px);font-weight:540;line-height:1.1}h2{letter-spacing:-.036em;margin:0;font-size:1.2rem;font-weight:610}.lead{color:var(--text-secondary);max-width:34rem;margin:0;font-size:15px;line-height:1.65}.btn{border:1px solid var(--border);background:var(--main);min-height:36px;color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:0 .9rem;font-size:13px;font-weight:620;display:inline-flex}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.ghost{background:0 0;border-color:#0000}.btn:disabled{opacity:.55;cursor:not-allowed}.nav-section{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);padding:1.6rem .75rem .6rem;font-size:12px;font-weight:600}.nav-item{min-height:40px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:.75rem;width:100%;padding:0 .75rem;font-size:14px;font-weight:490;display:flex}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:610}.index-row{border-left:3px solid #0000;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:.65rem 1.25rem;min-height:0;padding:1.15rem .85rem 1.15rem .9rem}.module-id{color:var(--accent);letter-spacing:.04em;font-variant-numeric:tabular-nums;align-self:start;padding-top:.2rem;font-size:12px;font-weight:690}.index-row:has(.index-aside){grid-template-columns:48px minmax(0,1fr) minmax(7.25rem,auto)}.index-aside{text-align:right;flex-direction:column;justify-self:end;align-items:flex-end;gap:.35rem;display:flex}.index-aside .index-progress{font-variant-numeric:tabular-nums;color:var(--text);font-weight:560}.index-aside .btn{margin-top:.1rem}.metadata{color:var(--text-secondary);font-size:13px}@media (max-width:900px){:root{--editor-font-size:16px}.canvas{--page-gutter:24px;padding:2rem var(--page-gutter) 3rem}}.phone-menu,.sidebar-backdrop{display:none}@media (max-width:640px){.phone-menu{display:inline-flex}.sidebar{z-index:40;width:240px;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar[data-mobile-open]{transform:none}.work{margin-left:0}.sidebar-backdrop{z-index:35;background:#0000002e;border:0;display:block;position:fixed;inset:0}.sidebar-toggle{height:40px}.sidebar .nav-item{min-height:44px}}.practice-layout{grid-template-columns:clamp(280px,30%,360px) minmax(0,1fr);min-height:calc(100dvh - 108px);display:grid}.task-pane{border-right:1px solid var(--border);background:var(--main);min-width:0;padding:1.5rem;overflow:auto}.editor-pane{background:var(--ide-bg);min-width:0;color:var(--ide-text);border:1px solid var(--ide-border);--main:var(--ide-chrome);--secondary:var(--ide-elevated);--text:var(--ide-text);--text-secondary:var(--ide-muted);--muted:var(--ide-muted);--border:var(--ide-border);--strong:#d4d4d4;--hover:var(--ide-elevated);--code:var(--ide-text);--success:#0c6b3c;--error:#b42318;--warning:#8a5a00;--warning-text:#7a4e00;flex-direction:column;display:flex}html[data-theme=dark] .editor-pane{--strong:#4a4a4a;--success:#6dcaa0;--error:#ff8d8d;--warning:#e3b15a;--warning-text:#e3b15a}.results-panel{border-top:1px solid var(--border);background:var(--main);min-height:220px;max-height:45%}.results-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:12px}.results-table td,.results-table th{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .85rem}.results-table th{background:var(--secondary);color:var(--text-secondary);font-weight:550}.stage-bar{scrollbar-width:none;border-top:1px solid var(--border);gap:.25rem;overflow-x:auto}.stage,.stage-bar{align-items:center;min-height:48px;display:flex}.stage{color:var(--muted);flex:none;gap:.5rem;padding:0 .75rem;font-size:12px;position:relative}.stage.active{color:var(--text);font-weight:650}.stage.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.stage.done{color:var(--success)}.stage[aria-disabled=true]{cursor:not-allowed;opacity:.6}.tool-row{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:.9rem 1.25rem;padding:1.15rem .85rem 1.15rem .9rem;display:grid}.tool-row:hover{background:var(--secondary)}@media (max-width:640px){.index-row{align-items:start;gap:.35rem .85rem;padding:1rem .5rem 1rem .65rem;grid-template-columns:36px minmax(0,1fr)!important}.index-row>:nth-child(n+3){grid-column:2}.index-aside{text-align:left;flex-flow:wrap;align-items:flex-start;gap:.35rem .75rem;margin-top:.15rem}.question-row,.tool-row{padding:1rem .5rem 1rem .65rem}}.feedback-ok{color:var(--success)}.feedback-err{color:var(--error)}.sql-mono{font-family:var(--font-mono);color:var(--code);white-space:pre-wrap;font-size:13px;line-height:1.7}@media (max-width:900px){.practice-layout{grid-template-columns:1fr}.task-pane{border-right:0;border-bottom:1px solid var(--border)}}.inline-code{font-family:var(--font-mono);background:var(--secondary);border:1px solid var(--border);border-radius:4px;padding:0 .3em;font-size:.92em}.explanation{border-left:2px solid var(--error);padding-left:.85rem}.explanation.result{border-left-color:var(--warning)}.explanation-title{color:var(--text);align-items:center;gap:.4rem;font-size:14px;font-weight:640;display:flex}.explanation.error .explanation-title svg{color:var(--error)}.explanation.result .explanation-title svg{color:var(--warning)}.mobile-task-bar{display:none}@media (max-width:900px){.mobile-task-bar[data-visible]{top:0;left:var(--task-sidebar-width,240px);z-index:25;--main:var(--bg-surface);--text:var(--text-primary);--text-secondary:var(--text-secondary-token);--muted:var(--text-tertiary);--border:var(--border-default);background:var(--main);border-bottom:1px solid var(--border);color:var(--text);display:block;position:fixed;right:0}.mobile-task-toggle{width:100%;min-height:48px;color:var(--text);background:0 0;align-items:center;gap:.6rem;padding:.5rem 1rem;display:flex}.editor-actions{padding-bottom:env(safe-area-inset-bottom);z-index:15;position:sticky;bottom:0}}.notes-field{border:1px solid var(--border);background:var(--main);width:100%;color:var(--text);resize:vertical;border-radius:6px;padding:.6rem .7rem;font-size:13px;line-height:1.5}.difficulty{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:12px;font-weight:640;display:inline-flex}.difficulty-warmup{color:#3d5a80;background:#e8eef5;border-color:#c5d3e6}.difficulty-easy{color:#0c6b3c;background:#e5f5ec;border-color:#b7dfc8}.difficulty-medium{color:#8a5a00;background:#faf0d8;border-color:#e6cf8f}.difficulty-hard{color:#b42318;background:#fceceb;border-color:#f0b8b4}html[data-theme=dark] .difficulty-warmup{color:#c5d4ef;background:#1c2838;border-color:#334866}html[data-theme=dark] .difficulty-easy{color:#6dcaa0;background:#173028;border-color:#2a5040}html[data-theme=dark] .difficulty-medium{color:#e3b15a;background:#322818;border-color:#4d3c1f}html[data-theme=dark] .difficulty-hard{color:#ff8d8d;background:#3a1c1c;border-color:#5c2c2c}.status-mark{color:var(--muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:12px;line-height:1.3;display:inline-flex}.status-glyph{text-align:center;width:1em}.status-solved{color:var(--success)}.status-guided{color:var(--warning-text)}.status-attempted{color:var(--accent-strong)}.solved-check{color:#0c6b3c;background:#e5f5ec;border:1.5px solid #6dcaa0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.solved-check.is-helped{letter-spacing:.02em;color:#8a5a00;background:#faf0d8;border-color:#e3b15a;width:auto;min-width:18px;padding:0 5px;font-size:10px;font-weight:700}.solved-check.is-attempted{border-color:var(--strong);color:var(--text-secondary);background:0 0}.solved-check.is-empty{color:var(--border);background:0 0;border-color:#0000}html[data-theme=dark] .solved-check{color:#6dcaa0;background:#173028;border-color:#6dcaa0}html[data-theme=dark] .solved-check.is-helped{color:#e3b15a;background:#322818;border-color:#e3b15a}html[data-theme=dark] .solved-check.is-attempted{border-color:var(--strong);color:var(--muted);background:0 0}html[data-theme=dark] .solved-check.is-empty{color:var(--strong);background:0 0;border-color:#0000}.question-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem 1.1rem;padding:1.05rem .85rem 1.05rem .9rem;display:grid}.question-row:hover{background:var(--secondary)}.question-row .module-id{padding-top:.15rem}.segmented{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.segmented button{color:var(--text-secondary);border-right:1px solid var(--border);min-height:36px;padding:.45rem .8rem;font-size:12px;font-weight:600}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong)}.filter-select{border:1px solid var(--border);background:var(--main);color:var(--text);border-radius:6px;min-height:36px;padding:.45rem .5rem;font-size:13px}.practice-layout.wide{grid-template-columns:clamp(320px,38%,460px) minmax(0,1fr)}.results-table.compact td,.results-table.compact th{white-space:nowrap;padding:.35rem .55rem;font-size:12px}@media (max-width:900px){.practice-layout.wide{grid-template-columns:1fr}}@media (max-width:420px){.segmented{flex-wrap:nowrap;width:100%;display:flex}.segmented button{flex:auto;padding:.45rem .4rem}}.canvas.workspace{max-width:none}.home-learning{min-width:0;padding-top:32px}.home-learning>section+section{margin-top:32px}.comparison-columns{gap:24px;display:grid}.comparison-columns>*{min-width:0}@container (min-width:1000px){.comparison-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:719px){.practice-layout,.practice-layout.wide{grid-template-columns:minmax(0,1fr)}.task-pane{border-right:0;border-bottom:1px solid var(--border)}}@media (max-width:640px){.canvas{--page-gutter:20px}.app-shell{--task-sidebar-width:64px}}.app-shell:has(.sidebar.collapsed){--task-sidebar-width:64px}:root{--page-overview-max:1240px;--page-reading-max:900px;--page-settings-max:1100px;--space-section:40px;--space-row:20px}.canvas{max-width:calc(var(--page-overview-max) + 2 * var(--page-gutter))}.canvas.reading{max-width:calc(var(--page-reading-max) + 2 * var(--page-gutter))}.page-heading h1{margin-top:0}.editorial-list{border-top:1px solid var(--border)}.discovery-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:1.15rem .85rem 1.15rem .9rem;display:flex}.discovery-row>div{min-width:0}.discovery-row:hover{background:var(--hover)}.discovery-row h2,.discovery-row h3{font-size:17px;font-weight:560}.row-action{flex-shrink:0;align-items:center;gap:8px;font-size:13px;display:flex}.home-start{border-bottom:1px solid var(--border);padding:0 0 32px}.continuation{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:24px 0;display:flex}.continuation h2{margin-top:8px}.filter-field{color:var(--text-secondary);flex-direction:column;gap:8px;min-width:0;font-size:12px;display:flex}.browser-filters{margin-top:8px}.browser-filters>.browser-search{max-width:40rem}.filter-toolbar{flex-wrap:wrap;align-items:end;gap:12px 16px;margin-top:16px;display:flex}.filter-toolbar .filter-field{flex:0 11.5rem;max-width:14rem}.filter-select{min-width:0;max-width:100%;min-height:40px}.pagination{padding-block:24px}.browser-context,.pagination{justify-content:space-between;align-items:center;gap:16px;display:flex}.browser-context{flex-wrap:wrap;padding-block:12px;font-size:13px}.browser-context a{color:var(--accent)}.problem-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:-4px 0 10px;display:flex}.problem-toolbar-list{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.problem-toolbar-list:hover{color:var(--text)}.problem-toolbar-pager{align-items:center;gap:4px;display:inline-flex}.problem-toolbar-index{font-variant-numeric:tabular-nums;color:var(--muted);margin-right:4px;font-size:12px}.problem-toolbar-action{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;margin:0 6px 0 0;padding:0;font-size:13px}.problem-toolbar-action:hover{color:var(--text)}.problem-pager-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text);background:var(--main);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.problem-pager-btn:hover{background:var(--hover)}.problem-pager-btn.is-disabled{opacity:.35;pointer-events:none}.problem-heading{margin-top:2px}.problem-heading-row{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.problem-heading h1{letter-spacing:-.02em;font-size:1.25rem;font-weight:600;font-family:var(--font-sans);margin:0}.problem-meta{color:var(--text-secondary);flex-wrap:wrap;gap:6px 0;margin:8px 0 0;font-size:13px;display:flex}.problem-meta>span:not(:last-child):after{content:"·";color:var(--muted);margin:0 .55rem}.problem-list-header{margin-bottom:20px}.problem-list-title-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.problem-list-title-row h1{font-family:var(--font-sans);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:600}.problem-list-controls{flex-wrap:wrap;gap:8px;display:flex}.problem-list-search,.problem-list-select{border:1px solid var(--border);background:var(--main);min-height:36px;color:var(--text);border-radius:6px;padding:0 10px;font-size:13px}.problem-list-search{flex:220px;min-width:160px}.problem-list-select{flex:none}.problem-list-table{border-top:1px solid var(--border)}.problem-list-cols,.problem-list-row{border-bottom:1px solid var(--border);grid-template-columns:2.25rem minmax(0,1fr) 6.5rem;align-items:center;gap:12px;padding:.7rem .35rem;font-size:13px;display:grid}.problem-list-cols{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-top:.85rem;padding-bottom:.55rem;font-size:12px;font-weight:600}.problem-list-row:hover{background:var(--hover)}.problem-list-status{justify-content:center;align-items:center;display:inline-flex}.problem-list-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.problem-list-num{font-variant-numeric:tabular-nums;margin-right:4px}.problem-list-pager{justify-content:center;align-items:center;gap:16px;padding:24px 0 8px;display:flex}@media (max-width:640px){.problem-list-cols{display:none}.problem-list-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.problem-list-status{order:3;grid-column:1/-1}}.metrics-row{border-block:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:24px 0;display:grid}.metrics-row.single{grid-template-columns:minmax(0,max-content)}.metric-value{letter-spacing:-.04em;margin-bottom:6px;font-size:clamp(28px,3vw,40px);display:block}.question-row h2{line-height:1.5}@container (min-width:960px){.practice-layout,.practice-layout.wide{grid-template-columns:clamp(300px,35%,440px) minmax(480px,1fr)}}@container (min-width:800px) and (max-width:959px){.practice-layout,.practice-layout.wide{grid-template-columns:280px minmax(480px,1fr)}}@container (max-width:799px){.practice-layout,.practice-layout.wide{grid-template-columns:minmax(0,1fr)}.task-pane{border-right:0;border-bottom:1px solid var(--border)}}@media (max-width:640px){.continuation,.discovery-row{gap:16px}.continuation{flex-direction:column;align-items:flex-start}.metrics-row{grid-template-columns:1fr;gap:20px}.metric-value{font-size:32px}.row-action{align-self:flex-start}.filter-toolbar{gap:12px}.filter-toolbar .filter-field{flex-basis:100%}}@media (max-width:360px){.canvas{--page-gutter:16px}.discovery-row{flex-wrap:wrap}}.table-inspector{margin-block:16px}.table-preview{overflow-wrap:anywhere;min-width:0}.table-scroll{overscroll-behavior-x:contain;border:1px solid var(--border);background:linear-gradient(to right,var(--main) 85%,transparent) 0 /18px 100% local,linear-gradient(to left,var(--main) 85%,transparent) 100% /18px 100% local,linear-gradient(to right,var(--border),var(--border)) 0 /1px 100% local,linear-gradient(to left,var(--border),var(--border)) 100% /1px 100% local;background-repeat:no-repeat;max-width:100%;overflow:auto hidden}.project-stage-bar{flex-wrap:wrap;gap:4px 12px;padding-block:8px;overflow:visible}.project-stage-bar .stage{white-space:normal;text-align:left;max-width:240px}@media (max-width:640px){.project-stage-bar .stage{flex:40%;padding:10px 6px;font-size:12px}}.syntax-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:800px;display:grid}.dialect-panels{border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dialect-panel{border-right:1px solid var(--border);min-width:0;padding:24px 20px}.dialect-panel:last-child{border-right:0}.dialect-panel h3{font-size:14px;font-weight:600}.dialect-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}@container (max-width:899px){.dialect-panels{grid-template-columns:1fr}.dialect-panel{border-right:0;border-bottom:1px solid var(--border)}}@media (max-width:640px){.syntax-controls{grid-template-columns:1fr}}.plan-panel{border-block:1px solid var(--border);min-width:0;padding:20px 0}.plan-panel pre{white-space:pre-wrap;overflow-wrap:anywhere}.plan-panel details{overflow:auto}[hidden]{display:none!important}.schema-columns{overflow-wrap:anywhere;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.schema-columns li{font-family:var(--font-mono);grid-template-columns:minmax(6.5rem,max-content) minmax(3.5rem,max-content) minmax(0,1fr);align-items:baseline;column-gap:12px;font-size:12px;line-height:1.45;display:grid}.schema-columns .schema-name{color:var(--text);font-weight:600}.schema-columns .schema-type{color:var(--muted)}.schema-columns .schema-key{color:var(--accent-strong);font-weight:650}.schema-columns .schema-ref{color:var(--text-secondary)}.canvas.settings .lead{max-width:65ch}.results-heading{border-bottom:1px solid var(--border);z-index:2;background:var(--main);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 16px;display:flex;position:sticky;top:0}.results-heading h2{margin:0;font-size:13px;font-weight:600}.outcome{border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.outcome-ok{color:var(--success);background:var(--success)}@supports (color:color-mix(in lab,red,red)){.outcome-ok{background:color-mix(in srgb,var(--success) 10%,transparent)}}.outcome-err{color:var(--error);background:var(--error)}@supports (color:color-mix(in lab,red,red)){.outcome-err{background:color-mix(in srgb,var(--error) 9%,transparent)}}.outcome-warn{color:var(--warning-text);background:var(--warning-text)}@supports (color:color-mix(in lab,red,red)){.outcome-warn{background:color-mix(in srgb,var(--warning-text) 10%,transparent)}}.outcome-info{color:var(--text-secondary);border-color:var(--border)}.sql-editor-surface{flex:none;height:320px;min-height:160px;overflow:auto}.sql-editor-surface>div{height:100%}.results-panel{min-height:180px;max-height:none;overflow:auto}.split-handle{cursor:row-resize;background:var(--editor);border-top:1px solid var(--border);touch-action:none;flex:none;height:8px;position:relative}.split-handle:after{content:"";background:var(--strong);opacity:.55;border-radius:2px;width:36px;height:3px;margin-left:-18px;position:absolute;top:2px;left:50%}.split-handle:focus-visible:after,.split-handle:hover:after{opacity:1;background:var(--accent)}.split-handle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.workspace-header{padding:14px var(--ws-gutter,24px) 12px;border-bottom:1px solid var(--border)}.workspace-header h1{letter-spacing:-.01em;margin:0;font-size:1.35rem;line-height:1.3}.workspace-header .stage-bar{margin-bottom:-12px}.data-jump{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.data-jump a{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:2px 8px;font-size:12px}.data-jump a:hover{color:var(--accent);border-color:var(--accent)}@media (min-width:641px){.topbar{display:none}}@container (min-width:800px){.practice-layout,.practice-layout.wide{grid-template-columns:clamp(320px,36%,480px) minmax(480px,1fr)}@media (min-height:600px){.workspace-page{height:100dvh;overflow:hidden;min-height:0!important}.workspace-page>.practice-layout{flex:auto;min-height:0}.workspace-page .task-pane{overscroll-behavior:contain;overflow-y:auto}.workspace-page .editor-pane{min-height:0;overflow:hidden}.workspace-page .editor-work-area{--framed:1;flex:auto;min-height:0}.workspace-page .results-panel{flex:1 1 0;min-height:140px}}}.sidebar-search{border:1px solid var(--border);background:var(--main);width:100%;color:var(--text-secondary);margin-bottom:10px}.sidebar-search .sidebar-kbd{font-family:var(--font-mono);color:var(--muted);margin-left:auto;font-size:11px}.sidebar.collapsed .sidebar-search{background:0 0;border-color:#0000}@media (max-width:640px){.sidebar-search{display:none}}.experiment-list{border:1px solid var(--border);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.experiment-list button{text-align:left;color:var(--text-secondary);min-height:36px;padding:8px 12px;font-size:13px}.experiment-list button:last-child{border-bottom:0}.experiment-list button:hover{background:var(--hover);color:var(--text)}.experiment-list button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.lab-steps{gap:4px;font-size:14px;display:grid}.lab-steps dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:10px;font-size:12px;font-weight:600}.lab-steps dd{color:var(--text);margin:0;line-height:1.55}.perf-question{border-block:1px solid var(--border);padding-block:20px}.perf-summary th[scope=row]{color:var(--text-secondary);white-space:nowrap;font-weight:600}.perf-summary td,.perf-summary th{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-family:var(--font-sans,inherit);white-space:normal;padding:10px 12px}.plan-steps{gap:4px;padding-left:20px;font-size:13px;list-style:decimal;display:grid}.plan-steps code{font-family:var(--font-mono);overflow-wrap:anywhere}.syntax-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:40px;display:grid}.syntax-rail{position:sticky;top:24px}.syntax-rail ul{border-left:1px solid var(--border);flex-direction:column;display:flex}.syntax-rail a{color:var(--text-secondary);border-left:2px solid #0000;margin-left:-1px;padding:6px 12px;font-size:13.5px;display:block}.syntax-rail a:hover{color:var(--text)}.syntax-rail a.active{color:var(--text);border-left-color:var(--text);background:var(--secondary);border-left-width:3px;padding-left:11px;font-weight:600}.key-difference{border-left:3px solid var(--accent);background:var(--accent-soft);padding:14px 18px}.key-difference h3{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-strong);font-size:13px;font-weight:600}.key-difference p{max-width:75ch;margin-top:6px;line-height:1.6}@container (max-width:899px){.syntax-layout{grid-template-columns:minmax(0,1fr);gap:24px}.syntax-rail{position:static}.syntax-rail ul{border-left:0;flex-flow:wrap;gap:6px}.syntax-rail a{border:1px solid var(--border);border-radius:4px;margin:0;padding:4px 10px}.syntax-rail a.active{border-color:var(--accent)}}.business-question{border-left:3px solid var(--accent);margin-top:12px;padding:4px 0 4px 18px}.table-relations{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;display:flex}.table-relations code{font-family:var(--font-mono);background:var(--secondary);border:1px solid var(--border);border-radius:4px;padding:2px 6px}.next-action-bar{z-index:5;background:var(--main);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:40px;padding:14px 0;display:flex;position:sticky;bottom:0}.project-context{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:14px;font-size:14px;line-height:1.5}.project-context button{margin-left:4px;font-size:13px}.canvas.settings{max-width:calc(var(--page-overview-max) + 2 * var(--page-gutter))}.canvas.settings>section>*{max-width:760px}.script-failure ol{gap:.35rem;display:grid}.script-failure li{grid-template-columns:4.5rem minmax(0,1fr);align-items:baseline;gap:.25rem .5rem;display:grid}.script-failure li>span:first-child{font-size:12px;font-weight:600}.script-failure li code{white-space:pre;border:1px solid var(--border);background:var(--editor);border-radius:4px;grid-column:2;padding:.35rem .5rem;font-size:12px;display:block;overflow-x:auto}.data-jump a.jump-section{font-family:var(--font-sans)}@container (min-width:800px){@media (min-height:600px){.workspace-page .task-pane .data-jump{z-index:3;background:var(--main);margin-inline:-1.5rem;padding:8px 1.5rem;position:sticky;top:-1.5rem}}}.nav-dot{background:var(--muted);border-radius:999px;flex:none;width:6px;height:6px;margin-left:5px;margin-right:7px}.mobile-bottom-nav{display:none}@media (max-width:640px){.mobile-bottom-nav{border-top:1px solid var(--border);background:var(--main);padding:4px 2px calc(4px + env(safe-area-inset-bottom));z-index:20;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;position:sticky;bottom:0}.mobile-nav-item{min-height:52px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-size:10px;font-weight:500;line-height:1.2;display:flex}.mobile-nav-item.active{color:var(--accent)}.content.has-mobile-nav{padding-bottom:8px}}.platform-hero{max-width:var(--content-wide)}.platform-hero h1{letter-spacing:-.025em;max-width:18ch;font-size:clamp(1.85rem,3vw,2.5rem);font-weight:600;line-height:1.15}.platform-hero .lead{max-width:42rem;color:var(--text-secondary);font-size:1.05rem}.continue-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--main);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding:1.25rem 1.35rem;display:flex}.continue-card .eyebrow{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.subject-list{border-top:1px solid var(--border);margin-top:1.5rem}.subject-row{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;padding:1.15rem 0;display:grid}.subject-row .subject-icon{border-radius:var(--radius-md);border:1px solid var(--border);width:40px;height:40px;color:var(--accent);background:var(--accent-soft);justify-content:center;align-items:center;display:inline-flex}.availability-chip,.subject-row.planned{color:var(--text-secondary)}.availability-chip{white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px;font-weight:500}.availability-chip.available{color:var(--text);background:0 0}.section-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:3rem;font-size:12px;font-weight:600}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.canvas.reading h2,.canvas:not(.settings):not(.comparison-page)>h1,.continue-card h2,.platform-hero h1,.workspace-header h1{font-family:var(--font-serif);letter-spacing:-.03em;font-weight:520}.canvas.reading .lead,.canvas.reading li,.canvas.reading p{font-family:var(--font-serif);font-size:1.125rem;line-height:1.7}.canvas.reading .lead{color:var(--text-secondary);max-width:38rem;font-size:1.25rem}.canvas.reading .btn,.canvas.reading .metadata,.canvas.reading h3,.canvas.reading summary{font-family:var(--font-sans)}.canvas.reading .metadata{font-size:13px;line-height:1.5}.canvas.reading .sql-mono,.canvas.reading code,.canvas.reading pre{font-family:var(--font-mono);font-size:13px}.canvas.reading p{max-width:65ch}.platform-hero h1{max-width:16ch}.continue-card{border-left:3px solid var(--subject);border-radius:14px;padding:1.4rem 1.5rem}.continue-card h2{letter-spacing:-.03em;font-size:1.55rem}.subject-list{border-top:0;flex-direction:column;gap:10px;margin-top:1.25rem;display:flex}.subject-row{border:1px solid var(--border);background:var(--main);border-radius:12px;padding:1rem 1.1rem}.subject-row:hover{background:var(--hover)}.subject-icon[data-subject=sql]{color:#1d4f91;background:#e8eef6;border-color:#0000}.subject-icon[data-subject=python]{color:#1b6b45;background:#e7f3ec;border-color:#0000}.subject-icon[data-subject=pyspark]{color:#8a5a12;background:#f8f1e4;border-color:#0000}.subject-icon[data-subject=power-bi]{color:#8a6a12;background:#f7f3e4;border-color:#0000}.subject-icon[data-subject=ml]{color:#5c4d8a;background:#f0eef6;border-color:#0000}.subject-icon[data-subject=ai-engineering]{color:#1f4e73;background:#e7f0f6;border-color:#0000}html[data-theme=dark] .subject-icon[data-subject=sql]{color:#c5d4ef;background:#1c2838}html[data-theme=dark] .subject-icon[data-subject=python]{color:#b7dcc8;background:#173028}html[data-theme=dark] .subject-icon[data-subject=pyspark]{color:#ecd3a4;background:#322818}html[data-theme=dark] .subject-icon[data-subject=power-bi]{color:#ead9a4;background:#2e2818}html[data-theme=dark] .subject-icon[data-subject=ml]{color:#d4ccea;background:#262236}html[data-theme=dark] .subject-icon[data-subject=ai-engineering]{color:#c5d7e8;background:#1a2832}.learning-path{border-top:0;flex-direction:column;gap:8px;display:flex}.index-row{background:var(--main);border:1px solid var(--border);border-left-width:3px;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:1rem 1rem 1rem .9rem}.index-row:hover{background:var(--hover)}.project-card{position:relative}.project-card-link:after{content:"";z-index:1;position:absolute;inset:0}.project-card-action{z-index:2;position:relative}.current-module{border-color:var(--subject)}@supports (color:color-mix(in lab,red,red)){.current-module{border-color:color-mix(in srgb,var(--subject) 55%,var(--border))}}.current-module{border-left-color:var(--subject);background:var(--subject)}@supports (color:color-mix(in lab,red,red)){.current-module{background:color-mix(in srgb,var(--subject) 7%,var(--main))}}.current-module .module-id{color:var(--subject)}.module-id{color:var(--muted)}.metric-value{letter-spacing:-.03em;font-size:1.35rem;font-weight:600}.metrics-row{border-block:0;padding-top:8px}.course-progress{background:var(--border);border-radius:99px;width:min(100%,9rem);height:3px;margin-bottom:10px;display:block;overflow:hidden}.course-progress:after{content:"";height:100%;width:var(--progress,0);display:block}.course-progress:after,.stage.active:after{background:var(--subject)}.stage span{border-color:var(--border)!important}.stage.active span{background:var(--subject);color:#fff;border-color:var(--subject)!important}html[data-theme=dark] .stage.active span{color:#111}.nav-item.active .nav-dot{background:var(--subject)}.mobile-nav-item.active{color:var(--text);font-weight:650}.editor-tab{background:var(--ide-bg);height:28px;color:var(--ide-text);border:1px solid var(--ide-border);border-bottom-color:var(--ide-bg);font-family:var(--font-mono);border-radius:6px 6px 0 0;align-items:center;margin-top:8px;padding:0 12px;font-size:12px;display:inline-flex}.editor-pane .btn{color:var(--ide-text);border-color:var(--ide-border);background:0 0}.editor-pane .btn.ghost{color:var(--ide-muted);border-color:#0000}.editor-pane .btn.ghost:hover,.editor-pane .btn:hover{background:var(--ide-elevated);color:var(--ide-text)}.editor-pane .btn.primary{border-color:var(--accent)}.editor-pane .btn.primary,.editor-pane .btn.primary:hover{background:var(--accent);color:var(--on-accent)}.editor-pane .results-heading{background:var(--ide-chrome)}.editor-pane .results-table th{background:var(--ide-elevated);color:var(--ide-muted)}.editor-pane .results-table td{color:var(--ide-text)}.editor-pane .split-handle{background:var(--ide-chrome)}.task-pane h2{letter-spacing:-.03em}.canvas.reading .border pre,.example-block pre{background:0 0}.app-shell{background:var(--sidebar)}.activity-breadcrumb{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-bottom:10px;font-size:13px;display:flex}.activity-breadcrumb a:hover,.activity-breadcrumb button:hover{color:var(--text)}.activity-breadcrumb button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.page-heading{margin-bottom:28px}.page-heading h1,.workspace-header h1{font-family:var(--font-sans);font-weight:560}.workspace-header{flex:none}.course-summary{border-bottom:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:6px 0;padding:4px 0 18px;font-size:13px;display:flex}.course-summary>*+:before{content:"·";color:var(--muted);margin:0 10px;font-weight:400}.course-summary a{color:var(--text-secondary);text-decoration:none}.course-summary a:hover{color:var(--text)}.course-summary-stat{color:var(--text);font-variant-numeric:tabular-nums;font-weight:650}.continue-learning{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-top:28px;padding:22px 0 4px;display:flex}.continue-learning-copy{min-width:min(100%,16rem);max-width:36rem}.continue-learning-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 6px;font-size:11px;font-weight:700}.continue-learning-title{font-family:var(--font-serif);letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:520;line-height:1.25}.continue-learning-stage{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.4}.continue-learning-cta{flex:none;gap:8px;min-height:44px;padding-inline:18px}@media (max-width:560px){.continue-learning{align-items:stretch}.continue-learning-cta{justify-content:center;width:100%}}.practice-layout.adjustable{grid-template-columns:minmax(0,1fr)}.task-divider{display:none}.task-pane{overflow-wrap:anywhere}.results-panel>*,.task-pane>*{min-width:0;max-width:100%}.results-table{width:max-content;min-width:100%}.task-pane .schema-columns{font-size:12px}.table-preview .results-table{width:max-content;min-width:max(280px,100%)}.workspace-help{position:relative}.help-panel{border-bottom:1px solid var(--border);background:var(--main);max-height:min(240px,36dvh);padding:16px;overflow:auto}.workspace-help-content{overflow-wrap:anywhere;font-size:13px}.workspace-help-content pre{max-width:100%}.editor-actions{z-index:4;flex-direction:column;align-items:stretch;display:flex;position:relative}.editor-actions-row{display:flex}.canvas.reading.lesson-reading{max-width:calc(1120px + 2 * var(--page-gutter));display:block}.lesson-prose{min-width:0}.canvas.reading .concept-question{font-family:var(--font-sans);margin-top:12px;font-size:1.35rem;line-height:1.5}.dialect-panel pre,.plan-panel pre{white-space:pre;overflow-wrap:normal;padding-block:8px;overflow-x:auto}.settings-grid{grid-template-columns:minmax(0,1fr);gap:28px 48px;margin-top:32px;display:grid}.settings-grid>section{min-width:0;margin:0}.settings-grid>section>*{max-width:65ch}.experiment-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.experiment-list button{border-bottom:1px solid var(--border)}@container (min-width:800px){.practice-layout.adjustable{grid-template-columns:var(--task-width,46%) 8px minmax(0,1fr)}.task-divider{cursor:col-resize;touch-action:none;background:var(--secondary);border-inline:1px solid var(--border);display:block}.task-divider:focus-visible,.task-divider:hover{background:var(--strong)}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.editor-actions{position:sticky;bottom:0}}@media (max-height:599px) and (min-width:901px){.workspace-page .editor-pane{align-self:start;max-height:100dvh;position:sticky;top:0}.workspace-page .sql-editor-surface{height:180px}.workspace-page .results-panel{min-height:120px;max-height:220px}}.concept-question:focus,.lesson-prose h2[tabindex="-1"]:focus{outline:none}.task-pane .task-section{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.task-pane .task-section:first-child{border-top:none;margin-top:0;padding-top:0}.task-pane .eyebrow{letter-spacing:.08em;color:var(--text-secondary);font-size:11px;font-weight:700}.task-pane .data-jump{margin-top:12px}.page-heading h1{font-family:var(--font-serif);letter-spacing:-.03em;font-weight:520}.settings .page-heading h1{font-family:var(--font-sans)}@media (max-width:640px){.editor-actions{bottom:calc(60px + env(safe-area-inset-bottom))}}.help-panel{--accent:var(--ide-text);--accent-strong:var(--ide-text);--on-accent:var(--ide-bg)}.example-run{border:1px solid var(--border);background:var(--main);border-radius:6px;min-width:0}.example-run-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 16px;display:flex}.example-run-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.example-run>pre{margin:0;padding:16px}.example-run-result{border-top:1px solid var(--border)}.example-run-result-bar{justify-content:space-between;align-items:center;gap:8px;padding:4px 8px 4px 16px;display:flex}.example-run-result .results-table{width:max-content;min-width:calc(100% - 32px);margin:0 16px 16px}.example-run .btn.ghost{min-height:32px;padding-inline:10px}.table-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;gap:28px 32px;display:grid}.table-grid>.table-group-label{grid-column:1/-1;margin:0}.table-summary-list{border-top:1px solid var(--border)}.table-summary{border-bottom:1px solid var(--border);padding:10px 0}.table-summary>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.table-summary[open]>summary{margin-bottom:8px}.results-panel.is-empty{min-height:0}@container (min-width:800px){@media (min-height:600px){.workspace-page .results-panel.is-empty{min-height:56px}}}.replace-confirm{border:1px solid var(--border);background:var(--secondary);border-radius:6px;padding:12px;font-size:13px}.comparison-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:8px;display:grid}.comparison-choices button{text-align:left;border:1px solid var(--border);background:var(--main);border-radius:6px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.comparison-choices button:hover{border-color:var(--strong)}.comparison-choices button[aria-pressed=true]{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.comparison-choice-title{color:var(--text);font-size:14px;font-weight:600}.reference-badge{border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.dialect-panel{flex-direction:column;display:flex}.dialect-panel h3{min-height:1.5em}.dialect-panel pre{flex:auto;margin-top:12px}@container (max-width:899px){.syntax-rail a.active{border-width:1px;border-color:var(--text);padding-left:10px}}.completed-mark{color:var(--success);white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.up-next-tag{border:1px solid var(--border);letter-spacing:.02em;color:var(--text-secondary);vertical-align:2px;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.results-table.perf-summary{table-layout:fixed;width:100%;min-width:0}.perf-summary th[scope=row]{white-space:normal;width:28%}.perf-summary td,.perf-summary th{overflow-wrap:anywhere}@container (max-width:560px){.perf-summary th[scope=row]{width:34%}.perf-summary td,.perf-summary th{padding:8px;font-size:12px}}.practice-page .problem-list-header{margin-top:40px}.practice-page .problem-list-title-row h2{margin:0}.tool-header{padding:48px var(--page-gutter,40px) 20px;border-bottom:1px solid var(--border);flex:none}.tool-header .page-heading{margin-bottom:0}@media (max-width:640px){.tool-header{padding:24px 20px 16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--bg-canvas:#fbfaf7;--bg-surface:#fbfaf7;--bg-subtle:#f3f1ec;--bg-hover:#efede7;--border-default:#e4e1da;--strong:#cfcbc2;--accent-subtle:#efede7;--rt-accent:#1d4f91;--rt-header-h:57px;--rt-measure:46rem;--rt-wide:1120px}html[data-theme=dark]{--rt-accent:#9eb6e0}body,html:not([data-theme=light]) body{background:var(--bg)}.rt-shell{display:flex;flex-direction:column;min-height:100dvh;background:var(--main)}.rt-shell>.content{flex:1 1 auto}.rt-header{position:relative;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:var(--rt-header-h);padding:0 clamp(16px,3vw,32px);border-bottom:1px solid var(--border);background:var(--main)}.rt-header-end,.rt-header-start{display:flex;align-items:center;gap:6px;min-width:0}.rt-header-end{justify-content:flex-end}.rt-header-sep{color:var(--strong);font-size:18px;margin:0 2px 0 6px}.rt-wordmark{font-family:var(--font-sans);font-size:19px;font-weight:650;letter-spacing:-.045em;color:var(--text);line-height:1;white-space:nowrap}.rt-wordmark-dot{color:var(--rt-accent)}.rt-nav{display:flex;align-items:center;gap:2px}.rt-nav-item{position:relative;padding:8px 14px;font-size:14px;font-weight:500;color:var(--text-secondary);border-radius:6px}.rt-nav-item.active,.rt-nav-item:hover{color:var(--text)}.rt-nav-item.active:after{content:"";position:absolute;left:14px;right:14px;bottom:calc(-1 * (var(--rt-header-h) - 36px) / 2 - 1px);height:2px;background:var(--text)}.rt-icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:6px;color:var(--text-secondary)}.rt-icon-button.active,.rt-icon-button:hover{color:var(--text);background:var(--hover)}.rt-menu{position:relative}.rt-menu-button{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 10px;border-radius:6px;font-size:14px;font-weight:550;color:var(--text)}.rt-menu-button:hover,.rt-menu-button[aria-expanded=true]{background:var(--hover)}.rt-tools-menu .rt-menu-button{font-weight:500;color:var(--text-secondary)}.rt-menu-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:260px;max-width:min(340px,calc(100vw - 24px));padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--main);box-shadow:0 16px 40px -18px rgba(20,18,12,.28)}.rt-menu-panel.end{left:auto;right:0}.rt-menu-label{margin:6px 10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.rt-menu-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:6px;font-size:14px;color:var(--text)}.rt-menu-item.stacked{flex-direction:column;align-items:flex-start;gap:2px}.rt-menu-item[aria-current],a.rt-menu-item:hover{background:var(--hover)}.rt-menu-hint,.rt-menu-item.disabled{color:var(--muted)}.rt-menu-hint{font-size:12px;line-height:1.4}.rt-menu-footer{display:block;margin-top:4px;padding:10px 10px 6px;border-top:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.rt-menu-footer:hover{color:var(--text)}@container (min-width: 800px){@media (min-height:600px){.workspace-page{height:calc(100dvh - var(--rt-header-h))}}}@media (max-width:900px){.mobile-task-bar[data-visible]{left:0}}@media (max-width:640px){.rt-header{grid-template-columns:1fr auto;padding:0 12px}.rt-header>.rt-nav{display:none}.rt-header-sep{margin:0 0 0 4px}.rt-menu-button{padding:0 8px}.rt-tools-menu .rt-menu-panel{right:-44px}}.canvas{padding-top:3.5rem}.page-heading{margin-bottom:36px}.page-heading>.metadata:first-child{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.page-heading h1{font-size:clamp(2.1rem,4vw,2.75rem);line-height:1.1}.page-heading .lead{max-width:40rem;margin-top:14px}.canvas>h2.pt-10,.canvas>h2.pt-8,.learn-page>h2,.practice-page .problem-list-title-row h2,.rt-section-label{font-family:var(--font-sans);font-size:12px!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.learning-path{display:block;gap:0;margin-top:14px;border-top:1px solid var(--text)}.index-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:4px 20px;align-items:baseline;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:22px 4px}.index-row,.index-row:hover{background:transparent}.index-row:hover .text-\[15px\]{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.index-row .module-id{font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted);padding-top:0}.index-row .text-\[15px\]{font-size:17px;font-weight:550;letter-spacing:-.01em}.index-row .text-xs{font-size:14px;color:var(--text-secondary)}.index-aside .index-progress{font-size:13px;font-weight:500;color:var(--text-secondary)}.index-row:has(.index-aside){grid-template-columns:64px minmax(0,1fr) minmax(7rem,auto)}@media (max-width:640px){.index-row{grid-template-columns:40px minmax(0,1fr)!important;padding:18px 0}}.continue-learning{margin-top:8px;padding:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:center}.course-summary{border-bottom:0;padding-bottom:8px}.tool-header{background:var(--main)}.canvas:not(.reading):not(.settings){max-width:calc(var(--rt-wide) + 2 * var(--page-gutter))}.tool-header{padding:22px clamp(16px,3vw,32px) 16px}.tool-header .page-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;margin:0}.tool-header .page-heading h1{font-size:1.6rem}.tool-header .page-heading .lead{margin:0;font-size:14px;line-height:1.5;max-width:52rem;color:var(--text-secondary)}@media (max-width:640px){.tool-header{padding:16px 16px 12px}}.canvas.reading .schema-columns,.canvas.reading .schema-columns *,.canvas.reading .table-inspector li,.canvas.reading .table-inspector p{font-family:var(--font-sans);font-size:13px;line-height:1.5}.canvas.reading .schema-columns code,.canvas.reading .table-inspector code{font-family:var(--font-mono)}.problem-list-table{border-top:1px solid var(--text);margin-top:8px}.problem-list-cols,.problem-list-row{grid-template-columns:2.5rem minmax(0,1fr) 6.5rem 8.5rem;gap:16px;padding:14px 4px}.problem-list-cols{padding:10px 4px;font-size:11px;letter-spacing:.08em}.problem-list-row:hover{background:transparent}.problem-list-row:hover .problem-list-title{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.problem-list-num{font-family:var(--font-mono);font-size:13px;color:var(--muted);margin:0}.problem-list-name{display:flex;flex-direction:column;gap:2px;white-space:normal}.problem-list-title{font-size:15px;font-weight:550;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-list-topic{font-weight:400}.problem-list-state,.problem-list-topic{font-size:13px;color:var(--muted)}.problem-list-state.state-solved{color:var(--success);font-weight:550}.problem-list-state.state-attempted,.problem-list-state.state-guided{color:var(--text-secondary)}@media (max-width:640px){.problem-list-row{grid-template-columns:2rem minmax(0,1fr) auto;gap:4px 12px}.problem-list-row>:nth-child(4){grid-column:2}}.project-row-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.project-brief{display:grid;grid-template-columns:minmax(10rem,13rem) minmax(0,1fr);margin:14px 0 0;border-top:1px solid var(--text)}.project-brief dd,.project-brief dt{margin:0;padding:16px 0;border-bottom:1px solid var(--border)}.project-brief dt{font-size:13px;font-weight:600;color:var(--text-secondary);padding-right:24px}.project-brief dd{font-size:15px;line-height:1.6;color:var(--text);max-width:var(--rt-measure)}@media (max-width:640px){.project-brief{grid-template-columns:minmax(0,1fr)}.project-brief dt{border-bottom:0;padding-bottom:2px}.project-brief dd{padding-top:0}}.milestone-stepper{display:flex;align-items:center;gap:16px;margin:4px 0 10px;min-width:0}.milestone-stepper-project{flex:none;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.milestone-stepper ol{display:flex;gap:4px;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}.milestone-stepper a{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);white-space:nowrap}.milestone-stepper a:hover{border-color:var(--strong);color:var(--text)}.milestone-stepper a.done{color:var(--success)}.milestone-stepper a[aria-current=step]{border-color:var(--text);color:var(--text);background:var(--main)}.milestone-stepper-name{display:none;font-family:var(--font-sans)}.milestone-stepper a[aria-current=step] .milestone-stepper-name{display:inline}@media (max-width:640px){.milestone-stepper-project{display:none}}.rt-home-header{grid-template-columns:1fr auto;max-width:1120px;margin:0 auto;width:100%;padding:0 clamp(20px,4vw,40px);border-bottom:0;background:transparent}.rt-shell:has(.home){background:var(--bg)}.home{max-width:1120px;margin:0 auto;padding:clamp(48px,9vw,112px) clamp(20px,4vw,40px) 96px}.home-intro h1{margin:0;font-family:var(--font-serif);font-weight:520;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.06;letter-spacing:-.035em;max-width:16ch}.home-intro p{margin:16px 0 0;font-size:1.1rem;color:var(--text-secondary)}.home-subjects{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin:48px 0 0;padding:0;list-style:none}.home-subject{grid-column:span 3;position:relative;display:flex;flex-direction:column;min-height:220px;padding:24px;border:1px solid var(--border);border-radius:10px;background:var(--main)}.home-subject h2{margin:18px 0 0;font-family:var(--font-serif);font-weight:520;font-size:1.6rem;letter-spacing:-.02em}.home-subject p{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--text-secondary)}.home-subject-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:8px;color:var(--text)}.home-subject-status{font-size:13px;color:var(--muted)}.home-subject.planned{background:transparent}.home-subject.planned .home-subject-icon,.home-subject.planned h2{color:var(--text-secondary)}.home-subject.planned .home-subject-status{margin-top:auto;padding-top:20px}.home-subject.available{grid-column:span 8;border-color:var(--strong);transition:border-color .15s,box-shadow .15s}.home-subject.available:hover{border-color:var(--text);box-shadow:0 16px 40px -28px rgba(20,18,12,.35)}.home-subject.available h2{font-size:2.4rem}.home-subject.available p{font-size:15px;max-width:32rem}.home-subject-cover{position:absolute;inset:0;z-index:1;border-radius:inherit}.home-subject-cover:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-subject-actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:auto;padding-top:24px}.home-subject-actions .btn{min-height:44px;padding-inline:18px;gap:8px}.home-subject.available+.home-subject,.home-subject.planned:first-of-type{grid-column:span 4}@media (max-width:900px){.home-subject,.home-subject.available+.home-subject{grid-column:span 6}.home-subject.available{grid-column:span 12}}@media (max-width:600px){.home-subjects{grid-template-columns:minmax(0,1fr)}.home-subject,.home-subject.available,.home-subject.available+.home-subject{grid-column:1/-1}.home-subject{min-height:0}}.business-question .eyebrow,.canvas.reading .eyebrow{font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--muted)}.home-subject.planned h2{font-size:1.35rem}