body:not([data-account-app]){margin:2rem;font-family:system-ui,sans-serif;line-height:1.6}body:not([data-account-app]) main{max-width:48rem}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--surface:#161618;--raised:#222224;--ink:#fff6ec;--muted:#c2bab2;--soft:#a39c96;--line:#514c48;--orange:#ff8a32;--red:#e94d20;--hover:#2c2520;--book:#fff6ec}:root[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f5f7;--surface:#fff;--raised:#fff;--ink:#19191e;--muted:#55515a;--soft:#645e68;--line:#c7c1c0;--hover:#fff0e2;--book:#15151a}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:var(--bg);min-height:100svh;color:var(--ink);flex-direction:column;margin:0;font:300 16px/1.7 Microsoft YaHei UI,Microsoft YaHei,DengXian,sans-serif;display:flex}button,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}button,select{outline-offset:4px}button:focus-visible,select:focus-visible{outline:3px solid var(--orange)}button svg{pointer-events:none}svg{display:block}button{background:0 0;border:0}[hidden]{display:none!important}.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}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:40;flex:none;justify-content:space-between;align-items:center;gap:24px;height:76px;padding:0 42px;display:flex;position:relative}.identity{white-space:nowrap;letter-spacing:.03em;flex:none;align-items:center;gap:14px;font:400 20px/1.4 Arial,sans-serif;display:flex}.identity-mark{color:var(--orange);font:400 25px/1 Consolas,monospace}.top-actions{align-items:center;gap:14px;display:flex}.icon-button{width:44px;height:44px;color:var(--ink);border-radius:8px;place-items:center;display:grid}.icon-button>svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.icon-button:hover,.icon-button[aria-expanded=true]{color:var(--red);background:var(--hover)}#book-toggle{color:var(--book)}#book-toggle:hover,#book-toggle[aria-expanded=true]{color:var(--red)}.avatar-toggle>svg{width:30px;height:30px}.avatar-ring{fill:var(--raised);stroke:var(--line)}.moon{display:none}.sun,:root[data-theme=day] .moon{display:block}:root[data-theme=day] .sun{display:none}.nav-popover{position:relative}.popover{border:1px solid var(--line);background:var(--raised);color:var(--ink);border-radius:10px;position:absolute;top:calc(100% + 14px);box-shadow:0 15px 35px #0003}.popover:before{content:"";height:16px;position:absolute;top:-16px;left:0;right:0}.record-popover{width:392px;padding:22px 22px 14px;right:-58px}.popover h2{margin:0;font-size:21px;font-weight:400;line-height:1.5}.popover-note{color:var(--muted);margin:4px 0 16px;font-size:13px}.recent-record{border-top:1px solid var(--line);gap:7px;padding:14px 0;display:grid}.recent-record h3{margin:0;font-size:15px;font-weight:400;line-height:1.5}.record-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.status-label{border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:0 6px;font-size:12px}.record-action{color:var(--orange);text-underline-offset:4px;justify-self:start;padding:2px 0;font-size:13px;text-decoration:underline}.view-all{border-top:1px solid var(--line);width:100%;min-height:44px;color:var(--orange);text-align:center;margin-top:12px;font-size:15px}.avatar-popover{width:210px;padding:8px;right:0}.avatar-popover button{text-align:left;border-radius:5px;width:100%;padding:11px 15px;font-size:15px;display:block}.avatar-popover button:hover{background:var(--hover);color:var(--red)}.menu-empty{color:var(--muted);padding:16px 0;font-size:15px;line-height:1.7}.menu-error{color:var(--ink);border-top:1px solid var(--line);padding:16px 0;font-size:15px;line-height:1.7}.menu-error button{color:var(--orange);padding:8px 0;font-size:14px;text-decoration:underline;display:block}dialog{color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:10px;width:min(460px,100vw - 32px);max-height:calc(100svh - 40px);padding:38px 32px 26px;overflow:auto}dialog::backdrop{background:#09090bbd}.dialog-close{width:36px;height:36px;color:var(--muted);place-items:center;display:grid;position:absolute;top:12px;right:12px}.dialog-close svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:22px;height:22px}.dialog-kind{color:var(--orange);margin:0 0 12px;font-size:12px}dialog h2{margin:0 0 18px;font-size:25px;font-weight:300;line-height:1.6}#dialog-copy{margin:0 0 16px;font-size:16px;line-height:1.9}#dialog-detail{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.9}.dialog-footer{border-top:1px solid var(--line);color:var(--soft);margin:24px 0 0;padding-top:16px;font-size:11px;line-height:1.8}:root .svg-sprite{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.record-popover{max-height:calc(100svh - 110px);overflow-y:auto}:root[data-theme=day] .record-action,:root[data-theme=day] .view-all,:root[data-theme=day] .entry-action,:root[data-theme=day] .text-button,:root[data-theme=day] .back-button,:root[data-theme=day] .placeholder-message,:root[data-theme=day] .menu-error button,:root[data-theme=day] .dialog-kind,:root[data-theme=day] .preview-disclaimer strong,:root[data-theme=day] .language-button:hover .language-name,:root[data-theme=day] .language-button[aria-pressed=true] .language-name{color:#a84300}:root{--rail-width:80px;--rail-expanded:clamp(240px,21.112vw,304px);--knowledge-card-height:clamp(88px,10.4svh,96px)}.app-shell{flex:1;min-height:calc(100svh - 136px);position:relative}.main-canvas{width:100%;padding:clamp(18px,3svh,32px) 112px 20px}.content{width:100%;max-width:1080px;margin:0 auto}.main-canvas[data-view=selection]{padding-inline:calc(var(--rail-expanded) + 24px)}.design-note{color:var(--soft);margin:18px 0 0;font-size:12px;line-height:1.8}.empty-state{text-align:center;align-content:center;justify-items:center;min-height:min(480px,100svh - 210px);padding:24px 12px;display:grid}.empty-state>h1{max-width:800px;margin:0;font-size:clamp(26px,2.6vw,38px);font-weight:300;line-height:1.6}.empty-state>p{max-width:520px;color:var(--muted);margin:18px 0 0;font-size:15px;line-height:1.7}.empty-mark{color:var(--orange);margin-bottom:26px;font:300 44px/1 Consolas,monospace}.placeholder-state .language-heading{margin:0}.placeholder-state .placeholder-message{color:var(--orange);margin-top:12px;font-size:30px;line-height:1.5}:root[data-theme=day] .practice-section h2,:root[data-theme=day] .placeholder-message{color:#a84300}:root[data-theme=day] .level-section h2{color:#b43217}.language-rail{width:var(--rail-width);z-index:25;background:var(--surface);border-right:1px solid var(--line);padding:20px 8px;transition:width .4s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;bottom:0;left:0;overflow:hidden}.language-rail[data-expanded=true]{width:var(--rail-expanded);box-shadow:12px 0 25px #0002}.language-button{width:100%;height:112px;color:var(--muted);text-align:left;border-radius:8px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:12px 8px;display:grid;position:relative}.language-button:hover{color:var(--orange);background:var(--hover)}.language-button[aria-pressed=true]{color:var(--orange)}.language-button[aria-pressed=true]:before{content:"";background:var(--ink);border-radius:2px;width:3px;height:36px;position:absolute;top:38px;left:0}.language-logo-slot{flex:none;place-items:center;width:48px;height:48px;display:grid}.language-logo{width:42px;height:42px}[data-language=Python] .language-logo{transform:scale(1.05)}[data-language=JSON] .language-logo{transform:scale(.96)}[data-language="C++"] .language-logo{transform:scale(.9)}.language-detail{width:calc(var(--rail-expanded) - 96px);opacity:0;transition:opacity .26s,transform .4s cubic-bezier(.2,.7,.2,1);transform:translate(-12px)}.language-rail[data-expanded=true] .language-detail{opacity:1;transform:translate(0)}.language-name{align-items:center;gap:10px;font-size:21px;font-weight:400;line-height:1.4;display:flex}.selected-note{border:1px solid;border-radius:3px;padding:0 5px;font-size:11px;line-height:1.6}.language-description{min-height:42px;color:var(--muted);margin-top:7px;font-size:13px;line-height:1.6;display:block}.preview-strip{z-index:35;border-top:1px solid var(--line);background:var(--surface);flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:8px 22px;display:flex;position:relative}.preview-disclaimer{gap:3px;min-width:0;display:grid}.preview-disclaimer strong{color:var(--orange);font-size:13px;font-weight:400;line-height:1.4}.preview-disclaimer span{color:var(--muted);font-size:11px;line-height:1.45}.preview-switcher{flex:none;position:relative}.preview-switcher summary{cursor:pointer;border:1px solid var(--line);border-radius:6px;min-height:36px;padding:7px 12px;font-size:13px;line-height:1.5}.preview-switcher summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.preview-switcher[open] summary{background:var(--hover)}.preview-controls{border:1px solid var(--line);background:var(--raised);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;width:min(680px,100vw - 44px);max-height:calc(100svh - 160px);padding:18px;display:flex;position:absolute;bottom:calc(100% + 12px);right:0;overflow:auto;box-shadow:0 12px 30px #0003}.preview-controls label{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.preview-controls select{background:var(--bg);border:1px solid var(--line);border-radius:4px;max-width:184px;min-height:36px;padding:6px 22px 6px 8px;font-size:12px}.preview-controls button{border:1px solid var(--line);border-radius:4px;min-height:36px;padding:6px 11px;font-size:12px}.preview-controls button:hover{border-color:var(--orange)}:root[data-theme=day] .preview-disclaimer strong{color:#a84300}.records-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.records-heading h1{margin:0;font-size:34px;font-weight:300}.back-button{min-height:44px;color:var(--orange);text-underline-offset:5px;font-size:14px;text-decoration:underline}.records-table-wrapper{border-top:1px solid var(--line);overflow-x:auto}.records-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.records-table th{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:400}.records-table th,.records-table td{border-bottom:1px solid var(--line);padding:17px 10px}.records-table td:first-child{white-space:nowrap;font-size:13px}.records-table .record-action{white-space:nowrap}.inline-message{color:var(--muted);padding:26px 0;font-size:16px}.inline-message h2{color:var(--ink);font-size:22px;font-weight:400}.solid-button{background:var(--orange);color:#101012;border-radius:6px;min-height:44px;padding:10px 20px;font-size:15px;font-weight:400;display:inline-block}.text-button{color:var(--orange);min-height:44px;padding:10px 0;text-decoration:underline}@media (width<=1100px){.topbar{padding:0 28px}.practice-groups{gap:24px}.knowledge-entry{gap:12px;padding-inline:16px}.level-entry{padding-inline:18px}.knowledge-entry .entry-title{font-size:20px}.knowledge-entry .entry-description{margin-top:4px;font-size:13.5px;line-height:1.5}}@media (height<=790px) and (width>=921px){.main-canvas{padding-top:18px;padding-bottom:18px}.language-heading{margin-bottom:20px}.design-note{margin-top:14px}}@media (width<=920px){.topbar{gap:12px;height:76px;padding:0 18px}.identity{gap:9px;font-size:18px}.identity-mark{font-size:23px}.top-actions{gap:8px}.icon-button{width:40px;height:44px}.language-rail{display:none}.app-shell{min-height:calc(100svh - 230px)}.main-canvas,.main-canvas[data-view=selection]{padding:28px 24px 40px}.empty-state{min-height:350px;padding:35px 0}.empty-state>h1{font-size:26px}.record-popover{width:min(392px,100vw - 28px);padding:20px;right:-50px}.records-heading{flex-direction:column;align-items:start;gap:8px}.records-heading h1{font-size:28px}.records-table{min-width:0}.records-table thead{display:none}.records-table tbody,.records-table tr,.records-table td{display:block}.records-table tr{border-bottom:1px solid var(--line);padding:16px 0}.records-table td{border:0;grid-template-columns:70px 1fr;gap:12px;padding:4px 0;font-size:14px;display:grid}.records-table td:before{content:attr(data-label);color:var(--muted);font-size:12px}.records-table td:first-child{white-space:normal}.records-table .record-action{justify-self:start}.preview-strip{padding:12px 18px}}@media (width<=420px){.topbar{padding:0 12px}.identity{letter-spacing:0;gap:7px;font-size:15px}.identity-mark{font-size:21px}.top-actions{gap:4px}.icon-button{width:38px;height:44px}.icon-button>svg{width:23px;height:23px}.avatar-toggle>svg{width:28px;height:28px}.main-canvas,.main-canvas[data-view=selection]{padding:28px 18px 40px}.empty-state>h1{font-size:24px}.record-popover{right:-44px}.recent-record{padding:12px 0}.preview-strip{flex-wrap:wrap;gap:12px;padding:12px}.preview-controls{width:calc(100vw - 24px);right:0}dialog{padding:37px 24px 22px}}@media (pointer:coarse){.language-rail{display:none}}@media (prefers-reduced-motion:reduce){.language-rail,.language-detail{transition:none}.language-detail{transform:none}}.brand-mark{white-space:nowrap;letter-spacing:0;align-items:baseline;gap:0;font-family:Consolas,monospace;display:inline-flex}.brand-bracket,.brand-cursor{flex:none;width:1ch;display:inline-block}.brand-letters{flex:none;width:2ch;display:inline-block}.brand-cursor{animation:1.2s step-end infinite cursor-blink}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:.12}}html[data-visibility=hidden] .brand-cursor{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.brand-cursor{opacity:1;animation:none}}:root{--student-serif:Georgia,"Times New Roman",SimSun,"宋体","Songti SC","STSong",serif}.main-canvas,.main-canvas .language-title h1{font-family:var(--student-serif)}.main-canvas button,.main-canvas a{font-family:inherit}@scope(body[data-desktop-page=welcome]){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--void:#09090b;--ink:#222224;--red:#e94d20;--orange:#ff8a32;--paper:#fff6ec;--muted:#ded5cc}*{box-sizing:border-box}html{background:var(--void);min-height:100%}body{color:var(--paper);margin:0;font:300 16px/1.7 Microsoft YaHei UI,Microsoft YaHei,DengXian,sans-serif}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}a{color:inherit;text-decoration:none}button,a,input{-webkit-tap-highlight-color:transparent;outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange)}button svg{pointer-events:none}.page{isolation:isolate;background:var(--void);min-height:100svh;position:relative}.page:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(ellipse clamp(286px,46.2vw,660px) clamp(231px,35.2vw,473px) at var(--glow-x,50%) var(--glow-y,70%),#e94d2050 0%,#e94d2030 28%,#f5751510 58%,#09090b00 82%);position:absolute;inset:0}.topbar{z-index:2;border-bottom:1px solid #f8e2d21c;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:24px;max-width:1600px;height:98px;margin:auto;padding:0 56px;display:flex;position:relative}.identity{letter-spacing:.06em;align-items:center;gap:14px;font-size:20px;font-weight:400;display:flex}.identity-mark{color:var(--orange);font:400 25px/1 Consolas,monospace}nav{white-space:nowrap;flex:none;align-items:center;gap:28px;display:flex}nav button{color:var(--paper);background:0 0;border:0;min-height:44px;font-size:15px}.nav-link{color:var(--muted);padding:8px 0}.nav-link:hover{color:#fff}.nav-login{border:1px solid #f4d7bf66;border-radius:7px;padding:8px 24px}.nav-login:hover{border-color:var(--orange);background:#ff7a280d}.welcome{place-items:center;min-height:calc(100svh - 158px);display:grid;position:relative;overflow:hidden}.space{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero{text-align:center;z-index:1;width:100%;max-width:none;padding:84px 32px 124px;position:relative}.hero h1{letter-spacing:.01em;text-wrap:balance;margin:0 0 28px;font-size:clamp(46px,5.1175vw,82.8px);font-weight:300;line-height:1.48}.hero h1>span{white-space:nowrap;text-shadow:0 1px 12px #09090bde;display:block}.hero h1 .accent{color:var(--orange)}.hero p{color:var(--muted);text-wrap:pretty;text-shadow:0 1px 8px #09090b;max-width:1280px;margin:0 auto 40px;font-size:18px;line-height:1.95}.cta{background:var(--orange);color:#101012;border:1px solid #ff9c69;border-radius:7px;min-width:172px;min-height:58px;padding:14px 34px;font-size:18px;font-weight:400;display:inline-block;box-shadow:0 8px 30px #09090f16}.cta:hover{background:#ffa354}.cta:active{background:#f17a25}.tech{will-change:transform;opacity:var(--opacity,.6);width:var(--size,88px);height:var(--size,88px);color:#ddd0c6;position:absolute}.tile{width:100%;height:100%;transform:rotate(var(--angle,0deg));background:linear-gradient(140deg,#fff6ec19,#ff8a3208);border:1px solid #e5d2c333;border-radius:20%;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;box-shadow:inset 0 1px #fff6ec0a}.tile b{font:400 calc(var(--size,88px)*.32)/1.3 Consolas,monospace;letter-spacing:-.02em}.tile svg{width:52%;height:52%}.json{--size:76px;--opacity:.26;--angle:-8deg;top:54%;left:36%}.python{--size:105px;--opacity:.43;--angle:5deg;top:3%;left:43%}.cpp{--size:108px;--opacity:.36;--angle:6deg;top:36%;left:56%}.java{--size:82px;--opacity:.42;--angle:8deg;top:8%;right:20%}.html{--size:94px;--opacity:.32;--angle:-5deg;top:43%;right:12%}.css{--size:60px;--opacity:.32;--angle:6deg;bottom:11%;left:24%}.js{--size:95px;--opacity:.4;--angle:-7deg;bottom:12%;right:22%}.ts{--size:58px;--opacity:.22;--angle:-4deg;top:4%;left:27%}.sql{--size:60px;--opacity:.23;--angle:7deg;bottom:9%;left:6%}.outline{--opacity:.3}.outline .tile{box-shadow:none;background:0 0}.void{--opacity:.28}.one{--size:82px;--angle:-8deg;top:11%;left:10%}.two{--size:54px;--angle:9deg;top:34%;left:20%}.three{--size:96px;--angle:4deg;bottom:18%;right:6%}.four{--size:80px;--angle:-3deg;top:14%;left:61%}.five{--size:66px;--angle:8deg;top:56%;left:68%}.six{--size:100px;--angle:-4deg;bottom:25%;left:13%}.seven{--size:74px;--angle:7deg;bottom:6%;left:48%}.eight{--size:60px;--angle:6deg;bottom:19%;left:32%}.nine{--size:92px;--angle:-6deg;top:50%;left:6%}.ten{--size:80px;--angle:3deg;top:5%;right:5%}.eleven{--size:50px;--angle:-5deg;bottom:2%;left:75%}.c{--size:80px;--opacity:.32;--angle:5deg;top:7%;left:19%}.csharp{--size:74px;--opacity:.3;--angle:-8deg;top:25%;right:29%}.go{--size:82px;--opacity:.35;--angle:4deg;top:32%;left:7%}.visualbasic{--size:70px;--opacity:.28;--angle:-5deg;bottom:10%;right:35%}.php{--size:84px;--opacity:.34;--angle:6deg;top:24%;right:7%}.rust{--size:68px;--opacity:.32;--angle:-4deg;top:62%;left:23%}.twelve{--size:46px;--angle:6deg;top:3%;left:52%}.thirteen{--size:72px;--angle:-6deg;bottom:30%;right:17%}.fourteen{--size:46px;--angle:3deg;bottom:22%;left:42%}.preview-footer{color:#e7d6c8;z-index:1;background:#09090f20;justify-content:space-between;align-items:center;gap:24px;max-width:1600px;min-height:60px;margin:auto;padding:18px 56px;font-size:12px;display:flex;position:relative}.no-js{text-align:center;color:var(--muted);font-size:13px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}dialog{box-sizing:border-box;width:min(360px,100% - 36px);max-height:calc(100svh - 32px);color:var(--paper);background:#222224;border:1px solid #f4d7bf20;border-radius:12px;margin:auto;padding:56px 28px 34px;overflow:auto;box-shadow:0 24px 80px #0006}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#09090fde}dialog:not([open]){display:none}.close{color:#c9bbae;background:0 0;border:0;border-radius:6px;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:10px;right:10px}.close:hover{background:#f4d7bf12}.close svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:19px;height:19px}.login-brand{letter-spacing:.015em;justify-content:center;align-items:center;gap:12px;margin:0 0 40px;font-size:21px;font-weight:300;line-height:1.6;display:flex}.dialog-mark{color:var(--orange);font:400 24px/1.3 Consolas,monospace}.identity-mark,.dialog-mark{white-space:nowrap;flex-shrink:0}.brand-name{white-space:nowrap}form{margin:0}.fields{background:#2c2b2b;border:1px solid #776b62;border-radius:7px;overflow:clip}.field{align-items:center;gap:13px;min-height:54px;padding:0 16px;display:flex}.field+.field{border-top:1px solid #776b62}.field:focus-within{outline:2px solid var(--orange);outline-offset:-2px;background:#3a2c25}.field svg{fill:none;stroke:#c8b6a8;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}input{width:100%;min-width:0;min-height:52px;color:var(--paper);background:0 0;border:0;border-radius:0;flex:1;padding:10px 0;font-size:16px;font-weight:400}input::placeholder{color:#c9bcb1}input:focus-visible{outline:0}.login-submit{background:var(--orange);color:#101012;border:1px solid #ef7e54;border-radius:6px;width:100%;min-height:48px;margin-top:24px;font-size:16px}.login-submit:hover{background:#ffa354}.feedback{color:#ffe0cf;background:#3c211c;border-left:3px solid #ff9c78;border-radius:3px;margin:14px 0 0;padding:9px 12px;font-size:13px}.feedback[hidden]{display:none}.account-help{text-align:center;color:#eee0d6;margin:24px 0 0;font-size:13px;font-weight:400;line-height:1.9}.account-help small{color:#c9b7a9;margin-top:7px;font-size:11px;display:block}.simulation{color:#c8b6a8;text-align:center;border-top:1px solid #f4d7bf20;margin:22px 0 0;padding-top:16px;font-size:11px;line-height:1.8}.mobile-notice{color:#e7d6c8;background:#ff7a280d;border-radius:6px;margin:18px 0 0;padding:10px 12px;font-size:12px;line-height:1.8;display:none}.about-dialog{padding-top:36px}.about-dialog h2{margin:18px 0 24px;font-size:25px;font-weight:500}.about-dialog p{color:#ded5cc;margin:0 0 20px;font-size:14px;line-height:1.9}.about-dialog .about-boundary{border-top:1px solid #f4d7bf20;margin-bottom:0;padding-top:20px;font-size:13px}@media (width>=1024px){.hero p{white-space:nowrap;text-wrap:nowrap}}@media (width<=1100px){.hero h1{font-size:57.5px}.hero{padding-inline:32px}.hero p{max-width:none}.topbar{padding-inline:32px}.mobile-notice{display:block}.python,.cpp{--size:86px}.html{--size:76px}.java{--size:70px}.six{--size:80px}}@media (width<=1023px){.hero p{max-width:650px}}@media (width<=800px){.topbar{gap:10px;height:80px;padding:0 20px}.identity{letter-spacing:0;gap:8px;font-size:14px}.identity-mark{font-size:19px}nav{gap:12px}nav button{font-size:12px}.nav-login{min-width:50px;min-height:44px;padding:6px 14px}.welcome{min-height:calc(100svh - 140px)}.hero{padding:144px 10px 180px}.hero h1{letter-spacing:0;margin-bottom:24px;font-size:clamp(33.35px,6.67vw,48.3px);line-height:1.58}.hero p{max-width:440px;margin-bottom:30px;font-size:16px;line-height:1.9}.cta{min-width:156px;min-height:54px;font-size:16px}.python{--size:72px;--opacity:.3;top:10%;left:32%}.json{--size:52px;--opacity:.21;top:54%;left:40%}.cpp{--size:68px;--opacity:.25;top:36%;left:59%}.java{--size:56px;top:7%;right:8%}.html{--size:48px;--opacity:.28;top:68%;right:3%}.css{--size:52px;bottom:9%;left:18%}.js{--size:62px;bottom:5%;right:15%}.sql{--size:42px;bottom:3%;left:4%}.c{--size:44px;top:5%;left:48%}.csharp{--size:48px;top:13%;right:22%}.go{--size:52px;top:61%;left:4%}.visualbasic{--size:46px;bottom:22%;right:23%}.php{--size:60px;top:55%;right:4%}.rust{--size:46px;top:auto;bottom:7%;left:34%}.twelve{--size:32px;top:16%;left:41%}.thirteen{--size:40px;bottom:31%;left:41%;right:auto}.fourteen{--size:34px;bottom:36%;left:auto;right:11%}.ts,.nine,.eleven{display:none}.one{--size:60px;top:4%;left:6%}.two{--size:46px;top:30%;left:5%}.three{--size:54px;bottom:18%;right:4%}.four{--size:50px;top:18%;left:65%}.five{--size:46px;top:58%;left:64%}.six{--size:54px;bottom:22%;left:3%}.seven{--size:54px;bottom:12%;left:48%}.eight{--size:42px;top:61%;left:22%}.ten{--size:45px;top:4%;right:4%}.preview-footer{gap:8px;padding:16px 22px;font-size:10px}dialog{max-height:calc(100svh - 24px);padding:46px 24px 24px}.login-brand{margin-bottom:30px;font-size:21px}.account-help{font-size:12px}.mobile-notice{display:block}}@media (width<=380px){.topbar{gap:8px;padding-inline:14px}.identity{gap:6px;font-size:13px}.identity-mark{font-size:17px}nav{gap:10px}.nav-login{min-width:46px;min-height:44px;padding-inline:11px}.hero{padding-inline:4px}.hero h1{font-size:32.2px}.preview-footer{padding-inline:16px}.login-brand{gap:9px;font-size:19px}}@media (width<=800px){.hero p{width:calc(100vw - 50px)}}@media (width<=380px){.hero p{width:calc(100vw - 55px)}}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.tech{will-change:auto}}.about-dialog .logo-credit{color:var(--muted);font-size:11px;line-height:1.8}}@media (width>=921px) and (pointer:fine){body[data-desktop-page]{grid-template-rows:76px minmax(0,1fr) 46px;height:100svh;min-height:0;display:grid}body[data-desktop-page]>.topbar{height:76px;min-height:0}body[data-desktop-page]>.app-shell{height:100%;min-height:0;grid-template-rows:minmax(0,1fr);min-block-size:0;display:grid}body[data-desktop-page] .main-canvas,body[data-desktop-page] .main-canvas[data-view]{height:100%;min-height:0;min-block-size:0;padding-block:12px}body[data-desktop-page]>.preview-strip{flex-wrap:nowrap;gap:12px;height:46px;min-height:0;padding-block:2px}body[data-desktop-page] .preview-disclaimer{gap:1px}body[data-desktop-page] .preview-controls{max-height:calc(100svh - 126px)}body[data-desktop-page] .empty-state{height:100%;min-height:0;padding-block:12px}body[data-desktop-page] .content{min-height:0}body[data-desktop-page=selection] .selection-content{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;height:100%;display:grid}body[data-desktop-page=selection] .language-heading{gap:4px;margin:0}body[data-desktop-page=selection] .practice-groups,body[data-desktop-page=selection] .practice-section{min-height:0}body[data-desktop-page=selection] .practice-section h2{margin-bottom:10px}body[data-desktop-page=selection] .knowledge-list{grid-template-rows:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:10px;min-height:0}body[data-desktop-page=selection] .level-list{gap:10px;min-height:0}body[data-desktop-page=selection] .knowledge-entry{min-height:0}body[data-desktop-page=selection] .design-note{margin-top:0}body[data-desktop-page=selection] .turtle-content,body[data-desktop-page=selection] .entry-handoff{height:100%;min-height:0;min-block-size:0}body[data-desktop-page=selection] .turtle-heading{margin-bottom:12px}body[data-desktop-page=selection] .turtle-entry{min-height:88px;padding:12px 16px}body[data-desktop-page=selection] .entry-handoff h1{margin-bottom:10px}body[data-desktop-page=selection] .entry-handoff p{margin-bottom:12px;font-size:16px;line-height:1.65}body[data-desktop-page=syntax] .syntax-content{flex-direction:column;height:100%;display:flex}body[data-desktop-page=syntax] .syntax-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}body[data-desktop-page=syntax] .topic-card{aspect-ratio:1;padding:3px}body[data-desktop-page=syntax] .topic-label{font-size:16px;line-height:1.25}body[data-desktop-page=syntax] .syntax-footline{margin-top:auto;padding-top:8px;font-size:12px}body[data-desktop-page=syntax] .syntax-return-link{font-size:14px}body[data-desktop-page=syntax] .syntax-handoff{flex-direction:column;gap:4px;height:100%;display:flex}body[data-desktop-page=syntax] .syntax-handoff h1,body[data-desktop-page=syntax] .syntax-handoff h2,body[data-desktop-page=syntax] .syntax-handoff p{margin-block:0}body[data-desktop-page=syntax] .syntax-handoff h1{font-size:26px;line-height:1.35}body[data-desktop-page=syntax] .syntax-handoff h2{line-height:1.3}body[data-desktop-page=syntax] .syntax-handoff .handoff-kind{line-height:1.4}body[data-desktop-page=syntax] .syntax-handoff .handoff-status{line-height:1.6}body[data-desktop-page=syntax] .handoff-topics{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 12px;margin:0;padding:0;list-style:none;display:grid}body[data-desktop-page=syntax] .handoff-topics li{margin:0;font-size:16px;line-height:1.45}body[data-desktop-page=syntax] .handoff-topics small{font-size:14px;line-height:1.4}body[data-desktop-page=syntax] .handoff-boundary{font-size:16px;line-height:1.5}body[data-desktop-page=syntax] #return-syntax{flex:none;align-self:flex-end;margin-top:auto}body[data-desktop-page=dictation] .workstation{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0}body[data-desktop-page=dictation] .answer-area{min-height:0}body[data-desktop-page=dictation] .pane-heading,body[data-desktop-page=dictation] .answer-actions{padding-block:10px}body[data-desktop-page=dictation] .terminal-panel{max-height:min(125px,24svh)}body[data-desktop-page=records] .records-main{min-height:0;min-block-size:0;padding-block:10px}body[data-desktop-page=records] .records-workstation{gap:8px;height:100%;min-height:0}body[data-desktop-page=records] .records-title-row h1{font-size:26px}body[data-desktop-page=records] .record-list{flex:1;gap:6px;min-height:0}body[data-desktop-page=records] .record-table-wrapper{flex:1;min-height:0;overflow:visible}body[data-desktop-page=records] .records-table{width:100%;min-width:0;font-size:17px}body[data-desktop-page=records] .records-table time{white-space:normal}body[data-desktop-page=records] .record-pagination{flex-direction:column;flex:none;justify-content:center;gap:2px;min-height:64px;display:flex}body[data-desktop-page=records] .record-pagination button{min-height:36px}body[data-desktop-page=records] .workspace-footer{flex:none;min-height:40px;margin-top:0}body[data-desktop-page=records] .list-gate{flex:1;min-height:0}body[data-desktop-page=welcome]{height:100svh;min-height:0;display:block}body[data-desktop-page=welcome] .page{grid-template-rows:98px minmax(0,1fr) 42px;height:100%;min-height:0;display:grid}body[data-desktop-page=welcome] .topbar{width:100%;height:98px}body[data-desktop-page=welcome] .welcome{height:100%;min-height:0;overflow:visible}body[data-desktop-page=welcome] .hero{padding-block:clamp(8px,2svh,24px)}body[data-desktop-page=welcome] .preview-footer{width:100%;height:42px;min-height:0;padding-block:4px}body[data-desktop-page=welcome] dialog{padding:36px 26px 24px}body[data-desktop-page=welcome] .login-brand{margin-bottom:24px}body[data-desktop-page=welcome] .account-help{margin-top:16px}body[data-desktop-page=welcome] .simulation{margin-top:16px;padding-top:12px}}.desktop-fit-status{color:#f99;max-width:320px;font-size:12px;line-height:1.5}.desktop-fit-status[hidden]{display:none!important}:root[data-theme=day] .desktop-fit-status{color:#ab2133}[data-language=Python] .language-logo,[data-language=JSON] .language-logo,[data-language="C++"] .language-logo{width:42px;height:42px;transform:none}.tech.python svg,.tech.cpp svg{width:52px;height:52px}.tech.json{color:#d7d0c8}.tech.json b{place-items:center;width:52px;height:52px;font-size:36px;line-height:1;display:grid}.profile-main{padding-inline:112px}.profile-workstation{flex-direction:column;gap:18px;max-width:1000px;height:100%;min-height:0;margin:0 auto;display:flex}.profile-workstation>h1{text-align:center;margin:16px 0 8px;font-size:40px;font-weight:400;line-height:1.3}.profile-card{border:1px solid var(--line);background:var(--surface);border-radius:4px;width:100%;max-width:920px;margin:auto;padding:30px 34px}.profile-identity{border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:32px;padding-bottom:22px;display:flex}.default-avatar{flex:none;width:100px;height:100px}.avatar-disc{fill:var(--raised);stroke:var(--line);stroke-width:1.2px}.avatar-person{fill:var(--ink)}.profile-identity h2{margin:0 0 6px;font-size:34px;font-weight:400;line-height:1.3}.profile-identity p{color:var(--muted);margin:0;font-size:22px;line-height:1.4}.profile-fields{grid-template-columns:160px minmax(160px,1fr) 190px;align-items:center;gap:22px 20px;margin-top:26px;font-size:23px;display:grid}input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;width:100%;min-width:0;min-height:44px;padding:8px 12px}input:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}input:disabled{opacity:.65}.readonly-username{background:0 0;border-color:#0000;padding-left:0}.field-help{color:var(--muted);font-size:17px}.profile-actions{justify-content:space-between;align-items:center;gap:20px;display:flex}.profile-actions .back-button{font-size:22px}.profile-actions .solid-button{min-width:180px;padding:10px 24px;font-size:22px}.profile-return{flex:none;justify-content:flex-end;min-height:44px;margin-top:auto;display:flex}.profile-return .back-button{font-size:18px}.form-feedback{min-height:28px;color:var(--muted);margin:10px 0;font-size:16px;line-height:1.7}.form-feedback[data-error=true]{color:#ff9a93}:root[data-theme=day] .form-feedback[data-error=true]{color:#a92427}.page-notice{color:var(--muted);margin:0;font-size:17px;line-height:1.7}.outline-button{border:1px solid var(--line);border-radius:4px;min-height:44px;padding:8px 18px}.outline-button:hover{background:var(--hover);border-color:var(--orange)}.solid-button{font-family:inherit}#action-dialog{width:min(620px,100vw - 32px);font-family:var(--student-serif)}#modal-fields{gap:14px;display:grid}#modal-fields label{gap:6px;font-size:18px;display:grid}.modal-actions{justify-content:flex-end;gap:14px;margin-top:20px;display:flex}.modal-actions button{font-family:inherit;font-size:18px}#modal-copy{white-space:pre-line;font-size:18px;line-height:1.8}.admin-role{border-left:1px solid var(--line);padding-left:20px;font-size:18px}.admin-avatar{width:38px;height:38px}.admin-shell{grid-template-columns:238px minmax(0,1fr);grid-template-rows:minmax(0,1fr)!important;display:grid!important}.admin-rail{border-right:1px solid var(--line);background:var(--surface);font-family:var(--student-serif);padding:16px 12px}.admin-rail button{text-align:left;border-radius:4px;align-items:center;gap:18px;width:100%;min-height:72px;padding:12px 18px;font-size:23px;display:flex;position:relative}.admin-rail svg{fill:none;stroke:currentColor;stroke-width:1.7px;flex:none;width:28px;height:28px}.admin-rail button:hover{background:var(--hover)}.admin-rail button[aria-current=page]{color:var(--orange);background:var(--hover)}.admin-rail button[aria-current=page]:before{content:"";background:var(--orange);border-radius:4px;width:4px;position:absolute;top:12px;bottom:12px;left:0}.admin-main{height:100%;min-height:0;padding:12px 20px!important}.admin-workstation{border:1px solid var(--line);border-radius:5px;flex-direction:column;gap:12px;height:100%;min-height:0;padding:20px;display:flex}.admin-workstation h1{margin:0;font-size:36px;font-weight:400;line-height:1.3}.admin-tools{flex:none;align-items:center;gap:12px;display:flex}.admin-tools input{max-width:400px;font-size:20px}.admin-tools select{background:var(--bg);border:1px solid var(--line);border-radius:4px;max-width:210px;min-height:46px;padding:8px 14px;font-family:inherit;font-size:19px}.admin-tools .solid-button{white-space:nowrap;margin-left:auto;font-size:20px}.admin-note{color:var(--muted);flex:none;margin:0;font-size:16px;line-height:1.6}.admin-list{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.admin-table-wrapper{border:0;flex:none;overflow:visible}.admin-table{border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid var(--line);text-align:left;border-radius:4px;width:100%;font-size:19px}.admin-table th{background:var(--raised);font-weight:400}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);overflow-wrap:anywhere;padding:10px 16px;line-height:1.5}.admin-table th:last-child,.admin-table td:last-child{border-right:0}.admin-table tbody tr:last-child td{border-bottom:0}.student-user{width:22%}.student-name{width:18%}.student-state{width:12%}.student-actions{width:48%}.admin-row-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-row-actions button{color:var(--orange);white-space:nowrap;min-height:30px;padding:0;font-size:17px}.admin-row-actions button[data-action=disable],.disabled-label{color:#fa8b80}.enabled-label{color:var(--orange)}:root[data-theme=day] .admin-row-actions button,:root[data-theme=day] .enabled-label{color:#a84300}:root[data-theme=day] .admin-row-actions button[data-action=disable],:root[data-theme=day] .disabled-label{color:#ac2525}.admin-pagination{flex-wrap:wrap;flex:none;align-items:center;gap:12px;min-height:58px;display:flex}.admin-pagination button{border:1px solid var(--line);border-radius:4px;min-width:42px;min-height:40px;padding:4px 12px;font-size:17px}.admin-pagination button[aria-current=page]{background:var(--orange);border-color:var(--orange);color:#101012}.admin-pages{gap:8px;display:flex}.admin-position{color:var(--muted);font-size:15px}.admin-record-table{font-size:16px}.admin-record-table th,.admin-record-table td{padding:8px 10px}.admin-record-table .admin-row-actions{justify-content:flex-start;gap:12px}.admin-record-table .admin-row-actions button{font-size:16px}.admin-detail{gap:8px;margin:0;display:grid}.admin-detail div{grid-template-columns:100px minmax(0,1fr);gap:12px;display:grid}.admin-detail dt{color:var(--muted)}.admin-detail dd{overflow-wrap:anywhere;margin:0}@media (height<=790px) and (width>=921px) and (pointer:fine){.profile-workstation>h1{margin:4px 0;font-size:36px}.profile-card{padding:22px 30px}.profile-identity{padding-bottom:16px}.default-avatar{width:90px;height:90px}.profile-fields{gap:18px;margin-top:20px}.admin-workstation{gap:10px;padding:16px}.admin-workstation h1{font-size:32px}.admin-table th,.admin-table td{padding-block:8px}}@media (width<=1100px){.admin-shell{grid-template-columns:190px minmax(0,1fr)}.admin-rail button{gap:12px;padding-inline:10px;font-size:20px}.admin-table{font-size:17px}.admin-row-actions{gap:8px}.admin-row-actions button{font-size:16px}.admin-tools input{max-width:280px}}@media (width<=920px),(pointer:coarse){.profile-main{padding:22px 20px}.profile-workstation{height:auto}.profile-card{margin:20px auto;padding:24px 20px}.profile-fields{grid-template-columns:1fr;gap:10px;font-size:21px}.profile-fields label:not(:first-child){margin-top:10px}.profile-actions{flex-wrap:wrap}.profile-return{margin-top:20px}.admin-shell{display:block!important}.admin-rail{border-right:0;border-bottom:1px solid var(--line);padding:8px;display:flex}.admin-rail button{min-height:48px;font-size:18px}.admin-main{height:auto}.admin-workstation{height:auto;min-height:500px;padding:16px}.admin-tools{flex-wrap:wrap}.admin-tools input{flex:200px;max-width:none}.admin-tools .solid-button{margin-left:0}.admin-table-wrapper{overflow-x:auto}.admin-table{min-width:820px}.admin-record-table{min-width:1100px}.admin-role{padding-left:8px;font-size:14px}}body[data-account-app]{max-width:none;height:100svh;min-height:0;margin:0;display:block}body[data-desktop-page=welcome]{--void:var(--bg);--paper:var(--ink)}body[data-account-app] [hidden]{display:none!important}.site-page{grid-template-rows:76px minmax(0,1fr);height:100svh;min-height:0;display:grid;position:relative}body[data-desktop-page=welcome] .site-page{--void:var(--bg);--paper:var(--ink);grid-template-rows:98px minmax(0,1fr)}body[data-desktop-page=welcome] .welcome{height:100%;min-height:0}body[data-desktop-page=welcome] .hero{padding-block:clamp(8px,2svh,24px)}body[data-desktop-page=welcome] .topbar{width:100%}.public-actions,.auth-actions{align-items:center;gap:14px;display:flex}.identity{color:var(--ink);text-decoration:none}.site-page>.app-shell{height:100%;min-height:0;min-block-size:0}.site-page .main-canvas{height:100%;min-height:0;min-block-size:0;padding-block:12px}#profile,#admin{height:100%;min-height:0}.local-feedback-overlay{z-index:35;max-width:min(440px,90vw);position:absolute;top:88px;right:24px}body[data-desktop-page=welcome] .local-feedback-overlay{top:110px}.local-feedback-overlay .form-feedback:not([hidden]){border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:8px 14px}.feedback-slot:empty{min-height:0}#feedback{min-height:28px;margin:4px 0}.profile-fields{margin-top:20px}.profile-identity{padding-bottom:16px}.profile-workstation{gap:12px}.profile-workstation>h1{margin:8px 0 0}.profile-card{padding:24px 30px}.profile-return .back-button{font-family:inherit}.admin-workstation>.feedback-slot:empty{display:none}.admin-workstation>.profile-return{min-height:36px;margin:0}.admin-list{flex:1;min-height:0}#admin-pagination{flex-wrap:nowrap;gap:8px;height:50px;min-height:50px}.admin-pages,.page-buttons{flex-wrap:nowrap;flex:none;align-items:center;gap:8px;display:flex}#admin-pagination button{white-space:nowrap;flex:none}#admin-pagination #return-profile{border:0;margin-left:auto;padding-inline:0;font-size:14px}.page-ellipsis{text-align:center;flex:none;width:16px}.page-number{color:var(--muted);white-space:nowrap;flex:none;font-size:15px}.admin-table-wrapper{outline-offset:4px}.admin-table-wrapper:focus-visible{outline:2px solid var(--orange)}.admin-main{padding-block:12px!important}.account-modal{width:min(620px,100vw - 32px);font-family:var(--student-serif)}.account-modal .modal-fields{gap:14px;display:grid}.account-modal .modal-fields label{gap:6px;font-size:18px;display:grid}.account-modal input{font:inherit}.account-modal .field-help{margin:12px 0 0}.account-modal h2{font-family:inherit}@media (width>=1101px){.admin-rail button{padding-inline:12px}.admin-rail button span{white-space:nowrap}}#action-help{white-space:pre-line;margin:0 0 16px;font-size:18px;line-height:1.8}#gate .empty-state,#unavailable{height:100%;min-height:0}#gate .modal-actions{justify-content:center}body[data-desktop-page=welcome] .text-button{width:100%;color:var(--orange);margin-top:8px;font-size:13px;display:block}body[data-desktop-page=welcome] .sun,body[data-desktop-page=welcome] .moon{stroke:var(--ink)}body[data-desktop-page=welcome] .top-actions .icon-button{color:var(--ink)}body[data-desktop-page=welcome] .about-dialog .about-boundary{margin-bottom:14px}body[data-desktop-page=welcome] .account-help{margin-top:16px}body[data-desktop-page=welcome] .login-brand{margin-bottom:24px}body[data-desktop-page=welcome] dialog{padding:36px 26px 24px}:root[data-theme=day] body[data-desktop-page=welcome] .hero h1>span,:root[data-theme=day] body[data-desktop-page=welcome] .hero p{text-shadow:none}:root[data-theme=day] body[data-desktop-page=welcome] dialog{background:var(--raised);color:var(--ink);border-color:var(--line)}:root[data-theme=day] body[data-desktop-page=welcome] .fields{background:var(--bg);border-color:var(--line)}:root[data-theme=day] body[data-desktop-page=welcome] .field+.field{border-color:var(--line)}:root[data-theme=day] body[data-desktop-page=welcome] .field:focus-within{background:var(--hover)}:root[data-theme=day] body[data-desktop-page=welcome] .field svg{stroke:var(--muted)}:root[data-theme=day] body[data-desktop-page=welcome] input::placeholder,:root[data-theme=day] body[data-desktop-page=welcome] .account-help,:root[data-theme=day] body[data-desktop-page=welcome] .account-help small,:root[data-theme=day] body[data-desktop-page=welcome] .about-dialog p{color:var(--muted)}@media (height<=790px) and (width>=921px) and (pointer:fine){.profile-workstation{gap:8px}.profile-workstation>h1{margin:4px 0}.profile-card{padding:16px 30px}.profile-identity{padding-bottom:10px}.profile-fields{gap:14px 20px;margin-top:14px}.profile-actions .solid-button{padding-block:8px}#feedback{min-height:28px;margin:0}.admin-workstation{gap:8px;padding:14px}.admin-workstation h1{font-size:32px}.admin-workstation>.profile-return{min-height:32px}#admin-pagination{height:46px;min-height:46px}}@media (width<=920px),(pointer:coarse){body[data-account-app]{height:auto;min-height:100svh}.site-page{grid-template-rows:76px minmax(0,1fr);height:auto;min-height:100svh}body[data-desktop-page=welcome] .site-page{grid-template-rows:80px minmax(0,1fr);height:100svh}.site-page>.app-shell{height:auto;min-height:0}.site-page .main-canvas,#profile,#admin{height:auto}.profile-workstation{gap:12px;height:auto}.profile-workstation>h1{font-size:32px}.profile-identity{gap:20px}.profile-identity h2{font-size:28px}.profile-card{padding:20px}.profile-fields{font-size:21px}.profile-return{margin-top:8px}.admin-role{display:none}#gate .empty-state{min-height:400px}#admin-pagination{flex-wrap:wrap;height:auto}.account-modal{padding:26px 22px}}@media (width>=921px) and (pointer:fine){.profile-workstation{justify-content:center;gap:13px;width:100%;max-width:700px;padding-bottom:60px;position:relative}.profile-workstation>h1{flex:none;margin:0;font-size:28px}.profile-card{flex:none;max-width:644px;margin:0 auto;padding:17px 21px}.profile-identity{gap:22px;padding-bottom:11px}.default-avatar{width:70px;height:70px}.profile-identity h2{margin-bottom:4px;font-size:24px}.profile-identity p{font-size:15.5px}.profile-fields{grid-template-columns:112px minmax(112px,1fr) 133px;gap:15px 14px;margin-top:14px;font-size:16px}.profile-fields input{min-height:31px;padding:6px 8px;font-size:16px}.profile-fields .readonly-username{padding-left:0}.profile-fields .field-help{font-size:12px}.profile-actions{gap:14px}.profile-actions .back-button{min-height:31px;font-size:15.5px}.profile-actions .solid-button{min-width:126px;min-height:31px;padding:7px 17px;font-size:15.5px}.profile-workstation>.profile-return{margin:0;position:absolute;bottom:0;right:0}#feedback-slot-profile #feedback{min-height:20px;margin:3px 0;font-size:13px}}:root[data-theme=day] body[data-desktop-page=welcome] .space .tech{--opacity:.72;color:#414147}:root[data-theme=day] body[data-desktop-page=welcome] .space .tile{box-shadow:none;background:#25252b08;border-color:#51515c55}:root[data-theme=day] body[data-desktop-page=welcome] .space svg [fill]:not([fill=none]){fill:#4b4b53}:root[data-theme=day] body[data-desktop-page=welcome] .space svg [fill][fill=\#ffd343]{fill:#777780}:root[data-theme=day] body[data-desktop-page=welcome] .space svg [fill][fill=\#ffffff],:root[data-theme=day] body[data-desktop-page=welcome] .space svg [fill][fill=\#211b18],:root[data-theme=day] body[data-desktop-page=welcome] .space svg [fill][fill=\#2a211e]{fill:#f5f5f7}:root[data-theme=day] body[data-desktop-page=welcome] .space svg [stroke]:not([stroke=none]){stroke:#4b4b53}:root[data-theme=day] body[data-desktop-page=welcome] .space svg [stroke][stroke=\#ffffff]{stroke:#f5f5f7}.selection-content{max-width:816px}.language-heading{text-align:center;flex-direction:column;align-items:center;gap:6px;margin:0 0 24px;display:flex}.language-title{justify-content:center;align-items:center;gap:18px;display:flex}.language-title svg{width:56.35px;height:56.35px;color:var(--orange);flex:none}.language-title h1{margin:0;font:300 46px/1.2 Arial,sans-serif}.language-heading p{color:var(--muted);margin:0;font-size:15px;line-height:1.7}.practice-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.practice-section{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.practice-section h2{color:var(--orange);margin:0 0 14px;font-size:24px;font-weight:300;line-height:1.4}.level-section h2{color:var(--red)}.knowledge-list,.level-list{gap:12px;display:grid}.knowledge-list{grid-auto-rows:minmax(var(--knowledge-card-height),auto)}.level-list{grid-template-rows:repeat(2,minmax(0,1fr))}.knowledge-entry,.level-entry{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:10px;width:100%}.knowledge-entry{height:auto;min-height:var(--knowledge-card-height);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.knowledge-entry>span:first-child{min-width:0}.level-entry{flex-direction:column;justify-content:center;align-items:flex-start;height:auto;min-height:0;padding:18px 22px;display:flex}.knowledge-entry:hover,.level-entry:hover{background:var(--hover);border-color:var(--orange)}.entry-title{font-size:22px;font-weight:300;line-height:1.4;display:block}.level-entry .entry-title{font-size:27px}.entry-description{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.6;display:block}.entry-action{color:var(--orange);white-space:nowrap;flex:none;font-size:12px;line-height:1.7;display:block}.level-entry .entry-action{margin-top:10px}.turtle-content,.entry-handoff{max-width:816px}.turtle-heading{text-align:center;justify-content:center;align-items:center;gap:12px;margin:0 0 18px;display:flex}.turtle-heading svg{width:36px;height:36px;color:var(--orange);flex:none}.turtle-heading h1{margin:0;font-size:30px;font-weight:300;line-height:1.5}.turtle-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;grid-auto-flow:row;gap:12px;display:grid}.turtle-entry{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:10px;align-items:center;width:100%;min-width:0;min-height:112px;padding:16px;display:flex}.turtle-label{overflow-wrap:anywhere;font-size:20px;font-weight:300;line-height:1.55}.turtle-entry:hover{color:var(--orange);background:var(--hover);border-color:var(--orange)}.syntax-content{max-width:816px}.syntax-heading{text-align:center;justify-content:center;align-items:center;gap:12px;margin:0 0 12px;display:flex}.syntax-heading svg{width:36px;height:36px;color:var(--orange);flex:none}.syntax-heading h1{margin:0;font-size:30px;font-weight:300;line-height:1.4}.syntax-content section>h2{color:var(--orange);margin:0 0 8px;font-size:20px;font-weight:300;line-height:1.4}.overall-section{margin-bottom:14px}.combination-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.combination-card{border:1px solid var(--line);background:var(--surface);white-space:nowrap;text-align:center;border-radius:8px;min-width:0;min-height:44px;padding:8px 10px;font-size:16px;font-weight:300;line-height:1.4}.syntax-grid{grid-template-columns:repeat(9,minmax(0,1fr));grid-auto-flow:row;gap:8px;display:grid}.topic-card{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:8px;justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;padding:4px;display:flex}.topic-label{overflow-wrap:anywhere;max-width:100%;font-size:14px;font-weight:300;line-height:1.4;display:block}.topic-card:hover,.combination-card:hover{border-color:var(--orange);color:var(--orange);background:var(--hover)}body[data-desktop-page=selection] .selection-main{padding:12px calc(var(--rail-expanded) + 24px);display:block}#selection{--knowledge-card-height:clamp(88px,10.4svh,96px);height:100%;min-height:0}#selection .content{width:100%;min-height:0;margin:0 auto}#selection .selection-content{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;height:100%;display:grid}#selection .language-heading{gap:4px;margin:0}#selection .practice-groups,#selection .practice-section,#selection .knowledge-list,#selection .level-list{min-height:0}#selection .practice-section h2{margin-bottom:10px}#selection .knowledge-list{grid-template-rows:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:10px}#selection .level-list{gap:10px}#selection .knowledge-entry{min-height:0}#selection .syntax-content,#selection .turtle-content,#selection .s2-question-content{flex-direction:column;max-width:816px;height:100%;display:flex}#selection .turtle-heading{margin-bottom:12px}#selection .turtle-entry{min-height:88px;padding:12px 16px}#selection .topic-label{font-size:16px;line-height:1.25}#selection .return-footer{flex:none;justify-content:flex-end;margin-top:auto;padding-top:14px;display:flex}#selection .return-footer .back-button{margin:0}#selection h1:focus{outline:none}#selection .s2-question-heading h1{margin:0 0 8px;font-size:30px;font-weight:300}#selection .s2-question-heading p{color:var(--muted);margin:0 0 18px}#selection .s2-question{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:0;padding:20px 24px;overflow:auto}#selection .s2-prompt{white-space:pre-wrap;overflow-wrap:anywhere;font-size:20px;line-height:1.7}#selection .s2-annotation{white-space:pre-wrap;color:var(--muted);font-size:15px}#selection .s2-options{padding-left:26px;font-size:18px;line-height:1.9;list-style-type:upper-alpha}#selection .s2-fields{gap:12px;display:grid}#selection .s2-fields label{gap:6px;font-size:16px;display:grid}#selection .s2-fields textarea{resize:none;border:1px solid var(--line);width:100%;color:var(--muted);background:var(--bg);border-radius:6px;padding:12px;font:16px/1.6 Consolas,monospace}#selection .s2-boundary{color:var(--muted);margin-block:14px;font-size:15px;line-height:1.7}#selection .placeholder-state .language-heading>p{font-size:18.75px}#selection .s2-records{max-width:816px;max-height:100%;overflow:auto}#selection .s2-records h1{font-size:30px;font-weight:300}#recent-records .recent-record h3{margin:0;font-size:15px;font-weight:300}#recent-records .recent-record{border-top:1px solid var(--line);padding:12px 0}#recent-records .record-meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}#recent-records .record-action{color:var(--orange);margin-top:5px;font-size:13px;text-decoration:underline}:root[data-theme=day] #selection .practice-section h2{color:#a84300}:root[data-theme=day] #selection .level-section h2{color:#b43217}:root[data-theme=day] #selection .entry-action,:root[data-theme=day] #recent-records .record-action{color:#a84300}@media (width<=1100px){#selection .knowledge-entry{gap:8px}#selection .knowledge-entry .entry-title{font-size:20px}#selection .entry-description{font-size:13.5px}}@media (width<=920px),(pointer:coarse){body[data-desktop-page=selection] .selection-main{padding:24px}#selection .s2-question-content{height:auto}#selection .s2-question{overflow:visible}}:root{--editor:#0d0d0f;--code-font:Consolas,"Courier New",SimSun,"宋体",monospace}:root[data-theme=day]{--editor:#fff}body[data-desktop-page=selection] .selection-main:has(.has-answering){padding:10px 20px 8px 100px}#selection.has-answering .workstation{grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;height:100%;min-height:0;display:grid}.has-answering .workspace-heading{align-items:center;gap:16px;min-width:0;display:flex}.has-answering .workspace-heading h1{overflow-wrap:anywhere;flex:none;max-width:32%;margin:0;font-size:24px;font-weight:300;line-height:1.35}.has-answering .session-tools{color:var(--muted);flex:none;align-items:center;gap:12px;font-size:12px;display:flex}.has-answering .end-button{border:1px solid var(--line);border-radius:6px;min-height:34px;padding:5px 10px;font-size:13px;line-height:1.5}.has-answering .question-navigation{flex:1;align-items:center;min-width:0;display:flex}.has-answering #question-nav{gap:6px;min-width:0;padding:3px;display:flex;overflow-x:auto}.has-answering .question-number{border:1px solid var(--line);background:var(--surface);border-radius:5px;flex:none;grid-template-columns:8px 1fr;align-items:center;gap:3px;width:34px;min-height:34px;padding:4px;font-size:14px;line-height:1.2;display:grid}.has-answering .question-number[aria-current=step]{border-color:var(--orange);box-shadow:inset 0 -3px var(--orange)}.has-answering .nav-symbol{color:var(--muted);font-size:8px}.has-answering .answer-workspace{grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);gap:18px;min-width:0;min-height:0;display:grid}.has-answering .question-panel,.has-answering .answer-panel{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.has-answering .pane-heading{border-bottom:1px solid var(--line);background:var(--raised);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.has-answering .pane-heading h2{margin:0;font-size:19px;font-weight:400;line-height:1.4}.has-answering .question-panel #s3-return{white-space:nowrap;min-height:32px;margin-right:auto;font-size:13px}.has-answering .pane-heading>span{color:var(--muted);text-align:right;font-size:12px;line-height:1.5}.has-answering .prompt-scroll{flex:1;min-height:0;padding:22px;overflow:auto}.has-answering .question-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;line-height:1.6;display:flex}.has-answering .current-question-label{color:var(--ink);font-size:16px;line-height:1.6}.has-answering #question-prompt{overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.9}.has-answering .prompt-text{white-space:pre-wrap}.has-answering #question-prompt code{font-family:var(--code-font);font-size:.94em}.has-answering .question-code{background:var(--editor);font:400 16px/1.8 var(--code-font);white-space:pre;overflow-wrap:normal;border-radius:6px;margin:14px 0;padding:16px;overflow:auto}.has-answering #question-prompt .question-code code{font:inherit}.has-answering .s3-annotation{white-space:pre-wrap;color:var(--muted);font-size:14px;line-height:1.6}.has-answering .choice-options{gap:10px;margin:18px 0 0;padding:0;font-size:17px;line-height:1.8;list-style:none;display:grid}.has-answering .choice-options li{border:1px solid var(--line);background:var(--editor);border-radius:5px;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:8px 12px;display:grid}.has-answering .choice-options pre{font:400 16px/1.8 var(--code-font);white-space:pre;margin:0;overflow:auto}.has-answering .choice-letter{font-family:var(--code-font);color:var(--muted)}.has-answering .answer-area{background:var(--editor);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:auto}.has-answering .code-field{flex-direction:column;flex:1;min-height:100px;display:flex}.has-answering .code-field>label{border-bottom:1px solid var(--line);white-space:pre-wrap;padding:6px 16px;font-size:14px}.has-answering .answer-area[data-multiple] .code-field+.code-field{border-top:1px solid var(--line)}.has-answering .code-editor{flex:1;grid-template-columns:42px minmax(0,1fr);width:100%;min-height:0;display:grid}.has-answering .line-numbers{text-align:right;border-right:1px solid var(--line);color:var(--soft);font:400 17px/1.8 var(--code-font);white-space:pre;-webkit-user-select:none;user-select:none;margin:0;padding:17px 10px 17px 0;overflow:hidden}.has-answering .code-input{resize:none;width:100%;min-width:0;height:100%;min-height:0;color:var(--ink);font:400 17px/1.8 var(--code-font);tab-size:4;outline-offset:-3px;background:0 0;border:0;border-radius:0;padding:17px 16px;display:block;overflow:auto}.has-answering .short-editor{width:100%;padding:24px;overflow:auto}.has-answering .short-editor label{color:var(--muted);margin-bottom:12px;font-size:16px;display:block}.has-answering .short-input,.has-answering #choice-input{border:1px solid var(--line);background:var(--surface);width:100%;max-width:360px;height:52px;color:var(--ink);font:400 19px/1.5 var(--code-font);outline-offset:4px;border-radius:5px;padding:10px 14px}.has-answering .pane-heading .keyboard-hint{min-width:0;color:var(--muted);text-align:left;margin:0;font-size:12px;line-height:1.6}.has-answering .pane-heading .test-count{white-space:nowrap;flex:none;margin-left:auto}.has-answering .answer-panel>.pane-heading{justify-content:flex-start}.has-answering .answer-panel>.pane-heading h2{flex:none}.has-answering .operation-feedback{color:var(--muted);min-height:32px;margin:0;padding:8px 18px;font-size:13px;line-height:1.6}.has-answering .operation-feedback[data-kind=failure]{color:var(--ink);border-left:3px solid var(--red);background:var(--hover)}.has-answering .s3-save-feedback{flex:none}.has-answering .s3-save-feedback>button{color:var(--orange);padding:4px 18px;font-size:13px;text-decoration:underline}.has-answering .answer-actions{border-top:1px solid var(--line);background:var(--raised);flex:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 18px;display:grid}.has-answering .primary-actions{justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.has-answering .answer-actions .question-step{border:1px solid var(--line);white-space:nowrap;min-width:0;padding-inline:12px}.has-answering .previous-button{justify-self:start}.has-answering .next-button{justify-self:end}.has-answering .answer-actions button{border-radius:5px;min-width:74px;min-height:42px;padding:8px 15px;font-size:16px;font-weight:400;line-height:1.5}.has-answering .test-button,.has-answering .reference-button{border:1px solid var(--line)}.has-answering .submit-button{background:var(--orange);color:#101012}.has-answering .answer-actions button:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--orange);background:var(--hover)}.has-answering .workspace-footer{justify-content:flex-end;align-items:center;gap:18px;min-height:40px;display:flex}.has-answering .s3-stage-note{color:var(--muted);margin-right:auto;font-size:12px}.has-answering .workspace-footer .back-button{min-height:40px;font-size:14px}.draft-privacy{color:var(--muted);margin:12px 0;font-size:12px;line-height:1.7}#clear-drafts{color:var(--orange);min-height:32px;font-size:13px;text-decoration:underline}@media (width<=1200px){.has-answering .answer-actions{gap:6px;padding-inline:10px}.has-answering .primary-actions{gap:6px}.has-answering .answer-actions button{min-width:54px;padding-inline:7px;font-size:14px}.has-answering .workspace-heading{gap:10px}}@media (width<=920px),(pointer:coarse){body[data-desktop-page=selection] .selection-main:has(.has-answering){padding:24px}}:root{--result-green:#79dc9d;--result-green-fill:#163325;--result-red:#f99;--result-red-fill:#3a1b20}:root[data-theme=day]{--result-green:#21683e;--result-green-fill:#e5f5e9;--result-red:#ab2133;--result-red-fill:#ffe9e9}body[data-desktop-page=selection] .selection-main:has(.has-results){padding:12px 20px 12px 100px;display:block;overflow:auto}#selection.has-results{height:auto;min-height:100%;overflow:visible}.has-results .results-workstation{flex-direction:column;gap:12px;min-width:0;display:flex}.has-results .result-heading{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.has-results .result-heading h1{margin:0;font-size:24px;font-weight:300;line-height:1.4}.has-results .completion-badge{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:1px 7px;font-size:12px}.has-results .result-topline{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;min-width:0;display:grid}.has-results .navigation-panel{flex-direction:column;gap:8px;min-width:0;padding:10px 0;display:flex}.has-results .results-overview{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;padding:10px 12px}.has-results .score-row,.has-results .score-main{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.has-results .score-row{justify-content:space-between}.has-results .score-main>span:first-child{font-size:15px}.has-results .score-main strong{color:var(--orange);font-size:24px;font-weight:400;line-height:1.4}.has-results .score-note,.has-results .total-label{color:var(--muted);font-size:12px}.has-results .total-label strong{color:var(--ink);margin-inline:4px;font-size:16px;font-weight:400}.has-results .result-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 0;display:grid}.has-results .stat-tile{border:1px solid var(--line);background:var(--raised);text-align:center;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:56px;padding:6px;display:flex}.has-results .stat-tile dt{color:var(--muted);font-size:13px;line-height:1.5}.has-results .stat-tile dd{margin:0;font-size:20px;font-weight:400;line-height:1.4}.has-results .review-content{flex-direction:column;gap:12px;min-width:0;display:flex}.has-results .result-navigation{align-items:center;gap:10px;min-width:0;display:flex}.has-results .navigation-label{color:var(--muted);flex:none;font-size:14px}.has-results #result-nav{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;padding:3px 0;display:flex}.has-results .result-number{border:1px solid var(--line);min-width:42px;min-height:36px;color:var(--muted);background:var(--surface);border-radius:5px;justify-content:center;align-items:center;gap:4px;padding:4px 7px;font-size:14px;font-weight:400;display:inline-flex}.has-results .result-number[data-kind=correct]{color:var(--result-green);border-color:var(--result-green);background:var(--result-green-fill)}.has-results .result-number[data-kind=incorrect]{color:var(--result-red);border-color:var(--result-red);background:var(--result-red-fill)}.has-results .result-number[aria-current=step]{box-shadow:inset 0 -3px var(--orange)}.has-results .reference-mark{font-size:11px}.has-results .result-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;font-size:12px;display:flex}.has-results .correct-text,.has-results .question-result[data-kind=correct]{color:var(--result-green)}.has-results .incorrect-text,.has-results .question-result[data-kind=incorrect]{color:var(--result-red)}.has-results .result-question-panel,.has-results .comparison-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0}.has-results .pane-heading{border-bottom:1px solid var(--line);background:var(--raised);border-radius:7px 7px 0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.has-results .pane-heading h2{margin:0;font-size:18px;font-weight:400;line-height:1.5}.has-results .pane-heading>span{color:var(--muted);text-align:right;font-size:12px}.has-results .question-content{min-width:0;max-height:260px;padding:14px 18px;overflow:auto}.has-results .question-content h3{color:var(--muted);margin:0 0 7px;font-size:16px;font-weight:400}.has-results #question-prompt{overflow-wrap:anywhere;font-size:18px;line-height:1.9}.has-results .prompt-text{white-space:pre-wrap}.has-results #question-prompt code{font-family:var(--code-font);font-size:.94em}.has-results .question-code{background:var(--editor);white-space:pre;font:400 16px/1.8 var(--code-font);border-radius:5px;margin:14px 0 0;padding:12px 16px;overflow:auto}.has-results .question-code code{font:inherit}.has-results .s3-annotation{white-space:pre-wrap;color:var(--muted);font-size:14px}.has-results .choice-options{gap:8px;margin:12px 0 0;padding:0;font-size:17px;line-height:1.7;list-style:none;display:grid}.has-results .choice-options li{background:var(--editor);border:1px solid var(--line);border-radius:4px;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:7px 12px;display:grid}.has-results .choice-options pre{white-space:pre;font:400 16px/1.7 var(--code-font);margin:0;overflow:auto}.has-results .answer-comparison{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;padding:14px 16px;display:grid}.has-results .answer-block{border:1px solid var(--line);background:var(--editor);border-radius:5px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.has-results .answer-block-heading{border-bottom:1px solid var(--line);background:var(--raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.has-results .answer-block-heading h3{margin:0;font-size:16px;font-weight:400;line-height:1.6}.has-results .answer-block-heading span{color:var(--muted);font-size:11px}.has-results .answer-code{white-space:pre;tab-size:4;min-width:0;max-width:100%;max-height:clamp(280px,40svh,520px);font:400 17px/1.8 var(--code-font);flex:none;margin:0;padding:16px;overflow:auto}.has-results .review-actions{border:1px solid var(--line);background:var(--raised);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.has-results .question-step{border:1px solid var(--line);border-radius:5px;min-height:40px;padding:6px 14px;font-size:15px}.has-results .workspace-footer{justify-content:flex-end;align-items:center;min-height:44px;padding-top:6px;display:flex}.has-answering .reference-panel{background:var(--editor);cursor:text;border-top:2px solid var(--orange);padding:18px 22px;position:absolute;inset:0;overflow:auto}.has-answering .reference-panel h3{color:var(--orange);margin:0 0 10px;font-size:17px;font-weight:400}.has-answering .reference-panel pre,.has-answering .terminal-panel pre{font:400 16px/1.8 var(--code-font);white-space:pre;margin:0;overflow:auto}.has-answering .reference-panel p{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.7}.has-answering .reference-panel:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}.has-answering .terminal-panel{border-top:1px solid var(--line);flex:0 auto;min-height:0;max-height:190px;padding:12px 18px;overflow:auto}.has-answering .terminal-panel h3,.has-answering .terminal-panel h4{margin:0 0 8px;font-size:16px;font-weight:400}.has-answering .terminal-panel p{color:var(--muted);font-size:13px}.has-answering #operation-feedback:empty{display:none}@media (width<=1100px){.has-results .answer-comparison{gap:12px;padding:12px}.has-results .answer-block-heading span{width:100%}}@media (width<=920px),(pointer:coarse){body[data-desktop-page=selection] .selection-main:has(.has-results){padding:20px 24px}.has-results .result-topline,.has-results .answer-comparison{grid-template-columns:minmax(0,1fr)}.has-results .result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}body[data-desktop-page=selection] .selection-main:has(.has-records){padding:12px 24px 12px 100px}body[data-desktop-page=selection] .selection-main.admin-main:has(.has-records){padding:12px 20px!important}#selection.has-records{height:100%;min-height:0}.has-records .records-workstation{flex-direction:column;gap:8px;min-width:0;height:100%;display:flex}.has-records .records-title-row{justify-content:center;align-items:center;display:flex}.has-records .records-title-row h1{font:300 26px/1.4 var(--student-serif);margin:0}.has-records .records-tools{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.has-records .record-filters{flex-wrap:wrap;gap:8px;display:flex}.has-records .record-filters button{border-bottom:3px solid #0000;min-height:44px;padding:8px 18px;font-size:17px}.has-records .record-filters button[aria-pressed=true]{color:var(--orange);border-bottom-color:var(--orange)}.has-records .retention-policy{color:var(--muted);flex:none;font-size:13px;position:relative}.has-records .retention-policy summary{cursor:pointer;min-height:40px;padding:8px 0}.has-records .retention-policy p{z-index:25;background:var(--raised);border:1px solid var(--line);width:min(360px,80vw);color:var(--ink);border-radius:6px;margin:0;padding:14px 16px;line-height:1.8;position:absolute;top:100%;right:0}.has-records .table-help,.has-records .readonly-note{color:var(--muted);flex:none;margin:0;font-size:13px;line-height:1.7}.has-records .readonly-note{color:var(--orange)}.has-records .record-list{flex-direction:column;flex:1;gap:6px;min-width:0;min-height:0;display:flex}.has-records .record-table-wrapper{border:0;flex:none;min-width:0;overflow:auto}.has-records .records-table{table-layout:fixed;border-collapse:collapse;border:1px solid var(--line);text-align:left;width:100%;font-size:17px;line-height:1.5}.has-records .records-table th,.has-records .records-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere;padding:10px 12px}.has-records .records-table th{background:var(--surface);color:var(--muted);font-size:16px;font-weight:400}.has-records .records-table th:last-child,.has-records .records-table td:last-child{border-right:0}.has-records .records-table td{background:var(--bg)}.has-records .records-table .record-language{white-space:nowrap;word-break:normal;overflow-wrap:normal;min-width:calc(6ch + 24px)}.has-records .record-language-col{min-width:calc(6ch + 24px)}.has-records .record-row-actions{flex-wrap:wrap;gap:10px;display:flex}.has-records .record-row-actions button{min-height:30px;color:var(--orange);text-align:left;padding:2px 0;font-size:16px}.has-records .record-row-actions button:disabled{color:var(--muted);opacity:1}.has-records .record-pagination{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;min-height:64px;display:flex}.has-records .page-buttons,.has-records .page-numbers{align-items:center;gap:6px;display:flex}.has-records .record-pagination button{min-width:36px;min-height:36px;padding:6px 10px;font-size:15px}.has-records .record-pagination button[aria-current=page]{color:var(--orange);box-shadow:inset 0 -2px var(--orange)}.has-records #page-position{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.has-records .workspace-footer{flex:none;justify-content:flex-end;align-items:center;min-height:40px;display:flex}.has-records .list-gate{border:1px solid var(--line);background:var(--surface);text-align:center;min-height:240px;padding:32px 24px}.has-records .list-gate h1{font-size:23px;font-weight:400}.has-records .list-gate p{color:var(--muted);font-size:16px;line-height:1.8}.has-records .list-gate button{min-height:40px;margin:12px}.has-records .admin-records{border:1px solid var(--line);border-radius:5px;height:auto;padding:20px}.has-records .admin-records .record-list{flex:none}.has-records .admin-records .record-pagination{flex-flow:wrap;justify-content:flex-start;gap:12px;min-height:46px}.has-records .admin-records #record-back{white-space:nowrap;margin-left:auto}.has-records .admin-records .records-title-row{justify-content:flex-start}.has-records .admin-records .records-title-row h1{font-size:36px}.has-records .admin-record-table{font-size:16px}.has-records .admin-record-table th,.has-records .admin-record-table td{padding:8px 10px}.has-records #records-search{min-width:0;max-width:300px;font-size:17px}.has-records .record-operation{color:var(--orange);margin:0;font-size:14px}.delete-copy{white-space:pre-wrap;font-size:18px;line-height:1.8}.record-detail-meta{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.7}.acceptable-answers{border:1px solid var(--line);border-radius:5px;min-width:0;padding:14px 16px}.acceptable-answers h3,.acceptable-answers h4{margin:0 0 8px;font-size:16px;font-weight:400}.has-results .acceptable-answers .answer-code{border:1px solid var(--line);background:var(--editor);margin:8px 0}:root[data-theme=day] .has-records .record-row-actions button{color:#a84300}@media (width<=1100px){.has-records .records-tools{flex-wrap:wrap}.has-records .records-table th,.has-records .records-table td{padding-inline:8px}}@media (width<=920px),(pointer:coarse){body[data-desktop-page=selection] .selection-main:has(.has-records){padding:20px 24px}#selection.has-records,.has-records .records-workstation{height:auto;min-height:calc(100svh - 140px)}.has-records .record-list{flex:none;min-height:420px}.has-records .records-table{min-width:940px}.has-records .admin-record-table{min-width:1100px}.has-records .records-title-row h1{font-size:25px}.has-records .record-filters button{padding-inline:12px}.has-records .record-pagination{align-items:flex-start}.has-records .admin-records{padding:16px}.has-records .workspace-footer{margin-top:auto}}#protected{isolation:isolate}#app-gradient-ascii{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-source-type:luminance;mask-mode:luminance}#app-gradient-ascii canvas{pointer-events:none;width:100%;height:100%;display:block}.flying-button{--fly-bg:#27272a;--fly-ink:#f5f5f5;--fly-pod:#18181b;--fly-glow:#8ec5ff;--fly-thrust:0;--fly-h:44px;--fly-px:22px;--fly-fs:14px;--fly-scale:1;--fly-ramp:#25222b;isolation:isolate;touch-action:manipulation;width:100%;height:100%;min-height:240px;position:relative;overflow:hidden}.flying-button[data-carry]{cursor:none}.flying-button__ramp{fill:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.flying-button__ramp-body{stroke:var(--fly-ramp);stroke-linejoin:round}.flying-button__ramp-edge{stroke:color-mix(in srgb, var(--fly-ramp) 72%, #fff);stroke-width:1.5px;stroke-linejoin:round}.flying-button[data-theme=light] .flying-button__ramp-edge{stroke:color-mix(in srgb, var(--fly-ramp) 82%, #000)}.flying-button[data-dragging]:not([data-carry]){cursor:grabbing}.flying-button__smoke{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.flying-button__craft{z-index:1;height:var(--fly-h);padding:0 var(--fly-px);border-radius:var(--fly-radius,calc(var(--fly-h) / 2));background:var(--fly-bg);color:var(--fly-ink);font-family:inherit;font-size:var(--fly-fs);letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;transform-origin:50%;will-change:transform;visibility:hidden;border:0;outline:none;justify-content:center;align-items:center;margin:0;font-weight:500;line-height:1;display:inline-flex;position:absolute;top:0;left:0}.flying-button[data-ready] .flying-button__craft{visibility:visible}.flying-button[data-trigger=hover] .flying-button__craft{cursor:default}.flying-button[data-carry] .flying-button__craft{pointer-events:none;cursor:none}.flying-button__craft:focus-visible{outline:2px solid color-mix(in srgb, var(--fly-ink) 60%, transparent);outline-offset:3px}.flying-button__face{border-radius:inherit;background:linear-gradient(180deg, #ffffff17, #fff0 46%), linear-gradient(0deg, color-mix(in srgb, var(--fly-glow) calc(var(--fly-thrust) * 34%), transparent), transparent 62%);pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #00000040}.flying-button[data-theme=light] .flying-button__face{background:linear-gradient(180deg, #ffffffb3, #fff0 50%), linear-gradient(0deg, color-mix(in srgb, var(--fly-glow) calc(var(--fly-thrust) * 30%), transparent), transparent 62%);box-shadow:inset 0 0 0 1px #0000000f,inset 0 -1px #00000014}.flying-button__label{position:relative}.flying-button__craft[data-hover]{filter:brightness(1.12)}.flying-button[data-theme=light] .flying-button__craft[data-hover]{filter:brightness(.97)}.flying-button__craft[data-pressed] .flying-button__label{transform:scale(.96)}.flying-button__pod{top:calc(100% - 3px * var(--fly-scale));width:calc(14px * var(--fly-scale));height:calc(8px * var(--fly-scale));background:linear-gradient(180deg, var(--fly-pod), color-mix(in srgb, var(--fly-pod) 80%, #000));z-index:-1;pointer-events:none;border-radius:2px 2px 5px 5px;position:absolute;transform:translate(-50%)}.flying-button__pod:after{content:"";width:calc(7px * var(--fly-scale));height:calc(2px * var(--fly-scale));background:color-mix(in srgb, var(--fly-glow) calc(var(--fly-thrust) * 100%), #3f3f46);box-shadow:0 1px 4px color-mix(in srgb, var(--fly-glow) calc(var(--fly-thrust) * 90%), transparent);border-radius:2px 2px 1px 1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.flying-button[data-theme=light] .flying-button__pod:after{background:color-mix(in srgb, var(--fly-glow) calc(var(--fly-thrust) * 100%), #52525b)}.flying-button__cursor{z-index:3;pointer-events:none;will-change:transform;filter:drop-shadow(0 1px 2px #00000047);width:20px;height:28px;display:none;position:absolute;top:0;left:0}.flying-button[data-carry] .flying-button__cursor{display:block}.home-flying-button{z-index:8;pointer-events:none;width:100%;height:100dvh;min-height:0;position:fixed;inset:0}.home-flying-button .flying-button__craft{pointer-events:auto}.home-flying-button[data-static] .flying-button__craft{visibility:visible;will-change:auto;cursor:pointer;inset:auto 24px 24px auto;transform:none}.home-flying-button[data-static] .flying-button__smoke{display:none}html.flying-cursor-carried,html.flying-cursor-carried *{cursor:none!important}.target-cursor{z-index:2147483647;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.target-cursor__corner{box-sizing:border-box;border-style:solid;border-color:var(--target-cursor-color,#fff);transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.target-cursor__dot{background:var(--target-cursor-color,#fff);will-change:transform;border-radius:50%;position:absolute;top:0;left:0}.target-cursor__label{color:var(--target-cursor-color,#fff);white-space:nowrap;opacity:0;will-change:transform, opacity;font-size:12px;font-weight:500;line-height:1;position:absolute;top:0;left:0}.motion-top-zone{--glint:255,246,236;--shadow:0,0,0;align-items:center;gap:18px;min-width:0;display:flex}:root[data-theme=day] .motion-top-zone,:root[data-theme=day] .reflect-card{--glint:120,95,72;--shadow:70,50,35}.site-page>.topbar{z-index:40}.top-actions.motion-pill-nav{border:1px solid var(--line);background:var(--surface);box-shadow:inset 0 1px 0 rgba(var(--glint),.07);border-radius:40px;align-items:center;gap:4px;padding:5px 5px 10px;display:flex;position:relative;overflow:visible}.motion-pill-nav .public-actions,.motion-pill-nav .auth-actions{gap:4px}.top-actions .motion-pill{isolation:isolate;width:auto;min-width:44px;height:40px;min-height:0;color:var(--ink);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:14px;line-height:1.25;transition:color .2s;display:flex;position:relative;overflow:hidden}.top-actions #book-toggle.motion-pill{color:var(--ink)}.top-actions .motion-pill>svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;flex:none;width:23px;height:23px}.top-actions .motion-pill .avatar-ring{fill:none;stroke:currentColor}.motion-pill .pill-fill{z-index:-1;aspect-ratio:1;background:var(--orange);pointer-events:none;border-radius:50%;width:165%;transition:transform .48s cubic-bezier(.22,.8,.22,1);position:absolute;top:50%;left:50%;transform:translate(-50%,70%)scale(.65)}.motion-pill .pill-copy{pointer-events:none;height:1.25em;position:relative;overflow:hidden}.motion-pill .label-stack{flex-direction:column;transition:transform .43s cubic-bezier(.22,.8,.22,1);display:flex}.motion-pill .label-stack span{white-space:nowrap;height:1.25em;line-height:1.25}.top-actions .motion-pill:focus-visible{outline-offset:2px}.top-actions .motion-pill:is(:hover,:focus-visible,[aria-expanded=true]):not(:disabled),.top-actions #book-toggle.motion-pill:is(:hover,:focus-visible,[aria-expanded=true]):not(:disabled){color:#19191e;background:0 0}.motion-pill:is(:hover,:focus-visible,[aria-expanded=true]):not(:disabled) .pill-fill{transform:translate(-50%,-50%)scale(1.2)}.motion-pill:is(:hover,:focus-visible,[aria-expanded=true]):not(:disabled) .label-stack{transform:translateY(-50%)}.motion-pill-nav .popover{border-radius:16px;top:calc(100% + 18px)}.motion-pill-nav .avatar-popover button{border-radius:9px;min-height:44px}.motion-pill-nav .record-popover{max-height:calc(100svh - 130px);overflow:auto}.profile-card-stage{perspective:1100px;flex:none;width:100%;max-width:644px;margin:0 auto}.profile-card.reflect-card{--glint:255,246,236;--shadow:0,0,0;--rx:0deg;--ry:0deg;--lx:50%;--ly:30%;--beam:28%;--light:.4;isolation:isolate;max-width:644px;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;box-shadow:0 18px 40px rgba(var(--shadow),.13),inset 0 1px 0 rgba(var(--glint),.13);will-change:transform;border-radius:20px;margin:0;position:relative}.reflect-environment,.reflect-light,.reflect-rim{border-radius:inherit;pointer-events:none;z-index:-1;position:absolute;inset:0}.reflect-environment{background:linear-gradient(125deg,rgba(var(--glint),.045),transparent 32%,rgba(var(--glint),.015) 62%,transparent),repeating-linear-gradient(0deg,rgba(var(--glint),.009) 0 1px,transparent 1px 3px);overflow:hidden}.reflect-light{background:radial-gradient(ellipse at var(--lx) var(--ly),rgba(var(--glint),.17),transparent 65%),linear-gradient(117deg,transparent calc(var(--beam) - 28%),rgba(var(--glint),.13) var(--beam),transparent calc(var(--beam) + 24%));opacity:var(--light);transition:opacity .24s}.reflect-rim{background:linear-gradient(125deg,rgba(var(--glint),.5),transparent 27%,#ff8a3238 72%,rgba(var(--glint),.2)) border-box;box-shadow:inset 0 0 0 1px rgba(var(--glint),.04);border:1px solid #0000;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;mask-origin:padding-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.reflect-card>.profile-identity,.reflect-card>#name-form{z-index:1;position:relative}.reflect-card.is-editing,.reflect-card:focus-within,.reflect-card[data-motion-busy=true]{transform:none!important}.reflect-card.is-editing .reflect-light,.reflect-card[data-motion-busy=true] .reflect-light{opacity:.2}.reflect-card .profile-identity>div{min-width:0;max-width:70%}.reflect-card .profile-identity h2{overflow-wrap:anywhere}@media (width<=920px),(pointer:coarse){.profile-card-stage{margin:20px auto}.reflect-card .default-avatar{width:70px;height:70px}.reflect-card .profile-identity h2{font-size:24px}}@media (width<=620px){.top-actions.motion-pill-nav{gap:2px;padding:4px 4px 10px}.motion-pill-nav .public-actions,.motion-pill-nav .auth-actions{gap:2px}.top-actions .motion-pill{width:38px;min-width:0;height:38px;padding:0}.motion-pill .pill-copy{display:none}.motion-pill-nav .record-popover{width:min(360px,100vw - 28px);right:-42px}.motion-pill-nav .popover{top:calc(100% + 18px)}}@media (width<=355px){.top-actions .motion-pill{width:34px;height:36px}.top-actions .motion-pill>svg{width:21px;height:21px}.top-actions.motion-pill-nav{padding-inline:3px}}@media (prefers-reduced-motion:reduce),(pointer:coarse){.reflect-card{will-change:auto;transform:none!important}.motion-pill .label-stack{transform:none!important}.motion-pill .pill-fill,.motion-pill .label-stack,.reflect-light{transition:none!important}}body[data-account-app] .site-page{--language-rail-top:78px;--language-item-height:112px;--language-row-height:56.35px;--student-record-title-height:58px;--python-center-y:calc(var(--language-rail-top) + var(--language-item-height)/2);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0}body[data-account-app] .site-page>.topbar{max-width:none;height:0;min-height:0;box-shadow:none;pointer-events:none;z-index:40;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:14px 0 auto}.site-page>.topbar>.identity{pointer-events:auto;justify-content:center;gap:0;min-width:80px;height:52px;position:absolute;top:0;left:22px}.site-page>.topbar .identity-mark{font-size:22px}.site-page>.topbar .identity>.brand-name{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-page>.topbar>.motion-top-zone{pointer-events:auto;position:absolute;top:0;right:22px}.site-page .top-actions.motion-pill-nav{background:var(--surface);border-radius:32px;gap:2px;padding:4px}.site-page .motion-pill-nav :is(.public-actions,.auth-actions){gap:2px}.site-page .top-actions .motion-pill{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.site-page .motion-pill .pill-copy{display:none}.site-page .motion-pill-nav .popover{top:calc(100% + 12px)}.site-page .motion-pill-nav .record-popover{width:min(392px,100vw - 28px);max-height:calc(100svh - 100px);right:-46px}.site-page .avatar-popover>.admin-role{color:var(--muted);border:0;padding:8px 15px;font-size:13px;display:block}.site-page :is(.language-rail,.language-rail[data-expanded=true],.admin-rail){box-shadow:none;background:0 0;border:0}.site-page .language-rail{padding-top:var(--language-rail-top)}.site-page .language-button{height:var(--language-item-height)}.site-page .language-detail{background:0 0}.site-page .language-button:hover,.site-page .admin-rail button:is(:hover,[aria-current=page]){background:color-mix(in srgb,var(--orange) 8%,transparent)}.site-page .admin-rail{padding-top:82px}.site-page .has-answering .workspace-heading,.site-page .has-results .result-heading{min-height:58px;padding-left:20px;padding-right:164px}.site-page .has-records .records-title-row{min-height:58px}.site-page .admin-workstation>h1,.site-page .has-records .admin-records .records-title-row{padding-right:164px}.site-page .local-feedback-overlay{top:80px}.site-page>#protected,.site-page .main-canvas{min-width:0}@media (width>=921px) and (pointer:fine){body[data-desktop-page=selection] .site-page .selection-main:has(#selection[data-view=home]>.selection-content .language-title){padding-top:calc(var(--python-center-y) - var(--language-row-height)/2)}.site-page #selection[data-view=home]>.selection-content .language-title{height:var(--language-row-height)}body[data-desktop-page=selection] .site-page .selection-main:has(.has-records>.records-workstation:not(.admin-records)){padding-top:calc(var(--python-center-y) - var(--student-record-title-height)/2)}.site-page .has-records>.records-workstation:not(.admin-records)>.records-title-row{height:var(--student-record-title-height);flex:none}.site-page .admin-shell{grid-template-columns:var(--rail-width) minmax(0,1fr)}.site-page .admin-shell>.admin-main{grid-column:2}.site-page .admin-rail{z-index:25;width:var(--rail-width);padding:var(--language-rail-top) 8px 0;min-width:0;transition:width .4s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0 auto 0 0;overflow:hidden}.site-page .admin-rail[data-expanded=true]{width:var(--rail-expanded)}.site-page .admin-rail[data-expanded=true] button{isolation:isolate;background:0 0}.site-page .admin-rail[data-expanded=true] button:after{content:"";z-index:-1;pointer-events:none;border:1px solid var(--line);background:var(--surface);border-radius:6px;position:absolute;inset:4px 0}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-page .admin-rail[data-expanded=true] button:after{background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}.site-page .admin-rail button{height:var(--language-item-height);grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:0;padding:12px 8px;font-size:21px;display:grid}.site-page .admin-rail button svg{justify-self:center;width:28px;height:28px}.site-page .admin-rail button span{width:calc(var(--rail-expanded) - 96px);white-space:nowrap;opacity:0;transition:opacity .26s,transform .4s cubic-bezier(.2,.7,.2,1);transform:translate(-12px)}.site-page .admin-rail[data-expanded=true] button span{opacity:1;transform:translate(0)}.site-page .admin-rail button[aria-current=page]:before{width:3px;height:36px;top:38px;bottom:auto}.site-page .admin-main:has(>#admin:not([hidden])){--admin-title-row-height:48px;padding-top:calc(var(--python-center-y) - var(--admin-title-row-height)/2 - 1px)!important}.site-page #admin>.admin-workstation{height:auto;padding-top:0}.site-page #admin .admin-list{flex:none}.site-page #admin-title{height:var(--admin-title-row-height);min-height:var(--admin-title-row-height);flex:none;align-items:center;display:flex}body[data-desktop-page=selection] .site-page .selection-main.admin-main:has(.has-records>.admin-records){padding-top:calc(var(--python-center-y) - var(--student-record-title-height)/2 - 21px)!important}}.records-workstation:not(.admin-records) .student-pagination-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;width:100%;display:grid}.student-pagination-row>.page-buttons{grid-column:2;justify-self:center}.student-pagination-row>#record-back{white-space:nowrap;grid-column:3;justify-self:end}@media (width<=920px),(pointer:coarse){.site-page>.topbar>.identity{left:14px}.site-page>.topbar>.motion-top-zone{right:14px}.site-page>#protected{padding-top:80px}.site-page .admin-rail{padding-top:8px}.site-page .has-answering .workspace-heading,.site-page .has-results .result-heading,.site-page .has-records .records-title-row{min-height:0;padding:0}.site-page .admin-workstation>h1{padding-right:0}.records-workstation:not(.admin-records) .student-pagination-row{flex-wrap:wrap;display:flex}.student-pagination-row>#record-back{margin-left:auto}body[data-account-app][data-desktop-page=welcome] .hero{padding-top:80px}}@media (prefers-reduced-motion:reduce){.site-page .admin-rail,.site-page .admin-rail button span{transition:none!important}}.site-filing{z-index:30;text-align:center;width:max-content;max-width:calc(100vw - 32px);color:var(--muted);font-size:12px;line-height:1.5;position:fixed;bottom:6px;left:50%;transform:translate(-50%)}.site-filing a{color:inherit;text-decoration:none}.site-filing a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}body:not([data-desktop-page=welcome]) .site-filing{display:none}body[data-desktop-page=welcome] .site-page>.topbar>.identity{justify-content:flex-start;gap:10px}body[data-desktop-page=welcome] .site-page>.topbar .identity>.brand-name{clip:auto;letter-spacing:0;width:auto;height:auto;margin:0;font-size:19px;position:static;overflow:visible}@media (width>=921px) and (pointer:fine){body[data-desktop-page=selection] .site-page .selection-main:has(#selection[data-view=syntax]>.syntax-content){--syntax-title-height:42px;padding-top:calc(var(--python-center-y) - var(--syntax-title-height)/2)}#selection[data-view=syntax]>.syntax-content>.syntax-heading{height:var(--syntax-title-height);flex:none}.site-page #profile>.profile-workstation{gap:20px;max-width:1000px;padding-bottom:0}.profile-card-layout{grid-template-columns:minmax(0,644px) 264px;justify-content:center;align-items:stretch;gap:24px;width:100%;display:grid}.profile-card-layout>.profile-card-stage{min-width:0;margin:0}}.profile-tools-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:24px;width:100%;min-width:0;padding:24px;display:flex;position:relative}.profile-tools-card>.draft-privacy{color:var(--muted);margin:0;font-size:14px;line-height:1.9}.profile-tools-card>#clear-drafts{border:1px solid var(--line);text-align:left;width:100%;min-height:44px;color:var(--orange);font:inherit;border-radius:10px;padding:12px;font-size:15px;line-height:1.7;text-decoration:none}.profile-tools-card>#clear-drafts:focus-visible,.profile-tools-card .back-button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.profile-tools-card>.profile-return{text-align:left;margin:auto 0 0;padding-top:12px;position:static}.profile-tools-card .back-button{white-space:normal;font-size:15px;line-height:1.7}.reflect-card{--glint:255,246,236;--shadow:0,0,0;--rx:0deg;--ry:0deg;--lx:50%;--ly:30%;--beam:28%;--light:.4;isolation:isolate;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;box-shadow:0 18px 40px rgba(var(--shadow),.13),inset 0 1px 0 rgba(var(--glint),.13);will-change:transform;position:relative}.reflect-card>.reflect-environment,.reflect-card>.reflect-light,.reflect-card>.reflect-rim{pointer-events:none}#login-dialog{background:0 0;border:0;width:min(460px,100vw - 32px);max-height:calc(100svh - 32px);overflow:visible;padding:0!important}#login-dialog>.login-reflect-card{border:1px solid var(--line);background:var(--surface);max-height:calc(100svh - 32px);transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));border-radius:20px;padding:38px 28px 26px;overflow:clip auto}#login-reflect-card>.reflect-rim{inset:0}#login-dialog .login-brand{margin:0 0 26px}#login-dialog .fields{background:0 0;border:0;gap:14px;display:grid;overflow:visible}#login-dialog .field{border:1px solid var(--line);background:var(--bg);min-height:62px;color:var(--ink);border-radius:12px;gap:14px;padding:4px 16px;position:relative}#login-dialog .field+.field{border-top:1px solid var(--line)}#login-dialog .field:focus-within{background:var(--bg);border-color:var(--orange);outline:2px solid color-mix(in srgb,var(--orange) 35%,transparent);outline-offset:3px}#login-dialog .field svg{stroke:var(--muted)}#login-dialog .field input{color:var(--ink);min-height:48px;caret-color:var(--orange);background:0 0;padding:8px 0;font-size:17px}#login-dialog input::placeholder{color:var(--muted);opacity:1}#login-dialog input:autofill{color:var(--ink);background:var(--bg)}#login-dialog input:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--orange);box-shadow:0 0 0 100px var(--bg) inset}#login-dialog .account-help{color:var(--muted);font-size:13px;line-height:1.8}#login-dialog .text-button{width:100%;min-height:44px;color:var(--orange);margin-top:10px;padding:10px 0;font-size:14px;display:block}#login-dialog .feedback{color:var(--ink);background:var(--raised);border-color:var(--red);position:relative}#recent-records{isolation:isolate;overscroll-behavior:contain;max-height:calc(100svh - 240px);padding:4px;scroll-padding:4px;position:relative;overflow:auto}#recent-records>.recent-highlight{z-index:-1;pointer-events:none;border:1px solid color-mix(in srgb,var(--orange) 45%,var(--line));background:var(--hover);border-radius:12px;transition:transform .21s cubic-bezier(.2,.7,.2,1),height .21s;position:absolute;inset:0 4px auto}#recent-records .recent-record{border:0;border-radius:12px;margin:0 0 8px;padding:16px 14px;position:relative}#recent-records .recent-record h3{overflow-wrap:anywhere;line-height:1.65}#recent-records .recent-owner{color:var(--muted);font-size:13px}#recent-records .record-meta{gap:8px;margin-top:7px;line-height:1.7}#recent-records .record-action{text-align:left;outline-offset:4px;min-height:36px;padding:5px 0;position:relative}.record-popover:not([hidden]) #recent-records .recent-record{animation:.32s cubic-bezier(.2,.7,.2,1) both recent-entry;animation-delay:calc(var(--recent-index)*60ms)}@keyframes recent-entry{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:none}}.site-page .record-popover>h2{border-bottom:1px solid var(--line);padding-bottom:12px;font-size:21px;line-height:1.5}.site-page .record-popover>.view-all{margin-top:6px}@media (width<=920px),(pointer:coarse){.profile-card-layout{flex-direction:column;gap:20px;display:flex}.profile-card-layout>.profile-card-stage{margin:0 auto}.profile-tools-card{max-width:644px;margin:0 auto}body[data-desktop-page=welcome] .site-page>.topbar .identity>.brand-name{font-size:14px}body[data-desktop-page=welcome] .site-page>.topbar>.identity{gap:8px}.reflect-card{will-change:auto;transform:none!important}}@media (prefers-reduced-motion:reduce),(pointer:coarse){.record-popover:not([hidden]) #recent-records .recent-record{animation:none}#recent-records>.recent-highlight{transition:none}.reflect-card{will-change:auto;transform:none!important}}#selection :is(.knowledge-entry,.level-entry,.topic-card,.combination-card,.turtle-entry){--course-line:color-mix(in srgb,#a33e2d 68%,var(--line));isolation:isolate;background:radial-gradient(ellipse at 100% 0,#a33e2d52,transparent 65%),linear-gradient(var(--surface),var(--surface)) padding-box;box-shadow:0 10px 22px #0002,inset 0 1px 0 color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid #0000;border-radius:24px;position:relative}#selection :is(.knowledge-entry,.level-entry,.topic-card,.combination-card,.turtle-entry):before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,var(--line) 2%,color-mix(in srgb,var(--line) 28%,transparent) 28%,var(--course-line) 78%,#b24a32 100%) border-box;border:1px solid #0000;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;mask-origin:padding-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}#selection :is(.knowledge-entry,.level-entry){text-align:center;border-radius:28px;flex-direction:column;justify-content:center;align-items:stretch;gap:12px;padding:16px 18px;display:flex}#selection :is(.knowledge-entry,.level-entry)>span:first-child{width:100%;min-width:0}#selection :is(.knowledge-entry,.level-entry) .entry-title{font-size:clamp(20px,1.7vw,25px);line-height:1.4}#selection :is(.knowledge-entry,.level-entry) .entry-description{margin-top:6px;line-height:1.65}#selection .entry-action{align-self:flex-end}#selection .entry-action,button.selection-return{border:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:var(--raised);max-width:100%;color:var(--orange);white-space:normal;border-radius:999px;padding:5px 15px;line-height:1.5;text-decoration:none;display:inline-block}button.selection-return:focus-visible{outline:2px solid var(--orange);outline-offset:4px}body[data-account-app]:has(#selection.has-answering) #language-rail{width:var(--rail-width);transition:none}#selection :is(.topic-card,.combination-card){text-align:center;border-radius:18px}#selection .topic-label{line-height:1.35}#selection .turtle-entry{text-align:center;border-radius:24px;justify-content:center;padding:18px}#selection :is(.knowledge-entry,.level-entry,.topic-card,.combination-card,.turtle-entry):hover:not(:disabled){box-shadow:0 12px 26px #0002,inset 0 0 0 1px color-mix(in srgb,var(--orange) 35%,transparent)}#selection :is(.knowledge-entry,.level-entry,.topic-card,.combination-card,.turtle-entry):focus-visible{outline:2px solid var(--orange);outline-offset:4px}:root[data-theme=day] #selection :is(.knowledge-entry,.level-entry,.topic-card,.combination-card,.turtle-entry){--course-line:#b26650;background:radial-gradient(ellipse at 100% 0,#d4775525,transparent 65%),linear-gradient(var(--surface),var(--surface)) padding-box}@media (width>=921px) and (pointer:fine){body[data-desktop-page=selection] .site-page .selection-main:has(#selection[data-view=turtle]>.turtle-content){--turtle-title-height:45px;padding-top:calc(var(--python-center-y) - var(--turtle-title-height)/2)}#selection[data-view=turtle]>.turtle-content>.turtle-heading{height:var(--turtle-title-height);flex:none}}
