:root{--bg:#0f1424;--s:#182038;--s2:#222c4d;--g:#7bd84f;--d:#a0693f;--sky:#79c8ff;--t:#e9eefb;--m:#8f9bbd}
*{box-sizing:border-box;margin:0}
body{background:var(--bg) radial-gradient(circle at 75% -10%,#23326a,transparent 55%) no-repeat;color:var(--t);font:16px/1.6 Manrope,sans-serif}
h1,h2,h3{font-family:'Press Start 2P',monospace;font-weight:400;line-height:1.6}
a{color:var(--sky)}
.w{max-width:1040px;margin:0 auto;padding:0 20px}
.hero{display:grid;grid-template-columns:1fr 220px;gap:30px;align-items:center;padding:70px 0 50px}
.hero h1{font-size:clamp(22px,4.5vw,40px);margin-bottom:14px;text-shadow:4px 4px 0 #0007}
.hero p{color:var(--m);max-width:46ch;margin-bottom:22px}
.ip{display:inline-flex;gap:10px;align-items:center;background:var(--s);border:2px solid var(--s2);border-radius:10px;padding:8px 8px 8px 16px}
.ip b{font-family:'Press Start 2P';font-size:12px}
button,.btn{font:inherit;cursor:pointer;border:0;border-radius:8px;background:var(--g);color:#10200a;font-weight:800;padding:9px 16px;box-shadow:0 4px 0 #3f8a24;transition:transform .1s,box-shadow .1s}
button:active{transform:translateY(3px);box-shadow:0 1px 0 #3f8a24}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.st{display:block;margin-top:14px;color:var(--m);font-size:14px}
.st i{display:inline-block;width:10px;height:10px;border-radius:2px;background:#666;margin-right:8px}.st.on i{background:var(--g);animation:p 1.6s infinite}
@keyframes p{50%{box-shadow:0 0 0 6px #7bd84f33}}
.sc{perspective:700px;display:grid;place-items:center;height:220px}
.cube{width:110px;height:110px;position:relative;transform-style:preserve-3d;animation:spin 16s linear infinite}
.cube i{position:absolute;inset:0;border:3px solid #0004;background:linear-gradient(var(--g) 0 26%,var(--d) 26%);image-rendering:pixelated}
.cube i::after{content:"";position:absolute;inset:0;background:repeating-conic-gradient(#0003 0 25%,#0000 0 50%) 0 0/22px 22px}
.cube .t{background:var(--g);transform:rotateX(90deg) translateZ(55px)}.cube .b{background:var(--d);transform:rotateX(-90deg) translateZ(55px)}
.cube .f{transform:translateZ(55px)}.cube .k{transform:rotateY(180deg) translateZ(55px)}.cube .l{transform:rotateY(-90deg) translateZ(55px)}.cube .r{transform:rotateY(90deg) translateZ(55px)}
@keyframes spin{from{transform:rotateX(-24deg) rotateY(0)}to{transform:rotateX(-24deg) rotateY(360deg)}}
section{padding:36px 0}
h2{font-size:18px;margin-bottom:22px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.card{all:unset;box-sizing:border-box;cursor:pointer;background:var(--s);border:2px solid var(--s2);border-radius:12px;padding:16px;text-align:center;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-4px);border-color:var(--g)}
.card:focus-visible{outline:3px solid var(--sky)}
.av{width:96px;height:96px;margin:0 auto 12px;image-rendering:pixelated;border-radius:6px;background-color:var(--s2)}
.card b{font-family:'Press Start 2P';font-size:10px;word-break:break-all}
.news{display:grid;gap:14px}.news article,.box{background:var(--s);border:2px solid var(--s2);border-radius:12px;padding:20px}
.news h3{font-size:13px;margin-bottom:6px}.news time{color:var(--m);font-size:13px}.news p{margin-top:8px;white-space:pre-line}
form{display:grid;gap:12px;max-width:520px}
input,textarea,select{font:inherit;background:var(--bg);color:var(--t);border:2px solid var(--s2);border-radius:8px;padding:10px;width:100%}
label{font-weight:600;font-size:14px;display:grid;gap:4px}
.ok{background:#1f3b1b;border-radius:8px;padding:10px 14px}.er{background:#4a1f26;border-radius:8px;padding:10px 14px}
.hp{position:absolute;left:-9999px}
dialog{background:var(--s);color:var(--t);border:2px solid var(--g);border-radius:14px;padding:22px;width:min(420px,94vw);margin:auto}
dialog::backdrop{background:#000a}dialog[open]{animation:pop .22s ease-out}@keyframes pop{from{transform:scale(.92);opacity:0}}
dialog h3{font-size:14px;margin:6px 0 10px}dialog canvas{display:block;margin:0 auto;cursor:grab}
.x{float:right;background:var(--s2);color:var(--t);box-shadow:none;padding:4px 10px}
.soc{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.soc a,.soc span{background:var(--s2);border-radius:8px;padding:5px 12px;font-size:14px;text-decoration:none}
footer{padding:30px 0;color:var(--m);font-size:14px;text-align:center}
@media(max-width:700px){.hero{grid-template-columns:1fr}.sc{order:-1;height:170px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
