:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#2d261b;--muted:#74664d;--paper:#fff8e2f5;--gold:#f0b64b;--green:#79c96f;--deep:#0a1b20f5;--deep-top:#19343af2;--line:#ddb26357}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0;overflow:hidden}body{color:#fff8dc;letter-spacing:0;background:#0b1514;font-family:Inter,Avenir Next,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;filter:saturate(.7);opacity:.78}h1,h2,h3,p{margin:0}img{display:block}.village-scene,.login-scene,.programming-scene{min-height:100vh;position:relative;overflow:hidden}.village-scene{background:#10201d}.village-hud,.programming-topbar{z-index:10;pointer-events:none;align-items:center;gap:18px;display:grid;position:absolute;top:22px;left:28px;right:28px}.village-hud{z-index:20;grid-template-columns:170px minmax(0,1fr) auto}.programming-topbar{grid-template-columns:190px minmax(420px,.9fr) minmax(0,1fr) 116px}.village-logo,.kit-logo img,.login-logo{width:152px;height:auto}.kit-logo,.village-actions,.village-map-menus,.village-chapter-menu,.village-chapter-trigger,.village-level-menu,.village-level-trigger,.village-test-menu,.village-test-trigger,.programming-actions,.programming-level-context,.programming-problem-menu,.current-level-cta,.hud-icon,.top-icon-button,.chapter-pill,.village-chapter,.game-start-button,.login-link{pointer-events:auto}.chapter-pill,.village-chapter,.hud-icon,.top-icon-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#22191080;border:1px solid #ffe6aa38;box-shadow:0 8px 24px #00000038}.chapter-pill,.village-chapter{color:#fff8dc;white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-size:20px;font-weight:800;display:flex}.village-actions,.programming-actions{justify-content:flex-end;gap:10px;display:flex}.village-map-menus{align-items:center;gap:10px;min-width:0;display:flex}.village-chapter-menu,.village-level-menu,.village-test-menu{position:relative}.village-chapter-trigger{color:#fff8dc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;text-align:left;background:linear-gradient(145deg,#25493bd1,#7e5222c7);border:1px solid #ffe6aa33;border-radius:12px;grid-template-columns:minmax(0,1fr);align-content:center;width:315px;min-width:315px;min-height:48px;padding:7px 12px;font-family:inherit;display:grid;box-shadow:0 8px 22px #00000038}.village-chapter-trigger span{color:#ffd984;font-size:11px;font-weight:900}.village-chapter-trigger strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:14px;font-weight:900;overflow:hidden}.village-chapter-menu-panel{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14100ce6;border:1px solid #ffe6aa47;border-radius:14px;width:min(420px,100vw - 56px);max-height:min(540px,100vh - 120px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 18px 42px #00000061}.village-chapter-menu-panel a{color:#fff8dcd6;border:1px solid #0000;border-radius:10px;grid-template-columns:58px minmax(0,1fr);grid-template-areas:"order title""order point";align-items:center;gap:2px 10px;padding:10px;display:grid}.village-chapter-menu-panel a.active{color:#fff8dc;background:#44684b66;border-color:#ffe6aa6b}.village-chapter-menu-panel a span{color:#2a1a08;background:#ffd984e0;border-radius:10px;grid-area:order;place-items:center;min-width:50px;height:34px;font-size:12px;font-weight:900;display:grid}.village-chapter-menu-panel a strong{text-overflow:ellipsis;white-space:nowrap;grid-area:title;font-size:14px;font-weight:900;overflow:hidden}.village-chapter-menu-panel a em{color:#fff8dca8;text-overflow:ellipsis;white-space:nowrap;grid-area:point;font-size:12px;font-style:normal;font-weight:700;overflow:hidden}.village-level-trigger{color:#fff8dc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;text-align:left;background:#22191094;border:1px solid #ffe6aa3d;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:132px;min-height:48px;padding:8px 12px;font-family:inherit;display:grid;box-shadow:0 8px 24px #0000003d}.village-level-trigger span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.village-level-trigger strong{color:#1f1408;background:#ffd984;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:13px;font-weight:900;display:grid}.village-level-menu-panel{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14100ce6;border:1px solid #ffe6aa47;border-radius:14px;width:min(380px,100vw - 56px);max-height:min(540px,100vh - 120px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 18px 42px #00000061}.village-level-menu-panel a{color:#fff8dcd6;border:1px solid #0000;border-radius:10px;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"order title""order point";align-items:center;gap:2px 10px;padding:10px;display:grid}.village-level-menu-panel a.active{color:#fff8dc;background:#44684b66;border-color:#ffe6aa6b}.village-level-menu-panel a span{color:#2a1a08;background:#ffd984e0;border-radius:10px;grid-area:order;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.village-level-menu-panel a strong{text-overflow:ellipsis;white-space:nowrap;grid-area:title;font-size:14px;font-weight:900;overflow:hidden}.village-level-menu-panel a em{color:#fff8dca8;text-overflow:ellipsis;white-space:nowrap;grid-area:point;font-size:12px;font-style:normal;font-weight:700;overflow:hidden}.village-test-trigger{color:#221608;cursor:pointer;letter-spacing:0;background:linear-gradient(145deg,#ffe09a,#d49b3d);border:1px solid #ffe6aa47;border-radius:12px;grid-template-columns:auto auto;place-items:center;gap:8px;min-width:74px;min-height:48px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:950;display:grid;box-shadow:0 8px 24px #0000003d}.village-test-trigger span{font-weight:950}.village-test-trigger strong{color:#fff8dc;background:#221910b8;border-radius:999px;place-items:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:950;display:grid}.village-test-menu-panel{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14100ceb;border:1px solid #ffe6aa47;border-radius:14px;width:min(320px,100vw - 56px);max-height:min(540px,100vh - 120px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 18px 42px #00000061}.village-test-menu-panel a{color:#fff8dcdb;border:1px solid #0000;border-radius:10px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid;overflow:hidden}.village-test-menu-panel a span{color:#2a1a08;background:#ffd984e0;border-radius:9px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:950;display:grid}.village-test-menu-panel a strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;overflow:hidden}.village-test-menu-panel a:hover,.village-test-menu-panel a.active{color:#fff8dc;background:#44684b66;border-color:#ffe6aa6b}.chapter-switcher{z-index:11;pointer-events:auto;gap:8px;max-width:min(720px,100vw - 56px);display:flex;position:absolute;top:88px;left:28px}.chapter-tab{color:#fff8dcd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1715117a;border:1px solid #ffe6aa33;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:42px;padding:7px 12px;display:grid;box-shadow:0 8px 22px #00000038}.chapter-tab.active{color:#fff8dc;background:linear-gradient(145deg,#2a4338b8,#5f401dbd);border-color:#ffe6aa7a}.chapter-tab span{color:#ffd984;font-size:11px;font-weight:900}.chapter-tab strong{white-space:nowrap;font-size:14px;font-weight:900}.hud-icon,.top-icon-button{border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.hud-icon img,.top-icon-button img{width:28px;height:28px}.map-stage{background:#16241f;border:1px solid #ffe6aa2e;border-radius:18px;min-height:460px;position:relative;overflow:hidden;box-shadow:0 18px 46px #0000005c}.map-stage.large{min-height:660px}.map-stage.fullscreen{border:0;border-radius:0;width:100vw;height:100vh;min-height:100vh}.map-background,.map-overlay{width:100%;height:100%;position:absolute;inset:0}.map-background{object-fit:cover}.map-overlay{background:linear-gradient(90deg,#0912112e,#09121105 45%,#09121138),linear-gradient(#fff4d30f,#0912112e)}.map-route{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-route-underlay polyline,.map-route-line polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.map-route-underlay polyline{stroke:#13120d6b;stroke-width:2.8px;filter:drop-shadow(0 5px 8px #1c12086b)}.map-route-line polyline{stroke:#ffe297ad;stroke-width:1.4px;stroke-dasharray:2 2.4;filter:drop-shadow(0 3px 6px #1c120880)}.map-stage[data-chapter=ch3-sorting-icefield] .map-route-underlay polyline{stroke:#02122794;stroke-width:3.2px;filter:drop-shadow(0 4px 9px #0845769e)}.map-stage[data-chapter=ch3-sorting-icefield] .map-route-line polyline{stroke:#c1f1ffd1;stroke-width:1.25px;stroke-dasharray:1.6 2.2;filter:drop-shadow(0 3px 7px #0a375c85)}.level-node{left:var(--node-x);top:var(--node-y);z-index:4;filter:drop-shadow(0 10px 18px #0006);place-items:center;width:72px;height:72px;transition:transform .16s,filter .16s;display:grid;position:absolute;transform:translate(-50%,-50%)}.level-node:hover{filter:drop-shadow(0 15px 22px #00000075);transform:translate(-50%,-56%)scale(1.04)}.level-node img{width:72px;height:72px;position:absolute;inset:0}.level-node>span{z-index:2;color:#fff8dc;text-shadow:0 2px 4px #00000073;place-items:center;width:42px;height:42px;font-size:13px;font-weight:900;display:grid;position:relative}.level-node>b{z-index:3;color:#fff8dc;text-align:center;white-space:nowrap;background:#141f2cc2;border-radius:999px;min-width:42px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2;position:absolute;top:calc(100% - 6px);left:50%;transform:translate(-50%)}.level-node-stars{z-index:3;white-space:nowrap;background:#141f2cc2;border-radius:999px;justify-content:center;align-items:center;gap:2px;min-width:46px;padding:2px 5px;display:flex;position:absolute;top:calc(100% - 5px);left:50%;transform:translate(-50%);box-shadow:0 5px 10px #0000003d}.level-node-stars i{color:#d2d6cf94;text-shadow:0 1px 2px #00000073;font-size:11px;font-style:normal;line-height:1}.level-node-stars i.lit{color:#ffd86f;filter:drop-shadow(0 0 4px #ffd86fb8)}.level-node.locked{pointer-events:none}.level-node.locked>span{opacity:.65}.level-node-tooltip{z-index:6;color:#fff8dc;text-align:center;opacity:0;pointer-events:none;white-space:normal;background:#160f0ac7;border:1px solid #ffe6aa57;border-radius:10px;min-width:120px;max-width:220px;padding:7px 10px;font-size:12px;line-height:1.2;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,-8px);box-shadow:0 10px 22px #0000004d}.level-node:hover .level-node-tooltip,.level-node:focus-visible .level-node-tooltip{opacity:1;transform:translate(-50%)}.level-node-tooltip-title,.level-node-tooltip-algorithm{font-weight:400;display:block}.level-node-tooltip-title{color:#fff8dc}.level-node-tooltip-algorithm{color:#ffe6aad1;margin-top:4px;font-size:11px}.level-node.exam{background:radial-gradient(circle at 45% 34%,#86db7e6b,#15464cc7 43%,#25180eeb 100%);border:2px solid #ffe6aa7a;border-radius:50%;width:82px;height:82px;box-shadow:inset 0 0 0 3px #08121280,0 16px 34px #0000006b}.level-node.exam img{filter:drop-shadow(0 4px 8px #0000005c);width:52px;height:52px;inset:15px}.level-node.exam span{color:#fff3d2;width:38px;height:38px;font-size:12px}.level-node.exam strong{color:#fff8dc;text-align:center;white-space:nowrap;background:#160f0ab8;border:1px solid #ffe6aa57;border-radius:10px;min-width:132px;padding:6px 9px;font-size:12px;font-weight:900;line-height:1.15;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 10px 22px #00000047}.map-mascot{z-index:5;object-fit:contain;filter:drop-shadow(0 12px 16px #00000061);width:82px;height:82px;transition:left .28s,top .28s;position:absolute;transform:translate(-50%,-108%)}.current-level-cta{z-index:12;color:#fff8dc;background:linear-gradient(140deg,#f5ce65f2,#ac7026f0);border:1px solid #ffe6aa57;border-radius:14px;min-width:250px;max-width:min(360px,100vw - 56px);padding:16px 20px;display:grid;position:absolute;bottom:34px;left:50%;transform:translate(-50%);box-shadow:0 16px 38px #00000057}.current-level-cta span{text-transform:uppercase;font-size:13px;font-weight:800}.current-level-cta strong{margin-top:4px;font-size:24px}.programming-scene{height:var(--programming-viewport-height,100dvh);background:linear-gradient(#070b0a2e,#070b0a2e),url(/assets/art/backgrounds/ch1-mist-town/programming-bg-clean-v1.png) 50%/cover no-repeat;grid-template-rows:clamp(34px,6vh,48px) minmax(0,1fr);gap:clamp(6px,1vh,8px);min-height:0;padding:clamp(8px,1.5vh,12px) clamp(10px,1.6vw,14px) clamp(8px,1.5vh,14px);display:grid}.programming-topbar{grid-template-columns:95px minmax(330px,.92fr) minmax(0,1fr) 58px;gap:9px;min-height:0;position:relative;top:auto;left:auto;right:auto}.programming-topbar .kit-logo img{width:76px}.programming-topbar .chapter-pill{border-radius:7px;min-height:24px;padding:0 9px;font-size:10px;box-shadow:0 4px 12px #00000038}.programming-level-context{align-items:center;gap:7px;min-width:0;display:flex}.programming-level-context .chapter-pill{text-overflow:ellipsis;flex:0 auto;max-width:152px;overflow:hidden}.programming-problem-menu{flex:none;position:relative}.programming-problem-menu summary{color:#fff8dc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;white-space:nowrap;background:#22191080;border:1px solid #ffe6aa38;border-radius:7px;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:10px;font-weight:800;list-style:none;display:flex;box-shadow:0 4px 12px #00000038}.programming-problem-menu summary::-webkit-details-marker{display:none}.programming-problem-menu-panel{z-index:30;background:#15120df5;border:1px solid #ffe6aa38;border-radius:10px;width:min(300px,100vw - 48px);max-height:min(58vh,420px);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 16px 34px #00000057}.programming-problem-menu-panel a{color:#fff8dcd1;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;font-size:11px;display:grid}.programming-problem-menu-panel a:hover,.programming-problem-menu-panel a.active{color:#fff8dc;background:#ffe6aa1a}.programming-problem-menu-panel span,.programming-problem-menu-panel em{color:#ffe6aab8;font-style:normal}.programming-problem-menu-panel strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:400;overflow:hidden}.programming-topbar .programming-actions{gap:5px;position:relative;right:100px}.programming-topbar .top-icon-button{border-radius:6px;width:24px;height:24px;box-shadow:0 4px 12px #00000038}.programming-topbar .top-icon-button img{width:14px;height:14px}.level-progress-strip{justify-content:center;align-items:center;min-width:0;display:flex}.progress-step{align-items:center;display:flex}.progress-step img{width:20px;height:20px}.progress-step i{background:#ffffff57;border-radius:99px;width:15px;height:2px}.titlebar-promote-progress{z-index:12;color:#f5dfae;pointer-events:none;justify-content:center;justify-self:stretch;align-items:center;gap:18px;min-width:0;height:100%;display:block;position:absolute;inset:0;overflow:visible}.titlebar-promote-nodes{z-index:2;pointer-events:auto;grid-template-columns:repeat(5,56px);justify-content:center;align-items:center;gap:15px;width:max-content;min-width:0;height:auto;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.titlebar-promote-node{color:#fff8df;text-shadow:0 1px 2px #00000094;border-radius:999px;flex:none;justify-self:center;place-items:center;width:44px;height:44px;font-size:20px;line-height:1;text-decoration:none;transition:transform .16s,filter .16s;display:grid;position:relative}.titlebar-promote-node:not(:last-child):after{content:"→";color:#ffe6aa94;text-align:center;text-shadow:0 1px 2px #00000073;background:0 0;width:14px;height:auto;font-size:14px;line-height:1;position:absolute;top:50%;left:calc(100% + 7px);transform:translateY(-50%)}.titlebar-promote-node img{width:100%;height:100%;position:absolute;inset:0}.titlebar-promote-node span{position:relative}.titlebar-promote-node.optional-passed:before{content:"";z-index:4;filter:drop-shadow(0 0 5px #ffd86fd1)drop-shadow(0 2px 2px #0000007a);width:24px;height:24px;text-shadow:none;background:url(/assets/art/backgrounds/ch1-mist-town/promote/icon-golden-check.svg) 50%/contain no-repeat;place-items:center;line-height:1;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.titlebar-promote-node b{display:none}.titlebar-promote-node.current{color:#dffffc;filter:drop-shadow(0 0 10px #49eee3bd);width:56px;height:56px;font-size:24px;transform:translateY(-1px)}.titlebar-promote-node:hover{filter:drop-shadow(0 0 8px #ffde94b8);transform:translateY(-1px)}.titlebar-promote-node.current:hover{transform:translateY(-2px)}.titlebar-promote-node.missing{opacity:.45;pointer-events:none}.titlebar-promote-summary{color:#f9e6b6;text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;background:#0818199e;border:1px solid #d9952d52;border-radius:999px;flex:0 auto;justify-content:flex-start;align-items:center;width:fit-content;min-width:0;max-width:min(32vw,380px);min-height:20px;padding:0 8px;font-size:10px;display:inline-flex;position:absolute;top:50%;left:calc(50% + 188px);overflow:hidden;transform:translateY(-50%);box-shadow:inset 0 0 0 1px #ffffff0a}.programming-main{height:100%;min-height:0;overflow:hidden}.programming-layout{width:100%;height:100%;min-height:0;max-width:min(100%, var(--programming-viewport-width,100vw));grid-template-columns:minmax(300px,26%) minmax(0,1fr);gap:clamp(10px,1.3vw,18px);transition:width .18s,grid-template-columns .18s;display:grid;overflow:hidden}.programming-layout.task-expanded{grid-template-columns:minmax(360px,46%) minmax(0,1fr);width:100%}.task{height:100%;min-height:0;color:var(--ink);background:var(--paper);border:3px solid #8f704185;border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 42px #2313055c}.task ::selection{color:#fff;background:#333}.task.expanded{border-color:#c49852b8;box-shadow:0 18px 48px #23130570}.task-scroll{height:100%;padding:clamp(14px,2.3vh,24px) clamp(14px,1.6vw,24px);overflow:auto}.task-top{z-index:2;background:linear-gradient(180deg, var(--paper) 72%, #fff8e200);justify-content:space-between;align-items:center;gap:12px;margin:calc(-1*clamp(14px,2.3vh,24px)) calc(-1*clamp(14px,1.6vw,24px)) 0;padding:clamp(10px,1.8vh,16px) clamp(14px,1.6vw,24px) 8px;display:flex;position:sticky;top:0}.section-label{color:#fff;background:#5d8e56;border-radius:999px;flex:none;align-items:center;gap:8px;height:36px;padding:0 16px;font-size:18px;font-weight:900;display:inline-flex}.section-label img{width:22px;height:22px}.task-expand-button{background:linear-gradient(140deg,#6fa95e,#3e7545);border:1px solid #82643747;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 6px 14px #2f1f0b2e}.task-expand-button svg{color:#fff4d6;width:16px;height:16px}.task-expand-button[aria-pressed=true]{background:linear-gradient(140deg,#f5b84f,#c86f24);border-color:#ab671866}.task-title-row{flex:auto;min-width:0;margin:0;position:relative}.task h1{color:#2d261b;max-width:100%;margin:0;font-size:clamp(19px,2.8vh,24px);font-weight:950;line-height:1.25}.task h2{color:#2d261b;margin:clamp(12px,2vh,22px) 0 6px;font-size:clamp(16px,2.2vh,19px);font-weight:950}.task p,.task summary{color:var(--muted);font-size:16px;line-height:1.5}.statement-markdown{min-width:0;color:var(--muted);gap:10px;font-size:16px;line-height:1.5;display:grid}.statement-markdown :where(h1,h2,h3){color:#2d261b;margin:4px 0 0;font-size:clamp(16px,2.1vh,19px);font-weight:950;line-height:1.25}.statement-markdown :where(p){margin:0}.statement-markdown :where(ul,ol){margin:0;padding-left:20px}.statement-markdown :where(li+li){margin-top:4px}.statement-markdown :where(code){color:#3d2d18;background:#8264371f;border-radius:5px;padding:2px 5px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.statement-markdown :where(pre){color:#2f2418;white-space:pre;word-break:normal;background:#fffcefd6;border:1px solid #8264373d;border-radius:10px;max-width:100%;padding:10px 12px;font-size:13px;line-height:1.5;overflow-x:auto;box-shadow:inset 0 1px #ffffff6b}.statement-markdown :where(pre code){color:inherit;white-space:pre;background:0 0;border-radius:0;padding:0;display:block}.statement-markdown a{color:#5d8e56;font-weight:850}.statement-markdown :where(.katex){color:#332719;font-size:1.02em}.statement-markdown :where(.katex-display){max-width:100%;margin:8px 0;padding:4px 0;overflow:auto hidden}.statement-markdown :where(.katex-display>.katex){white-space:nowrap}.symbol-glossary{background:#fffcef94;border:1px solid #82643733;border-radius:12px;padding:10px 12px}.symbol-glossary h2{margin-top:0}.symbol-glossary .statement-markdown{font-size:13px}.statement-image{background:#ffffff6b;border:1px solid #82643738;border-radius:12px;gap:6px;width:100%;margin:8px 0;padding:8px;display:grid}.statement-image img{object-fit:contain;border-radius:8px;width:100%;max-height:clamp(140px,24vh,260px)}.task.expanded .statement-image img{max-height:clamp(180px,34vh,380px)}.statement-image span{color:#6a4c1d;font-size:12px;font-weight:800}.task-meta{flex-wrap:wrap;gap:8px;margin-top:5px;display:flex}.task-meta span{color:#6a4c1d;background:#ffffff6b;border:1px solid #82643738;border-radius:999px;padding:6px 9px;font-size:13px;font-weight:850}.sister-card{color:#2d261b;background:#eaffd87a;border:1px solid #5c824e47;border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.sister-card-icon{background:linear-gradient(140deg,#a8df65,#478a45);border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.sister-card-icon img{width:22px;height:22px}.sister-card span:nth-child(2){gap:3px;min-width:0;display:grid}.sister-card strong,.sister-card small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sister-card strong{color:#2d261b;font-size:15px;font-weight:900}.sister-card small{color:#667047;font-size:12px;font-weight:800}.sister-card em{color:#fff;white-space:nowrap;background:#5d8e56;border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:900}.sample-list,.hint-list{gap:clamp(6px,1vh,10px);display:grid}.sample-row,.hint-list details{background:#ffffff61;border:1px solid #82643738;border-radius:12px;padding:clamp(8px,1.2vh,12px)}.sample-row{gap:8px;display:grid}.sample-row-ac{background:#e0f7d661;border-color:#4f9a437a}.sample-row-wa,.sample-row-judge-error{background:#fee2e261;border-color:#dc26267a}.sample-row-ce{background:#fef3c766;border-color:#f59e0b80}.sample-row-re{background:#fae8ff5c;border-color:#c026d373}.sample-row-tle,.sample-row-mle{background:#dbeafe5c;border-color:#1e3a8a80}.sample-row-pe{background:#fce7f361;border-color:#ec489973}.sample-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sample-head span,.sample-io-title{color:#6a4c1d;font-size:13px;font-weight:850}.sample-status{color:#fff;background:#8d8067;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:4px;min-width:58px;padding:3px 8px;font-size:11px;font-weight:900;display:inline-flex}.sample-status svg{flex:none}.sample-status-judging svg{animation:.9s linear infinite sample-status-spin}.sample-status-dot{opacity:.78;background:currentColor;border-radius:999px;width:8px;height:8px}.sample-status-ac{background:#16a34a}.sample-status-wa,.sample-status-judge-error{background:#dc2626}.sample-status-ce{background:#f59e0b}.sample-status-re{background:#c026d3}.sample-status-tle,.sample-status-mle{background:#1e3a8a}.sample-status-pe{background:#ec4899}.sample-status-judging{background:#ba8a2d}.sample-io-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.sample-io-panel{background:#fffcef9e;border:1px solid #82643738;border-radius:10px;min-width:0;overflow:hidden}.sample-io-title{background:#82643714;border-bottom:1px solid #8264372e;padding:7px 10px}.sample-io-panel pre{color:#322619;white-space:pre;word-break:normal;background:#fffcefd6;min-height:44px;padding:10px 12px;font-size:13px;line-height:1.5}@keyframes sample-status-spin{to{transform:rotate(360deg)}}pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:auto}.hint-list summary{cursor:pointer;font-weight:850}.hint-list p{margin-top:8px}.task-foldouts{gap:8px;display:grid}.task-foldouts>details{background:#ffffff57;border:1px solid #82643738;border-radius:12px}.task-foldouts>details>summary{cursor:pointer;color:#2d261b;padding:10px 12px;font-size:14px;font-weight:950}.task-foldouts>details[open]>summary{border-bottom:1px solid #82643729}.task-foldouts .hint-list,.solution-foldout,.solution-locked{padding:10px 12px 12px}.solution-foldout{gap:10px;display:grid}.solution-foldout ul{color:var(--muted);margin:0;padding-left:18px;font-size:clamp(14px,1.8vh,16px);line-height:1.45}.solution-foldout li+li{margin-top:4px}.solution-complexity{flex-wrap:wrap;gap:8px;display:flex}.solution-complexity-item{color:#6a4c1d;background:#fffcefb8;border-radius:999px;align-items:center;gap:4px;padding:5px 8px;font-size:12px;font-weight:900;display:flex}.solution-complexity-item .statement-markdown{font-size:inherit;line-height:1;display:block}.solution-complexity-item .statement-markdown p{margin:0}.solution-foldout pre{color:#f8f8f2;background:#272822;border-radius:10px;max-height:240px;padding:10px;font-size:12px}.solution-locked{color:var(--muted);font-size:14px;font-weight:850}.video-card{color:#3d2d18;text-align:left;background:#ffffff6b;border:1px solid #82643738;border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:72px;padding:10px 12px;display:grid}.video-card:disabled{cursor:default;opacity:.58}.video-card-icon{background:linear-gradient(140deg,#96dc68,#428d37);border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.video-card-icon img{width:22px;height:22px}.video-card strong{color:#2d261b;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:900;overflow:hidden}.video-card>span:last-child{color:#6a4c1d;font-size:13px;font-weight:900}.floating-video{z-index:70;background:#050909f5;border:2px solid #ffe6aa70;border-radius:16px;grid-template-rows:40px minmax(0,1fr);width:min(50vw,720px);min-width:360px;height:min(50vh,420px);min-height:240px;display:grid;position:fixed;bottom:clamp(12px,2vh,28px);left:clamp(12px,2vw,28px);overflow:hidden;box-shadow:0 22px 60px #00000075}.floating-video-head{color:#fff8dc;background:#142728fa;justify-content:space-between;align-items:center;gap:12px;padding:0 12px 0 16px;font-size:14px;font-weight:900;display:flex}.floating-video-head span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.floating-video-head button{color:#fff8dc;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.floating-video video{object-fit:contain;background:#050909;width:100%;height:100%}.exam-page{z-index:1;height:var(--programming-viewport-height,100dvh);color:#fff3d2;background:linear-gradient(#05070638,#05070675),url(/assets/art/backgrounds/ch1-mist-town/programming-bg-clean-v1.png) 50%/cover no-repeat,#050706;grid-template-rows:clamp(58px,8vh,74px) minmax(0,1fr);gap:clamp(8px,1.1vh,12px);min-height:0;padding:clamp(6px,1vh,10px) clamp(10px,1.8vw,28px) clamp(10px,1.8vh,22px);display:grid;position:relative;overflow:hidden}.exam-page:after{content:"";z-index:-1;pointer-events:none;position:fixed;inset:0;box-shadow:inset 0 0 0 1px #f6d68d1f,inset 0 0 118px #000000a8}.exam-topbar{z-index:60;background:linear-gradient(90deg,#0e0a07f5,#2d1d11f2 18%,#1a110bf7 52%,#392513f0 82%,#0c0907fa),radial-gradient(circle at 50% 0,#f6d68d2e,#0000 54%);border:1px solid #f6d68d2e;border-radius:18px;grid-template-columns:minmax(250px,.9fr) minmax(260px,.95fr) minmax(118px,.36fr) minmax(190px,.6fr) clamp(112px,9vw,140px);align-items:center;gap:clamp(8px,.9vw,14px);min-width:0;min-height:0;padding:clamp(4px,.7vh,7px) clamp(10px,1.2vw,18px);display:grid;position:relative;overflow:visible;box-shadow:inset 0 1px #fff6d21f,inset 0 -4px #00000052,0 14px 26px #0000006b}.exam-topbar:before{content:"";pointer-events:none;border-top:1px solid #fff3d224;border-bottom:1px solid #0000005c;border-radius:14px;position:absolute;inset:5px 10px}.exam-topbar>*{z-index:1;position:relative}.exam-finish-button,.exam-question-trigger{background:0 0;border:0;place-items:center;min-width:0;padding:0;display:grid}.exam-title-card{color:#fff3d2;background:linear-gradient(#452b18fa,#1d120cfa 52%,#482b14fa);border:2px solid #d79b4bb8;border-radius:16px;grid-template-columns:clamp(32px,3vw,42px) minmax(0,1fr);align-items:center;gap:clamp(8px,.8vw,13px);min-width:0;height:clamp(42px,5.6vh,53px);padding:0 clamp(14px,1.4vw,21px);display:grid;box-shadow:inset 0 1px #fff6d242,inset 0 -4px #00000047,0 9px 18px #00000057}.exam-title-emblem{clip-path:polygon(50% 0,88% 14%,88% 55%,50% 100%,12% 55%,12% 14%);background:linear-gradient(#f7d98d,#b8712e);border-radius:11px 11px 14px 14px;place-items:center;width:clamp(32px,3vw,42px);height:clamp(32px,3vw,42px);display:grid;position:relative;box-shadow:inset 0 0 0 2px #fff3d275,0 4px 10px #00000052}.exam-title-emblem:before{content:"";border-bottom:3px solid #2a2016;border-left:3px solid #2a2016;width:14px;height:7px;position:absolute;transform:rotate(-45deg)translate(1px,-1px)}.exam-title-copy{gap:4px;min-width:0;display:grid}.exam-title-copy strong{color:#fff3d2;text-overflow:ellipsis;text-shadow:0 2px #00000085;white-space:nowrap;min-width:0;font-family:Georgia,Times New Roman,PingFang SC,serif;font-size:clamp(17px,1.6vw,24px);font-weight:950;line-height:1;overflow:hidden}.exam-title-copy em{color:#cdb78a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(10px,.75vw,11px);font-style:normal;font-weight:820;line-height:1;overflow:hidden}.exam-question-menu{z-index:90;min-width:0;position:relative}.exam-question-trigger,.exam-status-card,.exam-monitor-card{background:linear-gradient(#35261bf5,#140e0afa 54%,#2b1c12f5);border:2px solid #a8793db8;border-radius:15px;justify-content:center;align-items:center;min-width:0;height:clamp(37px,5vh,45px);display:flex;box-shadow:inset 0 1px #fff3d22e,inset 0 -3px #00000040,0 8px 16px #0000004d}.exam-question-trigger{color:#fff3d2;text-align:left;justify-content:stretch;gap:10px;width:100%;padding:0 10px;position:relative}.exam-menu-glyph{flex:none;gap:4px;width:22px;display:grid}.exam-menu-glyph i{background:#f6d68d;border-radius:999px;height:3px;display:block;box-shadow:0 0 8px #f6d68d47}.exam-trigger-copy{gap:4px;min-width:0;display:grid}.exam-trigger-copy strong,.exam-trigger-copy em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.exam-trigger-copy strong{color:#fff3d2;font-size:clamp(12px,1vw,15px);font-weight:950;line-height:1}.exam-trigger-copy em{color:#cdb78a;font-size:clamp(10px,.82vw,12px);font-style:normal;font-weight:820;line-height:1}.exam-question-trigger b{color:#24170f;background:linear-gradient(#f6d68d,#d79b4b);border:1px solid #f6d68d47;border-radius:10px;place-items:center;width:34px;height:26px;margin-left:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:950;display:grid}.exam-status-card.timer{color:#f6d68d;gap:8px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(12px,1vw,15px);font-weight:950}.exam-clock-glyph{border:2px solid #f6d68d;border-radius:50%;flex:none;width:19px;height:19px;position:relative;box-shadow:0 0 12px #f6d68d3d}.exam-clock-glyph:before,.exam-clock-glyph:after{content:"";transform-origin:50% 100%;background:#f6d68d;border-radius:999px;width:2px;position:absolute;top:50%;left:50%}.exam-clock-glyph:before{height:6px;transform:translate(-50%,-100%)}.exam-clock-glyph:after{height:5px;transform:translate(-50%,-100%)rotate(52deg)}.exam-question-popover{z-index:120;background:linear-gradient(#0d2125fa,#081214fa);border:1px solid #ffe6aa52;border-radius:16px;width:min(520px,72vw);position:absolute;top:calc(100% + 10px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 20px 48px #00000080}.exam-question-popover-head{color:#fff3d2;border-bottom:1px solid #ffe6aa1f;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.exam-question-popover-head strong,.exam-question-popover-head span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.exam-question-popover-head strong{font-size:14px;font-weight:900}.exam-question-popover-head span{color:#93d66f;font-size:12px;font-weight:850}.exam-question-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:min(46vh,420px);padding:12px;display:grid;overflow:auto}.exam-question-list-grid button{color:#fff8dc;text-align:left;background:#ffffff14;border:1px solid #ffe6aa2e;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:3px 9px;min-width:0;min-height:58px;padding:9px 10px;display:grid}.exam-question-list-grid button.active{background:linear-gradient(140deg,#f6d68d3d,#93d66f29),#ffffff14;border-color:#f6d68db3}.exam-question-list-grid button span{color:#24170f;background:linear-gradient(#f6d68d,#d79b4b);border-radius:9px;grid-row:1/span 2;place-items:center;width:34px;height:34px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;font-weight:950;display:grid}.exam-question-list-grid button strong,.exam-question-list-grid button em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.exam-question-list-grid button strong{font-size:13px;font-weight:920}.exam-question-list-grid button em{color:#fff8dc94;font-size:11px;font-style:normal;font-weight:780}.exam-question-list-grid button small{color:#fff8dca8;text-align:center;white-space:nowrap;background:#ffffff12;border:1px solid #ffe6aa2e;border-radius:999px;grid-area:1/3/span 2;place-self:center end;min-width:58px;padding:4px 7px;font-size:11px;font-weight:850;line-height:1}.exam-question-list-grid button small.submitted{color:#dfffd8;background:#5d8e5638;border-color:#93d66f57}.exam-monitor-card{background:linear-gradient(#133239f5,#081519fa 54%,#21160ef5);gap:clamp(10px,1.3vw,18px);padding:0 clamp(10px,1vw,16px)}.exam-monitor-card span{white-space:nowrap;align-items:center;gap:7px;min-width:0;font-size:clamp(10px,.95vw,14px);font-weight:950;display:inline-flex}.exam-monitor-card span:first-child{color:#93d66f}.exam-monitor-card span:last-child{color:#ff5d4e}.exam-status-dot{background:currentColor;border-radius:50%;flex:none;width:14px;height:14px;position:relative;box-shadow:0 0 14px}.exam-status-dot.camera:after{content:"";clip-path:polygon(0 50%,100% 0,100% 100%);background:currentColor;width:6px;position:absolute;inset:4px -6px 4px auto}.exam-finish-button{color:#fff3d2;white-space:nowrap;background:linear-gradient(#c88c3dfa,#815124fa 55%,#543018fa);border:2px solid #fff3d27a;border-radius:15px;justify-content:center;justify-self:end;align-items:center;gap:8px;width:min(100%,164px);height:clamp(37px,5.1vh,46px);padding:0 10px;font-family:Georgia,Times New Roman,PingFang SC,serif;font-size:clamp(12px,.95vw,15px);font-weight:950;display:inline-flex;box-shadow:inset 0 1px #fff6d23d,inset 0 -4px #00000038,0 9px 18px #00000052}.exam-finish-button span{text-overflow:ellipsis;min-width:0;overflow:hidden}.exam-main{z-index:1;width:100%;min-height:0;max-width:min(100%, var(--programming-viewport-width,100vw));grid-template-columns:minmax(320px,31.5%) minmax(0,1fr);gap:clamp(8px,1vw,12px);transition:width .18s,grid-template-columns .18s;display:grid;position:relative;overflow:hidden}.exam-main.task-expanded{grid-template-columns:minmax(360px,46%) minmax(0,1fr);width:100%}.exam-main .task{background:linear-gradient(90deg, #5f37162e, transparent 9%, transparent 91%, #5f371629), linear-gradient(180deg, #fffbe385, #f4d19724), var(--paper);border-color:#704622f5;border-radius:12px;box-shadow:inset 0 0 0 2px #f6d68d57,inset 0 0 30px #532c1029,0 18px 40px #00000075}.exam-main .task-scroll{padding:clamp(20px,3vh,34px) clamp(20px,2.5vw,42px) clamp(20px,3vh,30px)}.exam-workbench-wrap{min-width:0;min-height:0;position:relative}.exam-workbench-wrap .workbench{background:linear-gradient(#081e24f7,#030d10fa);border-color:#794a23fa;border-radius:12px;box-shadow:inset 0 0 0 1px #d79b4b57,0 18px 40px #00000075}.exam-empty,.exam-start-panel,.exam-complete-modal{z-index:90;background:#030809a8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.exam-empty>div,.exam-start-panel>div,.exam-complete-modal>div{color:#fff8dc;text-align:center;background:linear-gradient(#20302bfa,#0f1716fa);border:2px solid #ffe6aa57;border-radius:18px;justify-items:center;gap:14px;width:min(520px,100%);padding:28px;display:grid;box-shadow:0 24px 70px #0000008a}.exam-start-panel{background:linear-gradient(#0308099e,#030809c7),url(/assets/art/backgrounds/ch1-mist-town/programming-bg-clean-v1.png) 50%/cover no-repeat}.exam-duration-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(420px,100%);display:grid}.exam-duration-options button{color:#fff8dc;background:#ffffff14;border:1px solid #ffe6aa3d;border-radius:12px;min-height:44px;font-weight:900}.exam-duration-options button.active{color:#24170f;background:linear-gradient(140deg,#f6d68d,#d79b4b)}.exam-mode-note{text-align:left;background:#93d66f14;border:1px solid #93d66f47;border-radius:12px;gap:4px;width:min(420px,100%);padding:12px 14px;display:grid}.exam-mode-note strong{color:#93d66f;font-size:14px}.exam-mode-note span{color:#fff8dcb8;font-size:13px;line-height:1.45}.exam-error,.exam-inline-error{color:#ffd2c8;font-weight:850}.exam-inline-error{z-index:150;background:#451512eb;border:1px solid #ff5d4e57;border-radius:10px;max-width:min(420px,100vw - 48px);padding:10px 12px;position:fixed;top:98px;right:24px}.exam-score-list{gap:8px;width:100%;max-height:min(44vh,380px);display:grid;overflow:auto}.exam-score-list div{text-align:left;background:#ffffff12;border:1px solid #ffe6aa29;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.exam-scoring-modal{background:#0308098f}.exam-scoring-modal>div{border-color:#f6d68d47}.exam-score-row.scoring{background:linear-gradient(90deg,#f6d68d24,#0000 62%),#ffffff12;border-color:#f6d68d4d}.exam-score-row.pending span{color:#fff8dc94}.exam-score-row.done span{color:#93d66f}.exam-score-list strong,.exam-score-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.exam-score-list span{color:#f6d68d;font-weight:850}.exam-complete-emblem{clip-path:polygon(50% 0,88% 14%,88% 55%,50% 100%,12% 55%,12% 14%);background:linear-gradient(#f7d98d,#b8712e);border-radius:18px 18px 22px 22px;place-items:center;width:62px;height:62px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #fff3d275,0 8px 18px #00000052}.exam-complete-emblem:before{content:"";border-bottom:5px solid #2a2016;border-left:5px solid #2a2016;width:23px;height:11px;position:absolute;transform:rotate(-45deg)translate(1px,-1px)}.exam-empty h1,.exam-complete-modal h1{font-size:clamp(24px,3vw,34px);line-height:1.1}.exam-empty p,.exam-complete-modal p{color:#fff8dcb8;font-size:15px;line-height:1.5}.exam-empty a,.exam-complete-actions a,.exam-complete-actions button{color:#24170f;background:linear-gradient(140deg,#f6d68d,#d79b4b);border:1px solid #ffe6aa47;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:900;display:inline-flex}.exam-complete-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.exam-complete-actions button{color:#fff8dc;background:#ffffff14}.workbench{--spcg-results-row-height:clamp(96px, 17vh, 150px);--ide-toolbar-height:clamp(32px, 5vh, 42px);--ide-toolbar-center-y:clamp(16px, 2.5vh, 21px);--ide-tool-button-size:clamp(30px, 4.2vh, 38px);--ide-tool-button-gap:clamp(5px, .55vw, 8px);grid-template-rows:minmax(0, 1fr) var(--spcg-results-row-height);background:#081418f2;border:2px solid #a8793d75;border-radius:18px;min-width:0;height:100%;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 46px #00000061}.workbench.expanded{--spcg-results-row-height:clamp(96px, 17vh, 150px);z-index:40;grid-template-rows:minmax(0, 1fr) var(--spcg-results-row-height);position:fixed;inset:clamp(8px,1.5vh,18px)}.workbench.output-expanded,.workbench.expanded.output-expanded{--spcg-results-row-height:clamp(192px, 34vh, 300px);grid-template-rows:minmax(0, 1fr) var(--spcg-results-row-height)}.workbench.results-maximized,.workbench.output-expanded.results-maximized,.workbench.expanded.results-maximized,.workbench.expanded.output-expanded.results-maximized{--spcg-results-row-height:50%;grid-template-rows:minmax(0,1fr) minmax(0,50%)}.editor-shell{grid-template-rows:var(--ide-toolbar-height) minmax(0, 1fr);background:var(--deep);min-height:0;display:grid;position:relative;overflow:hidden}.editor-toolbar{z-index:2;color:#dce8e8;background:var(--deep-top);border-bottom:1px solid #d6a65d33;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:0 clamp(190px,26vw,258px) 0 clamp(10px,1.4vw,18px);font-weight:800;display:flex;position:relative}.editor-language-control{align-items:center;gap:9px;min-width:0;display:flex}.editor-language-control span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.editor-language-control select{color:#fff8e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#17343a;border:1px solid #ffffff29;border-radius:9px;width:clamp(126px,14vw,176px);height:clamp(28px,4vh,34px);font-size:12px;font-weight:900}.editor-language-control select option{color:#fff8e6;background:#17343a}.editor-language-control select option:checked{color:#1f2528;background:#f0b64b}.tool-buttons{top:var(--ide-toolbar-center-y);z-index:32;align-items:center;gap:var(--ide-tool-button-gap);max-width:calc(100% - clamp(16px,2vw,28px));display:flex;position:absolute;right:clamp(8px,1vw,14px);overflow:visible;transform:translateY(-50%)}.tool-buttons button{width:var(--ide-tool-button-size);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9px;flex:none;place-items:center;height:clamp(28px,4vh,34px);display:grid;position:relative}.tool-buttons button:before,.tool-buttons button:after{z-index:70;opacity:0;pointer-events:none;transition:opacity .12s,transform .12s;position:absolute;left:50%;transform:translate(-50%,4px)}.tool-buttons button:before{content:attr(data-tooltip);color:#fff8dc;text-align:center;white-space:nowrap;background:#0c161af5;border:1px solid #f6d68d42;border-radius:8px;width:max-content;max-width:168px;padding:5px 8px;font-size:12px;line-height:1.2;top:calc(100% + 8px);box-shadow:0 10px 24px #00000057}.tool-buttons button:after{content:"";background:#0c161af5;border-top:1px solid #f6d68d42;border-left:1px solid #f6d68d42;width:8px;height:8px;top:calc(100% + 3px);transform:translate(-50%,4px)rotate(45deg)}.tool-buttons button:hover:before,.tool-buttons button:focus-visible:before,.tool-buttons button:hover:after,.tool-buttons button:focus-visible:after{opacity:1;transform:translate(-50%)}.tool-buttons button:hover:after,.tool-buttons button:focus-visible:after{transform:translate(-50%)rotate(45deg)}.tool-buttons img{width:clamp(16px,2.4vh,20px);height:clamp(16px,2.4vh,20px)}.tool-buttons svg{color:#fff4d6;width:clamp(16px,2.4vh,20px);height:clamp(16px,2.4vh,20px)}.whiteboard-modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040d1075;place-items:stretch stretch;padding:8px;display:grid;position:absolute;inset:0}.whiteboard-modal{background:#fdf7df;border:1px solid #f8db8b57;border-radius:12px;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 28px 78px #0000007a}.whiteboard-modal-head{z-index:12;color:#2f3c42;background:#fff8dff0;border-bottom:1px solid #485b602e;border-radius:10px;place-items:center stretch;gap:6px;min-height:32px;padding:8px;display:grid;position:absolute;top:58px;right:8px;box-shadow:0 10px 24px #23231c2e}.whiteboard-title{justify-content:center;align-items:center;min-width:86px;display:flex}.whiteboard-title span{color:#7a5c14;letter-spacing:0;white-space:nowrap;font-size:13px;font-weight:950}.whiteboard-title strong{color:#26363a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(16px,1.7vw,22px);font-weight:950;overflow:hidden}.whiteboard-title small{color:#667174;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:850;overflow:hidden}.whiteboard-toolbar{place-items:center stretch;gap:5px;display:grid}.whiteboard-toolbar button{color:#26363a;background:#ffffffad;border:1px solid #2a40462b;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-width:86px;height:28px;padding:0 8px;font-size:11px;font-weight:950;display:inline-flex}.whiteboard-toolbar button:hover:not(:disabled),.whiteboard-toolbar button:focus-visible:not(:disabled){background:#fff7d6;border-color:#a9781d6b}.whiteboard-toolbar button:disabled{cursor:wait;opacity:.52}.whiteboard-toolbar .whiteboard-close{color:#fff7df;background:#25383e}.whiteboard-canvas-shell{background:#fffdf2;min-height:0;position:absolute;inset:0}.whiteboard-canvas-shell .excalidraw{--color-primary:#b87718;--color-primary-darker:#805015;--color-primary-light:#ffe1a0;font-family:Inter,Avenir Next,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.whiteboard-loading{color:#31434a;background:#fffdf2;place-items:center;height:100%;font-weight:950;display:grid}.monaco-surface{z-index:1;min-height:0;position:relative}.editor-loading{color:#dce8e8;background:#272822;place-items:center;width:100%;height:100%;font-weight:800;display:grid}.results-dock{background:#061013eb;border-top:1px solid #ffffff14;grid-template-columns:minmax(0,.95fr) minmax(260px,1.05fr);min-height:0;display:grid}.results-dock-toggle{color:#fff4d6;background:#ffffff14;border:1px solid #ffe6aa33;border-radius:9px;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 8px 18px #00000038}.results-dock-toggle[aria-pressed=true]{background:#f6d68d29;border-color:#f6d68d75}.result-list{color:#dce8e8;min-width:0;padding:clamp(10px,1.5vh,16px) clamp(14px,1.5vw,22px);overflow:auto}.result-title{align-items:center;gap:10px;min-width:0;margin-bottom:clamp(6px,1vh,12px);font-size:clamp(15px,2vh,18px);font-weight:850;display:flex}.result-title-action{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.ai-analysis-button{color:#ecffe7;white-space:nowrap;background:#639e4a38;border:1px solid #93d66f57;border-radius:9px;justify-content:center;align-items:center;height:28px;padding:0 10px;font-size:12px;display:inline-flex}.ai-analysis-button:disabled{cursor:wait;opacity:.72}.ai-analysis-hint{color:#e8f0ee8a;white-space:nowrap;font-size:12px}.result-title img,.case img,.result-mark{width:clamp(16px,2.5vh,22px);height:clamp(16px,2.5vh,22px)}.result-mark{color:#fff;background:#d74b45;border-radius:999px;place-items:center;font-size:15px;font-weight:1000;line-height:1;display:grid}.case{color:#e8f0eedb;grid-template-columns:24px clamp(86px,8vw,128px) minmax(0,1fr);align-items:center;gap:clamp(6px,.8vw,12px);min-height:clamp(26px,4vh,34px);font-size:clamp(12px,1.7vh,14px);display:grid}.case span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.result-ac{--result-tone:#22c55e;--result-mark-bg:#16a34a;--result-soft:#22c55e24}.result-wa,.result-judge-error{--result-tone:#f87171;--result-mark-bg:#dc2626;--result-soft:#dc262624}.result-ce{--result-tone:#fbbf24;--result-mark-bg:#f59e0b;--result-soft:#f59e0b29}.result-re{--result-tone:#e879f9;--result-mark-bg:#c026d3;--result-soft:#c026d329}.result-tle,.result-mle{--result-tone:#60a5fa;--result-mark-bg:#1e3a8a;--result-soft:#1e3a8a2e}.result-pe{--result-tone:#f472b6;--result-mark-bg:#ec4899;--result-soft:#ec489929}.result-ac,.result-wa,.result-re,.result-ce,.result-tle,.result-mle,.result-pe,.result-judge-error{background:linear-gradient(90deg, var(--result-soft), transparent 62%), transparent}.result-ac .result-title,.result-wa .result-title,.result-re .result-title,.result-ce .result-title,.result-tle .result-title,.result-mle .result-title,.result-pe .result-title,.result-judge-error .result-title,.result-ac .case span:last-child,.result-wa .case span:last-child,.result-re .case span:last-child,.result-ce .case span:last-child,.result-tle .case span:last-child,.result-mle .case span:last-child,.result-pe .case span:last-child,.result-judge-error .case span:last-child,.failed-case span:last-child{color:var(--result-tone)}.result-wa .result-mark,.result-re .result-mark,.result-ce .result-mark,.result-tle .result-mark,.result-mle .result-mark,.result-pe .result-mark,.result-judge-error .result-mark{background:var(--result-mark-bg)}.muted-case span:last-child{color:#e8f0eea3}.result-error{color:#ffd7d0;white-space:pre-wrap;word-break:break-word;background:#57262dd1;border-radius:10px;max-height:calc(43.5em + 16px);margin-top:8px;padding:8px;font-size:12px;line-height:1.45;overflow:auto}.result-debug-info{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.result-debug-info span{color:#e8f0eeb8;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0d;border:1px solid #ffe6aa29;border-radius:999px;max-width:100%;padding:4px 8px;font-size:11px;font-weight:850;overflow:hidden}.ai-analysis-panel{color:#e8f0eedb;background:#14342d6b;border:1px solid #93d66f38;border-radius:12px;gap:9px;margin-top:10px;padding:10px;font-size:12px;line-height:1.45;display:grid}.learning-feedback-card{color:#e8f0eee6;background:#2a373e75;border:1px solid #f6d68d38;border-radius:12px;gap:8px;margin-top:10px;padding:10px;font-size:12px;line-height:1.45;display:grid}.learning-feedback-card.accepted{background:#16553757;border-color:#57d5844d}.learning-feedback-card.repair{background:#553d1857;border-color:#f6d68d47}.learning-feedback-card strong{color:#fff8dc;margin-bottom:2px;font-size:13px;display:block}.learning-feedback-card p,.learning-feedback-card ul{margin:0}.learning-feedback-card ul{padding-left:18px}.learning-feedback-card a,.learning-feedback-card button{color:#f4ffe8;font:inherit;background:#548e3e38;border:1px solid #93d66f4d;border-radius:9px;justify-self:start;padding:6px 10px;text-decoration:none}.ai-analysis-panel.loading{background:#4e3c185c;border-color:#f6d68d38}.ai-analysis-panel.error{background:#57262d5c;border-color:#ff6b5f40}.ai-analysis-panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-analysis-panel-head strong{color:#fff8dc;font-size:13px}.ai-analysis-panel-head span{color:#e8f0ee94;font-size:11px}.ai-analysis-panel-head button{color:#fff8dc;background:#ffffff14;border:1px solid #ffe6aa2e;border-radius:9px;height:28px;padding:0 10px;font-size:12px}.ai-analysis-panel p,.ai-analysis-panel dl,.ai-analysis-panel dd,.ai-analysis-panel ul{margin:0}.ai-analysis-panel dl{gap:8px;display:grid}.ai-analysis-panel dt{color:#93d66f;margin-bottom:3px;font-size:11px}.ai-analysis-panel ul{padding-left:18px}.console-panel{color:#dce8e8;border-left:1px solid #ffffff14;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:10px;min-width:0;min-height:0;padding:clamp(10px,1.5vh,16px) clamp(12px,1.4vw,18px);display:grid}.console-column{grid-template-rows:20px minmax(0,1fr);gap:6px;min-width:0;min-height:0;display:grid}.console-column label,.console-column span{color:#e8f0eeb3;text-transform:uppercase;font-size:12px;font-weight:900}.console-column textarea,.console-column pre{color:#f1f7f2;background:#0000003d;border:1px solid #ffffff1a;border-radius:10px;width:100%;min-height:0;padding:8px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.35;overflow:auto}.console-column textarea{resize:none}.judge-actions{z-index:8;border-left:0;grid-template-rows:repeat(2,minmax(42px,max-content));grid-template-columns:1fr;align-content:center;align-items:center;gap:clamp(6px,1.1vh,10px);width:clamp(132px,12vw,170px);padding:0;display:grid;position:absolute;bottom:clamp(12px,1.8vh,18px);right:clamp(12px,1.4vw,18px)}.programming-layout.task-expanded .workbench:not(.expanded) .judge-actions{right:clamp(22px,3vw,38px);bottom:calc(clamp(8px, 1.5vh, 14px) + var(--spcg-results-row-height) + clamp(12px, 1.8vh, 18px));z-index:45;position:fixed}.asset-button{color:#fff;white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:clamp(8px,1vw,12px);min-width:0;height:clamp(42px,6.2vh,56px);padding:0 clamp(8px,1vw,12px);font-size:clamp(15px,2.2vh,18px);font-weight:900;display:flex;box-shadow:0 10px 24px #00000038}.asset-button img{width:clamp(18px,2.6vh,24px);height:clamp(18px,2.6vh,24px)}.asset-button.run{background:linear-gradient(140deg,#96dc68,#428d37)}.asset-button.submit{background:linear-gradient(140deg,#f5ce65,#c88c35)}.submission-history-panel{z-index:80;color:#e8f0ee;background:#091619fa;border:1px solid #ffe6aa33;border-radius:16px;grid-template-rows:48px minmax(0,1fr);width:min(380px,100% - 20px);display:grid;position:absolute;top:clamp(10px,1.4vh,18px);bottom:clamp(10px,1.4vh,18px);right:clamp(10px,1.4vw,18px);overflow:hidden;box-shadow:0 20px 54px #0000006b}.workbench.history-has-source .submission-history-panel{width:min(760px,100% - 20px)}.history-panel-head{background:#19343af2;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:14px;padding:0 12px 0 16px;display:flex}.history-panel-head>div:first-child{gap:2px;display:grid}.history-panel-head span{color:#e8f0ee9e;text-transform:uppercase;font-size:11px;font-weight:900}.history-panel-head strong{font-size:15px;font-weight:950}.history-panel-actions{gap:8px;display:flex}.history-panel-actions button{color:#fff4d6;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.history-panel-body{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.workbench.history-has-source .history-panel-body{grid-template-columns:minmax(360px,1fr) minmax(340px,380px)}.history-list{min-height:0;padding:10px;overflow:auto}.history-table-head,.history-item{grid-template-columns:70px minmax(82px,1fr) 96px 74px;align-items:center;gap:6px;min-width:340px;display:grid}.history-table-head{z-index:1;color:#e8f0ee94;background:#0d1e22fa;border-bottom:1px solid #ffffff14;margin:-10px -10px 6px;padding:10px;font-size:11px;font-weight:950;position:sticky;top:-10px}.workbench.history-has-source .history-list{border-left:1px solid #ffffff14}.history-item{color:#e8f0ee;text-align:left;background:0 0;border:0;border-bottom:1px solid #ffffff12;border-radius:0;width:100%;margin:0;padding:9px 10px}.history-item:hover{background:#ffffff0e}.history-item.active{background:#f0b64b1f}.history-cell{color:#e8f0eead;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.history-cell-owner{color:#e8f0ee;font-size:12px;font-weight:500}.history-verdict{color:#fff;background:#66707a;border-radius:999px;width:max-content;min-width:56px;padding:3px 7px;font-size:11px;font-weight:500}.history-verdict-ac{background:#16a34a;font-weight:950}.history-verdict-wa,.history-verdict-judge-error,.history-verdict-error{background:#dc2626}.history-verdict-ce{background:#f59e0b}.history-verdict-re{background:#c026d3}.history-verdict-tle,.history-verdict-mle{background:#1e3a8a}.history-verdict-pe{background:#ec4899}.history-verdict-pending,.history-verdict-judging{background:#b8872d}.history-source-allowed,.history-source-locked{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;width:max-content;max-width:100%;padding:3px 7px;font-size:11px;font-style:normal;font-weight:500;overflow:hidden}.history-source-allowed{color:#163016;background:#96dc68;font-weight:950}.history-source-locked{color:#e8f0ee94;background:#ffffff14}.history-detail{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;padding:12px;display:grid}.history-detail-meta{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.history-detail-meta>div{gap:2px;min-width:0;display:grid}.history-detail-meta strong,.history-detail-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.history-detail-meta strong{font-size:14px;font-weight:950}.history-detail-meta span{color:#e8f0ee9e;font-size:12px;font-weight:800}.history-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.history-detail-actions button{color:#fff;background:linear-gradient(140deg,#96dc68,#428d37);border:0;border-radius:9px;height:32px;padding:0 12px;font-size:13px;font-weight:950}.history-detail-actions button:first-child:not(:last-child){background:linear-gradient(140deg,#79b95f,#3d7c57)}.history-detail-actions button:disabled{cursor:wait;opacity:.7}.history-detail pre{color:#f8f8f2;white-space:pre;background:#272822;border:1px solid #ffffff14;border-radius:12px;min-height:0;margin:0;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;overflow:auto}.history-empty,.history-error{color:#e8f0ee9e;margin:0;padding:10px;font-size:13px;font-weight:800}.history-error{color:#ffd7d0}.login-scene{background:linear-gradient(#070b0a33,#070b0a4d),url(/assets/art/backgrounds/ch1-mist-town/main-review-v1.png) 50%/cover no-repeat;place-items:center;padding:28px;display:grid}.login-panel{width:min(400px,100%);color:var(--ink);background:var(--paper);border:3px solid #8f704185;border-radius:18px;gap:14px;padding:26px;display:grid;box-shadow:0 18px 46px #00000061}.login-panel h1{color:#2d261b;font-size:32px}.login-panel input{height:44px;color:var(--ink);background:#ffffff9e;border:1px solid #8264373d;border-radius:12px;padding:0 14px}.game-start-button,.login-link{min-height:46px;font-weight:900;font:inherit;border:0;border-radius:12px;place-items:center;text-decoration:none;display:grid}.game-start-button{color:#fff;background:linear-gradient(140deg,#f5ce65,#c88c35);box-shadow:0 10px 24px #4a2d0b3d}.login-link{color:#6a4c1d;background:#ffffff52}.login-message,.login-error{border-radius:10px;margin:0;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.45}.login-message{color:#26541f;background:#8ccf6947}.login-error{color:#75302c;background:#ea756438}.page-shell{height:100vh;min-height:100vh;color:var(--ink);background:linear-gradient(#fff8e2e0,#fff8e2eb),url(/assets/art/backgrounds/ch1-mist-town/main-review-v1.png) 50%/cover no-repeat;padding:28px;overflow:hidden auto}.section-title,.profile-metrics,.profile-menu-list,.progress-list{width:min(1180px,100%);margin:0 auto}.section-title{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.section-title h1{font-size:34px}.profile-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.profile-metric{background:#fffcedeb;border:1px solid #82643738;border-radius:12px;grid-template-rows:auto auto auto;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:3px 10px;min-height:102px;padding:13px;display:grid;box-shadow:0 14px 32px #422f1a24}.profile-metric img{grid-row:1/span 3;width:34px;height:34px}.profile-metric span{color:#7a6138;font-size:12px;font-weight:900}.profile-metric strong{color:#3e2d18;overflow-wrap:anywhere;min-width:0;font-size:20px;line-height:1.08}.profile-metric em{color:#574023bd;overflow-wrap:anywhere;min-width:0;font-size:11px;font-style:normal;font-weight:800;line-height:1.2}.profile-menu-list{gap:10px;margin-bottom:16px;display:grid}.profile-menu{background:#fffcedf0;border:1px solid #82643738;border-radius:12px;overflow:hidden;box-shadow:0 14px 32px #422f1a1f}.profile-menu>button{color:#3e2d18;width:100%;min-height:66px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:42px 1fr 24px;align-items:center;gap:12px;padding:12px 16px;display:grid}.profile-menu>button img{width:42px;height:42px}.profile-menu>button span{gap:3px;min-width:0;display:grid}.profile-menu>button strong{font-size:17px;line-height:1.2}.profile-menu>button em{color:#7a6138;font-size:13px;font-style:normal;font-weight:850}.profile-menu>button svg{color:#7a6138;transition:transform .16s}.profile-menu.open>button svg{transform:rotate(180deg)}.profile-menu-panel{border-top:1px solid #8264372e;padding:0 14px 14px}.profile-menu-items{gap:8px;max-height:320px;padding-top:12px;display:grid;overflow:auto}.profile-inventory-row,.profile-reward-row{background:#82643714;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:54px;padding:10px 12px;display:grid}.profile-inventory-row div,.profile-reward-row div{gap:3px;min-width:0;display:grid}.profile-inventory-row strong,.profile-reward-row strong{color:#3e2d18;font-size:15px}.profile-inventory-row span,.profile-reward-row span{color:#7a6138;font-size:12px;font-weight:750;line-height:1.35}.profile-inventory-row em,.profile-reward-row em{color:#6a4c1d;white-space:nowrap;justify-self:end;font-size:13px;font-style:normal;font-weight:900}.profile-empty{color:#7a6138;margin:0;padding:14px 12px;font-weight:850}.progress-summary,.progress-row{background:var(--paper);border:1px solid #82643738;border-radius:14px;box-shadow:0 16px 38px #00000029}.progress-summary{padding:16px}.progress-summary.compact{width:220px}.summary-head{color:#6a4c1d;justify-content:space-between;font-size:24px;font-weight:900;display:flex}.progress-track{background:#8264372e;border-radius:999px;height:10px;margin-top:12px;overflow:hidden}.progress-track span{background:linear-gradient(90deg,#79c96f,#f0b64b);height:100%;display:block}.progress-summary p{color:var(--muted);margin-top:12px}.progress-list{gap:12px;display:grid}.progress-list-head{justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 0;display:flex}.progress-list-head div{align-items:baseline;gap:10px;display:flex}.progress-list-head h2{color:#3e2d18;font-size:20px}.progress-list-head span,.progress-list-head em{color:#7a6138;font-weight:900}.progress-list-head em{font-style:normal}.progress-scroll-list{gap:8px;padding-bottom:2px;display:grid;overflow:visible}.progress-row{border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 12px;display:grid}.progress-row-main{min-width:0}.progress-row h2{overflow-wrap:anywhere;font-size:16px}.progress-row p{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:13px}.status-dot{color:#fff8dc;background:#7b735f;border-radius:999px;place-items:center;width:28px;height:28px;display:grid}.status-dot.done{background:#5d8e56}.progress-state{color:#6a4c1d;text-align:center;background:#8264371f;border-radius:999px;min-width:64px;padding:6px 10px;font-size:13px;font-weight:900}.progress-state.passed{color:#315b2e;background:#5d8e562e}.progress-pager{grid-template-columns:110px 1fr 110px;align-items:center;gap:10px;display:grid}.progress-pager button{color:#6a4c1d;min-height:38px;font:inherit;cursor:pointer;background:#fffcede6;border:1px solid #82643738;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:900;display:inline-flex}.progress-pager button:disabled{cursor:not-allowed;opacity:.45}.progress-pager span{color:#7a6138;text-align:center;font-size:13px;font-weight:900}.icon-link{color:#6a4c1d;align-items:center;gap:6px;font-weight:900;display:inline-flex}.empty-state{background:#101b18;place-items:center;gap:16px;min-height:100vh;display:grid}.empty-state h1{color:#fff8dc}.session-user-badge{z-index:9;color:#fff8dc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;pointer-events:auto;background:#221910a3;border:1px solid #ffe6aa3d;border-radius:999px;align-items:center;min-width:0;max-width:min(220px,100vw - 28px);height:24px;padding:0 9px;display:inline-flex;position:fixed;top:10px;right:14px;box-shadow:0 8px 22px #0000003d}.session-user-badge strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:900;line-height:1;overflow:hidden}body:has(.village-scene) .session-user-badge{top:8px;right:10px}body:has(.programming-scene) .session-user-badge{top:8px;right:10px}body:has(.exam-page) .session-user-badge{top:8px;right:10px}body:has(.admin-shell) .session-user-badge{top:8px;bottom:auto;right:10px}.button.primary{color:#fff;background:linear-gradient(140deg,#f5ce65,#c88c35);border-radius:12px;place-items:center;min-height:44px;padding:0 18px;font-weight:900;display:grid}.admin-shell{color:#edf3eb;background:#101817;grid-template-columns:260px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.admin-sidebar{background:#17211f;border-right:1px solid #decda024;grid-template-rows:auto 1fr auto;gap:22px;min-height:0;padding:24px 18px;display:grid}.admin-brand{color:#f3d17a;font-size:22px;font-weight:950}.admin-sidebar nav{align-content:start;gap:8px;display:grid}.admin-sidebar nav a,.admin-secondary-link{color:#f5f0db;background:#ffffff0d;border:1px solid #decda01f;border-radius:8px;font-weight:850}.admin-sidebar nav a{padding:12px 14px}.admin-secondary-link{padding:10px 12px}.admin-user{background:#ffffff0d;border:1px solid #decda01f;border-radius:10px;gap:5px;padding:12px;display:grid}.admin-user span,.admin-eyebrow,.admin-count,.admin-table small,.admin-list-row small{color:#edf3eb9e;text-transform:uppercase;font-size:12px;font-weight:850}.admin-user strong{color:#edf3eb;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.admin-logout{color:#f5f0db;width:100%;font:inherit;background:#ffffff12;border:1px solid #decda029;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12px;font-weight:850}.admin-content{min-width:0;padding:28px;overflow:auto}.admin-stack{gap:18px;max-width:1280px;display:grid}.admin-page-head,.admin-panel-head,.admin-list-row,.admin-table-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.admin-page-head h1{color:#fff8dc;margin-top:4px;font-size:32px;line-height:1.1}.admin-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.admin-metrics-wide{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.admin-grid-3{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-grid-2,.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-metric,.admin-fact,.admin-panel,.admin-table{background:#ffffff0e;border:1px solid #decda024;border-radius:8px;box-shadow:0 12px 28px #0000002e}.admin-metric,.admin-fact{gap:8px;padding:16px;display:grid}.admin-metric span,.admin-fact span{color:#edf3eba3;font-size:13px;font-weight:850}.admin-metric strong,.admin-fact strong{color:#f3d17a;font-size:28px;line-height:1}.admin-metric small{color:#edf3eb94;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:800;overflow:hidden}.admin-panel{gap:14px;padding:18px;display:grid}.admin-panel h2{color:#fff8dc;font-size:18px}.admin-panel-head a,.admin-title-link{color:#f3d17a;font-weight:900}.admin-list{gap:8px;display:grid}.admin-list-row{background:#0000001f;border-radius:8px;min-height:42px;padding:10px 12px}.admin-list-row-stacked{justify-content:stretch;align-items:center;gap:5px;display:grid}.admin-verdict-ratio{gap:10px;display:grid}.admin-verdict-ratio-row{grid-template-columns:86px minmax(120px,1fr) 48px 44px;align-items:center;gap:10px;display:grid}.admin-verdict-ratio-row span,.admin-verdict-ratio-row strong{color:#edf3eb;font-size:13px;font-weight:900}.admin-verdict-ratio-row small{color:#edf3eb99;text-align:right;font-size:12px;font-weight:850}.admin-verdict-meter{background:#00000038;border-radius:999px;height:9px;overflow:hidden}.admin-verdict-fill{border-radius:inherit;min-width:2px;height:100%;display:block}.admin-error-log-list{gap:9px;max-height:520px;display:grid;overflow:auto}.admin-error-log-row{background:#00000021;border-radius:8px;gap:7px;padding:12px;display:grid}.admin-error-log-row>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-error-log-row strong{color:#fff8dc;font-size:13px}.admin-error-log-row p{color:#edf3ebd6;word-break:break-word;margin:0;font-size:13px;line-height:1.45}.admin-error-log-row small{color:#edf3eb94;font-size:12px;font-weight:750}.admin-table{overflow:auto hidden}.admin-table-head,.admin-table-row{align-items:center;gap:12px;padding:12px 14px;display:grid}.admin-table-head{color:#edf3eb9e;text-transform:uppercase;background:#0003;font-size:12px;font-weight:950}.admin-table-row{border-top:1px solid #decda01a;min-height:64px}.admin-table-row.active{background:#f6d27a14;box-shadow:inset 3px 0 #f6d27ab8}.admin-table-row:focus-visible{outline-offset:-2px;outline:2px solid #f6d27ab8}.admin-table-row>div,.admin-table-row>span{min-width:0}.admin-table-row small{text-overflow:ellipsis;text-transform:none;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.admin-level-grid{grid-template-columns:minmax(180px,1.4fr) minmax(140px,1fr) minmax(160px,1fr) 110px 190px}.admin-set-grid{grid-template-columns:minmax(220px,1.4fr) minmax(220px,1.2fr) 90px 110px 190px}.admin-set-item-grid{grid-template-columns:110px minmax(220px,1fr) minmax(160px,.8fr) 100px}.admin-set-item-edit-grid{grid-template-columns:110px minmax(260px,1.3fr) minmax(180px,.8fr) 130px}.admin-curriculum-item-grid{grid-template-columns:100px minmax(260px,1.35fr) minmax(210px,1fr) 150px minmax(180px,.85fr);min-width:1080px}.admin-lesson-plan-grid{grid-template-columns:100px 140px minmax(180px,1fr) 220px}.admin-version-list{gap:10px;display:grid}.admin-version-card{background:#00000024;border:1px solid #decda01f;border-radius:8px;overflow:hidden}.admin-version-card summary{color:#edf3ebc7;cursor:pointer;grid-template-columns:100px 140px minmax(180px,1fr) 220px;gap:12px;padding:12px 14px;font-size:13px;font-weight:850;display:grid}.admin-import-grid{grid-template-columns:minmax(220px,1.4fr) 130px 90px 110px 270px}.admin-import-item-grid{grid-template-columns:minmax(180px,1fr) minmax(240px,1.2fr) 140px minmax(220px,.9fr)}.admin-user-grid{grid-template-columns:minmax(220px,1.35fr) 120px 100px minmax(180px,1fr) 120px 130px 250px;min-width:1220px}.admin-user-progress-grid{grid-template-columns:minmax(220px,1.3fr) 120px 110px 130px 180px}.teacher-student-grid{grid-template-columns:minmax(240px,1.4fr) 120px 150px 140px 130px}.teacher-stage-grid{grid-template-columns:minmax(240px,1.4fr) 110px 110px 130px 110px}.teacher-submission-grid{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr) 110px 110px 190px}.admin-submission-grid{grid-template-columns:minmax(130px,.75fr) minmax(180px,1fr) minmax(190px,1.1fr) 82px 100px 150px minmax(170px,.9fr);min-width:1120px}.admin-system-bug-grid{grid-template-columns:110px minmax(180px,.9fr) minmax(220px,1.1fr) minmax(280px,1.4fr) minmax(160px,.8fr) 180px;min-width:1120px}.admin-audit-grid{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 120px 180px}.admin-level-tabs{background:#ffffff0b;border:1px solid #decda024;border-radius:8px;flex-wrap:wrap;gap:8px;padding:10px;display:flex}.admin-level-tabs a{color:#f8f4dfc7;background:#00000024;border:1px solid #decda024;border-radius:8px;padding:8px 11px;font-size:12px;font-weight:850}.admin-level-tabs a.active{color:#2f2816;background:#f3d17a;border-color:#f3d17a75}.admin-track-tabs{background:#00000029;border:1px solid #decda029;border-radius:8px;width:max-content;display:inline-flex;overflow:hidden}.admin-track-tabs a{color:#f8f4dfb8;text-align:center;min-width:58px;padding:8px 13px;font-size:12px;font-weight:850}.admin-track-tabs a+a{border-left:1px solid #decda01f}.admin-track-tabs a.active{color:#2f2816;background:#f3d17a}.admin-track-toggle{color:#2f2816;background:#f3d17a;justify-content:center;align-items:center;min-width:42px;padding-inline:8px;display:inline-flex}.admin-curriculum-layout{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr)}.admin-curriculum-workbench{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.25fr);align-items:start;gap:14px;display:grid}.admin-plain-list{background:#0000001f;border:1px solid #decda01f;border-radius:8px;overflow:auto}.admin-plain-list-head,.admin-plain-list-row{align-items:center;gap:10px;min-width:720px;padding:10px 12px;display:grid}.admin-stage-plain-list .admin-plain-list-head,.admin-stage-plain-list .admin-plain-list-row{grid-template-columns:86px minmax(180px,1.1fr) minmax(160px,1fr) 100px}.admin-problem-plain-list .admin-plain-list-head,.admin-problem-plain-list .admin-plain-list-row{grid-template-columns:62px minmax(180px,1.1fr) minmax(170px,1fr) 96px 96px;min-width:820px}.admin-plain-list-head{color:#edf3eb9e;text-transform:uppercase;background:#0003;font-size:12px;font-weight:850}.admin-plain-list-row{color:#f8f4dfd1;border-top:1px solid #decda01a;min-height:58px}.admin-plain-list-row.active{background:#f6d27a14;box-shadow:inset 3px 0 #f6d27ab8}.admin-plain-list-row small{color:#edf3eb94;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;display:block;overflow:hidden}.admin-stage-list{gap:10px;display:grid}.admin-stage-card{color:#f8f4dfc7;background:#00000024;border:1px solid #decda01f;border-radius:8px;gap:6px;padding:12px;display:grid}.admin-stage-card.active{background:#f3d17a14;border-color:#f3d17a6b;box-shadow:inset 3px 0 #f3d17abd}.admin-stage-card span,.admin-stage-card small{color:#edf3eb9e;font-size:12px}.admin-stage-card strong{color:#fff8dc;font-size:15px;font-weight:850}.admin-row-actions,.admin-status-stack,.admin-action-stack{flex-wrap:wrap;gap:8px;display:flex}.admin-status-stack{align-items:center}.admin-submission-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-submission-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.admin-submission-detail{margin-top:12px}.admin-submission-code{color:#f8f4df;white-space:pre-wrap;background:#00000038;border:1px solid #decda029;border-radius:8px;padding:14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.6;overflow-x:auto}.admin-context-json{color:#f8f4df;background:#0000002e;border:1px solid #decda029;border-radius:8px;max-width:100%;margin:0;padding:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.bug-report-widget{z-index:5000;justify-items:start;gap:8px;display:grid;position:fixed;bottom:14px;left:14px}.bug-report-toggle{color:#2c2317;cursor:pointer;background:#f6d27a;border:1px solid #f6d27a6b;border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:12px;font-weight:850;display:inline-flex;box-shadow:0 8px 22px #0000003d}.bug-report-panel{color:#f8f4df;background:#1f2522f5;border:1px solid #f6d27a47;border-radius:10px;width:min(320px,100vw - 28px);padding:12px;box-shadow:0 18px 42px #00000057}.bug-report-head,.bug-report-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.bug-report-head strong{font-size:13px}.bug-report-head button,.bug-report-foot button{color:#f8f4df;cursor:pointer;background:#f6d27a24;border:1px solid #f6d27a3d;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:7px 9px;font-size:12px;font-weight:850;display:inline-flex}.bug-report-foot button:disabled{cursor:wait;opacity:.58}.bug-report-panel textarea{color:#f8f4df;width:100%;min-height:110px;font:inherit;resize:vertical;background:#00000038;border:1px solid #decda02e;border-radius:8px;outline:none;margin:10px 0;padding:10px;font-size:13px;line-height:1.45}.bug-report-foot span,.bug-report-message{color:#f8f4dfa8;font-size:12px}.bug-report-message{margin:8px 0 0}.bug-report-message.success{color:#9fe0a6}.bug-report-message.error{color:#ffb1ba}.admin-statement-preview{background:#00000024;border:1px solid #decda024;border-radius:8px;padding:14px}.admin-statement-preview .statement-markdown{color:#f8f4dfc7;font-size:14px}.admin-statement-preview .statement-markdown :where(h1,h2,h3){color:#f8f4df}.admin-statement-preview .statement-markdown :where(code){color:#ffe8a6;background:#decda01a}.admin-statement-preview .statement-markdown :where(pre){color:#f8f4df;box-shadow:none;background:#00000038;border-color:#decda029}.admin-statement-preview .statement-markdown a,.admin-statement-preview .statement-markdown :where(.katex){color:#f6d27a}.admin-action-stack{align-items:start}.admin-button,.admin-small-button{color:#fff8dc;background:#f3d17a1f;border:1px solid #f3d17a52;border-radius:8px;font-weight:900}.admin-button{padding:10px 12px}.admin-small-button{padding:7px 9px;font-size:12px}.admin-button:disabled,.admin-small-button:disabled{cursor:default;opacity:.38}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-form-grid-users{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-form-grid-lesson{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr) repeat(4,minmax(110px,.7fr))}.admin-form-grid-lesson-detail{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-form-grid-add-item{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid-curriculum-stage,.admin-form-grid-level-edit{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-level-filter-form{grid-template-columns:minmax(150px,.7fr) minmax(260px,1.4fr) minmax(140px,.7fr) auto;align-items:end}.admin-form-span-2{grid-column:span 2}.admin-form-full{grid-column:1/-1}.admin-form-grid label,.admin-inline-field{gap:6px;min-width:0;display:grid}.admin-form-grid label span,.admin-inline-field span,.admin-help-text{color:#edf3eba3;font-size:12px;font-weight:850}.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,.admin-inline-field input,.admin-inline-input{color:#f8f4df;width:100%;font:inherit;background:#0000002e;border:1px solid #decda029;border-radius:8px;outline:none;padding:10px 11px;font-size:13px;font-weight:750}.admin-form-grid textarea{resize:vertical}.admin-table-actions{border-top:1px solid #decda01a;justify-content:flex-end;padding:12px 14px;display:flex}.admin-detail-grid-wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-lesson-plan-preview{background:#00000029;border:1px solid #decda01f;border-radius:8px;max-height:620px;padding:16px;overflow:auto}.admin-lesson-plan-textarea{min-height:520px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;line-height:1.55}.admin-json-textarea,.admin-code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;line-height:1.55}.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-form-grid textarea:focus,.admin-inline-field input:focus,.admin-inline-input:focus{border-color:#f3d17a8c;box-shadow:0 0 0 3px #f3d17a1f}.admin-checkbox{grid-template-columns:auto minmax(0,1fr);align-content:center;min-height:40px}.admin-checkbox input{accent-color:#f3d17a;width:16px;height:16px;padding:0}.admin-danger-panel{background:#78202a24;border-color:#d1525c4d}.admin-danger-button{background:#d1525c38;border-color:#ff7b8585}.admin-modal-backdrop{z-index:6000;background:#0a0f10ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.admin-modal{color:#f8f4df;background:#1f2522fa;border:1px solid #f6d27a47;border-radius:10px;gap:14px;width:min(860px,100vw - 48px);max-height:min(86vh,920px);padding:18px;display:grid;overflow:auto;box-shadow:0 28px 80px #00000075}.admin-modal-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.admin-modal-head h2{color:#fff8dc;font-size:20px}.admin-status{color:#fff;background:#66707a;border-radius:999px;justify-content:center;width:max-content;min-width:84px;padding:5px 9px;font-size:12px;font-style:normal;font-weight:950;display:inline-flex}.admin-status-published,.admin-status-imported,.admin-status-approved,.admin-status-resolved{background:#4d8f54}.admin-status-review,.admin-status-validated,.admin-status-triaged{background:#b8872d}.admin-status-draft,.admin-status-open{background:#5f7282}.admin-status-archived,.admin-status-rejected,.admin-status-ignored{background:#9b4f43}.admin-system-log-debug,.admin-system-log-info{background:#5f7282}.admin-system-log-warn{background:#b8872d}.admin-system-log-error{background:#dc2626}.admin-system-log-fatal{background:#7e22ce}.admin-verdict-ac{background:#16a34a}.admin-verdict-wa,.admin-verdict-judge-error{background:#dc2626}.admin-verdict-ce{background:#f59e0b}.admin-verdict-re{background:#c026d3}.admin-verdict-tle,.admin-verdict-mle{background:#1e3a8a}.admin-verdict-pe{background:#ec4899}.admin-dl{grid-template-columns:150px minmax(0,1fr);gap:10px 14px;margin:0;display:grid}.admin-dl dt{color:#edf3eb9e;font-weight:850}.admin-dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.admin-prewrap{white-space:pre-wrap}.admin-empty{color:#edf3eba3;padding:12px 14px}.test-page{height:100vh;min-height:100vh;color:var(--ink);background:linear-gradient(#fff8e2eb,#fff8e2f5),url(/assets/art/backgrounds/ch1-mist-town/main-review-v1.png) 50%/cover no-repeat;padding:28px;overflow:hidden auto}.test-page-head,.test-summary-grid,.test-level-table{width:min(1180px,100%);margin:0 auto}.test-page-head{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.test-page-head h1{color:#3e2d18;margin-top:4px;font-size:34px;line-height:1.1}.test-page-head p{color:#6c5f47;max-width:720px;margin-top:8px;font-weight:750;line-height:1.5}.test-secondary-link,.test-open-link{color:#fff8dc;background:#6a4c1d;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-weight:900;display:inline-flex}.test-secondary-link{white-space:nowrap;min-height:40px;padding:0 14px}.test-summary-grid{grid-template-columns:repeat(2,minmax(0,180px));gap:12px;margin-bottom:14px;display:grid}.test-metric{background:#fffcedeb;border:1px solid #82643733;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:28px 1fr;align-items:center;gap:4px 10px;min-height:76px;padding:14px;display:grid;box-shadow:0 12px 26px #422f1a1f}.test-metric svg{color:#6a4c1d;grid-row:1/span 2}.test-metric span{color:#7a6138;font-size:12px;font-weight:900}.test-metric strong{color:#3e2d18;font-size:24px;line-height:1}.test-level-table{gap:8px;display:grid}.test-filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.test-filter-bar button{color:#6a4c1d;min-height:36px;font:inherit;background:#fffceddb;border:1px solid #8264373d;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.test-filter-bar button.active{color:#fff8dc;background:#6a4c1d}.test-filter-bar button span{color:#3e2d18;background:#ffe297bf;border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:12px;display:grid}.test-level-table-head,.test-level-row{grid-template-columns:minmax(220px,1.4fr) minmax(140px,.75fr) minmax(220px,1fr) minmax(130px,.7fr) 92px;align-items:center;gap:12px;display:grid}.test-level-table-head{color:#7a6138;padding:0 12px 4px;font-size:12px;font-weight:950}.test-level-scroll{gap:8px;display:grid}.test-level-row{background:#fffcedf0;border:1px solid #82643733;border-radius:10px;min-height:92px;padding:12px;box-shadow:0 10px 24px #422f1a1f}.test-level-row div{gap:4px;min-width:0;display:grid}.test-level-row strong{color:#3e2d18;font-size:16px}.test-level-row span,.test-level-row small,.test-level-row em{overflow-wrap:anywhere;min-width:0}.test-level-row span{color:#3e2d18;font-weight:900}.test-level-row small{color:#75684f;font-size:12px;font-weight:780}.test-level-row em{color:#6a4c1d;font-size:12px;font-style:normal;font-weight:900}.test-status{color:#fff;background:#68737c;border-radius:999px;justify-content:center;width:fit-content;min-width:76px;padding:5px 9px;font-size:12px;font-style:normal;font-weight:950;display:inline-flex}.test-status-stack{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.test-pass-pill{color:#315b2e;background:#5d8e562e;border-radius:999px;justify-content:center;align-items:center;gap:4px;width:fit-content;min-width:78px;padding:5px 9px;font-size:12px;font-style:normal;font-weight:950;display:inline-flex}.test-status-published{background:#4d8f54}.test-status-review{background:#b8872d}.test-status-draft{background:#5f7282}.test-status-archived{background:#9b4f43}.test-open-link{min-height:38px;padding:0 12px}.test-pager{grid-template-columns:110px 1fr 110px;align-items:center;gap:10px;padding-top:4px;display:grid}.test-pager button{color:#6a4c1d;min-height:38px;font:inherit;background:#fffcede6;border:1px solid #82643738;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:900;display:inline-flex}.test-pager button:disabled{cursor:not-allowed;opacity:.45}.test-pager span{color:#7a6138;text-align:center;font-size:13px;font-weight:900}.test-empty{color:#7a6138;background:#fffcedeb;border-radius:10px;margin:0;padding:18px;font-weight:900}.test-progress-label{color:#fff8dc;font-weight:900;overflow:hidden}.test-progress-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body :where(:not(button):not(button *)){font-weight:400!important}@media (max-height:760px) and (min-width:981px){.exam-page{grid-template-rows:52px minmax(0,1fr);gap:8px;padding:5px 12px 10px}.exam-topbar{grid-template-columns:minmax(210px,.85fr) minmax(226px,.88fr) minmax(112px,.34fr) minmax(180px,.58fr) 124px}.exam-title-card,.exam-question-trigger,.exam-status-card,.exam-monitor-card,.exam-finish-button{height:42px}.exam-title-copy em,.exam-monitor-card span:first-child{display:none}.exam-main{grid-template-columns:minmax(300px,29%) minmax(0,1fr)}.exam-main.task-expanded{grid-template-columns:minmax(340px,46%) minmax(0,1fr);width:100%}.exam-main .task-scroll{padding:14px 18px}.programming-scene{grid-template-rows:32px minmax(0,1fr);gap:6px;padding:6px 10px 8px}.programming-topbar{grid-template-columns:82px minmax(270px,.78fr) minmax(0,1fr) 54px}.programming-topbar .kit-logo img{width:64px}.titlebar-promote-progress{gap:12px}.titlebar-promote-nodes{grid-template-columns:repeat(5,44px);gap:12px}.titlebar-promote-node{width:36px;height:36px;font-size:16px}.titlebar-promote-node:not(:last-child):after{width:10px;font-size:11px;left:calc(100% + 5px)}.titlebar-promote-node.current{width:44px;height:44px;font-size:20px;transform:translateY(-1px)}.titlebar-promote-node.current:hover{transform:translateY(-2px)}.titlebar-promote-summary{max-width:min(30vw,320px);min-height:18px;padding:0 6px;font-size:9px;left:calc(50% + 148px)}.programming-layout{grid-template-columns:minmax(280px,25%) minmax(0,1fr);gap:10px}.programming-layout.task-expanded{grid-template-columns:minmax(340px,46%) minmax(0,1fr);width:100%}.task-scroll{padding:10px 12px}.section-label{height:30px;padding:0 12px;font-size:15px}.task-title-row{margin:8px 0 6px}.task h1{margin:0;font-size:19px}.task h2{margin:10px 0 5px;font-size:16px}.statement-image img{max-height:150px}.sample-row,.hint-list details{padding:8px}.workbench,.workbench.expanded{--spcg-results-row-height:clamp(82px, 16vh, 120px);--ide-toolbar-height:32px;--ide-toolbar-center-y:16px;grid-template-rows:minmax(0, 1fr) var(--spcg-results-row-height)}.workbench.output-expanded,.workbench.expanded.output-expanded{--spcg-results-row-height:clamp(164px, 32vh, 240px);grid-template-rows:minmax(0, 1fr) var(--spcg-results-row-height)}.workbench.results-maximized,.workbench.output-expanded.results-maximized,.workbench.expanded.results-maximized,.workbench.expanded.output-expanded.results-maximized{--spcg-results-row-height:50%;grid-template-rows:minmax(0,1fr) minmax(0,50%)}.editor-shell{grid-template-rows:var(--ide-toolbar-height) minmax(0, 1fr)}.result-list{padding:8px 12px}.console-panel{padding:8px 10px}.case{min-height:24px}.judge-actions{gap:6px;width:128px;bottom:10px;right:10px}.asset-button{border-radius:10px;height:40px;font-size:15px}}@media (max-width:1280px) and (min-width:981px){.exam-page{grid-template-rows:100px minmax(0,1fr)}.exam-topbar{grid-template-rows:repeat(2,minmax(42px,1fr));grid-template-columns:minmax(250px,1fr) minmax(238px,.9fr) minmax(126px,152px) minmax(190px,.7fr) 136px}.exam-title-card{grid-area:1/1/auto/span 4}.exam-question-menu{grid-area:2/1/auto/span 2}.exam-status-card.timer{grid-area:2/3}.exam-monitor-card{grid-area:2/4/auto/span 2}.exam-monitor-card span{font-size:12px}.exam-finish-button{grid-area:1/5;justify-self:stretch}.programming-topbar{grid-template-columns:86px minmax(270px,.78fr) minmax(0,1fr) 54px}.titlebar-promote-summary{max-width:min(28vw,320px)}}@media (max-width:980px){html,body{overflow:auto}.test-page-head{flex-direction:column;align-items:flex-start}.test-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.test-level-table-head{display:none}.test-level-row{grid-template-columns:1fr;align-items:stretch}.test-open-link{justify-self:start;min-width:110px}.test-pager{grid-template-columns:1fr}.exam-page{grid-template-rows:auto auto;height:auto;min-height:100vh;padding:12px;overflow:auto}.exam-topbar{grid-template-columns:minmax(104px,.7fr) minmax(190px,1.3fr);grid-auto-rows:minmax(38px,auto);gap:8px}.exam-topbar:before{inset:-6px -12px}.exam-status-card.timer,.exam-monitor-card,.exam-question-trigger,.exam-finish-button{height:40px}.exam-title-card{grid-column:1/-1;height:46px;padding:0 13px}.exam-title-copy strong{font-size:18px}.exam-title-copy em{display:none}.exam-question-menu,.exam-monitor-card,.exam-finish-button{grid-column:1/-1}.exam-status-card.timer{grid-column:1}.exam-monitor-card{grid-column:2}.exam-question-popover{width:min(520px,100vw - 32px)}.exam-question-list-grid{grid-template-columns:1fr}.exam-finish-button{justify-self:center;width:min(100%,210px)}.exam-main,.exam-main.task-expanded{grid-template-columns:1fr;width:100%}.exam-main .task{max-height:42vh}.exam-workbench-wrap{min-height:650px}.level-node.exam strong{display:none}.village-hud,.programming-topbar{grid-template-columns:1fr auto;top:14px;left:16px;right:16px}.programming-topbar .programming-actions{right:0}.village-hud{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}.village-logo,.kit-logo img{width:128px}.village-map-menus{grid-area:2/1/auto/-1;width:100%}.village-chapter-menu{min-width:0;max-width:none}.village-chapter-trigger{width:min(315px,100vw - 198px);min-width:0;min-height:42px;padding:6px 10px}.village-chapter-menu-panel{width:min(340px,100vw - 32px);max-height:56vh}.village-level-menu{justify-self:end;max-width:104px}.village-level-trigger{min-width:0;min-height:42px;padding:7px 10px}.village-level-menu-panel{width:min(340px,100vw - 32px);max-height:56vh}.village-test-trigger{min-width:58px;min-height:42px;padding:7px 10px;font-size:12px}.village-test-menu-panel{width:min(300px,100vw - 32px);max-height:56vh}.village-actions{grid-area:1/2}.village-actions .hud-icon{width:42px;height:42px}.village-actions .hud-icon img{width:24px;height:24px}.village-chapter,.chapter-pill,.level-progress-strip,.titlebar-promote-progress{display:none}.chapter-switcher{max-width:none;padding-bottom:4px;top:76px;left:16px;right:16px;overflow-x:auto}.chapter-tab{min-width:112px}.programming-scene{grid-template-rows:58px minmax(0,auto);min-height:100vh;padding:14px;overflow:auto}.programming-main{overflow:visible}.programming-layout,.programming-layout.task-expanded{grid-template-columns:1fr;width:100%}.task{max-height:42vh}.workbench{--spcg-results-row-height:170px;grid-template-rows:minmax(0, 1fr) var(--spcg-results-row-height);min-height:650px}.whiteboard-modal{width:100%;height:100%;min-height:0}.whiteboard-modal-head{gap:5px;padding:6px;top:54px;right:6px}.whiteboard-toolbar{justify-items:stretch}.workbench.output-expanded{--spcg-results-row-height:300px;grid-template-rows:minmax(0, 1fr) var(--spcg-results-row-height)}.workbench.results-maximized,.workbench.output-expanded.results-maximized,.workbench.expanded.results-maximized,.workbench.expanded.output-expanded.results-maximized{--spcg-results-row-height:50%;grid-template-rows:minmax(0,1fr) minmax(0,50%)}.results-dock{grid-template-columns:1fr}.submission-history-panel{width:auto;left:10px}.history-panel-body,.workbench.history-has-source .history-panel-body{grid-template-columns:1fr}.history-list{border-bottom:1px solid #ffffff14;border-left:0;border-right:0;max-height:180px}.console-panel{border-top:1px solid #ffffff14;border-left:0}.judge-actions{grid-template-rows:repeat(2,minmax(46px,max-content));grid-template-columns:1fr;width:136px;bottom:12px;right:12px}.floating-video{width:auto;min-width:0;height:min(44vh,360px);min-height:220px;bottom:12px;left:12px;right:12px}}@media (max-width:560px){.level-node,.level-node img{width:58px;height:58px}.level-node.exam{width:62px;height:62px}.level-node.exam img{width:38px;height:38px;inset:12px}.level-node>span{font-size:11px}.level-node-stars{gap:1px;min-width:38px;padding:2px 4px}.level-node-stars i{font-size:9px}.map-mascot{width:64px;height:64px}.current-level-cta{min-width:0;max-width:none;bottom:16px;left:16px;right:16px;transform:none}.task-scroll,.result-list,.console-panel,.login-panel{padding:16px}.case{grid-template-columns:20px 82px minmax(0,1fr);gap:8px}.asset-button{height:56px;font-size:18px}.console-panel{grid-template-columns:1fr}.whiteboard-toolbar button{min-width:34px;padding:0 7px}.whiteboard-title span{font-size:12px}.floating-video{grid-template-rows:36px minmax(0,1fr);min-height:200px}.section-title,.progress-row{grid-template-columns:1fr}.progress-row{gap:8px}.progress-list-head,.progress-list-head div{flex-direction:column;align-items:flex-start}.progress-state{width:fit-content}.progress-pager{grid-template-columns:1fr}.progress-scroll-list{max-height:none}.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-metric{grid-template-columns:38px 1fr;min-height:88px;padding:14px}.profile-metric img{width:38px;height:38px}.profile-metric strong{font-size:20px}.profile-metric em{font-size:11px}.profile-inventory-row,.profile-reward-row{grid-template-columns:1fr}.profile-inventory-row em,.profile-reward-row em{white-space:normal;justify-self:start}}
