:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff1d2;background:#102c2a;font-synthesis:none;--cream: #fff1d2;--muted: #b9cdc5;--gold: #efc681}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;width:100%;min-height:100%}body{overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,[role=button]:focus-visible{outline:3px solid #b8ffbb;outline-offset:3px}button:active:not(:disabled){transform:translateY(1px)}.game-shell{height:100vh;height:100dvh;min-height:460px;max-width:1200px;margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.game-header{padding:8px 16px 6px;min-width:0}.brand-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{color:var(--gold);font-size:36px;line-height:1}h1{font-size:24px;letter-spacing:-.7px;margin:0;line-height:1}h1 span{display:block;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;margin-top:6px}.menu-btn{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #4b6860;border-radius:12px;background:#1c3a35;padding:0 12px;min-height:48px;font-size:14px;font-weight:600}.menu-btn>span:first-child{font-size:20px}.players{display:flex;align-items:center;gap:10px}.player-card{flex:1;display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px;background:#193a35;border:1px solid #3a5951;border-radius:12px}.player-card.active{border-color:var(--gold);background:#2d483b}.swatch{display:inline-block;width:28px;height:28px;flex-shrink:0;border-radius:50%;border:2px solid #d3bb8e}.swatch.white{background:#fff1d2;box-shadow:inset 0 0 0 4px #e1ca9c}.swatch.black{background:#182b32;box-shadow:inset 0 0 0 4px #40595f;border-color:#8ba4a2}.player-name{min-width:0;font-size:14px;font-weight:700;line-height:1.3}.player-detail{display:block;color:var(--muted);font-weight:400;font-size:12px;white-space:nowrap}.off-count{display:flex;align-items:baseline;gap:3px;margin-left:auto;white-space:nowrap}.off-count strong{font-size:20px;font-weight:650}.off-count span,.versus{font-size:11px;color:var(--muted)}.board-area{min-height:0;min-width:0;position:relative}.lite-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6px 12px}.lite-svg{display:block;width:100%;height:100%;max-width:1040px;overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none}.board-point{cursor:default}.board-point[aria-disabled=false]{cursor:pointer}.board-point:focus-visible>rect:first-child{stroke:#b8ffbb;stroke-width:3px}.point-number{font:600 15px system-ui,sans-serif}.stack-count{font:750 21px system-ui,sans-serif}canvas{display:block;touch-action:none}.game-controls{min-width:0;padding:4px 16px 10px}.turn-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding-bottom:6px;font-size:14px;text-align:center;font-weight:500}.turn-dot{width:7px;height:7px;background:#8ba4a2;border-radius:50%;flex-shrink:0}.turn-dot.yours{background:var(--gold)}.actions{display:flex;align-items:center;justify-content:center;gap:10px;max-width:580px;margin:auto}.dice{display:flex;align-items:center;gap:5px}.die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;padding:7px;width:42px;height:42px;border-radius:9px;background:#fff1d2;border:1px solid #ffe4b0}.die i.pip{border-radius:50%;background:#253933}.die.used{opacity:.35}.die.unrolled{background:#23443e;color:#d1dfd5;border:1px solid #648277;display:flex;justify-content:center;align-items:center;font-weight:600;font-size:21px}.primary-btn{min-height:52px;border:1px solid #ffdca1;border-radius:13px;padding:10px 18px;background:var(--gold);color:#25362a;font-size:17px;font-weight:750;text-align:center}.actions .primary-btn{flex:1;min-width:104px;max-width:230px}.primary-btn:disabled{background:#34574b;border-color:#527165;color:#d9e3d3;font-size:15px}.undo-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;height:52px;padding:0;border:1px solid #557367;border-radius:12px;background:transparent}.undo-btn>span{font-size:26px;line-height:1}.undo-btn small{font-size:11px;line-height:1.2}.undo-btn:disabled{color:#91a59a;border-color:#35574c}.control-hint{color:var(--muted);text-align:center;font-size:12px;padding-top:7px;min-height:22px}.game-dialog{color:var(--cream);background:#193b35;border:1px solid #6c8675;border-radius:20px;padding:22px;width:calc(100% - 28px);max-width:440px;max-height:88vh;max-height:88dvh;overflow:auto;overscroll-behavior:contain}.game-dialog::backdrop{background:#051713c9}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-heading h2{font-size:23px;margin:0;letter-spacing:-.5px}.icon-btn{width:48px;height:48px;flex-shrink:0;border:1px solid #647d6e;background:transparent;border-radius:50%;font-size:28px}.game-dialog h3{margin:22px 0 12px;font-size:15px}.instructions{margin:0;padding-left:22px;font-size:14px;line-height:1.6}.instructions li+li{margin-top:8px}.menu-note{font-size:13px;color:var(--muted);line-height:1.6}.mode-options{display:flex;gap:8px}.mode-options button{flex:1;text-align:left;padding:12px;min-height:76px;border:1px solid #647d6e;border-radius:12px;background:transparent}.mode-options button[aria-pressed=true]{border-color:var(--gold);background:#304d3e}.mode-options strong{display:block;font-size:15px;margin-bottom:6px}.mode-options span{font-size:12px;color:var(--muted);line-height:1.4}.secondary-btn{min-height:48px;padding:12px;border:1px solid #91a386;background:transparent;border-radius:12px;font-weight:650}.new-game{width:100%;margin-top:22px}@media (max-width: 400px){.game-header{padding-right:10px;padding-left:10px}.players{gap:6px}.versus{display:none}.player-card{gap:7px;padding:7px 8px}.off-count{align-items:center;flex-direction:column;gap:0;line-height:1.1}.off-count strong{font-size:18px}.game-controls{padding-right:10px;padding-left:10px}.actions{gap:7px}.die{width:34px;height:38px;padding:6px;gap:2px}.doubles .die{width:28px;height:34px;padding:5px}.doubles{gap:4px}.turn-status{font-size:13px}.primary-btn{padding-right:10px;padding-left:10px}}@media (orientation: portrait) and (max-height: 700px){.game-header{padding-top:3px;padding-bottom:2px}.brand-row{margin-bottom:3px}.brand-mark{font-size:29px}h1{font-size:21px}h1 span{display:none}.player-card{padding-top:5px;padding-bottom:5px}.game-controls{padding-top:0;padding-bottom:4px}.control-hint{display:none}.turn-status{min-height:30px}.lite-wrap{padding-top:2px;padding-bottom:2px}}@media (max-width: 340px){.player-name{font-size:13px}.swatch{width:24px;height:24px}}@media (orientation: landscape) and (max-height: 600px){.game-shell{min-height:280px;grid-template-columns:minmax(0,1fr) 180px;grid-template-rows:54px minmax(0,1fr);padding:4px max(6px,env(safe-area-inset-right)) 4px max(6px,env(safe-area-inset-left))}.game-header{grid-column:1 / -1;display:flex;gap:16px;align-items:center;padding:0 6px}.brand-row{display:contents}.brand{flex-shrink:0;gap:6px}.brand-mark{font-size:28px}h1{font-size:20px}h1 span{display:none}.players{flex:1;max-width:470px;margin-left:auto}.player-card{padding:4px 8px}.player-detail{font-size:11px}.swatch{width:24px;height:24px}.off-count{flex-direction:row}.menu-btn{order:3;min-width:48px;padding:0 10px}.menu-btn>span:last-child{display:none}.board-area{grid-row:2;grid-column:1}.lite-wrap{padding:2px 6px}.game-controls{grid-row:2;grid-column:2;display:flex;flex-direction:column;justify-content:center;padding:8px;gap:12px}.turn-status{min-height:48px;font-size:13px;padding:0}.turn-dot{display:none}.actions{flex-wrap:wrap;gap:10px;width:100%}.dice{justify-content:center;width:100%}.die{width:34px;height:34px;padding:5px}.actions .primary-btn{min-width:100%}.undo-btn{width:100%;flex-direction:row;gap:6px;height:48px}.control-hint{padding:0;font-size:11px}}@media (orientation: landscape) and (max-width: 660px){.game-shell{grid-template-columns:minmax(0,1fr) 152px}.brand-mark,.player-detail,.versus{display:none}.game-header{gap:8px}h1{font-size:17px}.player-name{font-size:12px}.player-card{gap:5px}.swatch{width:20px;height:20px}.off-count span{display:none}.die{width:29px;height:31px;gap:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
