:root{--bg:#090c12;--panel:#101622;--panel2:#151d2b;--line:#263248;--text:#edf6ff;--muted:#91a0b8;--cyan:#44e4ff;--pink:#ff5ca8;--lime:#b9ff66;--gold:#ffd166;--danger:#ff6b6b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% -10%,#17233a 0,transparent 38%),radial-gradient(circle at 88% 12%,#22142e 0,transparent 30%),var(--bg);color:var(--text);font:500 16px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}
a{color:inherit}.wrap{width:min(1120px,calc(100% - 28px));margin:auto}.top{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.12em;text-decoration:none}.logo{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#142338,#0e1220)}.logo i{width:15px;height:15px;background:conic-gradient(var(--cyan),var(--pink),var(--gold),var(--cyan));border-radius:3px}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{color:var(--muted);text-decoration:none;padding:8px 11px;border:1px solid transparent;border-radius:9px;font-size:13px}.nav a:hover,.nav a.active{color:var(--text);border-color:var(--line);background:#111827}
.hero{padding:70px 0 54px}.eyebrow{color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;font-size:12px}.hero h1{font-size:clamp(44px,8vw,86px);line-height:.95;margin:16px 0 20px;letter-spacing:-.06em}.hero h1 span{color:transparent;-webkit-text-stroke:1px #9bb1cc}.hero p{color:#aebbd0;max-width:760px;font-size:17px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font:inherit;color:#07111a;background:var(--cyan);border:1px solid transparent;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:800}.button.secondary{color:var(--text);background:#151e2d;border-color:#34445f}.button.danger{background:transparent;color:#ff9b9b;border-color:#6b3038}.button:disabled{opacity:.55;cursor:not-allowed}
.section{padding:28px 0 60px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.section-head h2{font-size:clamp(28px,5vw,48px);margin:0;letter-spacing:-.04em}.section-head p{color:var(--muted);margin:0;max-width:520px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{display:block;text-decoration:none;background:linear-gradient(160deg,rgba(21,29,43,.96),rgba(11,16,25,.96));border:1px solid var(--line);border-radius:20px;padding:20px}.card:hover{border-color:#4b6389;transform:translateY(-1px)}.card h3{margin:0 0 8px;font-size:20px}.card p{color:#91a0b8;margin:0}.tag{display:inline-block;margin-top:16px;font-size:10px;color:#8ea0ba;border:1px solid #334158;border-radius:999px;padding:5px 8px}
.panel{background:rgba(14,20,31,.82);border:1px solid var(--line);border-radius:20px;padding:22px}.field{display:grid;gap:7px;margin:14px 0}.field label{color:#aebbd0;font-size:12px}.field input,.field select{width:100%;background:#080c13;color:var(--text);border:1px solid #34445f;border-radius:10px;padding:12px;font:inherit;outline:none}.field input:focus,.field select:focus{border-color:var(--cyan)}.muted{color:var(--muted)}.notice{padding:11px 13px;border:1px solid #31536a;background:#0e1b25;border-radius:10px;font-size:12px}.notice.error{border-color:#66363d;background:#261215;color:#ffb0b0}.hidden{display:none!important}
.list{display:grid;gap:10px}.connection{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;background:#0c111b;border:1px solid #222e42;border-radius:14px;padding:14px}.connection strong{display:block}.connection small{display:block;color:#8292aa;margin-top:4px}.connection .row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.connection-main{min-width:0}.connection-link{margin-top:10px;background:#05080d;color:#b9ff66;border:1px solid #26344a;border-radius:9px;padding:9px 10px;font:500 11px/1.45 monospace;word-break:break-all;white-space:pre-wrap}
.codebox{width:100%;min-height:120px;background:#05080d;color:#b9ff66;border:1px solid #26344a;border-radius:12px;padding:12px;font:500 12px/1.5 monospace;word-break:break-all;white-space:pre-wrap}
.game-shell{max-width:760px;margin:20px auto 70px}.game-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0}.game-head h1{font-size:clamp(28px,6vw,48px);margin:0}.gamebox{background:#080b11;border:1px solid #26334a;border-radius:18px;padding:16px;display:grid;place-items:center}.gamebar{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;color:#8fa0b9;font-size:12px}canvas{max-width:100%;height:auto;image-rendering:pixelated;border-radius:8px;touch-action:none}.hint{color:#687992;font-size:11px;text-align:center;margin-top:12px}
footer{display:flex;justify-content:space-between;gap:20px;padding:22px 0 36px;color:#62718a;font-size:11px;border-top:1px solid #1c2637}
@media(max-width:800px){.grid{grid-template-columns:1fr}.top{align-items:flex-start}.nav{justify-content:flex-end}.hero{padding-top:44px}.section-head{display:block}.section-head p{margin-top:8px}.connection{grid-template-columns:1fr}.connection .row{justify-content:flex-start}}
