:root{--bg: #0f172a;--bg-elev: #1e293b;--bg-elev-2: #334155;--text: #f8fafc;--text-dim: #94a3b8;--accent: #38bdf8;--accent-strong: #0ea5e9;--good: #4ade80;--bad: #f87171;--warn: #fbbf24;--border: #334155;--radius: 14px;--shadow: 0 6px 20px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.app{max-width:560px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 16px calc(env(safe-area-inset-bottom) + 16px)}.app-header{display:flex;align-items:center;gap:12px;padding:16px 4px}.app-header h1{font-size:1.25rem;margin:0;letter-spacing:.5px}.app-header .spacer{flex:1}button{font:inherit;color:var(--text);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:10px;padding:12px 16px;cursor:pointer;transition:transform .05s ease,background .15s ease,opacity .15s ease}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent-strong);border-color:var(--accent);color:#04202e;font-weight:700}button.ghost{background:transparent}button.danger{background:transparent;border-color:var(--bad);color:var(--bad)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1}.muted{color:var(--text-dim)}.center{text-align:center}.home-choices{display:grid;gap:16px;margin-top:8px}.mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:20px;text-align:left;background:var(--bg-elev)}.mode-btn strong{font-size:1.15rem}.mode-btn span{color:var(--text-dim);font-size:.9rem}.dice-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.die{--size: 64px;width:var(--size);height:var(--size);background:#f8fafc;border-radius:14px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:10px;box-shadow:inset 0 -4px #0000001f,var(--shadow);cursor:pointer;-webkit-user-select:none;user-select:none;border:3px solid transparent;transition:border-color .12s ease,transform .12s ease,opacity .12s ease}.die.small{--size: 44px;padding:7px;border-radius:10px}.die.selected{border-color:var(--accent);transform:translateY(-4px)}.die.kept{opacity:.5;cursor:default}.die.static{cursor:default}.pip{width:100%;height:100%;border-radius:50%;background:#0f172a;align-self:center;justify-self:center;max-width:12px;max-height:12px;margin:auto}.die[data-face="1"] .pip:nth-child(1){grid-area:2 / 2}.die[data-face="2"] .pip:nth-child(1){grid-area:1 / 1}.die[data-face="2"] .pip:nth-child(2){grid-area:3 / 3}.die[data-face="3"] .pip:nth-child(1){grid-area:1 / 1}.die[data-face="3"] .pip:nth-child(2){grid-area:2 / 2}.die[data-face="3"] .pip:nth-child(3){grid-area:3 / 3}.die[data-face="4"] .pip:nth-child(1){grid-area:1 / 1}.die[data-face="4"] .pip:nth-child(2){grid-area:1 / 3}.die[data-face="4"] .pip:nth-child(3){grid-area:3 / 1}.die[data-face="4"] .pip:nth-child(4){grid-area:3 / 3}.die[data-face="5"] .pip:nth-child(1){grid-area:1 / 1}.die[data-face="5"] .pip:nth-child(2){grid-area:1 / 3}.die[data-face="5"] .pip:nth-child(3){grid-area:2 / 2}.die[data-face="5"] .pip:nth-child(4){grid-area:3 / 1}.die[data-face="5"] .pip:nth-child(5){grid-area:3 / 3}.die[data-face="6"] .pip:nth-child(1){grid-area:1 / 1}.die[data-face="6"] .pip:nth-child(2){grid-area:1 / 3}.die[data-face="6"] .pip:nth-child(3){grid-area:2 / 1}.die[data-face="6"] .pip:nth-child(4){grid-area:2 / 3}.die[data-face="6"] .pip:nth-child(5){grid-area:3 / 1}.die[data-face="6"] .pip:nth-child(6){grid-area:3 / 3}.big-score{font-size:2.5rem;font-weight:800;text-align:center;color:var(--accent)}.breakdown{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.breakdown li{display:flex;justify-content:space-between;padding:8px 10px;background:var(--bg-elev-2);border-radius:8px}.breakdown li .pts{font-weight:700;color:var(--good)}.scoreboard{display:flex;flex-direction:column;gap:8px}.player-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px;background:var(--bg-elev-2);border:1px solid transparent}.player-row.active{border-color:var(--accent);background:#0b2c3b}.player-row .name{font-weight:600}.player-row .score{font-variant-numeric:tabular-nums;font-weight:700}.turn-banner{text-align:center;padding:10px;border-radius:10px;background:var(--bg-elev-2);min-height:20px}.turn-banner.bad{color:var(--bad)}.turn-banner.good{color:var(--good)}.turn-score{text-align:center;font-size:1.5rem;font-weight:800}.name-input{font:inherit;color:var(--text);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:10px;padding:12px;width:100%}.actions{display:flex;gap:10px}.actions button{flex:1}.win-overlay{text-align:center;padding:24px}.win-overlay .trophy{font-size:3rem}.home-logo{display:block;margin:8px auto 0;width:200px;height:auto;border-radius:24px}.join-code{font-size:3rem;font-weight:800;letter-spacing:.5rem;color:var(--accent);padding:8px 0;text-indent:.5rem}.code-input{text-transform:uppercase;letter-spacing:.4rem;text-align:center;font-size:1.5rem;font-weight:700}.install-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;font-weight:600}.install-body{padding-top:4px}.install-steps{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:8px;line-height:1.4}.install-steps li{color:var(--text)}.install-steps li.muted{color:var(--text-dim)}
