:root{--bg: #06090a;--bg-window: #080d0e;--bg-titlebar: #0e1516;--green: #33ff8f;--green-dim: #1c8f50;--amber: #ffb347;--red: #ff4d5e;--cyan: #5ad1ff;--muted: #4d6b60;--border: #14312a;--font: "JetBrains Mono", "Fira Code", "DejaVu Sans Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);background-image:radial-gradient(ellipse at 50% 0%,#0c1a17 0%,transparent 60%),radial-gradient(ellipse at 50% 120%,#0a1512 0%,transparent 55%);color:var(--green);font-family:var(--font);font-size:15px;line-height:1.45;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;overflow:hidden}#app{width:min(1100px,100%);flex:1 1 auto;max-height:760px;min-height:0}#promo{flex:0 0 auto;width:min(1100px,100%);text-align:center;color:var(--amber);font-size:13px;line-height:1.5;text-shadow:0 0 8px rgba(255,179,71,.25)}#promo a{color:var(--amber);font-weight:700;text-decoration:none;border-bottom:1px dashed currentColor}#promo a:hover{background:#ffb3471f}.window{position:relative;display:flex;flex-direction:column;height:100%;background:var(--bg-window);border:1px solid var(--border);border-radius:8px;box-shadow:0 0 0 1px #000,0 24px 70px #000000bf,0 0 90px #33ff8f0f;overflow:hidden}.titlebar{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 12px;background:linear-gradient(#141d1e,var(--bg-titlebar));border-bottom:1px solid var(--border);user-select:none}.dot{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px #0006}.dot.red{background:#ff5f57}.dot.yellow{background:#febc2e}.dot.green{background:#28c840}.titlebar .title{flex:1;text-align:center;color:var(--muted);font-size:12.5px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.titlebar .tools{display:flex;gap:6px}.tbtn{display:inline-block;background:transparent;border:1px solid var(--border);color:var(--muted);font-family:var(--font);font-size:11px;line-height:1.4;padding:2px 7px;border-radius:4px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:color .15s,border-color .15s}a#btn-lang{color:var(--amber);border-color:#ffb34766}a#btn-lang:hover{color:var(--amber);border-color:var(--amber);background:#ffb3471f}.tbtn:hover,.tbtn.on{color:var(--green);border-color:var(--green-dim)}.screen{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 16px 18px;scrollbar-width:thin;scrollbar-color:var(--border) transparent;cursor:text}.screen::-webkit-scrollbar{width:8px}.screen::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.out{white-space:pre-wrap;word-break:break-word;text-shadow:0 0 6px rgba(51,255,143,.28)}.line{min-height:1.45em}.c-green{color:var(--green)}.c-amber{color:var(--amber)}.c-red{color:var(--red)}.c-cyan{color:var(--cyan)}.c-muted{color:var(--muted);text-shadow:none}.c-dim{color:var(--green-dim)}.c-bold{font-weight:700}.c-inv{background:var(--green);color:#06090a;text-shadow:none}.c-red-bg{background:var(--red);color:#06090a;text-shadow:none}.inputline{display:flex;align-items:flex-start;position:relative;text-shadow:0 0 6px rgba(51,255,143,.28)}.inputline.hidden{display:none}.prompt{flex:0 0 auto;color:var(--green);white-space:pre}.mirror{position:relative;flex:1 1 auto;white-space:pre-wrap;word-break:break-word;color:var(--green)}.cursor{display:inline-block;width:.6em;height:1.15em;vertical-align:text-bottom;background:var(--green);box-shadow:0 0 8px #33ff8f99;animation:blink 1.05s steps(1) infinite}@keyframes blink{50%{opacity:0}}.busy .cursor{animation:none;opacity:.35}#cmd{position:absolute;inset:0;width:100%;border:0;outline:0;background:transparent;color:transparent;caret-color:transparent;font:inherit;padding:0}.crt,.glow{pointer-events:none;position:absolute;inset:0;z-index:5}.crt{background:repeating-linear-gradient(to bottom,#0000 0px 2px,#00000029 3px 4px);mix-blend-mode:multiply;opacity:.55}.glow{background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55) 100%)}.crt:after{content:"";position:absolute;left:0;right:0;height:90px;background:linear-gradient(#33ff8f00,#33ff8f09,#33ff8f00);animation:sweep 7.5s linear infinite}@keyframes sweep{0%{top:-90px}to{top:100%}}body.noflicker .crt:after{display:none}.cards{display:grid;gap:10px;margin:6px 0 10px;white-space:normal}.card{border:1px solid var(--border);border-left:3px solid var(--green-dim);padding:9px 12px;cursor:pointer;background:#33ff8f04;transition:border-color .15s,background .15s,transform .1s}.card:hover{border-color:var(--green-dim);border-left-color:var(--green);background:#33ff8f0f;transform:translate(2px)}.card .row1{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.card .idx{color:var(--amber);font-weight:700}.card .name{color:var(--green);font-weight:700}.card .diff{font-size:12px;padding:0 6px;border:1px solid currentColor;border-radius:3px}.diff-easy{color:var(--green)}.diff-medium{color:var(--amber)}.diff-hard{color:var(--red)}.card .done{color:var(--cyan);font-size:12px;margin-left:auto}.card .desc{color:var(--muted);font-size:13px;margin-top:3px;text-shadow:none}.overlay{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;background:#030606eb;backdrop-filter:blur(2px);animation:fade .35s ease both}@keyframes fade{0%{opacity:0}}.panel{width:min(620px,90%);border:1px solid var(--green-dim);background:var(--bg-window);padding:22px 26px;box-shadow:0 0 60px #33ff8f1f;text-align:center}.panel pre{margin:0 0 6px;color:var(--green);font-size:clamp(7px,1.55vw,13px);line-height:1.05;text-shadow:0 0 12px rgba(51,255,143,.45);overflow-x:auto}.panel .sub{color:var(--muted);font-size:13px;margin-bottom:16px}.panel .flagbox{border:1px dashed var(--amber);color:var(--amber);padding:10px;margin:12px 0 18px;font-weight:700;letter-spacing:.04em;word-break:break-all;text-shadow:0 0 10px rgba(255,179,71,.35)}.panel .stats{color:var(--cyan);font-size:13px;margin-bottom:16px}.btn{background:transparent;border:1px solid var(--green-dim);color:var(--green);font-family:var(--font);font-size:14px;padding:8px 18px;cursor:pointer;transition:background .15s,box-shadow .15s}.btn:hover{background:#33ff8f1f;box-shadow:0 0 18px #33ff8f33}@media(max-width:640px){body{padding:0;gap:0;font-size:13px}#app{max-height:none}.window{border-radius:0;border:0}.titlebar .title{display:none}#promo{font-size:12px;padding:8px 10px;border-top:1px solid var(--border)}}
