:root{color-scheme:dark;--ink:#edf7ff;--muted:#b0c8d7;--gold:#f7c77d;--sky:#77ddf7;--bg:#061321;--panel:#0d2438;--border:#31566b;--good:#7de5b9;--warn:#ffb77f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font:15.5px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;margin:0;color:var(--ink);background:radial-gradient(circle at 75% -15%,#194260 0,transparent 38%),linear-gradient(160deg,#071929,#050b16 70%);min-height:100svh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.action,.card{transition:transform .14s ease,background .14s ease,border-color .14s ease}button{cursor:pointer;border:1px solid #5795ad;background:#132e43;color:#eaf8ff;padding:11px 16px;border-radius:11px;font-weight:650}button:hover{background:#23465a;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}button.primary,.primary{background:linear-gradient(110deg,#f0aa66,#f8d695);color:#172534;border:0;font-weight:800}button.primary:hover{background:#ffe1aa}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #fbd18b;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(2.1rem,5.3vw,5.2rem);line-height:1.08;font-weight:850;letter-spacing:-.045em}h2{font-size:clamp(1.25rem,2.2vw,1.8rem)}p{color:var(--muted)}.brand{font-size:.9rem;letter-spacing:.16em;font-weight:850;color:#edcb96}.label,.eyebrow{font-size:.68rem;letter-spacing:.2em;font-weight:800;text-transform:uppercase;color:var(--sky)}.hero{padding:clamp(30px,7vw,84px) max(22px,calc((100vw - 1190px)/2));min-height:430px;position:relative}.hero>.brand{display:inline-block;margin-bottom:54px}.hero>.label{display:block;margin-bottom:16px}.hero h1 em{font-style:normal;color:var(--gold)}.hero>p{max-width:760px;font-size:1.13rem;margin:25px 0}.stats{display:flex;flex-wrap:wrap;gap:12px}.stats span{border:1px solid #41617a;border-radius:99px;color:#d7ebf2;padding:8px 15px;font-size:.77rem;text-transform:uppercase;letter-spacing:.06em}main{max-width:1230px;padding:24px;margin:0 auto}.collection{margin:20px 0 58px}.section-heading{margin:10px 0 25px}.section-heading>span{color:var(--gold);font-size:.77rem;letter-spacing:.21em;font-weight:800}.section-heading h2{font-size:clamp(2rem,4vw,3.25rem)}.section-heading p{margin-top:7px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:17px}.card{display:flex;flex-direction:column;min-height:255px;padding:25px;border-radius:19px;border:1px solid #385974;background:linear-gradient(160deg,#12344b,#0a1e30 70%);box-shadow:0 14px 40px #020d164b;position:relative;overflow:hidden}.card:nth-child(5n+1){--accent:#f7bf7e}.card:nth-child(5n+2){--accent:#8ce7dd}.card:nth-child(5n+3){--accent:#b6a4ff}.card:nth-child(5n+4){--accent:#f8a2aa}.card:nth-child(5n+5){--accent:#a5d7ff}.card:before{content:"";position:absolute;width:125px;height:125px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 68%);opacity:.11;right:-45px;top:-45px}.card:hover{transform:translateY(-4px);border-color:#b1e0e4}.card h2{margin:18px 0 9px}.card p{font-size:.88rem;flex:1}.card .action{margin-top:25px;color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:.08em}.compact{max-width:1290px;margin:0 auto;padding:27px 22px;display:flex;justify-content:space-between;gap:15px;align-items:center}.layout{max-width:1330px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;margin:0 auto;padding:12px 22px 42px}.game-shell,.tool-shell{min-width:0}.game-meta{padding:8px 0 21px}.game-meta h1{font-size:clamp(2.15rem,4vw,3.75rem);margin:8px 0 12px}.game-meta p{max-width:770px}.game-meta .eyebrow{color:var(--gold)}.aside-card{background:#122c3d;border:1px solid #31516b;border-radius:15px;padding:22px;margin-bottom:17px}.aside-card h2{font-size:1.1rem;margin:13px 0}.aside-card p{font-size:.88rem}.aside-card p+p{margin-top:14px}.scoreline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;padding:12px 17px;border:1px solid #36566b;border-bottom:0;border-radius:14px 14px 0 0;background:#0d2a40;font:700 .78rem/1.4 ui-monospace,monospace;color:#cbeefb;letter-spacing:.07em}.playfield{position:relative;background:#081525;border:1px solid #36566b;border-radius:0 0 14px 14px;overflow:hidden}.playfield canvas{display:block;width:100%;height:auto;aspect-ratio:920/520;touch-action:none;user-select:none}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#061521c9;text-align:center;padding:20px;backdrop-filter:blur(2px)}.overlay.hidden{display:none}.overlay h2{font-size:clamp(1.5rem,4vw,2.8rem);color:#f9d49c}.overlay p{max-width:390px}.ctrls{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.ctrls button{flex:1 1 75px;touch-action:none;min-height:51px}.note{color:#b3d5e5;background:#0b2538;border-left:3px solid var(--gold);padding:13px 15px;border-radius:6px;margin-top:10px;min-height:50px}.workspace{background:#0c2437;border:1px solid #365872;border-radius:17px;padding:clamp(18px,3vw,32px);min-height:385px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-weight:700;color:#cce6ed;font-size:.86rem}.field input,.field select,.field textarea,.workspace input,.workspace select,.workspace textarea{border:1px solid #4b7086;background:#091a2a;border-radius:9px;color:#f4faff;padding:11px;width:100%;min-width:0}.workspace textarea{min-height:120px;resize:vertical}.workspace .field{margin-bottom:14px}.workspace .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.workspace .buttons{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.workspace .buttons>*{flex:1 1 120px}.workspace .output{border:1px solid #4b6f77;border-radius:11px;background:#071a28;padding:15px;margin-top:20px;white-space:pre-wrap;overflow:auto;max-height:460px;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.workspace .output[hidden]{display:none}.workspace .notice{font-size:.81rem;color:#a8d6d6;padding:7px 0}.workspace .stat{padding:12px;border:1px solid #3a7080;border-radius:10px;background:#12364c}.workspace .stat strong{color:var(--gold);font-size:1.35rem;display:block}.workspace table{width:100%;border-collapse:collapse;min-width:430px}.workspace table th,.workspace table td{text-align:left;border-bottom:1px solid #31516b;padding:9px}.workspace .tablewrap{overflow:auto}.workspace .sample{padding:15px;border-radius:12px;border:1px solid #4c7890;min-height:100px;margin:13px 0}.workspace .status-good{color:var(--good);font-weight:750}.workspace .status-bad{color:var(--warn);font-weight:750}#feedback{min-height:30px;padding:10px;color:var(--good)}footer{border-top:1px solid #263e55;padding:24px max(24px,calc((100vw - 1230px)/2));display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#9ab5c2;font-size:.72rem}@media(max-width:900px){.layout{display:flex;flex-direction:column}.side{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.aside-card{margin:0}.hero{min-height:auto;padding:36px 24px}.hero>.brand{margin-bottom:39px}}@media(max-width:520px){.side{grid-template-columns:1fr}.layout{padding:9px 10px 26px}.compact{padding:20px 12px}.compact .label{font-size:.52rem}.scoreline{font-size:.65rem}.ctrls button{padding:10px 5px}.workspace{padding:15px}.game-meta h1{font-size:2.2rem}.cards{grid-template-columns:1fr}.card{min-height:195px}.card h2{margin:10px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Second collection: clear touch accessibility and visible focus on all controls. */
.workspace input[type=file]{max-width:100%}.workspace .result-line{display:flex;gap:10px;justify-content:space-between;padding:8px;border-bottom:1px solid #34556d}.workspace kbd{background:#19354b;padding:2px 6px;border:1px solid #668ca1;border-radius:5px}.workspace .wide-preview{overflow:auto;max-height:400px}#stage{background:#091828}#typeInput,#codeInput{max-width:420px}
