:root{color:#f3ede2;background:#1a1410;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background:radial-gradient(1200px 600px at 50% -10%,#3a2a1c 0%,#1a1410 60%)}button{font-family:inherit}.menu{text-align:center;flex-direction:column;align-items:stretch;gap:16px;max-width:460px;margin:0 auto;padding:28px 18px 48px;display:flex}.logo-title{letter-spacing:2px;margin:8px 0 0;font-size:2.4rem}.tagline{opacity:.8;margin:0 0 8px;line-height:1.4}.footnote{opacity:.6;margin-top:8px;font-size:.82rem;line-height:1.4}.menu-card{text-align:left;background:#251b13;border:1px solid #3a2a1c;border-radius:16px;padding:18px;box-shadow:0 8px 24px #00000059}.menu-card h2{margin:0 0 12px;font-size:1.15rem}.field{opacity:.9;margin-bottom:14px;font-size:.92rem;display:block}.field input{color:#f3ede2;background:#17110c;border:1px solid #4a3826;border-radius:10px;width:100%;margin-top:6px;padding:10px 12px;font-size:1rem;display:block}.btn-grid{gap:8px;margin-top:6px;display:flex}.btn-grid .btn{flex:1}.btn{appearance:none;color:#f3ede2;cursor:pointer;background:#33261a;border:1px solid #4a3826;border-radius:10px;padding:10px 16px;font-size:.95rem;transition:transform 50ms,background .15s,border-color .15s}.btn:hover:not(:disabled){background:#3f2f20}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:#fff;background:#b5551f;border-color:#d1732f}.btn.primary:hover:not(:disabled){background:#c76127}.btn.big{width:100%;margin-top:6px;padding:14px;font-size:1.05rem}.btn.ghost{opacity:.85;background:0 0;border-color:#0000}.join-row{gap:8px;margin-top:10px;display:flex}.join-row input{color:#f3ede2;text-transform:uppercase;background:#17110c;border:1px solid #4a3826;border-radius:10px;flex:1;padding:10px 12px;font-size:1rem}.player-row{border-bottom:1px solid #33261a;justify-content:space-between;padding:8px 4px;display:flex}.hint{opacity:.7;margin:12px 0 0;font-size:.9rem}.meta{opacity:.8}.table{flex-direction:column;gap:10px;max-width:600px;margin:0 auto;padding:10px 12px 24px;display:flex;position:relative}.topbar{align-items:center;gap:10px;display:flex}.turn-pill{text-align:right;opacity:.9;flex:1;font-size:.9rem}.playerbar{background:#251b13;border:1px solid #3a2a1c;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.playerbar.active{border-color:#d1732f;box-shadow:inset 0 0 0 1px #d1732f}.playerbar .pname{font-weight:600}.playerbar .counts{opacity:.8;margin-left:auto;font-size:.88rem}.playerbar .dot{font-size:.7rem}.chip{border-radius:50%;width:18px;height:18px;display:inline-block}.chip.seat0{background:radial-gradient(circle at 35% 30%,#fff,#d9cdb6);border:1px solid #b3a889}.chip.seat1{background:radial-gradient(circle at 35% 30%,#d85b4a,#7d241b);border:1px solid #571812}.board-wrap{justify-content:center;display:flex}.board{aspect-ratio:1;border:6px solid #2a1c11;border-radius:8px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:min(92vw,560px);display:grid;overflow:hidden;box-shadow:0 12px 30px #00000073}.cell{justify-content:center;align-items:center;display:flex;position:relative}.cell.light{background:#e9d2a8}.cell.dark{cursor:default;background:#7a4a25}.cell.origin{cursor:pointer;box-shadow:inset 0 0 0 3px #d1732fa6}.cell.selected{box-shadow:inset 0 0 0 4px #ffcf6b}.cell.target{cursor:pointer}.cell.target:after{content:"";background:#ffcf6bbf;border-radius:50%;width:32%;height:32%}.cell.doomed{box-shadow:inset 0 0 0 3px #e0483a}.cell.lastmove{background:#8a5a2f}.cell.dark.lastmove.target,.cell.dark.lastmove.origin{background:#7a4a25}.piece{border-radius:50%;justify-content:center;align-items:center;width:74%;height:74%;display:flex;box-shadow:0 3px 6px #00000080,inset 0 2px 3px #ffffff40,inset 0 -4px 6px #00000059}.piece.seat0{background:radial-gradient(circle at 35% 28%,#fff 0%,#efe6d0 55%,#cabf9f 100%);border:2px solid #b3a889}.piece.seat1{background:radial-gradient(circle at 35% 28%,#e2705e 0%,#b83324 55%,#7d241b 100%);border:2px solid #571812}.piece .crown{font-size:1.2rem;line-height:1}.piece.seat0 .crown{color:#a8801f}.piece.seat1 .crown{color:#ffd98a}.overlay{background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.result-card{text-align:center;background:#251b13;border:1px solid #4a3826;border-radius:16px;max-width:340px;padding:26px;box-shadow:0 16px 40px #00000080}.result-card h2{margin:0 0 8px}.result-card .row{gap:10px;margin-top:18px;display:flex}.result-card .row .btn{flex:1}
