:root{--ink:#101a2b;--paper:#f5f0e7;--navy:#112e46;--red:#d84b3e;--gold:#dcae42;--line:#d4c9b5;--muted:#6d746f;--green:#246b5a}*{box-sizing:border-box}body{margin:0;background:linear-gradient(125deg,#e6ddcb,#f7f4ee 40%,#dce7e3);color:var(--ink);font:16px/1.45 Georgia,serif}main{max-width:1200px;margin:auto;padding:32px 24px 50px}header,.scorebar,.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}h1,h2,p{margin:0}h1{font-size:clamp(2.5rem,6vw,4.8rem);line-height:.9;letter-spacing:-.07em}h2{font-size:1.25rem}.eyebrow{font:700 .72rem/1.1 Arial,sans-serif;letter-spacing:.15em;color:var(--red)}button{font:700 .85rem Arial,sans-serif;letter-spacing:.04em;border-radius:4px;padding:11px 14px;border:1px solid var(--navy);cursor:pointer;background:#fff;color:var(--navy)}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}.primary{margin-top:20px;background:var(--red);border-color:var(--red);color:#fff}.quiet{background:transparent}.scorebar{margin:32px 0 18px;padding:18px 22px;background:var(--navy);color:#fff;border-radius:5px}.scorebar>div{min-width:110px}.scorebar>div:last-child{text-align:right}.scorebar span{display:block;font:700 .66rem Arial,sans-serif;letter-spacing:.13em;color:#bcd0d4}.scorebar strong{font-size:2.25rem;line-height:1}.scorebar .center{text-align:center;flex:1}.scorebar .center strong{font-size:1rem;color:#f5d78b}.panel{background:rgba(255,253,248,.84);border:1px solid var(--line);border-radius:6px;padding:21px;box-shadow:0 8px 22px #493c2820}.panel-heading>p{max-width:570px;color:var(--muted);font-size:.94rem}.row-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:20px}.row-control{padding:12px;border:1px solid var(--line);border-radius:4px;background:#fff}.row-control h3{font:700 .72rem Arial,sans-serif;letter-spacing:.08em;margin:0 0 8px;color:var(--muted)}.dice{display:flex;gap:4px;flex-wrap:wrap;min-height:38px}.die{width:31px;height:31px;padding:0;display:grid;place-items:center;font:700 1rem Arial,sans-serif;border-color:#b9c2c5}.die.held{background:var(--gold);border-color:#987320}.row-control small{display:block;margin:8px 0;font:600 .72rem Arial,sans-serif;color:var(--muted)}.reroll{padding:7px 8px;font-size:.68rem;width:100%}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;margin-top:20px}.board-wrap{position:relative;padding:30px 18px;background:#1b3442;border-radius:6px}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.tile{aspect-ratio:1;border:0;border-radius:3px;background:#2e5363;color:#fff;font:700 clamp(1rem,3vw,1.7rem) Arial,sans-serif;position:relative;box-shadow:inset 0 -4px #163947}.tile.setup{background:#eee4d0;color:var(--navy);box-shadow:inset 0 -4px #c7b78f}.tile.open{background:#f5f0e7;color:var(--navy);box-shadow:inset 0 -4px #d6c8a4}.tile.hit-bomb,.tile.buried{background:#513b3c;color:#fff;box-shadow:none}.tile.selected{outline:3px solid var(--gold);outline-offset:2px}.tile .coin{position:absolute;bottom:8px;right:9px;font:700 .65rem Arial,sans-serif;color:inherit;opacity:.7}.side-label{font:700 .7rem Arial,sans-serif;letter-spacing:.1em;color:#d2e1dc}.side-label span{font-weight:400;letter-spacing:0;display:block;margin-top:3px;color:#a9c1c1}.home-side{position:absolute;top:8px;left:18px}.away-side{position:absolute;bottom:8px;left:18px}.log-panel{max-height:570px;overflow:auto}.log-panel ol{padding:0;margin:18px 0 0;list-style:none}.log-panel li{border-left:2px solid var(--line);padding:0 0 12px 10px;margin-bottom:12px;font-size:.91rem}.log-panel li:first-child{border-color:var(--red)}@media(max-width:800px){main{padding:22px 14px}.row-controls{grid-template-columns:1fr 1fr}.game-layout{grid-template-columns:1fr}.log-panel{max-height:250px}.scorebar{padding:14px}.scorebar strong{font-size:1.6rem}.scorebar .center{min-width:0}header{align-items:flex-start}.panel-heading{align-items:flex-start;flex-direction:column;gap:9px}}@media(max-width:440px){.row-controls{grid-template-columns:1fr}.board{gap:4px}.board-wrap{padding:28px 9px}.side-label{left:9px}}
