:root{--bg:#231b38;--card:#2e2450;--card2:#382c62;--line:#5d4d96;--text:#f4efff;--dim:#a99fc9;--accent:#ffd36b;font-family:Nunito,Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#app,#game{position:fixed;inset:0}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#140e24b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.hidden{display:none}.menu-card{background:var(--card);border:2px solid var(--line);touch-action:pan-y;border-radius:24px;width:min(880px,100%);max-height:100%;padding:28px 32px;overflow-y:auto;box-shadow:0 20px 60px #00000073}.menu-card.small{text-align:center;width:min(460px,100%)}h1{letter-spacing:1px;margin:0;font-size:44px;font-weight:900}h2{text-transform:uppercase;letter-spacing:2px;color:var(--dim);margin:22px 0 10px;font-size:14px;font-weight:800}.sub{color:var(--dim);margin:4px 0 0;font-weight:700}.dim{color:var(--dim);font-size:14px}.cats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.cat{background:var(--card2);color:var(--text);font:inherit;cursor:pointer;border:3px solid #0000;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:12px 10px 14px;transition:transform .12s,border-color .12s;display:flex}.cat:hover{transform:translateY(-2px)}.cat.active{border-color:var(--c);box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 25%, transparent)}.cat img{width:96px;height:96px}.cat strong{color:var(--c);font-size:20px;font-weight:900}.cat .el{color:var(--dim);font-size:13px;font-weight:800}.cat .ab{color:var(--dim);font-size:12px;line-height:1.35}.cat .ab b{color:var(--text)}.row{flex-wrap:wrap;gap:32px;display:flex}.seg{background:var(--card2);border-radius:14px;padding:4px;display:inline-flex}.seg button,select{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 16px;font-size:16px;font-weight:800}.seg button.active{background:var(--accent);color:#2a1f45}select{background:var(--card2);border-radius:14px;min-width:180px;padding:14px 16px}button.play,button.ghost{font:inherit;cursor:pointer;border:0;border-radius:16px;padding:14px 40px;font-size:22px;font-weight:900;transition:transform .1s}button.play{background:var(--accent);color:#2a1f45;margin:26px auto 0;display:block;box-shadow:0 6px #c99a2e}button.play:active{transform:translateY(3px);box-shadow:0 3px #c99a2e}button.ghost{color:var(--text);border:2px solid var(--line);background:0 0}.buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:22px;display:flex}.buttons button.play{margin:0}.help{background:var(--card2);border-radius:14px;margin-top:22px;padding:10px 16px;font-size:14px;line-height:1.5}.help summary{cursor:pointer;font-weight:800}.keys{border-spacing:10px 4px}.keys td:nth-child(odd){color:var(--accent);white-space:nowrap;font-weight:900}.score{color:var(--accent);margin:10px 0 0;font-size:56px;font-weight:900}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px;display:grid}.stats div{background:var(--card2);border-radius:14px;flex-direction:column;padding:10px;display:flex}.stats b{font-size:26px;font-weight:900}.stats span{color:var(--dim);font-size:13px}@media (max-width:700px){.menu-card{padding:20px 16px}.cats{grid-template-columns:repeat(2,1fr)}h1{font-size:34px}}
