:root{--bg:#f7efd9;--ink:#2b2a33;--muted:#6b6878;--card:#fffdf7;--hedge:#2f6b3a;--hedge-dark:#24532d;--path:#f1e2bb;--accent:#ff7a45;--accent-dark:#e8602b;--blue:#3b82f6;--good:#2e9d57;--bad:#d9473b;--radius:18px;color:var(--ink);background:var(--bg);font-family:Fredoka,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input{font:inherit}h1,h2{margin:0 0 12px}.card{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:0 6px #2b2a3314,0 12px 30px #2b2a3314}.note{color:var(--muted);margin:8px 0 0;font-size:.95rem}.big{background:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-dark);border:none;border-radius:14px;padding:12px 22px;font-size:1.2rem;font-weight:600;transition:transform 80ms}.big:active:not(:disabled){box-shadow:0 1px 0 var(--accent-dark);transform:translateY(3px)}.big.secondary{background:var(--blue);box-shadow:0 4px #2563eb}.link{color:var(--muted);background:0 0;border:none;padding:4px;text-decoration:underline}.lobby{gap:18px;max-width:560px;margin:0 auto;padding:32px 16px;display:grid}.title{text-align:center;color:var(--hedge);margin:0;font-size:3.2rem}.title span{color:var(--accent)}.subtitle{text-align:center;color:var(--muted);margin:0;font-size:1.15rem}.field{gap:8px;margin-bottom:16px;font-weight:500;display:grid}.field input,.join input{background:#fff;border:3px solid #e6dcc2;border-radius:12px;width:100%;padding:10px 14px;font-size:1.2rem}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:#fff;border:3px solid #e6dcc2;border-radius:999px;padding:8px 16px;font-size:1.05rem}.chip.on{border-color:var(--hedge);background:#dcefdc}.actions{text-align:center;justify-items:stretch;gap:12px;display:grid}.join{grid-template-columns:1fr auto;gap:10px;display:grid}.join input{text-transform:uppercase;letter-spacing:.3em;text-align:center}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.waiting{text-align:center;gap:10px;max-width:420px;display:grid}.code{letter-spacing:.25em;color:var(--hedge);font-size:3.5rem;font-weight:700}.game{flex-direction:column;height:100vh;display:flex}.hud{flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.hud-left,.hud-players{flex-wrap:wrap;gap:8px;display:flex}.hud-players{flex:1;justify-content:center}.pill{background:var(--card);border:3px solid #0000;border-radius:999px;padding:6px 14px;font-weight:500}.player-pill i{border-radius:50%;width:12px;height:12px;margin-right:6px;display:inline-block}.banner{background:#ffe3a3;border-radius:12px;margin:0 16px 8px;padding:8px 14px}.play{flex:1;grid-template-columns:1fr minmax(260px,340px);gap:16px;min-height:0;padding:0 16px 16px;display:grid}.side{flex-direction:column;gap:12px;display:flex;overflow-y:auto}.tip{font-size:1.1rem}.maze-box{place-items:center;min-width:0;min-height:0;display:grid}.board{background:var(--path);border-radius:8px;line-height:1;position:relative}.wall,.tile,.hero{position:absolute}.wall{background:var(--hedge)}.wall.edge{box-shadow:inset 0 -4px 0 var(--hedge-dark)}.tile{place-items:center;display:grid}.door{background:#c98a4b;border-radius:4px;transition:opacity .3s,transform .3s}.door.team{background:#8e6bd1}.door.open{opacity:0;transform:scale(.4)}.door.active{animation:.9s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.12)}}.hero{z-index:2;place-items:center;transition:transform .12s ease-out;display:grid;top:0;left:0}.hero span{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:80%;height:80%;font-weight:700;display:grid;box-shadow:0 2px 4px #0000004d}.hero.me{z-index:3}.question{border:4px solid;gap:10px;display:grid}.question-text{text-align:center;margin:0;font-size:2.6rem;font-weight:700}.blank{color:var(--accent)}.answer-row{grid-template-columns:1fr auto;gap:10px;display:grid}.answer-row input{text-align:center;border:3px solid #e6dcc2;border-radius:12px;width:100%;min-width:0;font-size:2rem}.feedback{color:var(--bad);margin:0;font-weight:500}.feedback.reveal{color:var(--ink);background:#e9f5ea;border-radius:10px;padding:10px}.hint{background:#fff4d6;border-radius:12px;padding:10px 12px}.hint p{margin:0 0 6px}.dots{gap:4px;max-width:220px;margin-top:8px;display:grid}.dots i{aspect-ratio:1;background:var(--accent);border-radius:50%}.dots i.alt{background:var(--blue)}.partner{border:3px dashed}.partner p{margin:0 0 6px}.praise{background:var(--good);color:#fff;pointer-events:none;z-index:10;border-radius:999px;padding:12px 28px;font-size:2rem;font-weight:700;animation:1.6s ease-out forwards pop;position:fixed;top:18%;left:50%;transform:translate(-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.5)}15%{opacity:1;transform:translate(-50%)scale(1.1)}80%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-20px)}}.overlay{z-index:20;background:#2b2a3373;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.win{text-align:center;max-width:420px}.win ul{padding:0;list-style:none}@media (width<=800px){.game{height:auto;min-height:100vh}.play{grid-template-columns:1fr}.maze-box{height:60vh}}.lang-toggle{background:var(--card);border:3px solid #e6dcc2;border-radius:999px;justify-self:end;padding:2px;display:inline-flex}.lang-toggle button{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:2px 10px;font-weight:600}.lang-toggle button.on{background:var(--hedge);color:#fff}
