:root{color-scheme:dark;font-family:'Courier New',monospace;background:#080808;color:#f2f1e9}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:30px 32px 20px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{font-size:28px;letter-spacing:6px;margin:0 0 5px;font-weight:900}.edition{font-size:10px;letter-spacing:3px;color:#999}button{font:700 11px 'Courier New',monospace;letter-spacing:1px;color:inherit;border:1px solid #52524d;background:transparent;padding:11px 15px;cursor:pointer}button:hover{background:#f2f1e9;color:#080808}button:focus-visible,summary:focus-visible{outline:2px solid white;outline-offset:4px}.cabinet{position:relative;border:1px solid #33332f;background:black;padding:0 12px 10px}.labels{height:35px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#aaa;padding:0 8px}.labels span:nth-child(2){color:#65655f}canvas{display:block;width:100%;height:auto;touch-action:none;outline:none;cursor:ns-resize}#overlay{position:absolute;inset:35px 12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000c;text-align:center}#overlay.hidden{display:none}h2{font-size:clamp(20px,4vw,44px);letter-spacing:4px;line-height:1.25;margin:0 0 14px}#subline{color:#aaa;font-size:12px;line-height:1.6;padding:0 15px}#play{background:#f2f1e9;color:black;font-size:14px;padding:14px 38px;margin-top:12px}.status{display:flex;align-items:center;gap:8px;min-height:64px}#message{flex:1;font-size:12px;color:#aaa;line-height:1.5}.status button{border:0;color:#aaa;padding-right:0;margin-left:10px;font-size:10px}.controls{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #353530;border-bottom:1px solid #353530;gap:35px;padding:22px 0}.controls label{font-size:11px;letter-spacing:2px}.controls output{float:right;color:#96968e;letter-spacing:1px}input{width:100%;margin:18px 0 0;accent-color:#e6e6dc;cursor:pointer}details{margin-top:24px;font-size:11px;color:#aaa;line-height:1.8}summary{cursor:pointer;letter-spacing:2px;list-style:none;display:flex;justify-content:space-between}.rules{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding-top:10px}.rules b{color:#f2f1e9}footer{font-size:9px;letter-spacing:2px;text-align:center;color:#555;padding-top:30px}@media(max-width:600px){main{padding:20px 14px}header{margin-bottom:20px}h1{font-size:20px;letter-spacing:3px}.edition{font-size:8px;letter-spacing:2px}header button{padding:9px;font-size:9px}.cabinet{padding:0 5px 5px}.labels{font-size:8px;height:30px;letter-spacing:1px}#overlay{inset:30px 5px 5px}#subline{font-size:10px}#play{margin-top:0;padding:10px 30px}h2{margin-bottom:0}.controls{gap:15px;padding:20px 0}.controls label{font-size:9px;letter-spacing:1px}.controls output{font-size:8px}.status{flex-wrap:wrap;padding:12px 0}#message{flex-basis:100%;font-size:11px}.status button{margin:0 12px 0 0;padding:6px 0}.rules{grid-template-columns:1fr}}
.modes{display:flex;gap:6px;margin:0 0 20px}.modes a{flex:1;text-align:center;text-decoration:none;font-size:11px;letter-spacing:1.5px;color:#92928b;padding:13px 8px;border:1px solid #353530}.modes a[aria-current]{color:#f2f1e9;border-color:#ddd;background:#171713}.modes a:hover{color:white;border-color:#aaa}.solo .cabinet{max-width:570px;margin:auto}.solo .labels{letter-spacing:1px}.solo #overlay{background:#000d}.solo .status,.solo .controls,.solo details{max-width:740px;margin-left:auto;margin-right:auto}.solo canvas{max-height:72vh;width:100%;object-fit:contain}.solo .cabinet{width:min(100%,calc(72vh * .721 + 24px))}.solo #headline{font-size:clamp(18px,3vw,30px)}.solo #subline{max-width:280px}.solo #drinkBanner{position:absolute;left:0;right:0;top:51%;pointer-events:none;text-align:center;font-size:clamp(22px,4vw,40px);font-weight:bold;letter-spacing:5px;color:#d6a52b;text-shadow:0 2px 8px #000;opacity:0;transition:opacity .15s}.solo #drinkBanner.show{opacity:1}@media(max-width:600px){.modes a{font-size:9px;letter-spacing:.8px}.solo .cabinet{width:min(100%,calc(72vh * .721 + 10px))}}
