@font-face{font-family:'Lounge Condensed';src:url('assets/lounge-condensed.woff') format('woff');font-weight:500 900;font-display:swap}@font-face{font-family:'Lounge Sans';src:url('assets/lounge-sans.woff') format('woff');font-weight:400 700;font-display:swap}
:root{color-scheme:dark;--ink:#171324;--panel:#231c33;--pink:#ff6f9c;--cream:#f7e9cc;--gold:#ffc76a;--muted:#a59bb5}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 28%,#302039 0,#191423 58%);color:var(--cream);font:14px 'Lounge Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;font:inherit;border:0}button:focus-visible,a:focus-visible{outline:3px solid #6dd9c0;outline-offset:4px}header{height:98px;max-width:1320px;margin:auto;padding:0 48px;display:flex;align-items:center;border-bottom:1px solid #ffffff12;gap:28px}.brand{text-decoration:none;color:var(--cream);display:flex;gap:13px;align-items:center;font:800 20px/1 'Lounge Condensed',Impact,sans-serif;letter-spacing:.8px}.brand b{color:var(--pink)}.brand small{display:block;font:9px 'Lounge Sans',sans-serif;letter-spacing:1.7px;margin-top:7px;color:var(--muted)}.brand-mark{font:900 38px/1 Impact;color:var(--pink);transform:skew(-8deg);position:relative}.brand-mark span{font-size:14px;color:var(--gold);position:absolute;top:0;right:-6px}.edition{margin-left:auto;font-size:10px;letter-spacing:1.4px;color:#b6a7bc;display:flex;align-items:center;gap:9px}.edition i,.cabinet-foot i{width:5px;height:5px;background:var(--gold);display:inline-block;border-radius:50%}.edition span{margin:0 7px;color:#64556f}.icon-button{font-size:10px;letter-spacing:1px;background:#ffffff08;border:1px solid #ffffff20;padding:11px 13px;border-radius:4px}main{max-width:1200px;margin:auto;padding:0 48px}.game-top{display:flex;justify-content:space-between;align-items:end;padding:34px 0 25px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--gold)}h1{font:800 38px/.97 'Lounge Condensed',Impact,sans-serif;letter-spacing:-.4px;margin:9px 0 0}h1 em{font-style:normal;color:var(--pink)}.game-top p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 3px}.cabinet{border:1px solid #69516e;border-radius:8px;overflow:hidden;box-shadow:0 25px 70px #0006,0 0 0 7px #00000015;background:#211a30}.hud{height:83px;background:#251c32;display:flex;gap:30px;align-items:center;padding:12px 23px;border-bottom:2px solid #4e3458}.beer-stat{display:flex;align-items:center;gap:12px;min-width:138px}.beer-icon{font:40px Impact;color:var(--gold);text-shadow:2px 2px #a95344;transform:rotate(-8deg)}small{font-size:9px;letter-spacing:1.5px;color:var(--muted);display:block}.beer-stat strong{font:800 29px 'Lounge Condensed',Impact}.beer-stat strong span{font-size:21px;color:#9d88a8}.intox{max-width:350px;flex:1}.meter-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-bottom:7px}.meter-label b{color:var(--gold)}.meter{height:9px;border-radius:2px;background:#120e1b;position:relative;box-shadow:0 0 0 1px #5b4566}.peak-zone{position:absolute;left:25%;width:15%;height:100%;background:#6dd9c04d;border-left:1px solid #6dd9c0;border-right:1px solid #6dd9c0}#fill{position:absolute;height:100%;width:0;background:var(--pink);opacity:.7}#needle{position:absolute;left:0;top:-2px;width:3px;height:13px;background:var(--cream)}.meter-ticks{font-size:7px;display:flex;justify-content:space-between;letter-spacing:.7px;color:#9d88a8;margin-top:6px}.meter-ticks span:nth-child(2){color:#6dd9c0;margin-right:22%}.run-stat{margin-left:auto;text-align:right;min-width:130px}.run-stat strong{font:700 22px 'Lounge Condensed',Impact}.run-stat>span{display:block;font-size:8px;color:#9d88a8}.pause-btn{font-size:18px;background:#ffffff08;width:32px;height:32px;border:1px solid #ffffff18;border-radius:4px}.viewport{position:relative;aspect-ratio:16/9;background:#211a30;overflow:hidden}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;outline:none}.screen{position:absolute;inset:0;background:#181124aa}.screen[hidden],*[hidden]{display:none!important}.title-screen{position:absolute;inset:0;overflow:hidden;background:#251830}.title-art{position:absolute;inset:0;background:linear-gradient(90deg,#23192e 0%,#23192ef5 28%,#23192e40 65%,#23192e15),url('assets/lounge-art-complete.png') center right/cover;opacity:.95}.title-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17101f88,transparent 40%)}.title-content{position:relative;padding:6% 5%;width:70%;height:100%}.tag{font-size:9px;letter-spacing:1.4px;color:var(--gold);font-weight:700}h2{font:900 clamp(35px,5.4vw,69px)/.87 'Lounge Condensed',Impact,sans-serif;letter-spacing:-1.4px;margin:18px 0 12px;text-shadow:3px 4px #100c19}.title-content h2{transform:rotate(-3deg);position:relative;width:fit-content}h2 span{color:var(--pink)}h2 b{font-size:29px;color:var(--gold);position:absolute;top:4px;right:-36px}.title-content p{font-size:12px;line-height:1.6;color:#dbcbdc;margin-bottom:18px}.primary{font:800 15px 'Lounge Condensed',Impact;letter-spacing:1px;background:var(--gold);color:#281c2a;padding:13px 21px;border-radius:3px;box-shadow:0 3px 0 #a36e48;min-width:175px}.primary:hover{background:#ffdb98;transform:translateY(-1px)}.primary span{margin-left:28px}.secondary{display:block;background:none;font-size:9px;letter-spacing:1px;border-bottom:1px solid #ffffff44;padding:9px 0;margin-top:13px}.title-note{font-size:8px;letter-spacing:2px;color:#ba9ba9;margin-top:21px}.cabinet-foot{height:37px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:8px;letter-spacing:1px;background:#261d32}.cabinet-foot b{font-weight:500;margin-left:7px}.cabinet-foot button{background:none;font-size:9px;letter-spacing:1px;color:var(--muted)}#boost{color:#6dd9c0}.toast{pointer-events:none;position:absolute;bottom:12px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;padding:9px 14px;background:#171222e8;border:1px solid #8a6889;border-radius:3px;color:var(--cream);font-size:11px;text-align:center;opacity:0;transition:opacity .2s}.toast.show{opacity:1}.below{padding-top:22px}.control-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff12;padding-bottom:23px}.control-strip>div{display:flex;align-items:center;gap:4px}.control-strip span{font-size:8px;color:#b8a9bf;letter-spacing:.6px;margin-left:5px}kbd{padding:5px 6px;min-width:22px;text-align:center;border:1px solid #68536f;border-bottom:3px solid #68536f;border-radius:3px;font:9px 'Lounge Sans',sans-serif;color:#e9d8ea;background:#2d223a}.field-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:23px 0}.field-notes>div{display:flex;gap:10px}.note-number{color:var(--pink);font:600 16px 'Lounge Condensed',Impact}.field-notes p{font-size:10px;line-height:1.7;color:var(--muted);margin:0}.field-notes b{color:#dfcee1;font-weight:600}footer{display:flex;justify-content:space-between;align-items:center;padding:16px 0 26px;border-top:1px solid #ffffff12;font-size:8px;letter-spacing:1px;color:#8d7c99}footer b{color:var(--pink);margin:0 8px}footer button{background:none;color:#baa7c4;font-size:8px;letter-spacing:1px}.modal{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:22px;background:#1a1225f2}.modal h2{font-size:48px;color:var(--pink);margin:14px 0}.modal p{font-size:12px;line-height:1.7;max-width:440px;color:#cebbd4;margin:0 0 15px;white-space:pre-line}.modal .primary{margin-top:10px}#results{display:flex;gap:28px;font-size:10px;color:#bca5c6}#results b{display:block;font:800 28px 'Lounge Condensed',Impact;color:var(--gold)}.touch-controls{display:none;justify-content:space-between;margin-top:16px}.touch-controls>div{display:flex;gap:9px}.touch-controls button{touch-action:none;user-select:none;background:#3c2a46;border:1px solid #795a82;border-bottom:3px solid #795a82;min-width:48px;height:46px;border-radius:6px;font-size:10px;font-weight:700}.touch-controls button:active{background:#80536f}.cabinet:fullscreen{width:100vw;height:100dvh;border:0;display:flex;flex-direction:column;border-radius:0}.cabinet:fullscreen .viewport{flex:1;min-height:0;aspect-ratio:auto;display:flex;align-items:center;justify-content:center}.cabinet:fullscreen canvas{object-fit:contain}.cabinet:fullscreen .title-content{padding:5%}.cabinet:fullscreen h2{font-size:80px}@media(pointer:coarse){.touch-controls{display:flex}.control-strip{display:none}}@media(max-width:800px){header{padding:0 22px;height:76px}.edition{display:none}header .icon-button{margin-left:auto}main{padding:0 20px}.game-top{padding:26px 0 20px}h1{font-size:32px}.game-top p{font-size:10px}.hud{height:72px;gap:18px;padding:10px 14px}.run-stat{min-width:100px}.beer-stat{min-width:110px}.control-strip{flex-wrap:wrap;justify-content:center;gap:18px}.field-notes{gap:18px}.title-content h2{font-size:53px}.title-content{padding:5%}.title-note{display:none}.title-content p{font-size:10px;margin:10px 0}.primary{padding:10px 15px}.tag{font-size:8px}.title-content .secondary{font-size:8px;margin-top:8px}}@media(max-width:540px){header{padding:0 14px}.brand{font-size:17px}.brand small{font-size:7px}main{padding:0 10px}.game-top{padding:20px 3px 16px}.game-top p{display:none}h1{font-size:30px}.hud{gap:12px;padding:8px 10px;height:65px}.beer-stat{min-width:75px;gap:6px}.beer-icon{font-size:25px}.beer-stat small{font-size:6px;letter-spacing:1px}.beer-stat strong{font-size:23px}.beer-stat strong span{font-size:16px}.run-stat{min-width:54px}.run-stat small{font-size:6px;letter-spacing:.5px}.run-stat>span{display:none}.run-stat strong{font-size:20px}.pause-btn{width:26px;height:28px}.meter-label{font-size:6px;letter-spacing:.3px}.meter-ticks{font-size:5px;letter-spacing:.3px}.title-content h2{font-size:34px;margin:9px 0}.title-content{padding:5%;width:74%}.title-content p{font-size:8px;margin-bottom:10px}.title-content .primary{font-size:11px;min-width:125px;padding:8px 12px}.title-content .secondary{font-size:6px;padding:5px 0;margin-top:5px}.tag{font-size:6px}.title-content h2 b{font-size:20px;right:-23px}.cabinet-foot{font-size:6px;padding:0 8px;height:30px;letter-spacing:.4px}.cabinet-foot button{font-size:7px}#boost{font-size:6px}.field-notes{grid-template-columns:1fr;padding:20px 5px;gap:12px}.field-notes p{font-size:10px}footer{font-size:6px;padding:14px 5px}footer>span:nth-child(2){display:none}.modal h2{font-size:27px;margin:8px 0}.modal p{font-size:8px;margin-bottom:5px}.modal .eyebrow{font-size:7px}.modal .primary{font-size:11px;padding:8px 12px;margin-top:5px}.modal .secondary{font-size:8px;margin-top:5px}#results{font-size:8px;gap:18px}#results b{font-size:20px}.toast{font-size:8px;padding:6px 9px}}

.audio-settings{display:flex;align-items:center;gap:28px;padding:16px 2px 0;color:#a99bb2;font-size:9px;letter-spacing:1px}.audio-settings>button{background:none;text-align:left;padding:0;margin-right:auto;line-height:1.6}.audio-settings>button>span{font-size:7px;color:#ffce83;display:block}.audio-settings b{font-size:9px;color:#bfa8c5;font-weight:500;letter-spacing:1px}.audio-settings label{display:flex;align-items:center;gap:9px;font-size:8px}.audio-settings input{appearance:none;width:95px;height:3px;background:#60446a;border-radius:2px;accent-color:#ffc76a;cursor:pointer}.audio-settings input::-webkit-slider-thumb{appearance:none;background:#ffc76a;width:9px;height:9px;border-radius:50%}.audio-settings input::-moz-range-thumb{background:#ffc76a;border:0;width:9px;height:9px;border-radius:50%}.audio-settings output{font-size:8px;min-width:24px}#sound[aria-pressed=true]{border-color:#8ac7ad;color:#9ae7c4}@media(max-width:540px){.audio-settings{gap:12px;flex-wrap:wrap;padding:13px 5px 0}.audio-settings>button{width:100%;display:flex;align-items:center;justify-content:space-between}.audio-settings input{width:78px}.audio-settings label{flex:1;gap:7px}}

.level-actions{display:flex;gap:9px;flex-wrap:wrap}.level-actions .primary{min-width:135px;padding:11px 13px;font-size:13px}.level-actions .alternate{background:#f19ab8;box-shadow:0 3px 0 #a55a7e}.level-actions .alternate:hover{background:#ffb2cd}.modal #level-select{margin-top:8px;font-size:8px;padding:4px 0}.modal #results{gap:21px}.edition #level-edition{margin:0;color:#c9b9d2}@media(max-width:540px){.level-actions{gap:6px}.level-actions .primary{min-width:0;flex:1;font-size:9px;padding:8px 7px}.title-content p{display:none}.title-content h2{margin-bottom:13px}.modal #level-select{font-size:7px;margin-top:4px;padding:2px 0}.modal #results{gap:12px}}

.level-actions .library{background:#b7c9a3;box-shadow:0 3px 0 #6d8b75}.level-actions .library:hover{background:#d1e3bb}.modal h2{max-width:95%}.modal p{max-width:520px}

.modal{justify-content:flex-start;overflow-y:auto}.modal>*{flex-shrink:0}.modal:before,.modal:after{content:'';flex:1 0 0}

.level-actions .deadline{background:#d9b78e;box-shadow:0 3px 0 #92705a}.level-actions .deadline:hover{background:#efcfa5}@media(max-width:650px){.level-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.level-actions .primary{font-size:9px;padding:7px;min-width:0}.title-content h2{font-size:32px;margin:8px 0}.title-content p{display:none}.title-content .secondary{font-size:6px;padding:4px 0;margin-top:6px}}

.level-actions .meeting{background:#d4a6bf;box-shadow:0 3px 0 #8f607d}.level-actions .meeting:hover{background:#edbfd6}@media(max-width:650px){.level-actions{grid-template-columns:repeat(3,1fr)}.level-actions .primary{font-size:8px;padding:7px 5px}.title-content .tag{letter-spacing:.7px}}

.level-actions{max-width:540px}

.level-actions .finale{background:#a4d5d0;box-shadow:0 3px 0 #548e96}.level-actions .finale:hover{background:#c3eeea}


.ending-skip{position:absolute;z-index:4;right:12px;top:12px;padding:7px 9px;background:#463348dd;border:1px solid #9c7788;border-radius:3px;color:#ecd4b6;font-size:8px;letter-spacing:.5px}.ending-skip:disabled{opacity:.35;cursor:default}@media(max-width:540px){.ending-skip{right:5px;top:5px;font-size:5px;padding:4px}}

@media(pointer:coarse){.ending-skip{min-height:40px;min-width:110px;font-size:8px;padding:7px}}

/* Readable guidance and optional local tools. */
.play-guide{display:flex;align-items:center;gap:20px;padding:16px 18px;margin-top:18px;background:#252033;border:1px solid #665572;border-left:3px solid #8cdbc4;border-radius:5px}.play-guide>div{flex:1}.play-guide strong{font-size:12px;letter-spacing:1.3px;color:#f1d5a5}.play-guide p{font-size:13px;line-height:1.6;margin:6px 0 0;color:#e2d2df}.play-guide>b{max-width:245px;font-size:11px;line-height:1.6;color:#a6e5cc}.play-guide[data-tone="danger"]{border-left-color:#ff93b8}.play-guide[data-tone="warning"]{border-left-color:#ffe09c}.game-options,.records-panel{margin-top:16px;padding:15px 18px;border:1px solid #65516f;border-radius:5px;background:#231d30}.game-options summary,.records-panel summary{cursor:pointer;font-size:12px;letter-spacing:1px;color:#e7c6a4;min-height:30px;display:list-item;list-style-position:inside}.game-options p,.records-panel p{font-size:12px;color:#c6b1cd;line-height:1.6}.option-grid{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px 0}.option-grid label{display:flex;align-items:center;gap:8px;font-size:13px;min-height:40px}.option-grid input{accent-color:#8bdfc0;width:18px;height:18px}.key-bindings{display:flex;gap:8px;flex-wrap:wrap}.key-bindings button{background:#3b2b47;border:1px solid #8a7093;border-radius:4px;font-size:11px;padding:10px 12px;min-height:40px}.records-scroll{overflow-x:auto}.records-panel table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.records-panel th,.records-panel td{padding:11px 9px;border-bottom:1px solid #52405d;white-space:nowrap}.records-panel th{color:#ead2b2}.records-panel td{color:#cce5d9}.run-details{font-size:11px!important;line-height:1.7!important;color:#b8e3d0!important;margin:8px 0!important}button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #b5f1d8;outline-offset:3px}.large-text .toast{font-size:13px;line-height:1.5}.large-text .cabinet-foot{font-size:11px}.large-text .modal p{font-size:13px;line-height:1.65}.large-text .control-strip span{font-size:10px}.high-contrast .cabinet,.high-contrast .play-guide,.high-contrast .game-options,.high-contrast .records-panel{border-color:#cfebdf}.high-contrast .play-guide p,.high-contrast .field-notes p{color:#f8f0e6}.reduced-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}@media(max-width:700px){.play-guide{display:block;padding:13px 14px}.play-guide>b{display:block;max-width:none;margin-top:10px}.play-guide p{font-size:12px}.option-grid{display:grid;grid-template-columns:1fr}.large-text .toast{font-size:10px;padding:7px 10px;max-width:94%}.large-text .cabinet-foot{font-size:8px}.key-bindings button{flex:1 0 40%}.large-text .modal p{font-size:11px}.large-text .modal h2{font-size:22px}.touch-controls{position:relative;gap:8px;margin-top:10px}.touch-controls button{min-width:48px;min-height:44px}.records-panel th,.records-panel td{padding:9px 7px;font-size:10px}}

/* Keep the campaign start prominent while level selection is locked. */
.level-actions:has(#start-level2[hidden]){display:flex}
