.vscode-window[data-v-85261af2]{--ide-border:#30343d;color:#c7cbd4;background:#1f1f1f;border:1px solid #424750;border-radius:8px;overflow:hidden;box-shadow:0 12px 32px #0b172329;font:12px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-align:left;width:100%;isolation:isolate}.vscode-window svg[data-v-85261af2]{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}.vscode-title-bar[data-v-85261af2]{height:37px;background:#181818;border-bottom:1px solid var(--ide-border);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 13px}.window-controls[data-v-85261af2]{display:flex;gap:7px;width:64px}.window-controls i[data-v-85261af2]{width:10px;height:10px;border-radius:50%;background:#ff5f57}.window-controls i[data-v-85261af2]:nth-child(2){background:#febc2e}.window-controls i[data-v-85261af2]:nth-child(3){background:#28c840}.command-center[data-v-85261af2]{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #3b3e42;background:#222326;border-radius:5px;height:25px;width:54%;max-width:490px;color:#b5b8bf;font-size:11px;min-width:0}.command-center span[data-v-85261af2]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-icon[data-v-85261af2]{margin-left:35px}.vscode-editor[data-v-85261af2]{display:flex;min-height:300px}.activity-bar[data-v-85261af2]{background:#181818;width:43px;flex-shrink:0;border-right:1px solid var(--ide-border);display:flex;flex-direction:column;align-items:center}.activity-bar>span[data-v-85261af2]{display:flex;align-items:center;justify-content:center;width:43px;height:44px;color:#7c8088;border-left:2px solid transparent}.activity-bar>span.selected[data-v-85261af2]{color:#e1e5ed;border-left-color:#75beff}.activity-bar svg[data-v-85261af2]{width:22px;height:22px;stroke-width:1.2}.activity-bar .activity-bottom[data-v-85261af2]{margin-top:auto}.explorer[data-v-85261af2]{background:#181818;border-right:1px solid var(--ide-border);width:168px;flex-shrink:0;font-size:11px}.explorer-heading[data-v-85261af2]{display:flex;justify-content:space-between;align-items:center;height:36px;padding:0 16px;color:#b8bbc3;font-size:10px;letter-spacing:.4px}.explorer-heading span[data-v-85261af2]{font-size:18px}.project-name[data-v-85261af2]{font-weight:600;font-size:10px;padding:10px 10px 7px}.folder-name[data-v-85261af2]{padding:4px 17px}.file-entry[data-v-85261af2]{display:flex;gap:7px;align-items:center;padding:4px 15px 4px 30px}.file-entry.selected[data-v-85261af2]{background:#292d33}.problem-count[data-v-85261af2]{margin-left:auto;color:#f3a86a}.empty-files[data-v-85261af2]{display:block;padding:8px 15px;color:#888c93;font-size:11px}.editor-main[data-v-85261af2]{min-width:0;flex:1;display:flex;flex-direction:column;background:#1f1f1f}.vscode-tab-bar[data-v-85261af2]{height:36px;display:flex;align-items:center;background:#181818;border-bottom:1px solid var(--ide-border);justify-content:space-between}.editor-tab[data-v-85261af2]{display:flex;align-items:center;gap:9px;height:36px;background:#1f1f1f;border-top:1px solid #67b5f7;border-right:1px solid var(--ide-border);padding:0 13px;min-width:140px}.js-icon[data-v-85261af2]{font-size:10px;line-height:1;color:#e5c454;font-weight:700}.tab-close[data-v-85261af2]{margin-left:auto;padding-left:12px;font-size:16px;color:#b3b6bd}.editor-split[data-v-85261af2]{padding:0 12px;color:#969ba5}.breadcrumbs[data-v-85261af2]{display:flex;gap:8px;align-items:center;color:#9a9fa9;height:27px;padding:0 17px;font-size:11px}.breadcrumbs>span[data-v-85261af2]:first-child{font-size:16px}.editor-content[data-v-85261af2]{flex:1;min-width:0;overflow:auto;color:#d4d4d4;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;scrollbar-color:#42454a #1f1f1f}.terminal-panel[data-v-85261af2]{border-top:1px solid var(--ide-border);background:#1b1b1b;min-width:0}.terminal-tabs[data-v-85261af2]{display:flex;align-items:center;gap:20px;padding:0 17px;height:36px;font-size:9px;letter-spacing:.4px;white-space:nowrap;color:#8d919a}.terminal-tabs>span[data-v-85261af2]{height:100%;display:flex;align-items:center;gap:4px}.terminal-tabs .selected[data-v-85261af2]{color:#e3e6ec;border-bottom:1px solid #67b5f7}.terminal-tabs b[data-v-85261af2]{border-radius:8px;background:#42454c;padding:0 5px;color:#ddd;font-size:9px}.terminal-shell[data-v-85261af2]{margin-left:auto;text-transform:lowercase}.vscode-status-bar[data-v-85261af2]{height:23px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;background:#181818;border-top:1px solid var(--ide-border);font-size:10px;color:#abb1bc}.status-branch[data-v-85261af2]{display:flex;align-items:center;gap:5px}.status-branch svg[data-v-85261af2]{width:12px;height:12px}.status-problems[data-v-85261af2]{margin-left:10px}@media(max-width:700px){.explorer[data-v-85261af2]{display:none}.command-center[data-v-85261af2]{width:70%}.layout-icon[data-v-85261af2]{margin-left:0}.activity-bar[data-v-85261af2],.activity-bar>span[data-v-85261af2]{width:35px}.terminal-tabs[data-v-85261af2]{gap:12px}.terminal-shell[data-v-85261af2],.status-lf[data-v-85261af2]{display:none}.editor-tab[data-v-85261af2]{min-width:120px}}@media(min-width:900px){.fill-workspace[data-v-85261af2]{display:flex;flex-direction:column;flex:1;min-height:0}.fill-workspace .vscode-editor[data-v-85261af2]{flex:1;min-height:0;overflow:hidden}.fill-workspace .editor-main[data-v-85261af2]{min-height:0}.fill-workspace .editor-content[data-v-85261af2]{display:flex;flex-direction:column;min-height:0}.fill-workspace .vscode-title-bar[data-v-85261af2],.fill-workspace .vscode-tab-bar[data-v-85261af2],.fill-workspace .breadcrumbs[data-v-85261af2],.fill-workspace .vscode-status-bar[data-v-85261af2],.fill-workspace .terminal-panel[data-v-85261af2]{flex-shrink:0}.fill-workspace .vscode-title-bar[data-v-85261af2]{height:31px}.fill-workspace .command-center[data-v-85261af2]{height:22px}.fill-workspace .vscode-tab-bar[data-v-85261af2],.fill-workspace .editor-tab[data-v-85261af2]{height:32px}.fill-workspace .breadcrumbs[data-v-85261af2]{height:23px}.fill-workspace .terminal-tabs[data-v-85261af2]{height:30px}}@media(min-width:900px)and (max-height:850px){.fill-workspace .editor-main.with-terminal[data-v-85261af2]{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,34%);grid-template-rows:auto auto minmax(0,1fr)}.fill-workspace .with-terminal .vscode-tab-bar[data-v-85261af2]{grid-column:1;grid-row:1}.fill-workspace .with-terminal .breadcrumbs[data-v-85261af2]{grid-column:1;grid-row:2}.fill-workspace .with-terminal .editor-content[data-v-85261af2]{grid-column:1;grid-row:3}.fill-workspace .with-terminal .terminal-panel[data-v-85261af2]{grid-column:2;grid-row:1/4;border-top:0;border-left:1px solid var(--ide-border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.fill-workspace .with-terminal .terminal-tabs[data-v-85261af2]{flex-shrink:0;height:32px;border-bottom:1px solid var(--ide-border)}.fill-workspace .with-terminal .terminal-tabs>span[data-v-85261af2]:not(.selected):not(.terminal-shell){display:none}}.keypad-challenge[data-v-dc673f00]{margin:24px auto 0;max-width:1040px}.keypad-instruction[data-v-dc673f00]{display:flex;align-items:center;gap:14px;text-align:left;margin:0 0 18px;min-height:54px}.keypad-instruction>img[data-v-dc673f00]{width:44px;height:44px;object-fit:contain;border-radius:8px;background:#17242b;padding:5px}.keypad-instruction small[data-v-dc673f00]{font-size:9px;font-weight:700;letter-spacing:1.2px;color:#728278}.keypad-instruction p[data-v-dc673f00]{font-size:15px;font-weight:700;line-height:1.4;margin:3px 0}.instruction-symbol[data-v-dc673f00]{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#e7f4e9;color:#17664f;font-size:24px}.keypad-steps[data-v-dc673f00]{display:flex;gap:7px;margin:0 0 0 auto;padding:0;list-style:none}.keypad-steps li[data-v-dc673f00]{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border:1px solid #d6ded7;border-radius:50%;color:#88928a;font:11px system-ui}.keypad-steps li.current[data-v-dc673f00]{border-color:#17664f;color:#17664f;box-shadow:0 0 0 3px #eaf3ec}.keypad-steps li.done[data-v-dc673f00]{background:#17664f;color:#fff;border-color:#17664f}.ide-welcome[data-v-dc673f00]{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font-family:system-ui,sans-serif;text-align:center;padding:24px;color:#888f9b}.code-mark[data-v-dc673f00]{font:48px/1 ui-monospace,monospace;letter-spacing:-9px;padding-right:9px;color:#414955;margin-bottom:12px}.ide-welcome strong[data-v-dc673f00]{font-size:17px;font-weight:500;color:#c3c9d3}.ide-welcome>span[data-v-dc673f00]:not(.code-mark){font-size:12px}.ide-welcome small[data-v-dc673f00]{font-size:8px;letter-spacing:2px;margin-top:16px;color:#656d79}.ide-source[data-v-dc673f00]{padding:12px 0;min-height:245px;overflow:auto}.source-line[data-v-dc673f00]{display:flex;min-width:max-content;line-height:23px;padding-right:24px;position:relative}.source-line code[data-v-dc673f00]{font:12px/23px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;-moz-tab-size:2;tab-size:2}.source-number[data-v-dc673f00]{color:#6e7683;text-align:right;width:46px;padding-right:17px;flex-shrink:0;font-size:11px;-webkit-user-select:none;user-select:none}.bug-line[data-v-dc673f00]{background:#e7a14a0e}.bug-line code[data-v-dc673f00]{text-decoration:underline wavy #e0a451;text-underline-offset:5px}.fixed-line[data-v-dc673f00]{background:#76be8312}.copilot-message[data-v-dc673f00]{display:flex;gap:10px;align-items:center;padding:12px 18px;border-top:1px solid #30343d;background:#25231e;font:11px/1.5 system-ui,sans-serif}.copilot-message>span[data-v-dc673f00]{color:#e8b66a;border:1px solid #655137;border-radius:50%;width:19px;height:19px;text-align:center;flex-shrink:0}.copilot-message strong[data-v-dc673f00],.copilot-message div>span[data-v-dc673f00]{display:block}.copilot-message strong[data-v-dc673f00]{font-size:11px;font-weight:500;color:#ddc39c}.copilot-message div>span[data-v-dc673f00]{color:#9d978b;margin-top:1px}.copilot-message.resolved[data-v-dc673f00]{background:#1d2923}.copilot-message.resolved>span[data-v-dc673f00]{color:#8bc89f;border-color:#45644f}.copilot-message.resolved strong[data-v-dc673f00]{color:#a1d8b2}.copilot-message.resolved div>span[data-v-dc673f00]{color:#91aa99}.terminal-output[data-v-dc673f00]{height:134px;min-height:134px;max-height:134px;padding:8px 18px 16px;overflow:auto;white-space:pre;font:11px/19px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#c7cbd3}.terminal-prompt[data-v-dc673f00],.terminal-success[data-v-dc673f00]{color:#8dcca0}.terminal-path[data-v-dc673f00]{color:#87bcec}.terminal-branch[data-v-dc673f00]{color:#bda2d9}.terminal-muted[data-v-dc673f00]{color:#808691}.commit-command[data-v-dc673f00]{margin-top:5px}.terminal-cursor[data-v-dc673f00]{display:inline-block;width:6px;height:12px;background:#a9b4c3;vertical-align:middle;margin-left:8px}.keypad-hint[data-v-dc673f00]{color:#7c887f;font-size:11px;letter-spacing:.1px;margin:13px 0 0}.ide-source[data-v-dc673f00] .token.comment{color:#6a9955}.ide-source[data-v-dc673f00] .token.keyword{color:#c586c0}.ide-source[data-v-dc673f00] .token.function{color:#dcdcaa}.ide-source[data-v-dc673f00] .token.number{color:#b5cea8}.ide-source[data-v-dc673f00] .token.operator{color:#d4d4d4}.ide-source[data-v-dc673f00] .token.punctuation{color:#b9bdc7}.ide-source[data-v-dc673f00] .token.string{color:#ce9178}.code-cursor[data-v-dc673f00]{width:2px;height:15px;align-self:center;background:#c5def4;flex-shrink:0;margin-left:2px}.terminal-cursor[data-v-dc673f00]{margin-left:2px}@media(max-width:700px){.keypad-instruction[data-v-dc673f00]{flex-wrap:wrap;gap:10px}.keypad-instruction>div[data-v-dc673f00]{flex:1;min-width:180px}.keypad-instruction p[data-v-dc673f00]{font-size:13px}.keypad-steps[data-v-dc673f00]{gap:5px}.keypad-steps li[data-v-dc673f00]{width:20px;height:20px}.source-line code[data-v-dc673f00]{font-size:11px}.source-number[data-v-dc673f00]{width:31px;padding-right:9px}.copilot-message[data-v-dc673f00]{padding:10px 12px}.terminal-output[data-v-dc673f00]{font-size:10px;padding:8px 12px 12px}}@media(min-width:900px){.fill-workspace.keypad-challenge[data-v-dc673f00]{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:none;margin:6px auto 0}.fill-workspace .keypad-instruction[data-v-dc673f00]{flex-shrink:0;min-height:40px;margin-bottom:8px;gap:12px}.fill-workspace .keypad-instruction>img[data-v-dc673f00],.fill-workspace .instruction-symbol[data-v-dc673f00]{width:36px;height:36px}.fill-workspace .keypad-hint[data-v-dc673f00]{flex-shrink:0;margin-top:6px}.fill-workspace .ide-welcome[data-v-dc673f00]{flex:1;min-height:0;padding:16px}.fill-workspace .ide-source[data-v-dc673f00]{flex:1;min-height:0;padding:10px 0}.fill-workspace .source-line[data-v-dc673f00],.fill-workspace .source-line code[data-v-dc673f00]{font-size:14px;line-height:24px}.fill-workspace .copilot-message[data-v-dc673f00]{flex-shrink:0;padding:8px 16px}.fill-workspace .copilot-message>div[data-v-dc673f00]{display:flex;align-items:center;flex-wrap:wrap;column-gap:8px}.fill-workspace .terminal-output[data-v-dc673f00]{height:clamp(76px,12dvh,140px);min-height:0;max-height:none;font-size:12px;line-height:20px;padding:7px 16px 10px}}@media(min-width:900px)and (max-height:850px){.fill-workspace .terminal-output[data-v-dc673f00]{flex:1;height:auto;min-height:0;padding:10px 12px}}.field-error[data-v-bfc4a858]{font-size:12px;font-weight:400;color:#a33743}input[aria-invalid=true][data-v-bfc4a858]{border-color:#bc4550;background:#fffafb}@font-face{font-family:MX;src:url(/assets/light_font-C_hf0Vrp.otf)}@font-face{font-family:MX;src:url(/assets/bold_font-BGXZUCom.OTF);font-weight:700}:root{font-family:MX,system-ui,sans-serif;color:#263735;background:#eef1ed;font-synthesis:none;--accent:#17664f;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button-link{border:1px solid transparent;border-radius:8px;padding:11px 21px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.93)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #3f9e8b;outline-offset:3px}a{color:var(--accent);text-underline-offset:4px}h1{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;letter-spacing:-.035em;margin:16px 0 24px}h2{font-size:1.2rem;line-height:1.3}p{margin:12px 0}.shell{max-width:1200px;margin:auto;padding:28px 32px 48px}.panel{background:#fff;border:1px solid #dce2dc;border-radius:16px;padding:32px;margin:20px 0;box-shadow:0 3px 20px #172e1910}.brand-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:65px;margin-bottom:20px}.brand-header>span{font-weight:700}.brand-header small{font-weight:400;margin-left:8px}.brand-header img{max-width:150px;max-height:54px}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:700;color:var(--accent)}.muted{color:#64736d;font-size:.9rem}.preserve-lines{white-space:pre-wrap}.secondary{background:#e8eee9;color:#254e40;border-color:#cbd8cf}.text-button{padding:5px 0;background:none;color:var(--accent);border:0;text-decoration:underline;font-size:.85rem}.button-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;text-align:left;font-size:.85rem;font-weight:700}.field input,.field select,input,textarea{border:1px solid #c5d0c8;border-radius:6px;background:#fff;color:#263735;padding:12px;max-width:100%}textarea{resize:vertical;width:100%}.error{color:#9a2833;white-space:pre-wrap}.error button{margin-left:16px}.notice,.success{color:#17664f}.notice{background:#e8f4ed;padding:12px 18px;border-radius:8px}.segmented{display:flex;background:#edf1ed;border-radius:8px;padding:5px;gap:5px;margin:22px 0;width:fit-content}.segmented button{background:none;color:#53645d}.segmented .chosen{background:#fff;color:var(--accent);box-shadow:0 1px 5px #0001}.device-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.device-cards article{position:relative;background:#f7f9f6;border:1px solid #dde5dc;border-radius:12px;padding:24px}.device-cards>p{grid-column:1/-1;margin:0}.status-dot{position:absolute;right:22px;top:24px;width:10px;height:10px;border-radius:50%;background:#bdc9c1}.status-dot.online{background:#27a56a;box-shadow:0 0 0 5px #dcf0df}.pair-panel{max-width:620px}.pair-code{font-family:ui-monospace,monospace;letter-spacing:.18em;font-size:3rem;font-weight:700;margin:20px 0}.run-bar{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:8px 0}.run-bar strong{font-variant-numeric:tabular-nums;font-size:1.6rem}.challenge-panel{text-align:center;padding:32px 48px}.progress-label{display:flex;justify-content:space-between;font-size:.8rem;color:#6b7c71;text-align:left}progress{display:block;width:100%;height:5px;accent-color:var(--accent);margin:8px 0 30px}.content-heading>p{font-size:1.14rem;line-height:1.75}.asset{margin:18px auto;max-width:440px}.asset>img{max-width:100%;max-height:220px;object-fit:contain;display:block;margin:auto}.content-items{margin:24px 0}.content-item{display:flex;align-items:center;justify-content:center;gap:15px;margin:15px 0}.content-item .asset{width:65px;margin:0;flex-shrink:0}.content-item .asset>img{max-height:70px}.content-item>p{margin:0;text-align:left}.nickname{max-width:490px;margin:25px auto}.challenge-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px}.challenge-nav>span{font-size:.7rem;letter-spacing:.16em;color:#7e8c82}.code-lines{padding:15px 0;overflow:auto;text-align:left;max-height:64vh}.code-lines button{display:flex;gap:20px;border:0;border-radius:0;background:transparent;color:#ddd;font:13px/1.6 ui-monospace,monospace;padding:2px 18px;width:100%;min-width:max-content;text-align:left;font-weight:400}.code-lines button:hover:not(:disabled),.code-lines button:focus-visible{background:#303e3b;filter:none}.code-lines button:disabled{opacity:.8}.code-lines code{white-space:pre}.line-number{color:#89968e;min-width:20px}.typing-clock{text-align:right;font-variant-numeric:tabular-nums;margin:15px 0}.target-code{white-space:pre-wrap;text-align:left;padding:20px;font:14px/1.6 ui-monospace,monospace;color:#bccbc0;-webkit-user-select:none;user-select:none;border-bottom:1px solid #3d4740;margin:0}.typing-task textarea{min-height:210px;border:0;border-radius:0;background:#18201e;color:#f5fff5;font:15px/1.6 ui-monospace,monospace;display:block;-moz-tab-size:2;tab-size:2;padding:20px}.keypad-task{max-width:760px;margin:24px auto}.keypad-action-row{display:flex;align-items:center;gap:18px;border:1px solid #e0e6e0;border-radius:10px;padding:16px;margin:12px 0;text-align:left}.keypad-action-row img{width:56px;height:56px;object-fit:contain}.keypad-action-row.current{border-color:var(--accent);background:#f2f8f3}.keypad-action-row.done{background:#e8f5ea;color:#3c7451}.step-number{font-weight:700;min-width:24px}.result{margin:25px 0}.result>strong{font-size:clamp(3rem,7vw,5rem);font-variant-numeric:tabular-nums;letter-spacing:-.06em}.result-metrics{display:flex;gap:30px;justify-content:center;font-size:1.2rem}.button-link{display:inline-block;text-decoration:none}footer{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:.85rem;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.scoreboard h1{max-width:800px}.scoreboard-table{padding:10px 25px;overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#748277;padding:18px 12px;border-bottom:1px solid #dce5dc}td{padding:18px 12px;border-bottom:1px solid #edf1ec}.rank{font-size:1.5rem;font-weight:700}.time{font-variant-numeric:tabular-nums;font-weight:700}tbody tr:first-child{color:var(--accent);background:#f2f7f0}.badge{font-size:.75rem;background:#edf2ed;padding:4px 10px;border-radius:20px}.empty{padding:55px 20px;text-align:center;color:#77857b}.login-panel{max-width:450px}.login-panel .field{margin-bottom:20px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;background:#eef1edf5;z-index:10;padding:15px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.85rem}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.settings-grid .asset{margin:0;max-width:100%}.settings-grid .asset>img{max-height:70px}summary{font-weight:700;cursor:pointer}.editor-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:25px;align-items:start}.page-list{position:sticky;top:100px;display:grid;gap:7px}.page-list button{display:flex;gap:12px;text-align:left;background:none;color:#5c6a60;padding:12px;border-radius:8px;font-weight:400;font-size:.85rem}.page-list button.selected{background:#dce7dd;color:#173b27;font-weight:700}.page-list button>span{font-size:.7rem;opacity:.6}.page-list small{display:block;opacity:.6;font-size:.7rem}.editor-preview{margin-top:0;text-align:center}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;gap:10px;border-bottom:1px solid #e5ebe5;padding-bottom:20px;margin-bottom:25px}.preview-toolbar button{padding:8px 14px;font-size:.8rem}.edit-text{display:block;text-align:left;margin:18px 0;width:100%}.edit-text>span{display:block;color:#607264;font-size:.75rem;font-weight:700;margin-bottom:5px}.edit-text input{width:100%}.edit-text textarea{min-height:100px}.asset.editable{border:2px dashed #cbd8ca;border-radius:10px;padding:15px;max-width:100%;background:#fafcf9}.asset.dragging{background:#dff2df;border-color:var(--accent)}.asset-picker{display:block;font-size:.75rem;margin-top:15px;font-weight:700}.asset-picker input{display:block;width:100%;padding:10px 0;border:0;background:none;font-size:.7rem}.editor-preview .content-item{padding:12px;border:1px solid #e0e8df;border-radius:10px;flex-wrap:wrap}.editor-preview .content-item .asset{width:180px}.editor-preview .content-item .edit-text{flex:1;min-width:180px}.action-editor{border:1px solid #dbe5dc;padding:18px;border-radius:10px;margin:16px 0}.preview-code{text-align:left;background:#1e2924;color:#dcecdf;padding:24px;border-radius:8px;overflow:auto;font-size:.8rem}.board-reset{margin-top:35px}.danger{color:#a33f3f}.danger-button{background:#943a3a}.board-reset .field{min-width:270px}.emulator{max-width:550px;text-align:center;transition:background .1s;min-height:100dvh;padding:24px 20px}.emulator.flashing{background:#d0f1ad}.emulator h1{font-size:1.6rem}.pair-form{padding:24px}.pair-form input{text-align:center;letter-spacing:.18em;font-size:1.7rem;text-transform:uppercase;width:100%}.pair-form button{margin-top:16px}.haptic-indicator{background:#e4eae2;border-radius:8px;padding:16px;font-size:.8rem;margin:22px 0;border:2px solid transparent}.haptic-indicator.pulse{background:#b0e773;border-color:#306a24;font-weight:700}.emulator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.emulator-grid button{position:relative;aspect-ratio:1;border:2px solid #253a30;background:#17242b;border-radius:12px;padding:12px;touch-action:none;user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center;overflow:hidden}.emulator-grid button img{width:100%;height:100%;object-fit:contain;pointer-events:none}.emulator-grid button.active{border-color:#66b692;background:#205a46}.emulator-grid button.pressed{background:#417c51;transform:scale(.94)}.emulator-grid small{position:absolute;bottom:2px;right:7px;font-size:.65rem;opacity:.6}.emulator-grid span{font-size:1.2rem}.enable-phone{width:100%;margin:16px 0}@media(max-width:800px){.shell{padding:20px 16px 35px}.panel{padding:24px 18px}.brand-header{font-size:.8rem}.brand-header img{max-width:90px;max-height:40px}.device-cards{grid-template-columns:1fr}.challenge-panel{padding:24px 16px}.settings-grid{grid-template-columns:1fr 1fr}.editor-layout{grid-template-columns:1fr}.page-list{position:static;display:flex;overflow-x:auto;padding:5px 0}.page-list button{min-width:170px}.admin-toolbar{flex-wrap:wrap}.content-item{align-items:center}.run-bar{font-size:.8rem}.run-bar strong{font-size:1.3rem}.keypad-action-row{gap:12px;padding:12px}.keypad-action-row img{width:42px;height:42px}.challenge-nav>span{max-width:100px}.scoreboard-table{padding:5px}th,td{padding:14px 10px}.pair-panel strong{overflow-wrap:anywhere}.segmented button{padding:9px 12px}}@media(max-width:480px){.settings-grid{grid-template-columns:1fr}.admin-toolbar .button-row{gap:8px}.admin-toolbar button{padding:8px 12px}.content-heading>p{font-size:1rem}.preview-toolbar{flex-wrap:wrap}}.admin-fields{border:0;padding:0;margin:0;min-width:0}.registration-form{display:grid;gap:20px;max-width:490px;margin:25px auto;text-align:left}.registration-form .field small{font-weight:400;color:#607267}.registration-form p{margin:0;font-size:.85rem;line-height:1.5}.registration-form button{justify-self:end}.connection-notice{border:1px solid #e5d6ae;background:#fffaeb;color:#735d28;padding:12px 18px;border-radius:8px;font-size:.85rem}.content-items:empty{display:none}.keypad-panel{padding:24px 32px}.keypad-panel progress{margin-bottom:16px}.keypad-panel .content-heading>h1{margin:12px 0;font-size:2rem}.keypad-panel .content-heading>p{margin:8px 0}.keypad-panel .challenge-nav{margin-top:20px}.wake-status{font-size:.8rem;color:#467457}.wake-status button{display:block;margin:auto}.emulator-grid button:has(canvas){padding:0;border-radius:12px}.emulator-grid button:has(canvas):disabled{opacity:.72}.emulator-grid button:has(canvas) small{background:#091216a0;border-radius:3px;padding:0 3px;opacity:.8}.typing-hint{font-size:13px;color:#496056;margin:12px 0 0;line-height:1.5}.test-run-badge{display:inline-block;margin-left:10px;padding:2px 7px;border:1px solid #e5d6ae;border-radius:5px;background:#fffaeb;color:#735d28;font:10px/1.5 system-ui,sans-serif;vertical-align:middle;white-space:nowrap}.challenge:not(.workspace-layout){padding:16px 24px 24px}.challenge:not(.workspace-layout)>.brand-header{min-height:40px;margin-bottom:8px;font-size:14px}.challenge:not(.workspace-layout)>.brand-header img{max-height:36px;max-width:120px}.challenge:not(.workspace-layout)>.panel{margin:12px 0;padding:22px 32px}.challenge:not(.workspace-layout) .challenge-panel progress{margin-bottom:14px}.challenge:not(.workspace-layout) .content-heading>h1{font-size:clamp(1.6rem,2.8vw,2.3rem);margin:8px 0 14px}.challenge:not(.workspace-layout) .content-heading>p{font-size:1.05rem;line-height:1.5;margin:8px 0}.challenge:not(.workspace-layout) .content-heading>.asset{margin:12px auto}.challenge:not(.workspace-layout) .content-heading>.asset>img{max-height:clamp(110px,23dvh,180px)}.challenge:not(.workspace-layout) .content-items{margin:16px 0}.challenge:not(.workspace-layout) .content-item{margin:10px 0}.challenge:not(.workspace-layout) .content-item .asset>img{max-height:56px}.challenge:not(.workspace-layout) .challenge-nav{margin-top:18px}.challenge:not(.workspace-layout)>.run-bar{padding:2px 0;font-size:14px}.challenge:not(.workspace-layout)>.run-bar strong{font-size:1.4rem}.challenge:not(.workspace-layout)>.connection-notice{margin:8px 0;padding:8px 14px;font-size:13px}.challenge:not(.workspace-layout) .registration-form{gap:14px;margin:18px auto 10px}.challenge:not(.workspace-layout) .registration-form .field{gap:4px}.challenge:not(.workspace-layout) .result{margin:16px 0}.challenge:not(.workspace-layout)>.panel .result>strong{font-size:clamp(3rem,6vw,4rem)}.challenge:not(.workspace-layout)>footer{margin-top:12px;font-size:12px;align-items:center}.challenge:not(.workspace-layout)>footer .text-button{padding:0;font-size:12px}@media(max-width:600px){.challenge:not(.workspace-layout){padding:14px 12px 20px}.challenge:not(.workspace-layout)>.panel{padding:20px 16px}.challenge:not(.workspace-layout)>.brand-header{font-size:12px}}@media(min-width:900px){.workspace-layout{height:100dvh;max-width:1320px;padding:12px 24px;display:flex;flex-direction:column;gap:6px}.workspace-layout>.brand-header{flex-shrink:0;min-height:28px;margin:0;font-size:13px}.workspace-layout>.brand-header img{max-height:28px;max-width:110px}.workspace-layout>.run-bar{flex-shrink:0;padding:0;font-size:13px;min-height:30px}.workspace-layout>.run-bar strong{font-size:1.35rem}.workspace-layout>.connection-notice{flex-shrink:0;margin:0;padding:6px 12px;font-size:12px}.workspace-layout>.challenge-panel{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:12px 22px;text-align:center}.workspace-layout .progress-label{flex-shrink:0;font-size:11px;line-height:16px}.workspace-layout progress{flex-shrink:0;height:4px;margin:4px 0 6px}.workspace-layout .content-page{display:flex;flex-direction:column;flex:1;min-height:0}.workspace-layout .content-heading{display:flex;align-items:center;flex-shrink:0;gap:18px;margin:4px 0 10px;text-align:left}.workspace-layout .content-heading>h1{flex-shrink:0;font-size:clamp(22px,2vw,28px);line-height:1.25;margin:0;max-width:45%}.workspace-layout .content-heading>p{flex:1;min-width:0;font-size:14px;line-height:1.5;margin:0;max-height:3em;overflow:auto}.workspace-layout .content-heading>.asset,.workspace-layout .content-items{flex-shrink:0;margin:4px auto;max-height:60px;overflow:auto}.workspace-layout .content-heading>.asset>img{max-height:60px}.workspace-layout .challenge-nav{flex-shrink:0;margin-top:8px;min-height:38px}.workspace-layout .challenge-nav>button{padding:8px 20px}.workspace-layout .notice{flex-shrink:0;font-size:13px;padding:6px 12px;margin:6px 0 0}.workspace-layout>footer{flex-shrink:0;margin:0;font-size:12px;gap:12px;align-items:center}.workspace-layout>footer .text-button{padding:0;font-size:12px}.workspace-layout>.error{flex-shrink:0;margin:0;padding:6px 12px;max-height:80px;overflow:auto;font-size:12px}.workspace-layout .typing-task{display:flex;flex-direction:column;flex:1;min-height:0}.workspace-layout .typing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 8px;flex-shrink:0;text-align:left}.workspace-layout .typing-hint{font-size:12px;line-height:1.4;margin:0}.workspace-layout .typing-clock{font-size:13px;white-space:nowrap;margin:0}.workspace-layout .typing-panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);flex:1;min-height:0}.workspace-layout .target-code{min-height:0;overflow:auto;margin:0;padding:18px;font-size:14px;line-height:1.65;border-bottom:0;border-right:1px solid #3d4740}.workspace-layout .typing-task textarea{height:100%;min-height:0;resize:none;padding:18px;font-size:15px;line-height:1.65}.workspace-layout .code-lines{flex:1;min-height:0;max-height:none;padding:12px 0}.workspace-layout .code-lines button{font-size:14px;line-height:1.7}}
