:root{--bg:#1b1f3b;--panel:#262b50;--panel2:#30366a;--text:#f2f3fb;--muted:#a9adcf;--accent:#f2c230;--danger:#d9534f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);touch-action:manipulation;margin:0}h1,h2,h3{margin:.6em 0 .4em}.center{place-items:center;height:100%;display:grid}.page{max-width:1100px;height:100%;margin:0 auto;padding:16px 20px 40px;overflow-y:auto}.page.narrow{max-width:520px}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.center{justify-content:center}.grow{flex:1;min-width:200px}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.card-panel{background:var(--panel);border-radius:12px;margin:10px 0;padding:12px 14px}.hint{color:var(--muted);margin:4px 0;display:block}.error{color:#ff8a80}.ok{color:#8be28b}.btn{background:var(--panel2);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:1rem;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.2)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);color:#2b2100;font-weight:700}.btn.danger{background:var(--danger)}.btn.big{min-height:56px;font-size:1.15rem}input,select,textarea{min-height:44px;color:var(--text);font:inherit;background:#12152e;border:1px solid #4a5090;border-radius:8px;padding:8px 10px}input[type=color]{width:52px;padding:2px}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0}input.short{width:80px}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:.9rem;display:flex}.choice{align-items:flex-start;gap:10px;padding:8px 0;display:flex}.choice small{color:var(--muted);display:block}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.checks{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.check{border:2px solid #4a5090;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.list{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.list li{background:var(--panel);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.player-row input:not([type]){flex:1;min-width:0}.thumb{object-fit:contain;background:#12152e;border-radius:8px;width:56px;height:56px}.thumb.empty{color:var(--muted);place-items:center;font-size:.7rem;display:grid}.game{gap:8px;height:100%;padding:8px;display:flex;position:relative}.board{flex:1;min-width:0;min-height:0;position:relative}.board canvas{touch-action:none;display:block}.side{flex-direction:column;flex:none;gap:8px;width:270px;display:flex;overflow-y:auto}.turn{background:var(--panel);border-left:8px solid;border-radius:10px;flex-direction:column;padding:8px 12px;display:flex}.turn b{font-size:1.5rem}.info{background:var(--panel);border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.info.world{background:#4a3a78}.scores{background:var(--panel);border-radius:10px;padding:8px 12px}.score{justify-content:space-between;padding:2px 0;display:flex}.log{color:var(--muted);flex-direction:column;gap:2px;font-size:.82rem;display:flex}.toast{color:#8be28b}.modal-wrap{pointer-events:none;place-items:center;display:grid;position:absolute;inset:8px 286px 8px 8px}.modal-card{pointer-events:auto;text-align:center;border:4px solid #fff;border-radius:18px;width:min(420px,90%);max-height:90%;padding:18px 22px;animation:.25s ease-out pop;overflow-y:auto;box-shadow:0 12px 40px #0000008c}.modal-card p{margin:12px 0;font-size:1.35rem;line-height:1.35}.modal-head{justify-content:center;align-items:center;gap:10px;font-size:1.3rem;display:flex}.modal-head img{object-fit:contain;width:44px;height:44px}.modal-head .emoji{font-size:2rem}.modal-who{opacity:.9;font-weight:600}.chip{background:#0000004d;border-radius:999px;margin:2px 4px 10px;padding:4px 12px;font-weight:700;display:inline-block}@keyframes pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (aspect-ratio<=1),(width<=760px){.game{flex-direction:column}.side{flex-flow:wrap;width:auto;max-height:38%}.side>*{flex:200px}.modal-wrap{inset:8px 8px 38%}}
