:root{--bg: #060c14;--panel: #16233a;--panel-2: #223350;--felt: #123a33;--text: #e9edf5;--muted: #93a4c0;--accent: #f2c14e;--accent-ink: #3a2a05;--good: #5eead4;--bad: #f87171;--ivory: #f3efe4;--ivory-ink: #1a2233;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.game{height:100%;max-width:780px;margin-inline:auto;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:6px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.hud{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.chips{order:1;display:flex;gap:5px;min-width:0;overflow:hidden}.actions{order:2;display:flex;gap:6px;flex:none;margin-inline-start:auto}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding-inline:9px;border-radius:10px;background:var(--panel);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.chip[hidden]{display:none}.chip-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.chip-value{min-width:1.6ch;text-align:center}#score-chip .chip-value{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;padding:0 16px;border:0;border-radius:10px;background:var(--panel-2);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.btn:active{transform:translateY(1px)}.btn[hidden]{display:none}.btn:disabled{cursor:default;opacity:.55}.btn-icon{padding:0 10px;font-size:17px}.btn-primary{background:var(--accent);color:var(--accent-ink);padding:0 14px;font-size:15px;font-weight:700}.btn-primary:disabled{background:var(--panel-2);color:var(--muted);opacity:1}.btn-ghost{background:transparent;color:var(--muted);font-weight:500;font-size:14px}.btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rolls{display:inline-flex;gap:3px}.rolls i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.28}.rolls i.is-on{opacity:1}.btn-primary.is-ready{animation:ready 1.8s ease-in-out infinite}@keyframes ready{0%,to{box-shadow:0 0 #f2c14e80}50%{box-shadow:0 0 0 5px #f2c14e00}}.status{order:3;flex-basis:100%;margin:0;min-height:1.2em;color:var(--muted);font-size:14px;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status.is-over{color:var(--good)}.stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.tray{flex:none;display:flex;justify-content:center;gap:min(2.2%,8px);padding:5px;border-radius:12px;background:linear-gradient(180deg,var(--felt),#0d2a25);box-shadow:inset 0 0 0 1px #5eead41f}.die-btn{flex:1 1 0;min-width:0;max-width:76px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:16%;background:var(--ivory);color:var(--ivory-ink);cursor:pointer;transition:transform .12s ease}.die-btn:disabled{cursor:default}.die-btn.is-held{transform:translateY(-8%);box-shadow:0 0 0 3px var(--accent),0 4px 10px #00000073}.die-btn.is-blank{background:#f3efe41a;box-shadow:inset 0 0 0 1.5px #f3efe429}.die-btn.is-blank .die i.is-on{background:transparent}.die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8%;width:76%;height:76%}.die i{border-radius:50%;background:transparent}.die i.is-on{background:currentColor}.die-btn.is-spinning{animation:tumble .24s linear infinite}@keyframes tumble{0%{transform:rotate(0) translateY(0)}25%{transform:rotate(9deg) translateY(-4%)}50%{transform:rotate(0) translateY(2%)}75%{transform:rotate(-9deg) translateY(-4%)}to{transform:rotate(0) translateY(0)}}.card{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin}.sheet{flex:1 0 auto;display:grid;grid-auto-flow:column;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(7,minmax(34px,1fr));gap:4px}.game.is-embedded .sheet{padding-block-end:calc(60px + env(safe-area-inset-bottom))}.cell{display:flex;align-items:center;gap:6px;min-width:0;padding-inline:9px;border:0;border-radius:9px;background:var(--panel);color:var(--text);font:inherit;text-align:start;cursor:pointer}.cell:disabled{cursor:default}.cell-face{flex:none;width:15px;height:15px;color:var(--muted)}.cell-name,.cell-short{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;font-weight:600}.cell-short{display:none}.cell-value{flex:none;min-width:2.2ch;text-align:end;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted)}.cell.is-filled{background:#16233a80}.cell.is-filled .cell-value{color:var(--text)}.cell.is-filled .cell-name,.cell.is-filled .cell-short,.cell.is-filled .cell-face{opacity:.55}.cell.is-live{background:var(--panel-2);box-shadow:inset 0 0 0 1.5px #f2c14e80}.cell.is-live .cell-value{color:var(--accent)}.cell.is-zero .cell-value{color:#93a4c08c}.cell.is-armed{box-shadow:inset 0 0 0 2px var(--bad);animation:warn .9s ease-in-out infinite}.cell.is-armed .cell-value{color:var(--bad)}@keyframes warn{0%,to{background:var(--panel)}50%{background:#f8717129}}.cell-static{background:transparent;box-shadow:inset 0 0 0 1.5px #93a4c038;cursor:default}.cell-static .cell-name{font-size:12px;letter-spacing:.04em;text-transform:uppercase}.cell-static.is-earned{box-shadow:inset 0 0 0 1.5px #5eead499}.cell-static.is-earned .cell-value{color:var(--good)}.banner{position:absolute;inset-inline:0;top:0;display:flex;justify-content:center;padding-inline:12px;pointer-events:none}.banner[hidden]{display:none}.banner span{padding:6px 14px;border-radius:999px;background:#040810e6;font-size:clamp(13px,3.4vw,19px);font-weight:800;color:var(--good)}.banner span[data-kind=yacht]{color:var(--accent)}.banner span[data-kind=zero]{color:var(--bad)}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;background:#040912d1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow-y:auto}.overlay[hidden]{display:none}.overlay-card{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:44ch;text-align:center}.overlay-title{margin:0;font-size:clamp(19px,4.6vw,30px)}.overlay-total{margin:0;font-size:clamp(15px,3.6vw,20px);font-weight:700;color:var(--accent)}.overlay-total.is-record{color:var(--good)}.overlay-total[hidden]{display:none}.overlay-hint{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.overlay-hint[hidden]{display:none}.overlay-card .btn-primary{position:sticky;bottom:0}.tally{display:flex;gap:6px}.tally[hidden]{display:none}.tally .chip{min-height:32px;padding-inline:8px;font-size:14px;background:#16233abf}@media(min-aspect-ratio:6/5)and (max-height:560px){.stage{flex-direction:row;gap:8px}.tray{flex-direction:column;justify-content:center;order:-1}.die-btn{flex:0 1 auto;width:clamp(30px,13vh,76px);max-width:none}.game.is-embedded .sheet{padding-block-end:0;padding-inline-end:126px}}@media(max-width:460px){#best-chip{display:none}}@media(max-width:380px){.chip-label{display:none}.chip{min-height:38px;padding-inline:8px;font-size:14px}.btn-icon{padding:0 9px}.btn-primary{padding:0 11px;font-size:14px}.cell-name,.cell-short{font-size:12px}.cell-value{font-size:14px}.sheet{grid-template-rows:repeat(7,minmax(30px,1fr));gap:3px}}@media(max-height:430px){.game{padding:max(7px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));gap:4px}.stage{gap:4px}.status{font-size:12px}.overlay-card{gap:7px}}@media(max-width:300px){.game{padding:max(5px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));gap:3px}#round-chip,.btn-label{display:none}.btn{min-width:40px;padding:0 9px}.btn-primary{padding:0 10px}.rolls{gap:2px}.rolls i{width:5px;height:5px}.chip{min-height:34px;padding-inline:7px;font-size:13px}.status{font-size:11px;min-height:1.1em}.cell.is-upper .cell-name,.cell:not(.is-upper) .cell-name{display:none}.cell-short{display:block}.cell{padding-inline:6px;gap:4px;border-radius:7px}.cell-name,.cell-short{font-size:11px}.cell-value{font-size:13px}.sheet{grid-template-rows:repeat(7,minmax(28px,1fr))}.cell-static .cell-name{font-size:10px}}@media(max-height:330px),(max-width:320px){.overlay{padding:8px}.overlay-card{gap:6px}.overlay-hint,.tally{display:none}.overlay-title{font-size:clamp(16px,4.2vw,22px)}.overlay-card .btn-primary{min-height:38px;padding:0 20px;font-size:15px}.btn-ghost{min-height:36px;font-size:12px}}@media(prefers-reduced-motion:reduce){.btn:active{transform:none}.btn-primary.is-ready,.die-btn.is-spinning,.cell.is-armed{animation:none}.die-btn{transition:none}}
