/* 🧱 Кубики-тема: Roblox × Minecraft — всё на CSS, ноль картинок */
:root{--ink:#1f2937;--grass:#5ebb2b;--grass-d:#3d8b1a;--dirt:#8b5a2b;--sky:#7ec8f7;
--stone:#9aa5b1;--gold:#f59e0b;--ok:#16a34a;--bad:#dc2626;--paper:#fffdf5}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,system-ui,"Segoe UI",Roboto,sans-serif;color:var(--ink);
background-color:#e8f7ff;
background-image:linear-gradient(#ffffff55 2px,transparent 2px),linear-gradient(90deg,#ffffff55 2px,transparent 2px);
background-size:32px 32px}
.wrap{max-width:920px;margin:0 auto;padding:16px}
.top{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--grass);
border:3px solid #274d12;border-radius:12px;box-shadow:0 5px 0 #274d12;margin-top:10px}
.logo{font-weight:900;font-size:22px;text-decoration:none;color:#fff;text-shadow:2px 2px 0 #274d12}
.logo span{color:#fef08a}
nav a{margin-left:12px;text-decoration:none;color:#fff;font-weight:700;text-shadow:1px 1px 0 #274d12}
/* кубик-кнопки с гранью */
.btn{display:inline-block;background:var(--grass);color:#fff;padding:14px 20px;border-radius:10px;
text-decoration:none;border:3px solid #274d12;font-size:17px;font-weight:800;min-height:52px;cursor:pointer;
box-shadow:0 5px 0 #274d12;text-shadow:1px 1px 0 #274d12}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 #274d12}
.btn.ghost{background:#fff;color:var(--ink);border-color:#475569;box-shadow:0 5px 0 #475569;text-shadow:none}
.btn.ghost:active{box-shadow:0 1px 0 #475569}
.btn.big{font-size:19px}
.btn.sm{padding:8px 12px;min-height:40px;font-size:14px}
.hero h1{font-size:clamp(30px,6vw,54px);line-height:1.05;margin:8px 0;letter-spacing:1px;
text-shadow:3px 3px 0 #fde68a}
.feat{display:grid;gap:8px;padding:0;list-style:none}
.form{display:grid;gap:12px;max-width:420px}.form.row{grid-template-columns:1fr auto 1fr auto;align-items:center;max-width:560px}
.form input,.form select{padding:14px;font-size:18px;border-radius:10px;border:3px solid #475569;width:100%;background:#fff}
.err{background:#fee2e2;padding:10px;border-radius:10px;border:3px solid var(--bad)}
.kids{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.kid{background:var(--paper);border-radius:12px;padding:16px;border:3px solid #475569;box-shadow:6px 6px 0 #cbd5e1}
.kid .av{font-size:52px}.kid.lock{opacity:.65}.kid.worn{outline:3px solid var(--ok)}
.hero-top{display:flex;gap:20px;align-items:center;background:var(--paper);border-radius:12px;
padding:20px;margin:16px 0;border:3px solid #475569;box-shadow:6px 6px 0 #cbd5e1}
/* куб-герой из блоков */
.blocks{display:flex;gap:6px;align-items:flex-end;animation:hover 2.4s ease-in-out infinite}
.block{width:64px;height:64px;border:3px solid #333;border-radius:10px;display:flex;align-items:center;
justify-content:center;font-size:36px;box-shadow:inset -6px -6px 0 #0002}
.block.head{background:#fde68a}.block.body{background:#93c5fd}.block.hand{background:#fca5a5}
@keyframes hover{50%{transform:translateY(-8px)}}
.card{background:var(--paper);border-radius:12px;padding:20px;margin:16px 0;
border:3px solid #475569;box-shadow:6px 6px 0 #cbd5e1;min-height:180px}
.card.boss{border-color:var(--bad);background:#fef2f2}
.hud{display:flex;gap:12px;margin:10px 0;font-weight:800}
.fb{min-height:52px;font-size:18px;margin:10px 0;font-weight:700}
.fb.ok{color:var(--ok);animation:pop .3s}.fb.bad{color:var(--bad)}
@keyframes pop{50%{transform:scale(1.06)}}
.opt{display:block;width:100%;margin:8px 0;padding:16px;font-size:22px;font-weight:800;border-radius:10px;
border:3px solid #475569;background:#fff;cursor:pointer;min-height:60px;box-shadow:0 4px 0 #475569}
.opt:active{transform:translateY(3px);box-shadow:0 1px 0 #475569}
.big-in{font-size:26px;padding:14px;border-radius:10px;border:3px solid #475569;width:160px}
.items{font-size:30px;line-height:1.4;word-break:break-all}
.ten{display:grid;grid-template-columns:repeat(5,26px);gap:5px;margin:10px 0}
.dot{width:22px;height:22px;border-radius:6px;background:var(--grass);border:2px solid #274d12}
.dot.off{background:#e2e8f0;border:2px solid #cbd5e1}
/* таблица Пифагора */
.py{border-collapse:collapse;margin:10px auto;font-size:13px}
.py th,.py td{border:2px solid #475569;min-width:30px;height:28px;text-align:center;padding:2px;background:#fff}
.py th{background:#f1f5f9}
.py .hl{background:#dbeafe}
.py .tgt{background:#fef08a;font-weight:800;font-size:18px;animation:pulse 1s infinite}
@keyframes pulse{50%{transform:scale(1.15)}}
/* карта-биомы */
.map{position:relative;margin:10px 0 10px 26px;padding-left:26px;border-left:5px dashed #8b5a2b}
.node{position:relative;margin:0 0 18px}
.node .pin{position:absolute;left:-54px;top:8px;width:46px;height:46px;border-radius:10px;background:#fff;
border:3px solid #333;display:flex;align-items:center;justify-content:center;font-size:24px;
box-shadow:0 4px 0 #333}
.node.done .pin{border-color:var(--grass-d);background:#dcfce7}
.node.open .pin{border-color:#1d4ed8;background:#dbeafe}
.node.lock{opacity:.75}.node.lock .pin{background:#e2e8f0}
.node .ncard{background:var(--paper);border-radius:12px;padding:14px;border:3px solid #475569;box-shadow:5px 5px 0 #cbd5e1}
.node .ncard h4{margin:0 0 4px}
.node.fin .pin{background:#fef9c3;border-color:var(--gold)}
.node.b1 .pin{background:#dcfce7}.node.b2 .pin{background:#fef3c7}.node.b3 .pin{background:#e0f2fe}
.node.b4 .pin{background:#f1f5f9}.node.b5 .pin{background:#d9f99d}.node.b6 .pin{background:#fee2e2}
.node.b7 .pin{background:#ede9fe}.node.b8 .pin{background:#f0fdfa}
@media(min-width:700px){.node .ncard{max-width:520px}}
table{border-collapse:collapse;width:100%}td,th{border:2px solid #cbd5e1;padding:8px;text-align:left;background:#fff}
th{background:#f1f5f9}
.muted{color:#64748b}footer{margin:30px 0;color:#475569;font-weight:600}
@media(max-width:600px){.btn{width:100%;text-align:center}.form.row{grid-template-columns:1fr 1fr}}
