:root{--bg:#f6f7fb;--fg:#111827;--card:#fff;--mu:#6b7280;--ac:#7c3aed;--bd:#e5e7eb;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b1020;--fg:#e5e7eb;--card:#151b30;--mu:#9ca3af;--bd:#263050}}
:root[data-theme="dark"]{--bg:#0b1020;--fg:#e5e7eb;--card:#151b30;--mu:#9ca3af;--bd:#263050}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--ac)}
header{border-bottom:1px solid var(--bd);background:var(--card)}
.wrap{max-width:1000px;margin:auto;padding:16px}
.logo{font-size:22px;font-weight:800;text-decoration:none;color:var(--fg)}.logo span{color:var(--ac)}
h1{font-size:clamp(26px,5vw,38px);line-height:1.2;margin:8px 0}
h2{font-size:18px;margin:6px 0}
.mu,.hint,.card p{color:var(--mu)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:16px 0}
.card{display:block;background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px;text-decoration:none;color:var(--fg);transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-3px);border-color:var(--ac)}
.card p{margin:0;font-size:13px;line-height:1.4}.ic{font-size:34px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.chip{border:1px solid var(--bd);background:var(--card);color:var(--fg);padding:6px 14px;border-radius:99px;cursor:pointer;font:inherit}
.chip.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.in{width:100%;max-width:320px;padding:10px 14px;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--fg);font:inherit;margin:6px 0}
.stage{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:16px;text-align:center}
.hud{color:var(--mu);margin-bottom:8px}
.big{font-size:20px;font-weight:700;margin:8px 0}
.btn{background:var(--ac);color:#fff;border:0;border-radius:10px;padding:10px 20px;font:600 16px inherit;cursor:pointer;margin:6px}
.row{display:flex;justify-content:center;flex-wrap:wrap}
.grid2,.grid3,.grid4{display:grid;gap:8px;margin:10px auto}
.grid2{grid-template-columns:repeat(2,100px)}.grid3{grid-template-columns:repeat(3,86px)}.grid4{grid-template-columns:repeat(4,72px)}
.grid2,.grid3,.grid4{justify-content:center}
.tile{aspect-ratio:1;border:1px solid var(--bd);border-radius:12px;background:var(--bg);color:var(--fg);font-size:30px;cursor:pointer}
.pad{width:100%;height:220px;border:0;border-radius:16px;background:var(--ac);color:#fff;font:700 20px inherit;cursor:pointer}
.pad.r{background:#ef4444}.pad.g{background:#22c55e}
.card.c,.cardn{font-size:64px;font-weight:800;margin:6px 0}
canvas{max-width:100%;background:#0f172a;border-radius:12px;touch-action:none}
.bc{font-size:14px;color:var(--mu)}
footer{text-align:center;color:var(--mu);font-size:14px;padding:24px 16px}
[hidden]{display:none!important}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px}
nav.main{display:flex;gap:14px;flex-wrap:wrap}nav.main a{color:var(--fg);text-decoration:none;font-weight:600;font-size:15px}nav.main a:hover{color:var(--ac)}
.card h3{font-size:18px;margin:6px 0}a.chip{text-decoration:none;display:inline-block}
details{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:10px 14px;margin:8px 0}summary{cursor:pointer;font-weight:600}
footer a{color:var(--mu);margin:0 8px}.prose{max-width:720px}.prose h2{margin-top:22px}ul.links{columns:2;padding-left:18px}
.sf label{display:block;margin:12px 0;font-weight:600}.sf input,.sf select,.sf textarea{display:block;width:100%;margin-top:6px;padding:10px 14px;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--fg);font:inherit}
.yt{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:10px 14px;margin:12px 0}.it{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px 14px;margin:10px 0}.it p{margin:6px 0 0;word-break:break-word}
:root:root:root{--bg:#120a2a;--fg:#f5f3ff;--card:#1e1245;--mu:#c4b5fd;--ac:#a855f7;--bd:#3b2a7a;--k:#a855f7}
body{background:radial-gradient(circle at 15% -5%,#5b21b6 0,transparent 45%),radial-gradient(circle at 95% 5%,#1d4ed8 0,transparent 40%),#120a2a;background-attachment:fixed}
header{background:rgba(30,18,69,.85);backdrop-filter:blur(8px);border-bottom:1px solid #5b21b6}
.logo{text-shadow:0 0 14px #a855f7}.logo span{color:#f0abfc}
h1{background:linear-gradient(90deg,#f0abfc,#67e8f9,#fde047);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.k-skill{--k:#22d3ee}.k-brain{--k:#f472b6}.k-classic{--k:#facc15}.k-arcade{--k:#4ade80}
.card{border-top:4px solid var(--k);background:linear-gradient(160deg,#2a1a63,#1e1245)}
.card:hover{box-shadow:0 0 22px var(--k);border-color:var(--k)}
.ic{font-size:42px;filter:drop-shadow(0 0 8px var(--k))}
.btn{background:linear-gradient(90deg,#ec4899,#8b5cf6);box-shadow:0 4px 14px rgba(236,72,153,.4)}
.btn:hover{filter:brightness(1.1)}
.stage{border:2px solid #7c3aed;box-shadow:0 0 32px rgba(168,85,247,.35);background:linear-gradient(180deg,#1e1245,#160d38)}
.chip.on,a.chip:hover{background:linear-gradient(90deg,#ec4899,#8b5cf6);color:#fff;border-color:transparent}
.tile{background:linear-gradient(145deg,#4c1d95,#7c3aed);border:2px solid #a78bfa;box-shadow:0 3px 0 #2e1065;transition:transform .1s;color:#fff}
.tile:active{transform:scale(.94)}
.grid2 .tile{border:0;border-radius:18px;box-shadow:0 0 18px rgba(255,255,255,.15)}
.tile.fruit{background:linear-gradient(#fff7e0,#ffe2a8);border:3px solid #c98a3b;box-shadow:0 3px 0 #92621f}
.tile.fruit:empty{background:linear-gradient(135deg,#f472b6,#8b5cf6);border-color:#fff}
.tile.fruit:empty::after{content:'?';color:#fff;font-weight:800}
.meadow{background:linear-gradient(#a3e635,#4ade80);padding:14px;border-radius:18px;width:max-content;border:3px solid #166534}
.hole{background:radial-gradient(ellipse at 50% 65%,#2b1708 0 52%,#6b4423 53% 72%,#65a30d 73%);border:0;box-shadow:none}
.pad{background:linear-gradient(135deg,#8b5cf6,#ec4899)}.pad.r{background:linear-gradient(135deg,#ef4444,#f97316)}.pad.g{background:linear-gradient(135deg,#22c55e,#84cc16)}
canvas{border:3px solid #7c3aed;box-shadow:0 0 26px rgba(168,85,247,.45)}
.yt,.it,details{background:linear-gradient(160deg,#2a1a63,#1e1245)}
footer{border-top:1px solid #3b2a7a;margin-top:24px}
