/*! 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-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:-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-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--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{.invisible{visibility:hidden}.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}.order-1{order:1}.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}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.lowercase{text-transform:lowercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[image\:\\\"\+value\+\\\"\]{image:\"+value+\"}.\[image\:logo\]{image:logo}}:root{color-scheme:dark;--bg:#0c1118;--sidebar:#10161e;--panel:#121a24;--panel-alt:#161f2b;--hover:#1b2734;--border:#26313f;--border-soft:#1e2936;--text:#e8edf4;--muted:#94a2b5;--faint:#78889e;--accent:#65dbc4;--accent-dark:#183d39;--accent-ink:#0b2722;--purple:#b6a0f2;--amber:#edc281;--red:#fb9197;--code-bg:#0f1620;--shadow:0 18px 50px #00000016}[data-theme=light]{color-scheme:light;--bg:#f7f9fc;--sidebar:#fff;--panel:#fff;--panel-alt:#f1f5f9;--hover:#eaf0f5;--border:#d6dfe9;--border-soft:#e4eaf0;--text:#1c293a;--muted:#53647b;--faint:#65748a;--accent:#087e6b;--accent-dark:#e0f4ec;--accent-ink:#fff;--purple:#7452bc;--amber:#865810;--red:#bd3544;--code-bg:#f7f9fc;--shadow:0 18px 50px #18334b08}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{text-decoration:none}a,button{color:inherit}button,input,select,textarea{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent-dark);color:var(--accent)}button{background:0 0;border:0}h1,h2,h3,p{margin:0}code,kbd,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}svg{flex-shrink:0}input,select,textarea{color:var(--text);background:var(--code-bg);border:1px solid var(--border);border-radius:7px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}}select{padding:9px 28px 9px 11px}textarea{resize:vertical}a,button,input,select{transition:color .15s,background .15s,border-color .15s,box-shadow .15s}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.skip-link{z-index:100;background:var(--accent);color:var(--accent-ink);border-radius:7px;padding:10px 20px;position:fixed;top:-60px;left:20px}.skip-link:focus{top:10px}.app-shell{min-height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid var(--border-soft);z-index:30;flex-direction:column;width:232px;padding:28px 17px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.6px;align-items:center;gap:10px;margin-bottom:43px;padding:0 7px;font-size:17px;font-weight:730;display:flex}.brand-mark{background:var(--accent-dark);width:35px;height:38px;color:var(--accent);border:1px solid #39695f;border-radius:10px;place-items:center;display:grid}.brand-light{color:var(--text);font-weight:450}.brand small{color:var(--faint);letter-spacing:1.15px;white-space:nowrap;margin-top:4px;font-size:7.5px;font-weight:600;display:block}.sidebar-caption{color:var(--faint);letter-spacing:1.4px;justify-content:space-between;align-items:center;margin-bottom:13px;padding:0 11px;font-size:9px;font-weight:700;display:flex}.sidebar-caption span{letter-spacing:.6px;font-size:8px}.nav-link{min-height:43px;color:var(--muted);border:1px solid #0000;border-radius:7px;align-items:center;gap:12px;margin-bottom:4px;padding:0 12px;font-size:12px;font-weight:530;display:flex}.level-link:hover,.nav-link:hover{color:var(--text);background:var(--hover)}.nav-link.active{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.nav-link.active{background:color-mix(in srgb,var(--accent) 8%,var(--sidebar))}}.nav-link.active{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.nav-link.active{border-color:color-mix(in srgb,var(--accent) 12%,transparent)}}.nav-count{background:var(--panel-alt);border-radius:4px;margin-left:auto;padding:1px 5px;font-family:monospace;font-size:10px}.learning-caption{margin-top:33px}.level-link{color:var(--muted);border-radius:6px;align-items:center;gap:9px;padding:11px 10px;font-size:10.5px;font-weight:500;display:flex}.level-link>svg{opacity:.6;margin-left:auto}.level-link.active{background:var(--hover);color:var(--text)}.level-dot{border:1px solid var(--level-color);width:21px;height:21px}@supports (color:color-mix(in lab,red,red)){.level-dot{border:1px solid color-mix(in srgb,var(--level-color) 30%,transparent)}}.level-dot{background:var(--level-color);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.level-dot{background:color-mix(in srgb,var(--level-color) 7%,transparent)}}.level-dot{color:var(--level-color);place-items:center;font-size:10px;display:grid}.level-1{--level-color:#69d9bf}.level-2{--level-color:#87aff6}.level-3{--level-color:#b5a0f2}.level-4{--level-color:#edbc83}.level-5{--level-color:#e599bf}[data-theme=light] .level-1{--level-color:#13826b}[data-theme=light] .level-2{--level-color:#3565b7}[data-theme=light] .level-3{--level-color:#7853b8}[data-theme=light] .level-4{--level-color:#906118}[data-theme=light] .level-5{--level-color:#a14574}.trainer-promo{border:1px solid var(--border);background:linear-gradient(125deg,var(--panel-alt),var(--sidebar));border-radius:9px;margin:auto 5px 21px;padding:15px 13px 12px}.trainer-promo>div{color:var(--accent);align-items:center;gap:7px;font-size:10px;font-weight:600;display:flex}.trainer-promo>div>svg:last-child{margin-left:auto}.trainer-promo p{color:var(--muted);padding:12px 0;font-size:11px;line-height:1.75}.trainer-promo .text-link{justify-content:space-between;font-size:10px;display:flex}.sidebar-bottom{border-top:1px solid var(--border-soft);padding:17px 10px 0;font-size:10px}.sidebar-bottom>span{display:block}.local-status{margin-bottom:4px}.live-badge i,.local-status i,.mini-dot,.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.sidebar-bottom>.subtle{padding-left:12px;font-size:9px}.main-shell{margin-left:232px}.topbar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;height:65px;padding:0 36px;display:flex}.topbar-actions,.topbar-left{color:var(--faint);align-items:center;gap:12px;font-size:11px;display:flex}.topbar-left strong{color:var(--muted);font-weight:500}.topbar-actions{gap:18px}.search-link{color:var(--faint);align-items:center;gap:10px;font-size:11px;display:flex}.search-link kbd{border:1px solid var(--border);border-radius:4px;margin-left:20px;padding:0 5px;font-size:14px}.topbar-divider{border-right:1px solid var(--border);height:22px}.avatar{background:var(--panel-alt);border:1px solid var(--border);width:31px;height:31px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.icon-button{width:32px;height:32px;color:var(--muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--hover);color:var(--text)}.mobile-menu{display:none}.page-main{max-width:1600px;margin:0 auto;padding:42px 40px 32px}.eyebrow{letter-spacing:1.6px;color:var(--accent);align-items:center;gap:7px;font-size:10px;font-weight:650;display:flex}.eyebrow .mini-dot{width:5px;height:5px;margin:0 1px 0 0;box-shadow:0 0 10px #65dbc444}.hero{grid-template-columns:1.35fr 1fr;align-items:center;gap:50px;margin-bottom:37px;display:grid}.hero-copy{padding:8px 0 5px}.hero h1{letter-spacing:-2.2px;margin:19px 0;font-size:clamp(36px,3.3vw,55px);font-weight:680;line-height:1.15}.hero h1>span{color:var(--accent)}.hero-copy>p{color:var(--muted);font-size:12px;line-height:1.9}.hero-actions{gap:11px;margin-top:26px;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:11px 17px;font-size:11px;font-weight:650;line-height:1.5;display:inline-flex}.button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 2px 8px #00000010}.button.primary:hover:not(:disabled){filter:brightness(1.09)}.button.secondary{background:var(--panel);border-color:var(--border);color:var(--text)}.button.secondary:hover:not(:disabled){background:var(--hover);border-color:var(--faint)}.button.small{padding:7px 10px;font-size:10px}.hero-footnote{color:var(--faint);gap:18px;margin-top:19px;font-size:9px;display:flex}.hero-footnote span{align-items:center;gap:4px;display:inline-flex}.hero-footnote svg{color:var(--accent)}.hero-preview{border:1px solid var(--border);background:radial-gradient(ellipse at 50% 0,#65dbc407,transparent 70%),var(--panel);box-shadow:var(--shadow);border-radius:12px;margin-top:5px;position:relative;overflow:hidden;transform:rotate(-1deg)}.preview-top{border-bottom:1px solid var(--border-soft);letter-spacing:1px;color:var(--muted);justify-content:space-between;padding:16px 20px;font-size:9px}.preview-top,.preview-top>span:first-child{align-items:center;display:flex}.preview-language{letter-spacing:0;color:var(--faint);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-family:monospace;font-size:9px}.preview-array{justify-content:center;gap:5px;padding:22px 18px 0;display:flex}.preview-cell{text-align:center;flex:1;max-width:39px;position:relative}.preview-cell small{color:var(--faint);margin-bottom:9px;font-family:monospace;font-size:9px;display:block}.preview-cell>span{border:1px solid var(--border);background:var(--code-bg);height:39px;color:var(--muted);border-radius:5px;place-items:center;font-family:monospace;font-size:17px;display:grid}.preview-cell.in-window>span{color:var(--accent);background:var(--accent-dark);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.preview-cell.in-window>span{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}}.preview-cell b{width:100%;color:var(--accent);font-size:9px;font-weight:550;position:absolute;top:69px;left:0}.preview-cell b:before{content:"↑";line-height:14px;display:block}.preview-window-label{color:var(--faint);justify-content:center;align-items:center;gap:7px;margin-top:43px;font-size:9px;display:flex}.preview-window-label span{background:var(--border);width:25px;height:1px}.preview-metrics{justify-content:space-around;margin:0 16px;padding:20px 12px;display:flex}.preview-metrics small{color:var(--faint);letter-spacing:1px;margin-bottom:5px;font-size:7px;display:block}.preview-metrics code{color:var(--text);font-size:12px}.preview-metrics .accent{color:var(--accent);font-weight:650}.preview-step{border-top:1px solid var(--border-soft);color:var(--faint);align-items:center;gap:11px;padding:13px 18px;font-size:9px;display:flex}.preview-step strong{color:var(--muted);font-weight:500}.preview-play{background:var(--accent-dark);color:var(--accent);border:1px solid #65dbc428;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.preview-wave{align-items:center;gap:3px;height:22px;margin-left:auto;display:flex}.preview-wave i{background:var(--accent);opacity:.5;border-radius:2px;width:3px;height:8px}.preview-wave i:nth-child(2n){opacity:.8;height:16px}.preview-wave i:nth-child(3){height:22px}.stats-strip{border:1px solid var(--border-soft);background:var(--panel);border-radius:9px;grid-template-columns:repeat(4,1fr);margin-bottom:35px;padding:19px 0;display:grid}.stats-strip>div{border-right:1px solid var(--border);align-items:center;gap:9px;padding:0 20px;display:flex}.stats-strip>div:last-child{border:0}.stat-icon{width:32px;height:32px;color:var(--muted);place-items:center;margin-right:1px;display:grid}.stats-strip strong{letter-spacing:-.7px;font-size:23px;font-weight:600}.stats-strip strong small{color:var(--faint);font-size:12px;font-weight:400}.stats-strip>div>span:last-child{color:var(--muted);max-width:75px;font-size:9px;line-height:1.5}.accent-icon{color:var(--accent)}.section{margin-top:30px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-heading h2{letter-spacing:-.45px;font-size:18px;font-weight:600}.section-heading p{color:var(--faint);margin-top:5px;font-size:11px}.text-link{color:var(--accent);align-items:center;gap:7px;font-size:10px;font-weight:550;display:inline-flex}.text-link:hover{text-underline-offset:3px;text-decoration:underline}.learning-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;display:grid}.learning-card{border:1px solid var(--border);background:var(--panel);border-radius:9px;min-width:0;padding:19px 15px 14px;transition:border-color .2s,transform .2s}.learning-card:hover{border-color:var(--level-color);transform:translateY(-3px)}.learning-card-top{justify-content:space-between;align-items:flex-start;gap:4px;margin-bottom:21px;display:flex}.topic-icon{color:var(--level-color);border:1px solid var(--level-color);place-items:center;width:38px;height:38px;display:grid}@supports (color:color-mix(in lab,red,red)){.topic-icon{border:1px solid color-mix(in srgb,var(--level-color) 20%,transparent)}}.topic-icon{background:var(--level-color)}@supports (color:color-mix(in lab,red,red)){.topic-icon{background:color-mix(in srgb,var(--level-color) 7%,transparent)}}.topic-icon{border-radius:9px}.level-tag{letter-spacing:.9px;color:var(--faint);white-space:nowrap;margin-top:3px;font-size:7px}.learning-card h3{letter-spacing:-.15px;min-height:36px;font-size:12px;font-weight:600;line-height:1.5}.learning-card>p{color:var(--faint);min-height:34px;margin:6px 0 16px;font-size:10px;line-height:1.7}.topic-count{color:var(--muted);gap:6px;margin-bottom:12px;font-size:8px;display:flex}.topic-count>span{color:var(--faint)}.progress-track{background:var(--border);border-radius:10px;height:3px;overflow:hidden}.progress-track>span{background:var(--level-color,var(--accent));height:100%;display:block}.learning-card-bottom{color:var(--faint);justify-content:space-between;align-items:center;gap:5px;margin-top:10px;font-size:8px;display:flex}.learning-card-bottom>svg{color:var(--level-color)}.dashboard-columns{grid-template-columns:1.65fr 1fr;gap:27px;margin-top:4px;display:grid}.problem-list{border:1px solid var(--border);background:var(--panel);border-radius:9px;overflow:hidden}.problem-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:11px;min-height:67px;padding:15px 17px;display:flex}.problem-row:last-child{border-bottom:0}.problem-row:hover{background:var(--hover)}.problem-status{color:var(--faint);display:flex}.problem-status.done{color:var(--accent)}.problem-number{color:var(--faint);font-family:monospace;font-size:9px}.problem-row-title{flex:1;min-width:0}.problem-row-title strong{font-size:10px;font-weight:550;display:block}.problem-row-title>span{color:var(--faint);text-transform:capitalize;margin-top:4px;font-size:8px;display:block}.difficulty{background:var(--accent);border-radius:4px;padding:3px 7px;font-size:9px}@supports (color:color-mix(in lab,red,red)){.difficulty{background:color-mix(in srgb,var(--accent) 8%,transparent)}}.difficulty{color:var(--accent);white-space:nowrap}.difficulty.medium{background:var(--amber)}@supports (color:color-mix(in lab,red,red)){.difficulty.medium{background:color-mix(in srgb,var(--amber) 8%,transparent)}}.difficulty.medium{color:var(--amber)}.problem-row-play{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:inline-flex}.dashboard-columns .problem-row-play{display:none}.problem-row>svg:last-child{color:var(--faint)}.popular-patterns{border:1px solid var(--border);background:var(--panel);border-radius:9px}.popular-patterns>a{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;min-height:67px;padding:15px 16px;display:flex}.popular-patterns>a:last-child{border-bottom:0}.popular-patterns>a:hover{background:var(--hover)}.pattern-symbol{background:var(--accent-dark);color:var(--accent);border-radius:7px;place-items:center;width:32px;height:32px;font-family:monospace;font-size:21px;display:grid}.pattern-1{color:var(--purple);background:#9e88e912}.pattern-2{color:var(--amber);background:#eabc7312}.pattern-3{color:#88b7e9;background:#88b7e912}.popular-patterns strong{font-size:11px;font-weight:550;display:block}.popular-patterns small{color:var(--faint);margin-top:3px;font-size:9px;display:block}.popular-patterns>a>svg{margin-left:auto}.bottom-callout{border:1px solid var(--border);background:radial-gradient(ellipse at 100% 0,#65dbc408,transparent),var(--panel);border-radius:9px;align-items:center;gap:20px;margin-top:32px;padding:24px;display:flex;position:relative;overflow:hidden}.callout-icon{width:50px;height:50px;color:var(--accent);background:var(--accent-dark);border-radius:12px;place-items:center;display:grid}.bottom-callout .eyebrow{letter-spacing:1px;font-size:8px}.bottom-callout h2{letter-spacing:-.2px;margin:5px 0;font-size:16px;font-weight:550}.bottom-callout p{color:var(--faint);font-size:10px}.bottom-callout .button{z-index:1;margin-left:auto;position:relative}.callout-sparkle{color:var(--accent);opacity:.035;width:150px;height:150px;position:absolute;right:45px;transform:rotate(15deg)}.page-footer{border-top:1px solid var(--border-soft);color:var(--faint);justify-content:space-between;margin:0 40px;padding:18px 0 24px;font-size:9px;display:flex}.page-footer>span:first-child{align-items:center;gap:7px;display:flex}.subtle{color:var(--faint)}.page-heading{margin:12px 0 34px}.page-heading h1{letter-spacing:-1.3px;margin:13px 0 12px;font-size:clamp(26px,3vw,38px);font-weight:650;line-height:1.3}.page-heading>p{color:var(--muted);max-width:780px;font-size:13px;line-height:1.9}.back-link{color:var(--faint);align-items:center;gap:7px;font-size:11px;display:inline-flex}.back-link:hover{color:var(--accent)}.catalog-toolbar{gap:10px;margin-bottom:20px;display:flex}.catalog-toolbar select{font-size:11px}.search-field{background:var(--panel);border:1px solid var(--border);color:var(--faint);border-radius:7px;flex:1;align-items:center;gap:10px;padding:0 12px;display:flex}.search-field:focus-within{border-color:var(--accent)}.search-field input{width:100%;box-shadow:none;background:0 0;border:0;padding:12px 0;font-size:12px}.list-caption{color:var(--faint);justify-content:space-between;margin-bottom:12px;font-size:10px;display:flex}.list-caption span:last-child{letter-spacing:1px;font-size:8px}.catalog-list .problem-row{gap:19px;min-height:78px;padding:17px 22px}.catalog-list .problem-row-title strong{font-size:13px}.catalog-list .problem-row-title>span{font-size:10px}.catalog-list .difficulty{text-align:center;min-width:58px;font-size:10px}.catalog-list .problem-row-play{margin:0 10px}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.topic-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:flex-start;padding:23px;display:flex;position:relative}.topic-card:hover{border-color:var(--accent)}.topic-card-icon{background:var(--accent-dark);width:42px;height:42px;color:var(--level-color,var(--accent));border-radius:9px;place-items:center;margin-bottom:20px;display:grid}.availability{color:var(--faint);border:1px solid var(--border);border-radius:5px;padding:4px 8px;font-size:9px;position:absolute;top:26px;right:20px}.availability.available{color:var(--accent)}.topic-card h2{margin-bottom:10px;font-size:17px;font-weight:550}.topic-card>p{color:var(--muted);margin-bottom:25px;font-size:12px;line-height:1.8}.topic-card .text-link{margin-top:auto}.tag-list{flex-wrap:wrap;gap:6px;margin-bottom:23px;display:flex}.tag-list span{color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:4px 7px;font-size:9px}.lesson-grid{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}.content-card{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:27px}.card-kicker{color:var(--accent);letter-spacing:1px;align-items:center;gap:8px;font-size:9px;font-weight:550;display:flex}.content-card h2{letter-spacing:-.5px;margin:16px 0;font-size:21px;font-weight:600}.content-card h3{margin:25px 0 8px;font-size:13px;font-weight:600}.content-card li,.content-card p{color:var(--muted);font-size:12px;line-height:1.9}.signal-list{flex-wrap:wrap;gap:8px;margin:22px 0;display:flex}.signal-list>span{color:var(--accent);background:var(--accent-dark);border:1px solid var(--accent);align-items:center;gap:6px;display:flex}@supports (color:color-mix(in lab,red,red)){.signal-list>span{border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}}.signal-list>span{border-radius:5px;padding:5px 8px;font-size:10px}.complexity-pair{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);gap:25px;margin:20px 0;padding:19px 0;display:flex}.complexity-pair>div{flex:1}.complexity-pair small{color:var(--faint);letter-spacing:1.1px;margin-bottom:6px;font-size:8px;display:block}.complexity-pair code{color:var(--accent);font-size:12px}.content-card ul{margin:0;padding-left:16px}.interview-note{background:var(--panel-alt);color:var(--accent);border-radius:7px;gap:10px;margin-top:23px;padding:17px;display:flex}.interview-note strong{font-size:11px}.interview-note p{margin-top:6px;font-size:11px}.related-topics{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.related-topics>span{color:var(--faint);letter-spacing:1px;font-size:8px}.related-topics a{color:var(--muted);border:1px solid var(--border);border-radius:5px;align-items:center;gap:5px;padding:6px 10px;font-size:10px;display:flex}.dp-progression{border:1px solid var(--border);background:var(--panel);color:var(--accent);border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin-top:20px;padding:25px;font-size:12px;display:flex}.dp-progression p{flex-basis:100%;font-size:11px}.dp-progression p,.planned-card{color:var(--muted);text-align:center}.planned-card{border:1px dashed var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:20px;padding:55px;display:flex}.planned-card h2{color:var(--text);font-size:22px}.planned-card p{max-width:530px;line-height:1.9}.info-banner{background:var(--accent-dark);border:1px solid var(--accent);align-items:center;gap:13px;display:flex}@supports (color:color-mix(in lab,red,red)){.info-banner{border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}}.info-banner{color:var(--accent);border-radius:8px;margin-bottom:25px;padding:20px;font-size:12px}.info-banner strong{margin-right:6px}.pattern-trainer-banner{border:1px solid var(--border);background:radial-gradient(ellipse at 70% 10%,#65dbc40a,transparent),var(--panel);border-radius:10px;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px;padding:28px;display:flex}.pattern-trainer-banner h2{margin:10px 0 6px;font-size:21px;font-weight:550}.pattern-trainer-banner p{color:var(--muted);font-size:12px}.trainer-page{max-width:800px;margin:10px auto 40px}.trainer-page>h1{letter-spacing:-1.2px;margin:15px 0 10px;font-size:38px;font-weight:630}.page-intro{color:var(--muted);font-size:13px}.trainer-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-top:30px;padding:35px}.trainer-count{color:var(--faint);letter-spacing:.8px;justify-content:space-between;margin-bottom:14px;font-size:10px;display:flex}.trainer-card>h2{letter-spacing:-.4px;margin:30px 0 12px;font-size:23px;font-weight:550;line-height:1.6}.trainer-card>p{color:var(--muted);font-size:12px}.answer-options{grid-template-columns:1fr 1fr;gap:12px;margin-top:25px;display:grid}.answer-option{text-align:left;background:var(--code-bg);border:1px solid var(--border);border-radius:7px;align-items:center;gap:12px;padding:15px;font-size:12px;display:flex}.answer-option>span{border:1px solid var(--border);width:24px;height:24px;color:var(--faint);border-radius:5px;place-items:center;font-size:10px;display:grid}.answer-option>svg{margin-left:auto}.answer-option:hover:not(:disabled){border-color:var(--accent)}.answer-option:disabled{opacity:.7}.answer-option.correct{border-color:var(--accent);color:var(--accent);background:var(--accent-dark);opacity:1}.answer-option.incorrect{border-color:var(--red);opacity:1}.answer-feedback{border:1px solid var(--border);background:var(--panel-alt);color:var(--accent);border-radius:8px;gap:13px;margin-top:25px;padding:20px;display:flex}.answer-feedback strong{font-size:12px}.answer-feedback p{color:var(--muted);margin:8px 0;font-size:12px;line-height:1.9}.answer-feedback a{font-size:11px}.trainer-next{justify-content:space-between;align-items:center;gap:20px;margin-top:30px;display:flex}.trainer-next>span{color:var(--faint);font-size:10px}.trainer-complete{text-align:center;flex-direction:column;align-items:center;gap:20px;display:flex}.trainer-complete>h2{margin:0}.completion-icon{width:70px;height:70px;color:var(--accent);background:var(--accent-dark);border-radius:50%;place-items:center;display:grid}.progress-summary{grid-template-columns:repeat(4,1fr);gap:17px;display:grid}.progress-summary .content-card{color:var(--accent);flex-direction:column;gap:15px;display:flex}.progress-summary strong{color:var(--text);font-size:32px;font-weight:550}.progress-summary strong small{color:var(--faint);font-size:15px}.progress-summary span{color:var(--muted);font-size:11px}.recommendation{border:1px solid var(--border);background:var(--panel);border-radius:10px;justify-content:space-between;align-items:center;gap:30px;margin-top:25px;padding:28px;display:flex}.recommendation h2{margin:10px 0;font-size:20px;font-weight:550}.recommendation p{max-width:650px;color:var(--muted);font-size:12px}.local-note{color:var(--faint);margin-top:20px;font-size:11px}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:70px 25px;display:flex}.empty-state p{color:var(--muted)}.empty-state h1{font-size:27px}.storage-notice{color:var(--amber);background:var(--panel-alt);border-bottom:1px solid var(--border);padding:10px 25px;font-size:11px}.workspace-main{padding:0}.workspace-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:21px 25px 19px;display:flex}.workspace-heading h1{letter-spacing:-.65px;margin:8px 0 9px;font-size:22px;font-weight:600}.workspace-heading .back-link{font-size:10px}.workspace-meta{color:var(--muted);align-items:center;gap:9px;font-size:9px;display:flex}.workspace-meta>a{border:1px solid var(--border);border-radius:4px;padding:2px 7px}.meta-dot{color:var(--faint)}.workspace-heading-actions{color:var(--faint);white-space:nowrap;align-items:center;gap:10px;font-size:10px;display:flex}.workspace-panels{grid-template-columns:minmax(250px,var(--description-width)) 5px minmax(0,1fr);min-height:calc(100vh - 215px);display:grid}.description-pane{background:var(--sidebar);min-width:0}.pane-title{border-bottom:1px solid var(--border-soft);height:43px;color:var(--muted);align-items:center;gap:8px;padding:0 18px;display:flex}.pane-title h2{font-size:10px;font-weight:550}.description-scroll{min-height:500px;max-height:calc(100vh - 260px);padding:22px 21px;overflow:auto}.problem-description{color:var(--muted);font-size:12px;line-height:1.9}.small-heading{letter-spacing:1px;color:var(--faint);margin:28px 0 12px;font-size:8px;font-weight:600}.example{background:var(--code-bg);border:1px solid var(--border-soft);border-radius:6px;margin-bottom:10px;padding:13px}.example>span{color:var(--muted);margin-bottom:8px;font-size:9px;display:block}.example code{overflow-wrap:anywhere;font-size:10px;line-height:1.9;display:block}.example code b{color:var(--faint);font-weight:400}.example p{color:var(--faint);margin-top:8px;font-size:10px;line-height:1.7}.constraints{color:var(--muted);margin:18px 0 23px;font-size:11px}.constraints summary{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.constraints ul{padding-left:17px;font-size:10px;line-height:1.9}.input-editor{border-top:1px solid var(--border);padding-top:16px}.input-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.input-title h3{font-size:12px;font-weight:550}.input-field{margin-bottom:15px;display:block}.input-field>span{color:var(--muted);margin-bottom:7px;font-size:10px;display:block}.input-field input,.input-field textarea{width:100%;padding:10px;font-family:monospace;font-size:12px}.input-field textarea{min-height:58px}.input-field small{color:var(--faint);margin-top:5px;font-size:8px;display:block}.input-error{color:var(--red);overflow-wrap:anywhere;margin:8px 0 12px;font-size:11px;line-height:1.8}.stale-notice{color:var(--amber);margin:10px 0;font-size:10px}.visualize-button{width:100%;margin:5px 0}.panel-resizer{border-left:1px solid var(--border-soft);border-right:1px solid var(--border-soft);background:var(--bg);cursor:col-resize;touch-action:none}.panel-resizer:focus-visible,.panel-resizer:hover{background:var(--accent)}.workbench{flex-direction:column;min-width:0;display:flex}.workbench-upper{grid-template-columns:minmax(250px,.95fr) minmax(270px,1.05fr);height:max(460px,100vh - 470px);min-height:460px;display:grid}.code-pane{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;min-width:0;display:flex;overflow:auto}.runtime-tabs,.workspace-tabs{border-bottom:1px solid var(--border-soft);flex-shrink:0;align-items:center;gap:2px;min-height:43px;padding:0 8px;display:flex;overflow-x:auto}.runtime-tabs>button,.workspace-tabs>button{color:var(--faint);white-space:nowrap;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:6px;height:43px;padding:0 10px;font-size:9px;display:inline-flex}.runtime-tabs>button.active,.workspace-tabs>button.active{color:var(--accent);border-bottom-color:var(--accent)}.explanation-content{padding:23px 22px;overflow:auto}.explanation-content>h2{letter-spacing:-.5px;margin:12px 0;font-size:21px;font-weight:580}.explanation-content>p{color:var(--muted);font-size:11px;line-height:1.9}.approach-steps{margin:24px 0;padding:0;list-style:none}.approach-steps>li{color:var(--muted);align-items:flex-start;gap:10px;margin:16px 0;font-size:10px;line-height:1.8;display:flex}.approach-steps>li>span{border:1px solid var(--border);width:21px;height:21px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:8px;display:grid}.invariant{border-left:2px solid var(--accent);background:var(--accent);gap:9px;display:flex}@supports (color:color-mix(in lab,red,red)){.invariant{background:color-mix(in srgb,var(--accent) 4%,transparent)}}.invariant{color:var(--accent);padding:12px}.invariant strong{font-size:10px;font-weight:600}.invariant p{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.8}.solution-invitation{border:1px dashed var(--border);text-align:center;border-radius:7px;flex-direction:column;align-items:center;padding:20px 16px;display:flex}.solution-invitation>svg{color:var(--faint);margin-bottom:10px}.solution-invitation h3{font-size:12px;font-weight:550}.solution-invitation p{color:var(--faint);margin:8px 0 15px;font-size:10px;line-height:1.7}.text-button{color:var(--muted);text-underline-offset:4px;font-size:10px;text-decoration:underline}.text-button:hover{color:var(--accent)}.reveal-button{margin:14px auto;display:block}.interview-details{color:var(--muted);margin-top:22px;font-size:10px}.interview-details summary{cursor:pointer}.interview-details p{margin-top:12px;font-size:11px;line-height:1.9}.compare-link{text-align:left;margin-top:20px}.visualization-pane{background:var(--bg);flex-direction:column;min-width:0;display:flex;overflow:auto}.live-badge{letter-spacing:.8px;color:var(--faint);align-items:center;margin-left:auto;font-size:7px;display:flex}.live-badge i{width:4px;height:4px}.visualization-toolbar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.visualization-toolbar label{color:var(--faint);align-items:center;gap:8px;font-size:8px;display:flex}.visualization-toolbar select{background:var(--panel);max-width:160px;padding:5px 20px 5px 7px;font-size:9px}.visualization-toolbar>span{color:var(--accent);font-family:monospace;font-size:9px}.visualization-content{flex:1;min-height:150px;padding:5px 17px 15px;overflow:auto}.visualization-idle{text-align:center;background-image:radial-gradient(var(--border-soft) 1px,transparent 1px);background-size:17px 17px;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:240px;padding:30px 13px;display:flex}.idle-visual{border:1px solid var(--border);width:66px;height:66px;color:var(--accent);background:var(--panel);box-shadow:var(--shadow);border-radius:17px;place-items:center;margin-bottom:23px;display:grid}.visualization-idle h3{margin-bottom:10px;font-size:14px;font-weight:550}.visualization-idle p{color:var(--muted);max-width:230px;font-size:11px;line-height:1.9}.key-hint{color:var(--faint);margin-top:25px;font-size:9px}.structure-panel{padding:18px 0 7px}.structure-panel+.structure-panel{border-top:1px solid var(--border-soft);margin-top:10px}.structure-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.structure-title h3{color:var(--muted);font-size:9px;font-weight:550}.structure-title>span{color:var(--faint);border:1px solid var(--border);text-transform:uppercase;border-radius:3px;padding:1px 5px;font-size:7px}.sequence-visual{gap:6px;padding:3px 2px 4px;display:flex;overflow:auto}.sequence-item{text-align:center;flex-shrink:0;width:38px}.cell-index{color:var(--faint);margin-bottom:7px;font-family:monospace;font-size:8px;display:block}.value-cell{border:1px solid var(--border);background:var(--panel);border-radius:5px;place-items:center;min-width:36px;height:39px;font-family:monospace;font-size:14px;display:grid;overflow:hidden}.array .sequence-item{width:50px}.array .value-cell{font-size:11px}.in-window .value-cell{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.in-window .value-cell{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}}.in-window .value-cell{color:var(--accent);background:var(--accent-dark)}.grid-visual td.highlight-current,.highlight-current .value-cell{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);color:var(--accent)}.highlight-compare .value-cell{border-color:var(--amber);color:var(--amber);background:var(--amber)}@supports (color:color-mix(in lab,red,red)){.highlight-compare .value-cell{background:color-mix(in srgb,var(--amber) 10%,var(--panel))}}.highlight-result .value-cell{border-color:var(--accent);background:var(--accent-dark);color:var(--accent)}.pointer-labels{justify-content:center;gap:6px;min-height:38px;padding-top:2px;display:flex}.pointer{color:var(--accent);flex-direction:column;align-items:center;font-size:13px;line-height:17px;display:flex}.pointer b{font-size:8px;font-weight:500}.pointer-1{color:var(--purple)}.window-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0 10px;font-size:8px;display:flex}.window-summary .mini-dot{width:4px;height:4px;margin:0}.window-summary code{color:var(--accent);margin-right:auto}.boundary-pointers{color:var(--faint);flex-wrap:wrap;gap:10px;margin:5px 0 10px;font-size:8px;display:flex}.empty-structure{color:var(--faint);padding:15px 0;font-size:11px}.collection-visual{flex-wrap:wrap;align-items:flex-start;gap:7px;min-height:45px;display:flex}.collection-entry{border:1px solid var(--accent);align-items:center;gap:14px;padding:7px 11px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.collection-entry{border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border))}}.collection-entry{background:var(--panel);border-radius:5px;font-size:11px}.collection-entry code{color:var(--accent)}.collection-entry>span{color:var(--faint)}.sequence-visual.stack{flex-direction:column-reverse;align-items:center;gap:4px;max-height:230px;padding-top:5px;overflow:auto}.stack .sequence-item{width:105px}.stack .cell-index,.stack .pointer-labels{display:none}.stack .value-cell{height:32px;font-size:12px}.stack-label{color:var(--faint);letter-spacing:1px;font-size:7px}.grid-scroll,.node-scroll{overflow:auto}.node-svg{max-width:none;margin:0 auto;display:block}.node-edge{fill:none;stroke:var(--muted);stroke-width:1.3px;color:var(--muted)}.node circle{fill:var(--panel-alt);stroke:var(--border);stroke-width:1.5px}.node-value{fill:var(--text);text-anchor:middle;font-family:monospace;font-size:12px}.node-id{fill:var(--faint)}.node-id,.node-pointer{text-anchor:middle;font-size:8px}.node-pointer{fill:var(--accent)}.node.visited circle{stroke:var(--accent)}@supports (color:color-mix(in lab,red,red)){.node.visited circle{stroke:color-mix(in srgb,var(--accent) 40%,var(--border))}}.node.highlight-current circle,.node.highlight-result circle{stroke:var(--accent);fill:var(--accent-dark);stroke-width:2px}.structure-description{color:var(--faint);flex-wrap:wrap;gap:8px;font-family:monospace;font-size:8px;display:flex}.grid-visual{border-spacing:4px;border-collapse:separate;margin:0 auto 15px}.grid-visual td{border:1px solid var(--border);text-align:center;border-radius:5px;width:32px;min-width:32px;height:32px;font-family:monospace;font-size:11px}.grid-visual .water{background:var(--panel);color:var(--faint)}.grid-visual .land{color:#9dbbf5;background:#6496e526;border-color:#6496e54a}.grid-visual .visited{background:var(--accent-dark);color:var(--accent);border-color:var(--accent)}.visual-legend{color:var(--faint);justify-content:center;gap:15px;font-size:8px;display:flex}.visual-legend>span{align-items:center;gap:4px;display:flex}.visual-legend i{background:var(--panel);border:1px solid var(--border);border-radius:2px;width:7px;height:7px}.visual-legend .legend-land{background:#6496e526;border-color:#6496e5}.visual-legend .legend-visited{background:var(--accent-dark);border-color:var(--accent)}.execution-explanation{background:var(--panel);border-top:1px solid var(--border-soft);align-items:flex-start;gap:12px;min-height:87px;padding:15px 16px;display:flex}.step-number{color:var(--accent);border:1px solid var(--border);border-radius:6px;padding:5px 7px;font-family:monospace;font-size:13px}.execution-explanation small{color:var(--faint);letter-spacing:1px;font-size:7px}.execution-explanation p{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.8}.expected-output{border-top:1px solid var(--border-soft);color:var(--faint);align-items:center;gap:12px;padding:10px 17px;font-size:9px;display:flex}.expected-output code{color:var(--accent);overflow-wrap:anywhere}.expected-output>svg{color:var(--accent);margin-left:auto}.playback-controls{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:15px;min-height:66px;padding:10px 18px;display:flex}.playback-buttons{align-items:center;gap:5px;display:flex}.play-button{background:var(--accent);width:37px;height:37px;color:var(--accent-ink);border-radius:50%;place-items:center;margin:0 2px;display:grid}.timeline{flex:1;align-items:center;gap:12px;display:flex}.timeline>span{white-space:nowrap;color:var(--faint);font-family:monospace;font-size:9px}.timeline b{color:var(--text);font-weight:500}.timeline input{width:100%;height:3px;accent-color:var(--accent);cursor:pointer;border:0}.speed-select{max-width:66px;padding:5px 4px 5px 7px;font-size:10px}.runtime-pane{background:var(--bg);flex:1}.runtime-tabs>button>span{background:var(--panel-alt);border-radius:3px;padding:1px 4px;font-family:monospace;font-size:8px}.operation-count{color:var(--faint);white-space:nowrap;gap:12px;margin-left:auto;padding:0 10px;font-size:8px;display:flex}.operation-count b{color:var(--muted)}.runtime-content{min-height:120px;max-height:250px;padding:17px 22px;overflow:auto}.variable-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;display:grid}.variable-item{border:1px solid var(--border-soft);background:var(--panel);border-radius:6px;padding:10px 13px}.variable-item>code{color:var(--faint);margin-bottom:5px;font-size:9px;display:block}.variable-item>strong{overflow-wrap:anywhere;font-family:monospace;font-size:16px;font-weight:500;display:block}.variable-item.changed{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.variable-item.changed{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}}.variable-item.changed{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.variable-item.changed{background:color-mix(in srgb,var(--accent) 4%,var(--panel))}}.variable-item.changed>strong{color:var(--accent)}.inspector-empty{color:var(--faint);align-items:center;gap:10px;padding:12px 0;font-size:11px;display:flex}.call-stack{flex-direction:column;gap:7px;display:flex}.stack-frame{border:1px solid var(--border);background:var(--panel);border-radius:6px;padding:9px 12px;font-size:10px}.stack-frame>div{color:var(--muted);align-items:center;gap:8px;display:flex}.stack-frame.current-frame{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.stack-frame.current-frame{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}}.stack-frame.current-frame>div{color:var(--accent)}.stack-frame>div>span{letter-spacing:1px;margin-left:auto;font-size:7px}.frame-local{color:var(--faint);align-items:center;gap:7px;padding:6px 10px 0 0;font-size:8px;display:inline-flex}.frame-local b{color:var(--muted);font-weight:450}.language-tabs{border-bottom:1px solid var(--border-soft);align-items:center;gap:4px;min-height:38px;padding:8px 10px;display:flex}.language-tabs button{color:var(--faint);border:1px solid #0000;border-radius:4px;padding:5px 8px;font-size:9px}.language-tabs button.active{border-color:var(--border);color:var(--accent);background:var(--accent-dark)}.language-tabs>span{color:var(--faint);margin-left:auto;font-size:7px}.source-code{background:var(--code-bg);flex:1;padding:16px 0;overflow:auto}.source-code ol{counter-reset:line;margin:0;padding-left:42px;list-style:decimal}.source-code li{white-space:pre;width:max-content;min-width:100%;min-height:24px;padding:0 12px 0 4px;font-family:monospace;font-size:11px;line-height:24px}.source-code li::marker{color:var(--faint);font-size:9px}.source-code .executing-line{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.source-code .executing-line{background:color-mix(in srgb,var(--accent) 12%,transparent)}}.source-code .executing-line{outline:1px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.source-code .executing-line{outline:1px solid color-mix(in srgb,var(--accent) 15%,transparent)}}.source-footnote{color:var(--faint);border-top:1px solid var(--border-soft);padding:11px 14px;font-size:8px}.source-footnote .mini-dot{width:4px;height:4px}.code-editor-wrapper{flex-direction:column;flex:1;min-height:260px;display:flex;position:relative}.editor-caption{border-bottom:1px solid var(--border-soft);color:var(--muted);justify-content:space-between;align-items:center;padding:10px 13px;font-size:9px;display:flex}.editor-caption>span{align-items:center;gap:6px;display:flex}.editor-caption .text-button{font-size:8px}.javascript-dot{background:var(--amber);border-radius:50%;width:5px;height:5px}.monaco-host{flex:1;min-height:235px}.basic-editor{resize:none;tab-size:2;border:0;border-radius:0;flex:1;min-height:255px;padding:17px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:23px}.basic-editor:focus{box-shadow:inset 0 0 0 1px var(--accent)}.editor-loading{color:var(--faint);font-size:11px;position:absolute;top:80px;left:30px}.editor-fallback-note{color:var(--amber);padding:10px;font-size:9px}.runner-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;padding:10px 11px;display:flex}.runner-actions>span{color:var(--faint);margin-right:auto;font-size:7px}.attempt-note{color:var(--faint);padding:1px 12px 10px;font-size:8px}.test-case{border:1px solid var(--border);border-radius:6px;margin:7px 0;overflow:hidden}.test-case summary{cursor:pointer;background:var(--panel);color:var(--red);align-items:center;gap:9px;padding:10px 12px;font-size:10px;display:flex}.test-case summary strong{color:var(--text);font-size:10px;font-weight:500}.test-case summary>span{text-transform:uppercase;margin-left:auto;font-size:8px}.test-case summary small{color:var(--faint);font-size:8px}.test-case.passed summary{color:var(--accent)}.test-case-body{padding:12px;font-size:10px}.test-case-body>div{gap:15px;padding:3px 0;display:flex}.test-case-body>div>span{color:var(--faint);min-width:60px}.test-case-body code{overflow-wrap:anywhere}.test-case-body p{color:var(--red);margin-top:7px;font-size:10px}.running-notice{color:var(--accent);margin-bottom:12px;font-size:11px}.console-output>small,.runtime-note{color:var(--faint);margin-top:10px;font-size:8px}.console-output>div{border-bottom:1px solid var(--border-soft);padding:6px 0}.console-output>div>span{color:var(--faint);margin-right:12px;font-size:8px}.console-output code{overflow-wrap:anywhere;font-size:10px}.approach-comparison>p{color:var(--muted);margin-bottom:17px;font-size:11px;line-height:1.8}.comparison-card{border:1px solid var(--border);border-radius:7px;margin-top:13px;padding:15px}.comparison-card>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.comparison-card h3{font-size:12px;font-weight:550}.complexity-tag{color:var(--accent);font-family:monospace;font-size:11px}.comparison-card>p{color:var(--muted);margin-top:9px;font-size:10px;line-height:1.8}.comparison-card dl{margin:10px 0 0}.comparison-card dl>div{justify-content:space-between;font-size:10px;display:flex}.comparison-card dt{color:var(--faint)}.comparison-card dd{color:var(--accent);font-family:monospace}.complexity-chart{margin-top:18px}.complexity-chart svg{width:100%}.chart-grid{stroke:var(--border);stroke-width:1px;fill:none}.chart-linear{stroke:var(--accent);stroke-width:2px;fill:none}.chart-quadratic{stroke:var(--purple);stroke-width:2px;fill:none}.complexity-chart text{fill:var(--muted);font-family:monospace;font-size:10px}.complexity-chart p{color:var(--faint);font-size:9px;line-height:1.8}.workspace-loading{min-height:70vh;color:var(--faint);flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:12px;display:flex}.spin{animation:spin 1s linear infinite}.loading-line{color:var(--faint);padding:20px;font-size:11px}.visualization-stale{color:var(--amber);background:var(--panel);padding:8px 16px;font-size:9px}.visualization-error{padding:0 16px}.mobile-workspace-tabs{display:none}@keyframes spin{to{transform:rotate(1turn)}}@media (min-width:1700px){.workbench-upper{grid-template-columns:minmax(350px,1fr) minmax(400px,1.2fr)}.hero h1{font-size:60px}.hero-copy>p{font-size:14px}}@media (max-width:1280px){.sidebar{width:212px;padding-left:13px;padding-right:13px}.main-shell{margin-left:212px}.page-main{padding:32px 28px}.hero{gap:30px}.hero h1{font-size:42px}.hero-copy>p{font-size:11px}.hero-footnote{gap:9px;font-size:8px}.hero-actions .button{padding:10px 12px;font-size:10px}.learning-grid{gap:9px}.learning-card{padding:15px 12px}.learning-card h3{font-size:11px}.learning-card>p{font-size:9px}.stats-strip>div{gap:6px;padding:0 12px}.stats-strip .stat-icon{width:22px}.dashboard-columns{grid-template-columns:1.5fr 1fr;gap:20px}.problem-row{gap:9px;padding:13px 12px}.workbench-upper{grid-template-columns:minmax(220px,1fr) minmax(245px,1.05fr)}.workspace-panels{grid-template-columns:minmax(230px,min(var(--description-width),27vw)) 5px minmax(0,1fr)}.explanation-content{padding:20px 16px}.workspace-tabs>button{padding:0 8px;font-size:8px}.operation-count,.workspace-tabs svg{display:none}.timeline{flex-direction:column;gap:5px}.topbar{padding:0 27px}}@media (max-width:1100px){.hero{gap:22px}.hero h1{letter-spacing:-1.5px;font-size:36px}.preview-array{gap:3px;padding-left:13px;padding-right:13px}.preview-cell>span{height:32px;font-size:14px}.preview-cell b{top:62px}.learning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-card h3{min-height:0;font-size:13px}.learning-card>p{min-height:30px}.learning-card-top{margin-bottom:14px}.learning-card:nth-last-child(-n+2){flex-direction:column;display:flex}.dashboard-columns{grid-template-columns:1fr}.dashboard-columns .popular-section{margin-top:8px}.popular-patterns{grid-template-columns:1fr 1fr;display:grid}.popular-patterns>a:nth-child(odd){border-right:1px solid var(--border-soft)}.popular-patterns>a:nth-child(3){border-bottom:0}.stats-strip>div>span:last-child{font-size:8px}.stats-strip strong{font-size:21px}.hero-footnote span:last-child{display:none}.hero-actions{flex-wrap:wrap;margin-top:18px}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-upper{grid-template-columns:1fr;height:auto}.code-pane{border-right:0;border-bottom:1px solid var(--border);max-height:460px}.visualization-pane{min-height:420px;max-height:620px}.description-scroll{max-height:85vh;position:sticky;top:0}.workspace-panels{grid-template-columns:280px 5px minmax(0,1fr)}.playback-controls{z-index:10;position:sticky;bottom:0}.workbench-upper .code-pane{order:2}.workbench-upper .visualization-pane{order:1}.lesson-grid{grid-template-columns:1fr}.catalog-toolbar{flex-wrap:wrap}.search-field{flex-basis:100%}.progress-summary{grid-template-columns:repeat(2,1fr)}.bottom-callout{flex-wrap:wrap}.bottom-callout .button{margin-left:70px}}@media (max-width:900px){.sidebar{width:200px;padding-left:10px;padding-right:10px}.main-shell{margin-left:200px}.brand{gap:7px;padding-left:3px;font-size:15px}.brand-mark{width:31px;height:34px}.brand small{font-size:6.5px}.level-link{gap:6px;font-size:9px}.page-main{padding:28px 22px}.hero{grid-template-columns:1fr;gap:27px}.hero h1{font-size:46px}.hero-copy>p{font-size:12px}.hero-preview{width:100%;max-width:480px;transform:none}.preview-cell{max-width:45px}.preview-cell>span{height:38px}.hero-actions{flex-wrap:nowrap}.hero-footnote span:last-child{display:flex}.stats-strip{grid-template-columns:1fr 1fr;row-gap:20px}.stats-strip>div:nth-child(2){border-right:0}.stats-strip>div{padding:0 20px}.stats-strip>div>span:last-child{max-width:none;font-size:9px}.learning-grid{grid-template-columns:1fr 1fr}.topbar{padding:0 20px}.search-link kbd,.search-link>span{display:none}.workspace-panels{grid-template-columns:250px 5px minmax(0,1fr)}.workspace-heading h1{font-size:20px}.description-scroll{padding:20px 16px}.playback-controls{gap:7px;padding:10px}.playback-buttons{gap:1px}.runtime-tabs>button{padding:0 7px;font-size:8px}.runtime-tabs>button>svg{display:none}.runtime-content{padding:15px}.catalog-list .problem-row{gap:10px;padding:15px 13px}.catalog-list .problem-row-play{display:none}.pattern-trainer-banner{flex-wrap:wrap}.recommendation{flex-direction:column;align-items:flex-start}}@media (max-width:767px){.sidebar{visibility:hidden;z-index:50;width:240px;padding:24px 18px;transition:transform .2s;transform:translate(-100%)}.sidebar.is-open{visibility:visible;transform:translate(0)}.brand{font-size:18px}.brand small{font-size:8px}.nav-overlay{z-index:40;background:#0009;position:fixed;inset:0}.main-shell{margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:58px;padding:0 16px}.topbar-left{gap:8px;font-size:10px}.topbar-left>svg:first-of-type{display:none}.topbar-actions{gap:8px}.avatar,.topbar-divider{display:none}.page-main{padding:28px 20px}.page-footer{margin:0 20px}.hero{gap:28px}.hero h1{font-size:45px}.hero-copy{padding-top:0}.hero-preview{max-width:520px;margin:0 auto}.hero-actions .button{padding:11px 14px;font-size:11px}.hero-footnote{gap:16px;font-size:8px}.hero{margin-bottom:27px}.stats-strip{margin-bottom:26px;padding:18px 0}.learning-grid{gap:13px}.learning-card{padding:19px 16px}.learning-card h3{font-size:13px}.learning-card>p{font-size:10px}.topic-count{font-size:9px}.learning-card-bottom{font-size:8px}.section-heading{align-items:flex-start}.section-heading h2{font-size:17px}.section-heading p{font-size:10px}.section-heading .text-link{white-space:nowrap;margin-top:5px;font-size:9px}.bottom-callout{gap:15px;padding:22px 18px}.callout-icon{width:40px;height:40px}.bottom-callout>div:nth-child(2){flex:1}.bottom-callout h2{font-size:14px}.bottom-callout .button{margin-left:55px}.popular-patterns{grid-template-columns:1fr}.popular-patterns>a:nth-child(3){border-bottom:1px solid var(--border-soft)}.popular-patterns>a:nth-child(odd){border-right:0}.problem-row-title strong{font-size:11px}.problem-row{min-height:72px}.problem-row-title>span{font-size:9px}.page-heading h1{font-size:30px}.page-heading>p{font-size:12px}.topic-grid{gap:13px}.topic-card{padding:20px 17px}.topic-card h2{font-size:15px}.topic-card p{font-size:11px}.availability{margin:-6px 0 15px;position:static}.content-card{padding:23px}.trainer-page>h1{font-size:32px}.trainer-card{padding:25px 20px}.trainer-card>h2{font-size:20px}.answer-options{grid-template-columns:1fr}.trainer-next{align-items:flex-end}.trainer-next>span{max-width:140px;font-size:9px}.planned-card{padding:35px 25px}.catalog-toolbar select{flex:1;min-width:110px;font-size:10px}.catalog-list .problem-row-title strong{font-size:12px}.catalog-list .problem-number{display:none}.catalog-list .difficulty{min-width:0;font-size:9px}.pattern-trainer-banner{padding:24px}.pattern-trainer-banner h2{font-size:20px}.workspace-heading{padding:17px 18px}.workspace-heading h1{font-size:19px}.workspace-heading-actions{display:none}.workspace-meta{gap:6px;font-size:8px}.mobile-workspace-tabs{border-bottom:1px solid var(--border);background:var(--panel);gap:5px;padding:0 12px;display:flex}.mobile-workspace-tabs button{height:45px;color:var(--faint);border-bottom:2px solid #0000;flex:1;font-size:10px}.mobile-workspace-tabs button.active{color:var(--accent);border-color:var(--accent)}.workspace-panels{min-height:70vh;display:block}.code-pane,.description-pane,.panel-resizer,.visualization-pane{display:none}.mobile-pane-problem .description-pane{display:block}.mobile-pane-code .code-pane,.mobile-pane-visualize .visualization-pane{min-height:400px;max-height:none;display:flex}.description-scroll{min-height:0;max-height:none;padding:20px;position:static}.workbench-upper{min-height:0;display:block}.mobile-pane-problem .workbench-upper,.pane-title{display:none}.workspace-tabs>button{padding:0 15px;font-size:10px}.workspace-tabs>button>svg{display:inline}.explanation-content{padding:25px}.approach-steps>li,.explanation-content>p,.invariant p{font-size:12px}.visualization-content{min-height:230px;max-height:550px;padding:10px 20px 25px}.visualization-idle{min-height:235px}.visualization-toolbar{padding:13px 20px}.visualization-toolbar label{font-size:10px}.visualization-toolbar select{padding:7px 12px;font-size:11px}.structure-title h3{font-size:11px}.sequence-item{width:39px}.sequence-visual{gap:7px}.collection-entry{font-size:12px}.execution-explanation{padding:17px 20px}.execution-explanation p{font-size:12px}.execution-explanation small{font-size:8px}.expected-output{padding:12px 20px;font-size:11px}.playback-controls{border-top:1px solid var(--border);z-index:15;gap:10px;padding:12px;position:sticky;bottom:0;box-shadow:0 -5px 15px #00000015}.playback-buttons .icon-button{width:35px;height:38px}.play-button{width:40px;height:40px}.speed-select{font-size:11px}.timeline>span{font-size:9px}.timeline{gap:9px}.runtime-tabs>button{padding:0 11px;font-size:10px}.runtime-tabs>button>svg{display:inline}.runtime-content{min-height:160px;max-height:360px;padding:20px}.variable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.test-case summary,.test-case summary strong,.variable-item>code{font-size:11px}.test-case summary>span{font-size:8px}.test-case-body{font-size:12px}.basic-editor{min-height:320px;font-size:13px}.runner-actions{padding:13px}.runner-actions .button{padding:10px 13px;font-size:11px}.runner-actions>span{font-size:8px}.attempt-note{padding:5px 15px 12px;font-size:10px}.source-code li{font-size:12px;line-height:26px}.language-tabs button{padding:7px 10px;font-size:11px}.source-footnote{font-size:10px}.language-tabs>span{font-size:8px}.solution-invitation h3{font-size:14px}.solution-invitation p{font-size:12px}.solution-invitation .button{min-height:44px}.reveal-button{min-height:40px}.icon-button{min-height:36px}.text-button{padding:6px}.input-field input,.input-field textarea{font-size:16px}.input-field>span{font-size:12px}.input-field small{font-size:10px}.visualize-button{min-height:44px;font-size:12px}}@media (max-width:400px){.page-main{padding:24px 16px}.hero h1{font-size:39px}.hero-actions{gap:8px}.hero-actions .button{padding:11px;font-size:10px}.hero-footnote{gap:9px;font-size:7px}.learning-grid{gap:10px}.learning-card{padding:17px 13px}.topic-grid{grid-template-columns:1fr}.runtime-tabs>button{gap:5px;padding:0 8px;font-size:9px}.runtime-tabs svg{width:12px}.playback-buttons .icon-button{width:28px}.playback-controls{gap:7px}.stats-strip>div{padding:0 13px}.section-heading .text-link{white-space:normal;text-align:right;max-width:85px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-footer{color:var(--muted);flex-wrap:wrap;align-items:center;gap:20px;font-size:12px}.site-footer nav,.site-footer>div{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.site-footer a{padding:8px 0}.author-links a:hover,.site-footer a:hover{color:var(--accent)}.footer-brand{color:var(--text);font-weight:700}.author-section{align-items:flex-start;gap:24px;margin:36px 0 12px;scroll-margin-top:90px;display:flex}.author-monogram{background:var(--accent-dark);width:64px;height:64px;color:var(--accent);border-radius:18px;flex-shrink:0;place-items:center;font-size:22px;font-weight:700;display:grid}.author-section h2{margin:12px 0}.author-section p{max-width:72ch}.author-links,.guide-links{flex-wrap:wrap;gap:12px 24px;margin-top:20px;display:flex}.author-links a{overflow-wrap:anywhere;align-items:center;gap:8px;padding:6px 0;display:inline-flex}.legal-page{max-width:850px;margin:0 auto 48px;font-size:15px;line-height:1.8}.legal-page section{margin-top:32px}.legal-page h2{margin-bottom:12px;font-size:21px}.legal-page dd,.legal-page p{color:var(--muted);margin:12px 0}.legal-page li,.problem-guide li{margin:8px 0}.legal-page ul,.problem-guide ul{padding-left:24px}.guide-links a,.legal-page a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.legal-page code{overflow-wrap:anywhere}.legal-page dt{margin-top:16px;font-weight:600}.problem-guide{margin:32px 25px;line-height:1.8}.problem-guide h3{margin-top:24px}.problem-guide p{max-width:90ch}.problem-guide code{white-space:pre-wrap;overflow-wrap:anywhere}.guide-example{border-left:2px solid var(--border);margin-top:16px;padding-left:16px}@media (max-width:600px){.site-footer{margin:0 18px}.author-section{flex-direction:column;gap:16px}.author-links{flex-direction:column;align-items:flex-start}.problem-guide{margin:24px 14px}}.visualization-pane{min-height:0;overflow:hidden}.learner-visualization-actions,.visualization-pane>.pane-title,.visualization-toolbar{flex-shrink:0}.source-selector{border-bottom:1px solid var(--border)}.source-selector label{flex-wrap:wrap;justify-content:space-between;width:100%}.visualization-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.visualization-scroll .visualization-content{min-height:130px;padding-top:20px;overflow:visible}.learner-visualization-actions{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 17px;display:flex}.learner-start-note,.learner-visualization-actions>span{color:var(--muted);font-size:11px}.learner-start-note{margin:16px 20px 0;line-height:1.7}.case-tabs,.coding-view-tabs{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;gap:6px;padding:10px 16px;display:flex}.case-tabs button,.coding-view-tabs button{color:var(--muted);border-radius:6px;padding:8px 14px;font-size:12px}.case-tabs button.active,.coding-view-tabs button.active{background:var(--accent-soft);color:var(--accent)}.coding-workspace .workbench-upper{height:auto;min-height:0;display:block}.coding-workspace .code-pane{border-right:0;height:auto;max-height:none}.coding-view-code .visualization-pane,.coding-view-code .workbench>.playback-controls,.coding-view-code .workbench>.runtime-pane,.coding-view-visualization .code-pane{display:none}.coding-workspace .visualization-pane{height:clamp(420px,100dvh - 290px,900px);min-height:0;max-height:none}.coding-language-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;padding-right:16px;display:flex}.coding-language-bar .language-tabs{border:0}.result-context,.runtime-status{color:var(--muted);font-size:12px}.result-context{padding:8px 18px}.problem-code-runner .runner-actions{flex-wrap:wrap;justify-content:flex-start;gap:10px}.problem-code-runner .runner-actions>span{margin-left:auto}.coding-results{border-top:1px solid var(--border);min-width:0}.case-picker{padding:6px 18px 18px}.case-tabs{border:0;padding:8px 0}.case-picker>.text-button{margin:10px 0}.case-preview{gap:8px;font-size:12px;display:grid}.case-preview>span{color:var(--muted)}.case-preview pre,.test-case-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.custom-case-fields{max-width:640px}.custom-case-fields>small{color:var(--muted);font-size:11px}.problem-code-runner .console-output,.problem-code-runner .test-results{padding:0 18px 18px}@media (max-width:767px){.coding-workspace .coding-view-tabs,.coding-workspace.mobile-pane-problem .workbench{display:none}.coding-workspace .runtime-status{padding:6px 18px}.coding-workspace .runner-actions>span{flex-basis:100%;margin:0}}.execution-code-panel{border:1px solid var(--border);background:var(--panel);border-radius:9px;margin:12px;overflow:hidden}.execution-code-panel>summary{cursor:pointer;padding:13px 14px;font-size:12px;font-weight:600}.execution-location{float:right;color:var(--accent);font-size:10px}.execution-code-tools{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;font-size:10px;display:flex}.execution-code-tools>span{flex:1}.execution-code-tools label{cursor:pointer;align-items:center;gap:5px;display:flex}.execution-code-tools input{accent-color:var(--accent)}.execution-code-tools select,.visual-labels select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:5px;min-width:0;max-width:100%;padding:6px}.execution-code-panel .source-code{overscroll-behavior:contain;min-height:110px;max-height:260px;overflow:auto}.source-code li{position:relative}.execution-arrow{color:var(--accent);font-size:9px;position:absolute;left:-37px}.executing-fragment,.monaco-executing-fragment{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.executing-fragment,.monaco-executing-fragment{background:color-mix(in srgb,var(--accent) 22%,transparent)}}.executing-fragment,.monaco-executing-fragment{border-bottom:1px solid var(--accent)}.monaco-executing-gutter{border-left:3px solid var(--accent)}.execution-code-caption,.recorded-source-note{color:var(--muted);margin:0;padding:9px 12px;font-size:10px;line-height:1.6}.recorded-source-note{color:var(--warning,#d9af69)}.execution-code-hidden{border-top:1px solid var(--border);color:var(--muted);padding:14px;font-size:11px}.execution-code-hidden p{margin:0 0 10px}.learner-outcome{border:1px solid var(--border);background:var(--panel);border-radius:8px;margin:10px 17px;padding:12px;font-size:11px}.learner-outcome>div{justify-content:space-between;gap:15px;padding:5px 0;display:flex}.learner-outcome code{overflow-wrap:anywhere;max-width:65%}.learner-outcome>strong{text-transform:capitalize;padding:8px 0;display:block}.learner-outcome>small{color:var(--muted);line-height:1.7;display:block}.learner-outcome pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto}.verdict-passed{color:var(--accent)}.verdict-failed{color:var(--danger,#f48c8c)}.visual-labels{border:1px solid var(--border);border-radius:8px;margin:12px;padding:12px;font-size:11px}.visual-labels summary{cursor:pointer;font-weight:600}.visual-labels p{color:var(--muted);line-height:1.7}.visual-labels label{flex-direction:column;flex:1;gap:6px;min-width:0;margin:8px 0;display:flex}.label-control-row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.label-control-row .button{margin-bottom:8px}.object-fields{border:1px solid var(--border);border-radius:6px;gap:1px;margin:0;display:grid;overflow:hidden}.object-fields>div{background:var(--panel);grid-template-columns:minmax(70px,1fr) minmax(80px,2fr);gap:10px;padding:8px 12px;font:11px monospace;display:grid}.object-fields dd{overflow-wrap:anywhere;color:var(--accent);margin:0}@media (max-width:767px){.coding-workspace .visualization-pane{height:auto;min-height:400px;overflow:visible}.visualization-scroll{flex:auto;overflow:visible}.execution-code-panel .source-code{max-height:300px}.execution-code-tools{font-size:11px}.execution-code-panel>summary,.execution-code-tools label,.visual-labels summary{align-content:center;min-height:44px}.execution-code-tools select,.visual-labels select{min-height:40px;font-size:16px}.source-selector select{width:100%;margin-top:5px}.visualization-scroll .visualization-content{overflow:auto}}.workspace-heading{gap:12px;padding:11px 24px}.workspace-heading>div:first-child{flex-wrap:wrap;align-items:center;gap:4px 14px;min-width:0;display:flex}.workspace-heading .back-link{flex-basis:100%;margin:0;line-height:20px}.workspace-heading h1{margin:0;font-size:20px;line-height:1.35}.workspace-meta{flex-wrap:wrap}@media (min-width:1101px){.workbench-upper{grid-template-columns:minmax(270px,1.25fr) minmax(240px,1fr);height:max(590px,100dvh - 310px);min-height:590px}.code-editor-wrapper{min-height:380px}.basic-editor,.monaco-host{min-height:350px}.basic-editor{font-size:13px;line-height:24px}}@media (min-width:768px) and (max-width:1100px){.code-pane{height:max(560px,65dvh);max-height:none}.basic-editor,.monaco-host{min-height:360px}}@media (max-width:767px){.workspace-heading{padding:10px 16px}.workspace-heading h1{font-size:18px}.workspace-heading>div:first-child{gap:5px 10px}.mobile-pane-code .code-pane{min-height:70dvh}.basic-editor{min-height:max(380px,55dvh)}}.app-shell>.main-shell{margin-left:0}.navigation-toggle{display:inline-flex}.side-drawer{border:0;border-right:1px solid var(--border);background:var(--sidebar);width:min(420px,100vw - 24px);max-width:none;height:100dvh;max-height:none;color:var(--text);margin:0;padding:0;position:fixed;inset:0 auto 0 0;box-shadow:16px 0 60px #0004}.side-drawer[open]{flex-direction:column;display:flex}.side-drawer::backdrop{background:#0008}.drawer-heading{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.drawer-heading h2{margin:0;font-size:15px}.drawer-content{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.navigation-drawer{width:min(290px,100vw - 24px)}.navigation-drawer .sidebar{visibility:visible;border:0;width:100%;min-height:100%;padding:24px 20px;position:static;inset:auto;transform:none}.navigation-drawer .brand{margin-bottom:28px}.problem-drawer .description-pane{display:block}.problem-drawer .description-scroll{min-height:0;max-height:none;position:static;overflow:visible}.problem-drawer .pane-title{display:none}.split-workspace .workspace-panels{display:block}.split-workspace .workbench-upper{min-width:0}@media (min-width:768px){.split-workspace .workbench-upper{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:max(590px,100dvh - 255px);min-height:590px;display:grid}.split-workspace .workbench-upper>.code-pane{border-right:1px solid var(--border);border-bottom:0;order:0;height:100%;max-height:none;display:flex;overflow:auto}.split-workspace .workbench-upper>.visualization-pane{order:1;height:100%;min-height:0;max-height:none;display:flex}.split-workspace .workbench>.playback-controls{display:flex}.split-workspace .workbench>.runtime-pane{display:block}}@media (max-width:767px){.split-workspace .problem-drawer-toggle{display:none}.split-workspace .workbench-upper{height:auto;min-height:0}}@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}.lld-course,.lld-reader{max-width:1500px;margin:auto;min-width:0}.lld-hero{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:40px;padding:32px 0 38px;border-bottom:1px solid var(--border);margin-bottom:34px}.lld-hero h1{font-size:clamp(32px,3.4vw,52px);letter-spacing:-1.8px;line-height:1.12;margin:18px 0}.lld-hero h1 em{color:var(--accent);font-style:normal}.lld-hero p{max-width:660px;color:var(--muted);line-height:1.8}.lld-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.lld-actions>span{font-size:12px;color:var(--muted)}.lld-course-stat{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:16px}.lld-course-stat>svg{color:var(--accent)}.lld-course-stat strong{font-size:44px;font-weight:600;letter-spacing:-2px}.lld-course-stat small{font-size:20px;color:var(--muted);letter-spacing:0}.lld-course-stat>span{font-size:13px;color:var(--muted)}.lld-course-stat p{font-size:12px;margin:0}.lld-course progress{accent-color:var(--accent);width:100%;height:5px;border:0;border-radius:8px;overflow:hidden;background:var(--border)}.lld-course progress::-webkit-progress-bar{background:var(--border)}.lld-course progress::-webkit-progress-value{background:var(--accent)}.lld-course progress::-moz-progress-bar{background:var(--accent)}.lld-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.lld-panel-heading h2{font-size:23px;letter-spacing:-.6px;margin:10px 0}.lld-language,.lld-panel-heading>span:last-child{font-size:12px;color:var(--muted)}.lld-language{display:flex;gap:10px;align-items:center}.lld-course input[type=search],.lld-course select,.lld-reader input[type=search],.lld-reader select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:10px 12px;max-width:100%;min-width:0}.lld-filters{display:grid;grid-template-columns:minmax(180px,1fr) 190px 155px auto;gap:14px;padding:18px;background:var(--panel);border:1px solid var(--border);border-radius:10px;margin:24px 0}.lld-filters label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:var(--muted)}.lld-filters .lld-check{flex-direction:row;align-items:center;padding-top:22px;gap:8px}.lld-check input{accent-color:var(--accent)}.lld-group{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin:14px 0;overflow:hidden}.lld-group>summary{display:flex;gap:15px;align-items:center;cursor:pointer;padding:19px 20px;list-style:none}.lld-group>summary:after{content:"＋";color:var(--muted)}.lld-group[open]>summary:after{content:"−"}.lld-group>summary strong{flex:1;font-size:14px}.lld-group>summary>span:not(:first-child){font-size:12px;color:var(--muted)}.lld-group>summary progress{width:65px}.lld-section-number{font:12px monospace;color:var(--accent);background:var(--accent-dark);padding:7px;border-radius:5px}.lld-group ul{list-style:none;padding:0;margin:0}.lld-topic-row{display:flex;align-items:center;gap:13px;padding:14px 20px;border-top:1px solid var(--border-soft);min-width:0}.lld-topic-row:hover{background:var(--hover)}.lld-status{color:var(--faint);display:flex}.lld-status.completed,.lld-status.in-progress,.lld-success{color:var(--accent)}.lld-status.in-progress svg{fill:var(--accent-dark)}.lld-topic-name{flex:1;min-width:0;font-size:14px;font-weight:500}.lld-topic-name small{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:1.5;margin-top:4px}.lld-topic-row .icon-button{position:relative;flex-shrink:0}.lld-topic-row button[aria-pressed=true]{color:var(--accent)}.lld-time{font-size:12px;white-space:nowrap;color:var(--muted)}.lld-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);top:3px;right:3px}.lld-empty{padding:40px;text-align:center;border:1px dashed var(--border);border-radius:10px}.lld-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0;padding:26px}.lld-summary h2{font-size:22px;margin:10px 0}.lld-summary p{color:var(--muted);font-size:14px}.lld-reader-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--accent);margin-bottom:26px}.lld-reader-layout{display:grid;grid-template-columns:175px minmax(0,1fr);gap:28px;align-items:start}.lld-course-nav{position:sticky;top:24px;max-height:calc(100vh - 50px);overflow:auto;padding-right:10px;font-size:12px;scrollbar-width:thin}.lld-course-drawer nav a,.lld-course-nav nav a{display:block;padding:7px 9px;color:var(--muted);border-radius:5px;line-height:1.4}.lld-course-drawer nav a:hover,.lld-course-nav nav a:hover{background:var(--hover);color:var(--text)}.lld-course-drawer nav a[aria-current=page],.lld-course-nav nav a[aria-current=page]{color:var(--accent);background:var(--accent-dark)}.lld-course-drawer nav h3,.lld-course-nav nav h3{font-size:11px;text-transform:uppercase;letter-spacing:.8px;margin:22px 8px 10px}.lld-course-search{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:12px}.lld-course-search input{width:100%}.lld-article,.lld-reading-column{min-width:0}.lld-article-header h1{font-size:clamp(30px,3.3vw,46px);line-height:1.14;letter-spacing:-1.5px;margin:18px 0}.lld-breadcrumb{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 26px}.lld-breadcrumb a{color:var(--accent)}.lld-deck{font-size:17px;line-height:1.75;color:var(--muted)}.lld-objectives{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:20px 24px;margin:28px 0}.lld-objectives h2{font-size:14px;margin:0 0 12px}.lld-article-section ul,.lld-objectives ul,.lld-references ul{padding-left:20px;line-height:1.8;font-size:14px}.lld-article-section li+li,.lld-objectives li+li{margin-top:9px}.lld-article-section{padding:28px 0;border-bottom:1px solid var(--border);scroll-margin-top:24px}.lld-article-section h2,.lld-references h2{font-size:24px;line-height:1.3;letter-spacing:-.6px;margin:0 0 20px}.lld-article-section>p{font-size:15px;line-height:1.85;color:var(--muted);margin:16px 0}.lld-article-section h2 a:hover{color:var(--accent)}.lld-table-scroll{overflow:auto;margin:24px 0}.lld-table-scroll table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.7}.lld-table-scroll th{background:var(--panel-alt);text-align:left;color:var(--accent)}.lld-table-scroll td,.lld-table-scroll th{padding:16px;border:1px solid var(--border);vertical-align:top;width:50%}.lld-table-scroll td{color:var(--muted)}.lld-mobile-course{display:none!important}.lld-toc{display:none}.lld-mobile-toc{margin-bottom:25px;background:var(--panel);padding:15px;border:1px solid var(--border);border-radius:8px;font-size:13px}.lld-mobile-toc summary{cursor:pointer}.lld-mobile-toc nav{padding-top:12px;display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted)}.lld-toc nav a{display:block;padding:7px 0;color:var(--muted);font-size:11px;line-height:1.6}.lld-toc a:hover{color:var(--accent)}.lld-notes{display:flex;flex-direction:column;gap:12px;font-size:13px}.lld-notes textarea{background:var(--panel);border:1px solid var(--border);border-radius:8px;resize:vertical;padding:16px;color:var(--text);font:14px/1.7 inherit;min-height:170px;width:100%}.lld-notes p{font-size:11px;color:var(--muted)}.lld-course-drawer,.lld-notes-drawer{background:var(--panel);padding:24px}.lld-next-previous{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.lld-next-previous a{border:1px solid var(--border);border-radius:8px;padding:18px;font-size:14px}.lld-next-previous a:last-child{text-align:right}.lld-next-previous small{display:block;color:var(--muted);font-size:11px;margin-bottom:9px}.lld-references{padding:32px 0;color:var(--muted);font-size:13px;line-height:1.7}.lld-caption a,.lld-references a{color:var(--accent)}.lld-caption{font-size:12px!important;color:var(--muted);line-height:1.6!important}.lld-code-panel,.lld-lab{background:var(--panel);border:1px solid var(--border);padding:20px;border-radius:10px;min-width:0;font-size:13px;line-height:1.7}.lld-lab-controls{display:flex;flex-wrap:wrap;gap:15px}.lld-assessments label,.lld-lab-controls label{display:flex;flex-direction:column;gap:7px;min-width:0}.lld-diagram{min-width:0;margin:18px 0;font-size:12px}.lld-diagram-scroll{overflow:auto;background:var(--code-bg);border:1px solid var(--border);border-radius:8px}.lld-diagram svg{display:block;min-width:600px;width:100%;color:var(--muted)}.lld-diagram svg circle,.lld-diagram svg rect{fill:var(--panel);stroke:var(--border);stroke-width:1.5}.lld-diagram svg line,.lld-diagram svg path{stroke:var(--muted);stroke-width:1.2}.lld-diagram svg g>path:not([fill=none]){fill:var(--panel)}.lld-diagram svg text{fill:var(--muted);stroke:none;font-size:10px}.lld-diagram svg text.lld-svg-title{fill:var(--text);font-size:12px;font-weight:600}.lld-diagram .lld-node-active rect{stroke:var(--accent);fill:var(--accent-dark)}.lld-participants{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.lld-participants .selected{border-color:var(--accent);color:var(--accent)}.lld-diagram-detail{padding:12px 16px;background:var(--panel-alt);border-left:2px solid var(--accent);border-radius:4px;margin-bottom:12px}.lld-diagram-detail p{color:var(--muted);line-height:1.7;margin:7px 0}.lld-diagram-detail code{overflow-wrap:anywhere;font-size:11px}.lld-reader details>summary{cursor:pointer}.lld-reader pre{overflow:auto;max-width:100%;font-size:11px;line-height:1.7;background:var(--code-bg);padding:14px;border-radius:6px}.lld-live-state{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:20px 0}.lld-live-state>div{min-width:0}.lld-live-state pre{max-height:350px}.lld-live-state .source-code{min-width:0}.lld-explanation{padding:16px;background:var(--accent-dark);border:1px solid var(--border);border-radius:8px;margin:18px 0}.lld-explanation p{margin:8px 0}.lld-lab .playback-controls{flex-wrap:wrap;margin-bottom:18px}.lld-history-step{background:none;border:0;text-align:left;color:var(--muted);cursor:pointer;line-height:1.8;padding:5px}.lld-history-step[aria-current=step]{color:var(--accent)}.lld-fixture{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.lld-fixture>div{min-width:0}.lld-assessments{display:grid;gap:24px}.lld-assessments .sd-panel{padding:22px;min-width:0}.lld-assessments select{margin-bottom:16px}.lld-assessments li,.lld-assessments p{font-size:13px;line-height:1.8}.lld-assessments fieldset{min-width:0}.lld-assessments .quiz-options label{display:flex;flex-direction:row}.lld-assessments details{margin:12px 0}.lld-assessments h3{font-size:20px;margin:12px 0}.lld-course :focus-visible,.lld-reader :focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(min-width:1650px){.lld-reader-layout{grid-template-columns:190px minmax(0,1fr) 150px;gap:32px}.lld-toc{display:block;position:sticky;top:30px}.lld-mobile-toc{display:none}.lld-live-state{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}@media(max-width:1200px){.lld-filters{grid-template-columns:1fr 1fr}.lld-filters .lld-check{padding-top:22px}.lld-reader-layout{grid-template-columns:minmax(0,1fr)}.lld-course-nav{display:none}.lld-mobile-course{display:inline-flex!important}.lld-hero{gap:24px;grid-template-columns:minmax(0,1fr) 210px}.lld-hero h1{font-size:36px}}@media(max-width:600px){.lld-hero{grid-template-columns:1fr;padding:16px 0 26px;gap:18px}.lld-hero h1{font-size:35px}.lld-course-stat{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.lld-course-stat>svg{grid-row:span 2}.lld-course-stat strong{font-size:32px}.lld-course-stat>span{grid-column:2}.lld-course-stat p,.lld-course-stat progress{grid-column:1/-1}.lld-filters{padding:13px;gap:12px}.lld-filters>label:first-child{grid-column:1/-1}.lld-filters .lld-check{padding-top:0;grid-column:1/-1}.lld-group>summary{padding:16px 12px;gap:10px}.lld-group>summary progress{display:none}.lld-topic-row{padding:14px 10px;gap:7px;flex-wrap:wrap}.lld-topic-name{font-size:13px;flex-basis:calc(100% - 34px)}.lld-topic-name small{font-size:11px}.lld-time{margin-left:22px;margin-right:auto}.lld-topic-row .icon-button{height:30px;width:30px}.lld-summary{flex-direction:column;align-items:flex-start;padding:20px}.lld-panel-heading h2{font-size:22px}.lld-article-header h1{font-size:32px}.lld-objectives{padding:18px}.lld-article-section h2{font-size:23px}.lld-assessments .sd-panel,.lld-code-panel,.lld-lab{padding:13px}.lld-fixture{grid-template-columns:1fr}.lld-lab-controls{flex-direction:column}.lld-next-previous a{padding:12px;font-size:12px}.lld-language{flex-wrap:wrap}.lld-reader .playback-buttons{gap:3px}.lld-reader .playback-controls{padding:12px 8px}.lld-reader .speed-select{max-width:90px}.lld-article-section{padding:24px 0}}@media(prefers-reduced-motion:reduce){.lld-course *,.lld-reader *{scroll-behavior:auto;transition:none;animation:none}}