@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@600;800&family=Source+Sans+3:wght@400;600;700&display=swap');
@import url('./lobby-fix.css');
:root{--navy:#101c2b;--brown:#422f24;--paper:#e8d9b5;--gold:#c69a45;--ink:#201a15;--red:#a64332;--panel:#101c2bf0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(135deg,#101c2b,#3e2e25);background-size:7px 7px,auto;color:var(--paper);font:600 16px 'Source Sans 3',sans-serif;min-height:100vh}button,input,select{font:inherit}button,.lobby-button{background:var(--gold);border:1px solid #f3d590;border-radius:3px;color:#17130f;cursor:pointer;font-weight:800;padding:.58rem .85rem;text-decoration:none}button:hover:not(:disabled),.lobby-button:hover{filter:brightness(1.12)}button:disabled{cursor:not-allowed;opacity:.45}.quiet{background:transparent;color:var(--paper);border-color:var(--gold)}.hidden{display:none!important}.collection,.eyebrow{color:#d6ad5c;font-size:.75rem;letter-spacing:.14em;margin:0;text-transform:uppercase}.hub-link{border:1px solid var(--gold);color:var(--paper);display:inline-block;font-weight:800;margin:.7rem 0;padding:.48rem .72rem;text-decoration:none}.dice-lobby{margin:auto;max-width:1160px;padding:clamp(1.2rem,4vw,3.6rem) 1rem}.dice-lobby>header{border-bottom:4px solid var(--gold);margin-bottom:1.5rem;padding-bottom:1rem}.dice-lobby h1,.game-header h1{font:800 clamp(2.3rem,6vw,5rem) 'Roboto Slab',serif;line-height:.95;margin:.55rem 0;text-transform:uppercase}.lobby-deck{font-family:Georgia,serif;font-size:1.08rem;max-width:42rem}.lobby-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.lobby-card,.lobby-notice{background:var(--panel);border:1px solid #c69a45a6;box-shadow:5px 6px 0 #0005;padding:1.15rem}.lobby-card h2{font:800 1.2rem 'Roboto Slab',serif;margin:.25rem 0 .7rem}.lobby-card>strong{color:#f4d58d;display:block;font:800 1.7rem 'Roboto Slab',serif}.lobby-card label{display:block;margin:.75rem 0 .2rem}.lobby-card input,.lobby-card select{background:#f3e7c8;border:1px solid var(--gold);color:var(--ink);padding:.55rem;width:100%}.lobby-card small{color:#d9c89e;display:block;margin:.45rem 0}.name-inputs{display:grid;gap:.35rem;margin:.55rem 0}.message{color:#ffd27c;min-height:1.2rem}.live-tables{min-height:2rem}.lobby-notice{border-left:5px solid var(--red);font-family:Georgia,serif;line-height:1.6;margin-top:1rem}.content{display:grid;gap:1rem;grid-template-areas:'header header' 'stage hud' 'stage bet' 'stage players' 'history history' 'controls controls' 'how how' 'footer footer';grid-template-columns:minmax(0,1fr) minmax(260px,340px);margin:auto;max-width:1440px;padding:1rem;position:relative}.content>*{min-width:0}.content canvas{background:radial-gradient(circle,#483522,#121c28);border:1px solid #c69a4577;display:block;grid-area:stage;height:min(68vh,760px)!important;position:relative!important;width:100%!important}.game-header{grid-area:header}.game-header h1{font-size:clamp(1.35rem,3vw,2.2rem);margin:.2rem 0}.hud{background:var(--panel);border:1px solid #c69a45a6;display:grid;gap:.55rem;grid-area:hud;grid-template-columns:1fr 1fr;padding:.8rem}.shooter-card,.status,.point-strip{grid-column:1/-1}.shooter-card span,.readout span{color:#d6c08b;display:block;font-size:.74rem;text-transform:uppercase}.shooter-card strong{font-size:1.3rem}.point-strip{display:flex;justify-content:space-between}.point-strip span{border:1px solid #c69a4577;padding:.22rem .42rem}.point-strip .active,.bet-side.selected{background:var(--red);color:#fff}.status{color:#ffdc91;margin:0}.bet-panel,.players-panel,.history-panel,.ui-controls,.how-to,footer{background:var(--panel);border:1px solid #c69a45a6;padding:.8rem}.bet-panel{grid-area:bet}.players-panel{grid-area:players}.history-panel{grid-area:history;max-height:17rem;overflow:auto}.ui-controls{display:flex;gap:.5rem;grid-area:controls;justify-content:center}.ui-controls #roll-btn{background:var(--red);color:#fff}.how-to{grid-area:how}.how-to summary{color:#f2d891;cursor:pointer}.how-to p{line-height:1.4}.bet-panel h2,.players-panel h2,.history-panel h2{font:800 1rem 'Roboto Slab',serif;margin:0 0 .5rem}.bet-sides,.quick-bets{display:flex;flex-wrap:wrap;gap:.35rem}.bet-side{flex:1}.quick-bets button{padding:.32rem .5rem}.bet-panel label{display:block;margin:.55rem 0 .2rem}.bet-panel input{background:#f3e7c8;border:1px solid var(--gold);color:var(--ink);padding:.5rem;width:100%}.player-row{border-top:1px solid #c69a4533;display:grid;gap:.35rem;grid-template-columns:minmax(70px,1fr) repeat(3,auto);padding:.32rem}.player-row.shooter{background:#c69a4530}.player-row small{color:#d9c89e}footer{font-size:.75rem;grid-area:footer;text-align:center}@media(max-width:800px){.lobby-grid{grid-template-columns:1fr}.content{grid-template-areas:'header' 'stage' 'hud' 'bet' 'players' 'history' 'controls' 'how' 'footer';grid-template-columns:1fr;padding:.6rem}.content canvas{height:min(58vh,480px)!important}.hud{grid-template-columns:1fr 1fr}.player-row{grid-template-columns:1fr auto}.player-row small:last-child{display:none}.game-header h1{font-size:1.3rem}.history-panel{max-height:14rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(min-width:801px){.dice-lobby .lobby-grid{grid-template-areas:'account account' 'art table' 'live live';grid-template-columns:minmax(0,1fr) minmax(20rem,1fr)}.dice-lobby .account-card{grid-area:account}.dice-lobby .table-card{grid-area:table}.dice-lobby .live-card{grid-area:live}}
