:root{--bg:#241812;--bg-elevated:#2f1f16;--text:#f2e9d8;--text-dim:#c9b9a0;--accent:#d8a94d;--accent-text:#241808;--danger:#c0503f;--border:#d8a94d59;--safe-top:max(env(safe-area-inset-top,0px), calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px)));--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:16px/1.45 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100svh;margin:0}#root{min-height:100svh;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));flex-direction:column;max-width:560px;margin:0 auto;display:flex}h1,h2{color:var(--text);text-align:center;margin:0 0 4px;font-weight:600}h1{font-size:28px}h2{font-size:22px}p{margin:0}.subtitle{color:var(--text-dim);text-align:center;margin:0 0 4px;font-size:14px}.screen{flex-direction:column;flex:1;justify-content:center;align-items:stretch;gap:16px;padding:12px 0;display:flex}.menu-list{flex-direction:column;gap:10px;width:100%;display:flex}.difficulty-row{color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.btn{appearance:none;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:10px;min-height:44px;padding:12px 16px;font-size:15px;font-weight:500}.btn:disabled{opacity:.5;cursor:default}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger.confirming{background:var(--danger);color:var(--text)}.error-text{color:var(--danger);text-align:center;font-size:13px}.banner{border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;font-size:13px;display:flex}.banner-error{border:1px solid var(--danger);color:var(--text);background:#c0503f26}.banner-close{appearance:none;color:inherit;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.connection-hint{text-align:center;color:var(--text-dim);font-size:12px}.game-header{justify-content:center;align-items:center;gap:10px;display:flex}.player-badge{border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:6px 14px;font-size:13px}.player-badge.active{border-color:var(--accent);color:var(--accent);font-weight:600}.reconnect-badge{color:var(--danger);font-size:12px}.controls-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.controls-row .btn{flex:auto;min-width:120px}#root:has(.game-screen){max-width:960px;padding:calc(8px + var(--safe-top)) calc(4px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(4px + var(--safe-left))}.game-screen{gap:8px;padding:0}.game-screen .controls-row{padding:0 8px}@media (orientation:landscape) and (width>=640px){.game-screen{grid-template-columns:minmax(0,1fr) 180px;align-content:center;display:grid}.game-screen .board-wrap{grid-area:1/1/span 5}.game-screen>:not(.board-wrap){grid-column:2}.game-screen .controls-row{flex-direction:column}}.fullscreen-toggle{top:calc(8px + var(--safe-top));right:calc(8px + var(--safe-right));z-index:50;border:1px solid var(--border);background:var(--bg-elevated);width:36px;height:36px;color:var(--accent);cursor:pointer;border-radius:8px;font-size:20px;line-height:1;position:fixed}.fullscreen-toggle:hover{background:#3a281d}.tg-fullscreen #root:has(.game-screen){max-width:none}.tg-fullscreen .game-screen .board-wrap{max-width:calc(100svh - 40px - var(--safe-top) - var(--safe-bottom))}@media (orientation:landscape) and (width>=640px){.tg-fullscreen .game-screen{grid-template-columns:minmax(0,auto) 220px;justify-content:center}}.board-wrap{flex-direction:column;align-items:stretch;gap:6px;width:100%;max-width:900px;margin:0 auto;display:flex}.board-svg{aspect-ratio:368/360;border-radius:10px;width:100%;height:auto;box-shadow:0 8px 22px #00000073,inset 0 0 0 1px #d8a94d66}.board-inner{fill:#976638}.board-medallion{fill:none;stroke:#d8a94d;stroke-width:.75px;opacity:.35}.board-medallion-inner{fill:none;stroke:#d8a94d;stroke-width:.5px;opacity:.25}.board-hinge-line{stroke:#1a0f08;stroke-width:2px;opacity:.9}.board-hinge{fill:#b8863b;stroke:#1a0f08;stroke-width:.5px}.board-point path{stroke:#0006;stroke-width:.5px}.point-a path{fill:url(#woodLight)}.point-b path{fill:url(#woodDark)}.board-point{cursor:pointer}.board-point.selected path{fill:#ffd400;stroke:#a87a00;stroke-width:1.5px}.checker-shadow{fill:#00000059;transform:translate(.6px,1px)}.checker-body{stroke-width:1px}.checker-white .checker-body{fill:url(#checkerWhite);stroke:#a8946a}.checker-black .checker-body{fill:url(#checkerBlack);stroke:#000}.checker-ring{fill:none;stroke-width:.75px}.checker-white .checker-ring{stroke:#a8946a8c}.checker-black .checker-ring{stroke:#ffffff26}.checker-overflow{fill:#fff;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#0009;stroke-width:2px;font-size:9px;font-weight:700}.board-off{color:#f2e9d8;background:linear-gradient(#4a2e1c,#2f1c10);border:1px solid #d8a94d;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}button.board-off{cursor:default}button.board-off:not(:disabled){cursor:pointer}button.board-off:disabled{opacity:1}.off-count{font-size:16px;font-weight:700}@keyframes board-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.board-wrap.shake .board-svg{animation:.4s ease-in-out board-shake;box-shadow:0 8px 22px #00000073,inset 0 0 0 2px #c0503fcc}.board-point{touch-action:manipulation;outline:none}.board-point:focus-visible path{stroke:#fff4cf;stroke-width:2px}@media (prefers-reduced-motion:reduce){.board-wrap.shake .board-svg{animation:none}}.dice-row{justify-content:center;align-items:center;gap:8px;min-height:44px;display:flex}.dice-empty{color:#8a7a63;font-size:13px}.die{width:40px;height:40px;animation:.35s ease-out die-roll}.die rect{fill:#f2e9d8;stroke:#3b2417;stroke-width:3px}.die circle{fill:#2b2b2b}.die-used{opacity:.35}@keyframes die-roll{0%{opacity:.2;transform:rotate(-25deg)scale(.6)}60%{transform:rotate(15deg)scale(1.08)}to{opacity:1;transform:rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.die{animation:none}}
