:root{--bg:teal;--ink:#000;--muted:#404040;--accent:navy;--accent-2:#1b5ea8;--panel:silver;--panel-2:#d6d6d6;--line-dark:#000;--line-mid:gray;--line-light:#fff;--shadow:#00000059;--shadow-soft:#0003;--danger-bg:#f4c8c6;--danger-border:maroon;--danger-text:#7a1f1f;--warn-bg:#f7e9a6;--warn-border:#7a6500;--warn-text:#5a4a00;--chart-height:260px}.theme-vaporwave{--bg:linear-gradient(135deg,#ff4bd8 0%,#22d7ff 45%,#b86bff 100%);--ink:#1b0b2b;--muted:#3a2455;--accent:#ff47b5;--accent-2:#22d7ff;--panel:#fff0fb;--panel-2:#f0d9ff;--line-dark:#2d1b4a;--line-mid:#7a5aa3;--line-light:#fff;--danger-bg:#ff7bd6;--danger-border:#7a0f5a;--danger-text:#2f0020;--warn-bg:#ffe86b;--warn-border:#8a6d00;--warn-text:#4a3600}.theme-vaporwave body{background:var(--bg);animation:vaporwave-drift 26s cubic-bezier(.45,0,.25,1)infinite;position:relative;overflow-x:hidden;background-position:0% 60%;background-size:420% 420%}.theme-vaporwave body:before,.theme-vaporwave body:after{content:"";position:fixed;pointer-events:none;z-index:0;inset:-20%}.theme-vaporwave body:before{mix-blend-mode:screen;opacity:.85;filter:blur(14px)saturate(1.7);animation:vaporwave-waves 9.5s ease-in-out infinite;background:radial-gradient(closest-side at 20% 30%,#ff50dc8c,#0000 62%),radial-gradient(closest-side at 80% 65%,#22d7ff80,#0000 60%),radial-gradient(closest-side at 55% 15%,#b86bff73,#0000 58%),conic-gradient(from 180deg,#ff47b529,#22d7ff1f,#b86bff29,#ff47b529)}.theme-vaporwave body:after{mix-blend-mode:overlay;opacity:.55;filter:blur(10px);animation:vaporwave-hue 6s linear infinite;background:radial-gradient(circle,#ffffff24,#0000 55%)}.theme-vaporwave #runButton{color:#143223;background:#bff5c8}.theme-vaporwave .spinner,.theme-vaporwave .inline-spinner,.theme-vaporwave .toast-spinner,.theme-vaporwave .runner-spinner,.theme-vaporwave .reeval-spinner{background:var(--panel-2);border-color:var(--accent);animation:spin 1s steps(8)infinite;border-radius:0}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);overflow:hidden;height:100vh;min-height:100vh;margin:0;font-family:MSW98UI,MS Sans Serif,Tahoma,Verdana,Geneva,sans-serif}@supports (height: 100dvh){body{height:100dvh}}html,body{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0}body::-webkit-scrollbar{width:0;height:0}html{height:100%}.theme-toggle{border:2px solid var(--line-dark);background:var(--panel);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);min-width:72px;height:36px;padding:6px 12px;font-weight:700}.theme-toggle:active{box-shadow:inset -2px -2px 0 var(--line-light),inset 2px 2px 0 var(--line-mid)}.news-toggle{border:2px solid var(--line-dark);background:var(--panel);color:var(--line-dark);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);min-width:72px;height:36px;padding:6px 12px}.news-toggle:active{box-shadow:inset -2px -2px 0 var(--line-light),inset 2px 2px 0 var(--line-mid)}.news-icon{shape-rendering:crispEdges;image-rendering:pixelated;width:20px;height:20px}.news-icon-paper{fill:var(--panel-2)}.news-icon-outline{fill:none;stroke:currentColor;stroke-width:1}.news-icon-block,.news-icon-line{fill:currentColor}@keyframes vaporwave-drift{0%{background-position:0% 60%;background-size:420% 420%}18%{background-position:85% 15%;background-size:520% 520%}42%{background-position:10% 95%;background-size:480% 480%}68%{background-position:100% 55%;background-size:560% 560%}to{background-position:0% 60%;background-size:420% 420%}}@keyframes vaporwave-waves{0%{transform:translate(-2%,-1%)scale(1.02)rotate(-1deg)}25%{transform:translate(4%,-3%)scale(1.1)rotate(2deg)}55%{transform:translate(-5%,4%)scale(1.06)rotate(-2deg)}80%{transform:translate(6%,2%)scale(1.12)rotate(1deg)}to{transform:translate(-2%,-1%)scale(1.02)rotate(-1deg)}}@keyframes vaporwave-hue{0%{filter:blur(10px)hue-rotate(0deg)saturate(1.2)}to{filter:blur(10px)hue-rotate(360deg)saturate(1.7)}}@media (prefers-reduced-motion:reduce){.theme-vaporwave body,.theme-vaporwave body:before,.theme-vaporwave body:after{animation:none}}.hero-header{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.hero-actions{display:flex;align-items:center;gap:8px;margin-left:auto}*{scrollbar-width:auto;scrollbar-color:var(--line-mid)var(--panel)}*::-webkit-scrollbar{width:16px;height:16px}*::-webkit-scrollbar-track{background:var(--panel);border:2px solid var(--line-dark)}*::-webkit-scrollbar-thumb{background:var(--panel-2);border:2px solid var(--line-dark);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid)}*::-webkit-scrollbar-button{background:var(--panel-2);border:2px solid var(--line-dark);width:16px;height:16px}*::-webkit-scrollbar-corner{background:var(--panel);border:2px solid var(--line-dark)}.win98-scroll-wrap{position:relative}.win98-scroll-target{scrollbar-width:none}.win98-scroll-target::-webkit-scrollbar{width:0;height:0}.win98-scrollbar{position:absolute;background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);z-index:5}.win98-scrollbar-vertical{display:flex;flex-direction:column;align-items:stretch;width:16px;top:0;bottom:0;right:2px}.win98-scrollbar-horizontal{display:flex;align-items:stretch;height:16px;bottom:2px;left:2px;right:2px}.win98-scroll-wrap.has-horizontal .win98-scrollbar-vertical{bottom:18px}.win98-scroll-wrap.has-vertical .win98-scrollbar-horizontal{right:18px}.win98-scroll-track{position:relative;background:var(--panel);flex:auto;width:inherit;inset:0}.news-modal{position:fixed;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .16s ease-out;z-index:50;inset:0}.news-modal.is-hidden{display:none}.news-modal.is-open{opacity:1;pointer-events:auto}.news-modal-backdrop{position:absolute;background:#00000059;inset:0}.news-modal-card{position:relative;z-index:1;background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid),0 18px 32px var(--shadow);display:flex;flex-direction:column;transform:scale(.7)translateY(30px);transition:transform .22s cubic-bezier(.2,.8,.2,1);width:min(92vw,720px);max-height:82vh}.news-modal.is-open .news-modal-card{transform:scale(1)translateY(0)}.news-modal-card.wide{width:min(96vw,1200px)}.news-modal-header{display:flex;align-items:center;justify-content:space-between;background:var(--accent);color:#fff;padding:8px 12px;font-weight:700}.news-modal-title{letter-spacing:.02em}.news-modal-close{border:2px solid var(--line-dark);background:var(--panel);color:var(--ink);cursor:pointer;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);padding:4px 10px;font-weight:700}.news-modal-close:active{box-shadow:inset -2px -2px 0 var(--line-light),inset 2px 2px 0 var(--line-mid)}.news-modal-body{background:var(--panel-2);overflow:auto;display:flex;flex-direction:column;gap:16px;padding:16px}.news-entry h3{margin:0 0 6px;font-size:1.05rem}.news-entry ul{margin:0;padding-left:20px}.news-entry li{margin:4px 0}.news-loading,.news-error,.news-empty{margin:0;font-weight:700}.news-error{color:#7a1f1f}@media (max-width:720px){.hero{padding-top:26px}.hero-header{gap:12px}.theme-toggle,.news-toggle{min-width:64px;height:32px;padding:5px 10px}.news-modal-card{width:min(96vw,680px)}.news-modal-close{padding:2px 6px;font-size:.9rem}}.win98-scroll-down{position:relative;padding-top:3px;bottom:0}.win98-scroll-thumb{position:absolute;background:var(--panel-2);border:2px solid var(--line-dark);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);width:100%;height:24px}.win98-scrollbar-horizontal .win98-scroll-thumb{width:24px;height:100%}.win98-scrollbar-horizontal .win98-scroll-track{inset:0}.win98-scroll-button{border:2px solid var(--line-dark);background:var(--panel-2);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);display:flex;align-items:center;justify-content:center;color:var(--ink);flex:none;user-select:none;width:16px;height:16px;font-size:10px;line-height:1}.win98-scroll-icon{display:block;line-height:1}.win98-scroll-left .win98-scroll-icon{transform:scaleX(-1)}.win98-scroll-button:hover{background:var(--panel)}.win98-scroll-button:active{box-shadow:inset -1px -1px 0 var(--line-light),inset 1px 1px 0 var(--line-mid)}.win98-scrollbar-horizontal .win98-scroll-button{width:16px;height:16px}.win98-scrollbar-page{position:fixed;z-index:1700;width:16px;top:12px;bottom:12px;right:52px}.win98-scroll-corner{position:absolute;background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);z-index:6;display:none;width:16px;height:16px;bottom:2px;right:2px}#stopButton,.stop-button,.recycle-button{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}#resetButton{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.win98-scroll-wrap.has-vertical .signature-indicator,.win98-scroll-wrap.has-vertical .import-indicator,.win98-scroll-wrap.has-vertical .code-error-toast{right:30px}main{max-width:1120px;margin:0 auto;padding:36px 20px 80px}body.auth-locked #codeCard,body.auth-locked #runtimeCard{display:none}body.auth-locked #authCard{display:block}body:not(.auth-locked) #authCard,body.auth-locked #testsCard{display:none}header{display:grid;gap:16px;align-items:center}h1{letter-spacing:.4px;margin:0;font-family:MSW98UI,MS Sans Serif,Tahoma,Verdana,sans-serif;font-size:clamp(2.2rem,calc(2.8vw + 1rem),3.4rem)}h2{margin:0 0 8px;font-family:MSW98UI,MS Sans Serif,Tahoma,sans-serif;font-size:1.4rem}p{color:var(--muted);margin:0;line-height:1.5}pre,code,.shiki,.shiki *{font-family:MSW98UI,MS Sans Serif,Tahoma,Verdana,sans-serif}.hero{background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);position:relative;overflow:hidden;padding:26px}.task-stack{display:grid;gap:10px;position:relative;z-index:1;width:100%;max-width:none}.task-select{display:inline-flex;align-items:center;gap:10px;border:2px solid var(--line-dark);background:var(--panel);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);width:-moz-fit-content;width:fit-content;max-width:100%;padding:6px 10px}.task-layout{display:flex;align-items:center;gap:12px;margin-top:10px}.task-select-row{display:flex;align-items:center;gap:12px}.task-layout{display:flex;align-items:center;gap:12px;margin-top:8px}.button-link{display:inline-flex;align-items:center;justify-content:center;background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);color:var(--ink);text-decoration:none;cursor:pointer;white-space:nowrap;padding:8px 14px;font-size:.9rem;font-weight:500}.button-link:active{box-shadow:inset -2px -2px 0 var(--line-light),inset 2px 2px 0 var(--line-mid)}.button-link.hidden{display:none}.task-select label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.7rem}.task-select select{flex:1;color:var(--ink);-webkit-text-fill-color:var(--ink);outline:none;background:0 0;border:0;min-width:220px;padding:4px 6px;font-family:inherit;font-weight:700}.task-select select option{color:var(--ink)}#taskDescription{width:100%;max-width:none}.task-example{border:2px solid var(--line-dark);white-space:pre-wrap;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff;width:100%;margin:10px 0 0;padding:12px 14px;font-family:Lucida Console,Courier New,monospace;font-size:.9rem}.task-example.hidden{display:none}.stats{display:flex;gap:16px;flex-wrap:wrap}.stat{background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);padding:10px 14px;font-size:.95rem}.stat-label{display:block;margin-bottom:6px;font-weight:700}.stat select{border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff;width:100%;padding:8px 10px;font-family:inherit}.stat-hidden{display:none}.signature-ok{color:#17724b;font-weight:700}.signature-error{color:#9e1f1a;font-weight:700}.stack{display:flex;flex-direction:column;gap:20px;margin-top:28px}.metrics-row{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.card{background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);padding:18px}.card.wide{width:100%}.output.is-idle .summary-meta,.output.is-idle .progress,.output.is-idle .results-scroll,.output.is-idle #errors{display:none}.output.is-idle{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.output.is-idle .summary{margin-bottom:8px}.idle-message{color:var(--muted);position:relative;display:none;margin-top:12px;font-size:.9rem}.idle-loader{display:none;align-items:center;margin-top:12px}.output.is-idle .idle-message,.output.is-idle .idle-loader{display:flex}.idle-voice{position:relative;background:var(--panel-2);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);animation:idlePulse 2.2s ease-in-out infinite;border-radius:999px;width:30px;height:30px}.idle-voice:after{content:"";position:absolute;box-shadow:0 0 6px #fff9;background:#ffffffd9;border-radius:999px;width:6px;height:6px;top:7px;left:8px}@keyframes idlePulse{0%,to{transform:scale(.96);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid)}50%{transform:scale(1.06);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid)}}.auth-card form{display:grid;gap:12px;margin-top:16px}.auth-card input{border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);padding:10px 12px;font-family:inherit;font-size:1rem}label{display:block;margin-bottom:8px;font-weight:700}textarea{resize:vertical;border:2px solid var(--line-dark);white-space:pre-wrap;word-break:break-word;box-sizing:border-box;overflow:scroll;scrollbar-gutter:stable both-edges;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff;width:100%;min-height:240px;padding:12px;font-family:MSW98UI,MS Sans Serif,Tahoma,Verdana,sans-serif;font-size:.95rem;line-height:1.4}.top-container{overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;height:100vh;height:100svh;-webkit-overflow-scrolling:touch;height:100dvh;padding:12px}.code-field{position:relative;border:2px solid var(--line-dark);resize:vertical;overflow:hidden;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff;min-height:240px}.code-field>div:first-child{position:static}.code-highlight{position:absolute;color:#1c1a17;white-space:pre-wrap;word-break:break-word;pointer-events:none;overflow:hidden;box-sizing:border-box;scrollbar-gutter:stable both-edges;background:#fff;border:0;margin:0;padding:12px;font-family:MSW98UI,MS Sans Serif,Tahoma,Verdana,sans-serif;font-size:.95rem;line-height:1.4;inset:0}.code-highlight,.code-highlight *{font-family:inherit;font-size:inherit;line-height:inherit}.code-highlight .line{display:block}.code-field .code-highlight{padding-bottom:40px;padding-right:44px}.code-field.is-plain .code-highlight{display:none}.code-field.is-plain textarea{position:relative;color:#1c1a17;caret-color:#1c1a17;resize:vertical;background:#fff}.code-field textarea{position:absolute;color:#0000;caret-color:#1c1a17;z-index:1;resize:none;white-space:pre-wrap;word-break:break-word;overflow:scroll;box-sizing:border-box;scrollbar-gutter:stable both-edges;background:0 0;border:0;width:100%;height:100%;min-height:100%;margin:0;padding-bottom:40px;padding-right:44px;font-family:MSW98UI,MS Sans Serif,Tahoma,Verdana,sans-serif;font-size:.95rem;line-height:1.4;inset:0}.code-field textarea::selection{background:#604e3738}.signature-indicator{position:absolute;display:flex;align-items:center;justify-content:center;border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);opacity:0;transform:scale(.9);transition:opacity .2s ease,transform .2s ease;pointer-events:none;background:#fff;border-radius:999px;width:26px;height:26px;font-size:.95rem;font-weight:700;bottom:12px;right:12px}.signature-indicator.visible{opacity:1;transform:scale(1)}.signature-indicator.ok{color:#0a5a2f;background:#cfe8d6}.signature-indicator.error{color:#8a1d17;background:#f4c8c6}.import-indicator{position:absolute;display:flex;align-items:center;justify-content:center;color:#6b4a00;border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);cursor:default;z-index:2;background:#f5e3a2;border-radius:999px;width:26px;height:26px;font-size:.9rem;font-weight:700;top:12px;right:12px}.import-indicator span{line-height:1}.import-indicator:hover .import-tooltip{opacity:1;transform:translateY(0);pointer-events:auto}.import-tooltip{position:absolute;border:2px solid var(--line-dark);color:#3b2f18;box-shadow:6px 6px 0 var(--shadow-soft);opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;text-align:left;white-space:pre-wrap;background:#f7f2d2;min-width:200px;max-width:320px;padding:10px 12px;font-size:.78rem;line-height:1.4;top:34px;right:0}.code-error-toast{position:absolute;color:#7a1f1f;box-shadow:6px 6px 0 var(--shadow-soft);opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;background:#f4c8c6;border:2px solid maroon;max-width:360px;padding:8px 12px;font-size:.78rem;line-height:1.35;top:46px;right:12px}.code-error-toast.visible{opacity:1;transform:translateY(0)}.toast-container{position:fixed;display:flex;flex-direction:column;gap:10px;z-index:1300;top:24px;right:24px}.toast{border:2px solid var(--line-dark);background:var(--panel);color:var(--ink);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);opacity:0;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease;display:inline-flex;align-items:center;gap:10px;min-width:220px;max-width:320px;padding:10px 12px;font-size:.9rem}.toast.visible{opacity:1;transform:translateY(0)}.toast-error{color:#7a1f1f;box-shadow:none;background:#f4c8c6;border-color:maroon}.toast-spinner{border:2px solid var(--line-dark);background:var(--panel-2);animation:toastSpin 1s steps(8)infinite;flex:none;position:relative;box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);border-radius:0;width:14px;height:14px}.toast-spinner:after{content:"";position:absolute;background:#7a1f1f;width:4px;height:4px;top:1px;left:1px}@keyframes toastSpin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.controls{display:grid;grid-row:2;gap:12px;align-items:start;margin-top:12px}.controls-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.controls .field{display:flex;flex-direction:column}.controls input{border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff;width:120px;padding:8px 10px;font-family:Lucida Console,Courier New,monospace}.controls select{border:2px solid var(--line-dark);color:var(--ink);-webkit-text-fill-color:var(--ink);-webkit-appearance:none;appearance:none;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,var(--ink)50%),linear-gradient(135deg,var(--ink)50%,transparent 50%);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;background-clip:padding-box;border-radius:0;width:160px;padding:8px 32px 8px 10px;font-family:inherit}#nameInput{width:200px;font-family:inherit}.controls select{min-width:200px}.hash-display{border:2px dashed var(--line-dark);display:grid;gap:6px;box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);background:#fff;margin-top:12px;padding:10px 12px}.hash-label{color:var(--muted);font-size:.85rem;font-weight:700}.hash-value{word-break:break-all;font-family:Lucida Console,Courier New,monospace;font-size:.9rem}button{border:2px solid var(--line-dark);cursor:pointer;background:var(--panel);color:var(--ink);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-weight:700}button.secondary{background:var(--panel-2);color:var(--ink);border:2px solid var(--line-dark)}button:active{box-shadow:inset -2px -2px 0 var(--line-light),inset 2px 2px 0 var(--line-mid);transform:translate(1px,1px)}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.output{display:flex;flex-direction:column;height:100%;min-height:120px}#runtimeCard{display:flex;flex-direction:column;align-self:start}#runtimeCard canvas{flex:0 0 var(--chart-height);height:var(--chart-height)}#testsCard{min-height:0}.summary{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:700}.summary span{display:inline-block;margin-right:0}.summary-face{margin-right:0;line-height:0}.summary-face-svg{shape-rendering:crispEdges;width:28px;height:28px}.summary-face .face-outline{fill:#8a6b10}.summary-face .face-fill{fill:#f6e375}.summary-face .face-eyes,.summary-face .mouth{fill:#3b2a0a}.summary-face .face-eyes{animation:summaryFaceBlink 10s steps(1,end)infinite}.summary-face .mouth{opacity:0}.summary-face[data-face=neutral] .mouth-neutral,.summary-face[data-face=smile] .mouth-smile,.summary-face[data-face=frown] .mouth-frown{opacity:1}.summary-face[data-animate=smile] .mouth-smile{animation:summaryFaceSmile .6s steps(2,end)0s 5}.summary-face[data-animate=smile] .mouth-grin{animation:summaryFaceGrin .6s steps(2,end)0s 5}.summary-face[data-animate=frown] .mouth-frown{animation:summaryFaceFrown .6s steps(2,end)0s 5}.summary-face[data-animate=frown] .mouth-frown-grin{animation:summaryFaceFrownGrin .6s steps(2,end)0s 5}@keyframes summaryFaceSmile{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes summaryFaceBlink{0%,94%{opacity:1}95%,96%{opacity:0}97%,to{opacity:1}}@keyframes summaryFaceGrin{0%,49%{opacity:0}50%,to{opacity:1}}@keyframes summaryFaceFrown{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes summaryFaceFrownGrin{0%,49%{opacity:0}50%,to{opacity:1}}#summary.error{color:#9e1f1a}#errors{margin-bottom:10px}.cheater-notice{display:none;color:#7a1f1f;background:#f4c8c6;border:2px solid maroon;margin-bottom:10px;padding:8px 10px;font-weight:700}.cheater-notice.visible{display:block}#errors.error-visible{color:#7a1f1f;background:#f4c8c6;border:2px solid maroon;padding:8px 10px;font-weight:700}.summary-meta{color:var(--muted);margin-bottom:10px;font-size:.9rem}#authError{color:#9e1f1a;font-weight:700}.progress{display:grid;gap:6px;margin-bottom:10px}.progress label{margin-bottom:0;font-size:.8rem;font-weight:700}progress{border:2px solid var(--line-dark);background:var(--panel);width:100%;height:12px}progress::-webkit-progress-bar{background:var(--panel)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.progress-bar{border:2px solid var(--line-dark);background:var(--panel);overflow:hidden;position:relative;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);width:100%;height:14px}.progress-fill{background:var(--accent);transition:width .35s ease;width:0%;height:100%}.progress-fill.is-bumping{animation:progress-bump .22s steps(2,end)}table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:2px solid var(--line-mid);word-break:break-word;padding:8px 6px}.table-wrap{overflow-x:auto;border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff}.table-wrap.has-horizontal{box-sizing:border-box;padding-bottom:18px}.results-scroll{flex:1;overflow:auto;border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff;min-height:0;margin-top:8px}.table-wrap table{border:none}.results-scroll .table-wrap{box-shadow:none;overflow:visible;border:0;min-width:100%}thead th{background:var(--panel-2);position:sticky;z-index:2;font-weight:700;top:0}tbody tr:nth-child(2n){background:#f5f5f5}th:first-child,td:first-child{width:35%}.import-info{margin-top:12px}.import-title{margin-bottom:6px;font-weight:700}.import-table-wrap{overflow-x:auto;border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff}.import-table{table-layout:auto;font-size:.85rem}.import-table th:first-child,.import-table td:first-child{width:90px}.import-table td{vertical-align:top}.highscore-table th:first-child,.highscore-table td:first-child{text-align:center;width:50px}.highscore-table th:nth-child(2),.highscore-table td:nth-child(2){width:32%}.highscore-table th:nth-child(3),.highscore-table td:nth-child(3){width:10%}.highscore-table th:nth-child(4),.highscore-table td:nth-child(4){width:12%}.highscore-table th:nth-child(5),.highscore-table td:nth-child(5){width:18%}.highscore-table th:nth-child(6),.highscore-table td:nth-child(6){text-align:center;white-space:nowrap;width:60px}.highscore-table th:nth-child(7),.highscore-table td:nth-child(7){text-align:right;width:90px}.highscore-table th.col-rank,.highscore-table th.col-lang{white-space:nowrap}@media (max-width:1080px){.highscore-table th:first-child,.highscore-table td:first-child{width:64px}}@media (max-width:710px){.highscore-table th.col-lang,.highscore-table td.col-lang{width:80px}}tr.fail{color:#9e1f1a;font-weight:700}tr.pass{color:#17724b}tr.cheat{color:#8a4c3b;font-weight:700}tbody[data-view=old] tr{opacity:.75}.small{color:var(--muted);margin-top:10px;font-size:.85rem}.table-empty{text-align:center;color:var(--muted);font-style:italic}.highscore{display:grid;gap:8px;margin-top:16px}.spinner{border:2px solid var(--line-dark);background:var(--panel-2);display:inline-block;animation:spin 1s steps(8)infinite;visibility:hidden;position:relative;box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);border-radius:0;width:18px;height:18px}#runButton .spinner{width:1em;height:1em}.test-runner{display:inline-block;position:relative;vertical-align:middle;visibility:hidden;image-rendering:pixelated;width:20px;height:16px;margin-left:6px}.test-runner.inline-runner{margin-left:0}.test-runner.active{visibility:visible}.test-runner:before{content:"";position:absolute;background:var(--ink);box-shadow:2px 0 0 var(--ink),0 2px 0 var(--ink),2px 2px 0 var(--ink),0 4px 0 var(--ink),2px 4px 0 var(--ink),0 6px 0 var(--ink),2px 6px 0 var(--ink),0 8px 0 var(--ink),2px 8px 0 var(--ink),-2px 4px 0 var(--ink),-4px 6px 0 var(--ink),4px 4px 0 var(--ink),6px 2px 0 var(--ink);width:2px;height:2px;top:0;left:8px}.test-runner:after{content:"";position:absolute;animation:runner-steps .55s steps(1)infinite;background:0 0;width:2px;height:2px;top:0;left:8px}.spinner.active{visibility:visible}.spinner:after{content:"";position:absolute;background:var(--accent);width:6px;height:6px;top:2px;left:2px}@keyframes runner-steps{0%,to{box-shadow:-2px 10px 0 var(--ink),-4px 12px 0 var(--accent),2px 10px 0 var(--ink),4px 12px 0 var(--accent)}50%{box-shadow:-4px 10px 0 var(--ink),-2px 12px 0 var(--accent),4px 10px 0 var(--ink),2px 12px 0 var(--accent)}}.inline-spinner{border:2px solid var(--line-dark);background:var(--panel-2);display:inline-block;animation:spin 1s steps(8)infinite;vertical-align:middle;position:relative;box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);border-radius:0;width:14px;height:14px}.inline-spinner:after{content:"";position:absolute;background:var(--accent);width:4px;height:4px;top:1px;left:1px}.runtime-tooltip{position:fixed;z-index:1200;background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .15s ease,transform .15s ease;padding:10px 12px}.runtime-tooltip.active{opacity:1;transform:translateY(0)}.runtime-tooltip-title{color:var(--muted);margin-bottom:6px;font-size:.85rem;font-weight:700}.runtime-tooltip-subtitle{color:var(--muted);margin-bottom:6px;font-size:.75rem}.runtime-tooltip canvas{display:block;border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff;width:180px;height:70px}.chart-tooltip{position:fixed;z-index:1200;background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .15s ease,transform .15s ease;color:var(--muted);padding:6px 10px;font-size:.85rem;font-weight:700}.chart-tooltip.active{opacity:1;transform:translateY(0)}canvas{height:var(--chart-height);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);background:#fff;width:100%}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media (max-width:600px){.controls-row{flex-direction:column;align-items:stretch}.top-container{position:fixed;height:auto;min-height:0;inset:0}.controls input,.controls select,#nameInput{width:100%;min-width:0}button,.task-select{width:100%}.task-select select{width:100%;min-width:0}}@media (max-width:900px){.metrics-row{grid-template-columns:1fr}}.tab-group{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tab-btn{border:2px solid var(--line-dark);background:var(--panel);color:var(--muted);cursor:pointer;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);transition:transform .15s ease;padding:6px 16px;font-size:.85rem;font-weight:700}.tab-btn:hover{transform:translateY(-1px)}.tab-btn.active{background:var(--panel-2);color:var(--ink)}.rank-cell{text-align:center;color:var(--muted);font-weight:700}.rank-1{color:#c49a00;font-size:1.1em}.rank-2{color:#8b8b8b}.rank-3{color:#a1693b}.tab-info{color:var(--muted);align-self:center;margin-left:12px;font-size:.85rem;font-style:italic}.col-lang{text-align:center}.highscore-table th,.highscore-table td{padding:10px}.lang-badge{--lang-color:#f7df1e;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--lang-color);background:color-mix(in srgb,var(--lang-color)30%,var(--panel-2));letter-spacing:.4px;text-transform:uppercase;box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);padding:2px 8px;font-size:.75rem;font-weight:700;line-height:1}.lang-badge.lang-js{--lang-color:#f7df1e}.lang-badge.lang-go{--lang-color:#00add8}.lang-badge.lang-py{--lang-color:#3776ab}.lang-badge.lang-cs{--lang-color:#512bd4}.context-menu{position:fixed;opacity:0;transform:scaleY(.96);transform-origin:top left;overflow:hidden;background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid),4px 4px 0 #0003;display:none;transition:max-height .14s ease-out,opacity .12s ease-out,transform .12s ease-out;z-index:1600;min-width:220px;max-height:0;padding:6px;top:0;left:0}.context-menu.is-open{display:block;opacity:1;transform:scaleY(1)}.context-menu-title{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;width:100%;margin-bottom:4px;padding:6px 8px;font-size:.7rem;font-weight:700}.context-menu-item{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;border:2px solid #0000;padding:6px 8px}.context-menu-item:hover{border-color:var(--line-dark);background:var(--panel-2)}.context-menu-item:focus-visible{border-color:var(--line-dark);background:var(--panel-2)}.context-menu-note{cursor:default}.context-menu-emoji{text-align:center;width:18px}.context-menu-divider{background:var(--line-mid);height:1px;margin:6px 4px}.col-date{white-space:normal}.confetti-root{position:fixed;pointer-events:none;overflow:hidden;z-index:1400;inset:0}.confetti-piece{position:absolute;top:-16px;left:calc(var(--confetti-x)*1%);background:var(--confetti-color);transform:rotate(var(--confetti-rotate));opacity:.95;animation:confettiFall var(--confetti-duration)linear var(--confetti-delay)forwards;border-radius:2px;width:8px;height:14px}@keyframes confettiFall{0%{opacity:0;transform:translateY(-10px)rotate(var(--confetti-rotate))}10%{opacity:1}to{opacity:0;transform:translateY(110vh)rotate(calc(var(--confetti-rotate) + 240deg))}}.confetti-inline-anchor{position:relative;overflow:visible}.confetti-inline-root{position:absolute;transform:translateX(-50%);pointer-events:none;z-index:3;width:0;height:0;bottom:6px;left:50%}.confetti-inline-piece{position:absolute;background:var(--confetti-color);opacity:0;transform:translate(0,0)rotate(var(--confetti-rotate));animation:confettiBurst var(--confetti-duration)ease-out var(--confetti-delay)forwards;border-radius:2px;width:6px;height:10px;top:0;left:0}@keyframes confettiBurst{0%{opacity:0;transform:translate(0,0)rotate(var(--confetti-rotate))}10%{opacity:1}to{opacity:0;transform:translate(calc(var(--confetti-inline-x)*1px),calc(var(--confetti-inline-y)*1px))rotate(calc(var(--confetti-rotate) + 180deg))}}@media (max-width:600px){.col-status,.col-date,.col-code{display:none}.highscore-table th.col-name,.highscore-table td.col-name{width:auto}.highscore-table th.col-avg,.highscore-table td.col-avg{width:80px}.highscore-table th.col-lang,.highscore-table td.col-lang{width:72px}.highscore-table{table-layout:auto}.highscore-table th,.highscore-table td{padding:6px 4px;font-size:.8rem}.lang-badge{padding:2px 6px;font-size:.65rem}.tab-btn{flex:1;width:auto}.tab-info{display:block;width:100%;margin-top:4px;margin-left:4px}}.not-found-container{padding-bottom:40px}.not-found-main{display:flex;flex-direction:column;gap:24px;width:100%;max-width:1120px;margin:0 auto}.not-found-hero{position:relative;overflow:hidden;display:grid;gap:12px}.not-found-hero:after{content:"";position:absolute;opacity:.55;background:radial-gradient(circle,#ffffff8c,#0000 70%);border-radius:50%;width:260px;height:260px;top:-80px;right:-120px}.not-found-kicker{text-transform:uppercase;letter-spacing:.28em;color:var(--muted);font-size:.65rem;font-weight:700}.not-found-lede{color:var(--muted);max-width:520px;margin:0}.not-found-path{border:2px solid var(--line-dark);background:var(--panel-2);display:flex;flex-direction:column;gap:6px;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);padding:10px 12px}.not-found-path code{word-break:break-all;font-family:Lucida Console,Courier New,monospace;font-size:.9rem}.not-found-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.6rem}.not-found-actions{display:flex;gap:12px;flex-wrap:wrap}.not-found-button{font-weight:700}.not-found-button.ghost{background:var(--panel-2);color:var(--muted)}.not-found-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.not-found-window{position:relative;overflow:hidden}.not-found-window-header{display:flex;align-items:center;justify-content:space-between;background:var(--panel-2);border-bottom:2px solid var(--line-dark);letter-spacing:.12em;text-transform:uppercase;margin:-18px -18px 12px;padding:8px 12px;font-size:.65rem;font-weight:700}.not-found-status{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);letter-spacing:.08em;padding:2px 6px}.not-found-status.ok{color:#0d2a1a;background:#cfe8d6;border-color:#0d5c3a}.not-found-console{border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);position:relative;background:#fff;min-height:120px;margin:0;padding:12px;font-family:Lucida Console,Courier New,monospace;font-size:.82rem;line-height:1.5}.not-found-console:after{content:"_";position:absolute;animation:not-found-blink 1s steps(2)infinite;bottom:10px;right:14px}.not-found-meter{display:flex;gap:6px;margin-top:12px}.not-found-meter span{background:var(--panel-2);border:2px solid var(--line-dark);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);transform:scaleY(.3);transform-origin:bottom;animation:not-found-meter 1.4s ease-in-out infinite;width:12px;height:38px}:root:not(.theme-vaporwave) .not-found-meter span{animation:not-found-meter-win98 3.2s steps(4,end)infinite}:root:not(.theme-vaporwave) .not-found-meter span:nth-child(2){animation-delay:.35s}:root:not(.theme-vaporwave) .not-found-meter span:nth-child(3){animation-delay:.7s}:root:not(.theme-vaporwave) .not-found-meter span:nth-child(4){animation-delay:1.05s}:root:not(.theme-vaporwave) .not-found-meter span:nth-child(5){animation-delay:1.4s}.not-found-meter span:nth-child(2){animation-delay:.18s}.not-found-meter span:nth-child(3){animation-delay:.36s}.not-found-meter span:nth-child(4){animation-delay:.54s}.not-found-meter span:nth-child(5){animation-delay:.72s}.not-found-kit{display:flex;flex-wrap:wrap;gap:10px}.not-found-chip{border:2px solid var(--line-dark);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);background:#fff;padding:6px 10px;font-size:.75rem;font-weight:700}.not-found-note{color:var(--muted);margin:12px 0 0;font-size:.85rem}.not-found-game{display:grid;gap:12px}.not-found-game.is-hidden{display:none}.not-found-game-copy{color:var(--muted);margin:0}.not-found-game-layout{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}.not-found-game-board{--cell-size:28px;--cols:12;--rows:7;position:relative;width:calc(var(--cols)*var(--cell-size));height:calc(var(--rows)*var(--cell-size));border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);overflow:hidden;background:#fff}.not-found-game-board:before{content:"";position:absolute;background-image:linear-gradient(90deg,#00000014 1px,#0000 1px),linear-gradient(#00000014 1px,#0000 1px);background-size:var(--cell-size)var(--cell-size);pointer-events:none;inset:0}.not-found-game-overlay{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;opacity:0;pointer-events:none;transition:opacity .2s ease;background:#0c0c0ca6;inset:0}.not-found-game-overlay.is-visible{opacity:1;pointer-events:auto}.not-found-game-overlay-text{background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);text-transform:uppercase;letter-spacing:.12em;padding:10px 16px;font-size:.9rem;font-weight:700}.not-found-play{border:2px solid var(--line-dark);background:var(--panel);color:var(--ink);text-transform:uppercase;letter-spacing:.2em;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);cursor:pointer;z-index:2;width:120px;height:44px;font-weight:700}.not-found-play .not-found-play-spinner{margin-left:8px}.not-found-play:active{box-shadow:inset -2px -2px 0 var(--line-light),inset 2px 2px 0 var(--line-mid)}.not-found-play.is-hidden{display:none}.not-found-play-idle{position:absolute;margin:auto;inset:0}.not-found-player,.not-found-target{position:absolute;width:calc(var(--cell-size) - 6px);height:calc(var(--cell-size) - 6px);border:2px solid var(--line-dark);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);transition:transform 80ms linear;top:3px;left:3px}.not-found-player{background:#cfe8d6}.not-found-target{background:#f7e9a6}.not-found-crash{position:absolute;pointer-events:none;width:0;height:0}.not-found-crash-piece{position:absolute;border:1px solid var(--line-dark);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);animation:not-found-crash .5s ease-out forwards;transform:translate(0,0);--crash-x:0px;--crash-y:0px;background:#1b5ea8;width:6px;height:6px}.not-found-crash-piece:nth-child(2){background:#ff47b5}.not-found-crash-piece:nth-child(3){background:#3dbb84}.not-found-game-side{display:flex;flex-direction:column;gap:12px;flex:1;min-width:200px}.not-found-game-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:1rem}.not-found-game-meta span{color:var(--ink);font-size:1.15rem;font-weight:700}.not-found-game-summary{border:2px dashed var(--line-mid);color:var(--muted);background:var(--panel-2);min-height:40px;padding:10px 12px;font-size:.85rem}.not-found-game-summary.is-hidden{display:none}.not-found-scores{display:flex;flex-direction:column;gap:12px}.not-found-score-columns{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.not-found-score-column h2{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 8px;font-size:.75rem}.not-found-score-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}.not-found-score-item{border:1px solid var(--line-mid);box-shadow:inset 1px 1px 0 var(--line-light),inset -1px -1px 0 var(--line-mid);background:#fff;padding:8px 10px}.not-found-score-title{display:flex;justify-content:space-between;gap:8px;font-weight:700}.not-found-score-name{color:var(--ink)}.not-found-score-value{color:var(--accent)}.not-found-score-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);margin-top:4px;font-size:.75rem}.not-found-score-empty{border:1px dashed var(--line-mid);color:var(--muted);background:var(--panel-2);padding:10px;font-size:.8rem}@keyframes not-found-blink{0%,45%{opacity:0}46%,to{opacity:1}}@keyframes not-found-meter{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes not-found-meter-win98{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes not-found-crash{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translate(var(--crash-x),var(--crash-y))scale(.6)}}@keyframes progress-bump{0%{transform:translateX(0)}50%{transform:translateX(1px)}to{transform:translateX(0)}}@media (max-width:720px){.not-found-hero:after{top:-120px;right:-160px}.not-found-console{white-space:pre-wrap;overflow-wrap:anywhere}.not-found-game{display:none}.not-found-actions{flex-direction:column;align-items:stretch}.not-found-button{width:100%}.not-found-game-board{aspect-ratio:12/7;width:100%;height:auto}.not-found-game-side{width:100%}}@media (prefers-reduced-motion:reduce){.not-found-console:after,.not-found-meter span{animation:none}}.solution-modal{position:fixed;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .16s ease-out;inset:0}.solution-modal.is-hidden{display:none}.solution-modal.is-open{opacity:1;pointer-events:auto}.solution-modal-backdrop{position:absolute;background:#0c0c0c80;inset:0}.solution-modal-card{position:relative;background:var(--panel);border:2px solid var(--line-dark);box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);display:flex;flex-direction:column;z-index:1;transform:scale(.95);transition:transform .16s ease-out;width:min(920px,92vw);max-height:85vh}.solution-modal.is-open .solution-modal-card{transform:scale(1)}.solution-modal-header{border-bottom:2px solid var(--line-dark);background:var(--panel-2);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px}.solution-modal-title{text-transform:uppercase;color:var(--ink);font-size:13px;font-weight:700}.solution-modal-close{border:2px solid var(--line-dark);background:var(--panel);color:var(--ink);cursor:pointer;box-shadow:inset 2px 2px 0 var(--line-light),inset -2px -2px 0 var(--line-mid);padding:6px 12px;font-family:inherit;font-size:11px;font-weight:700}.solution-modal-close:active{box-shadow:inset -2px -2px 0 var(--line-light),inset 2px 2px 0 var(--line-mid)}.solution-modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:12px}.solution-modal .code-field{flex:1;display:flex;flex-direction:column;min-height:360px}.solution-modal textarea,.solution-modal .code-highlight{height:100%;min-height:360px;padding:12px}.solution-modal .code-field .code-highlight{padding-bottom:12px;padding-right:12px}code[class*=language-],pre[class*=language-]{color:#000;text-shadow:0 1px #fff;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;line-height:1.5}pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{overflow:auto;margin:.5em 0;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.3em;padding:.1em}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#9a6e3a;background:#ffffff80}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function,.token.class-name{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
