:root{color-scheme:dark;--ink:#101d20;--paper:#eedcba;--gold:#d8b575;--muted:#8d9d98;--green:#91b6a2;--line:#3a4d4a;--red:#d88972}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 55% 36%,#263b3c 0,#142426 52%,#0d181b 100%);color:var(--paper);font-family:Georgia,'Times New Roman',serif;min-height:100dvh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{opacity:.38;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{touch-action:manipulation}.shell{max-width:1050px;padding:0 30px;margin:auto}.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);height:66px;gap:24px}.brand{text-decoration:none;font:bold 13px/1.2 'Courier New',monospace;letter-spacing:2px;color:var(--paper)}.brand span{display:block;font-size:9px;letter-spacing:4.2px;color:var(--gold);margin-top:3px}.edition,.eyebrow,.text-button,.cabinet-top,.hud-label,.status-line,footer,.hero-tag,.dialog-keys{font-family:'Courier New',monospace}.edition{font-size:10px;letter-spacing:1.3px;color:var(--muted)}.edition i{font-style:normal;color:var(--gold);margin-left:22px}.text-button{background:none;border:0;padding:8px 0;font-size:11px;color:#c4cec5}.text-button:hover{color:var(--gold)}.text-button span{margin-left:10px;border:1px solid var(--line);padding:2px 6px}.text-button kbd{margin-left:6px}main{display:flex;justify-content:center;align-items:center;gap:56px;padding:22px 0}.sidebar{width:230px;flex-shrink:0}.eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--gold);line-height:1.6}.title-block>.eyebrow{font-size:8px;letter-spacing:1.1px}h1{font-weight:900;font-size:64px;line-height:.85;letter-spacing:-3.5px;position:relative;margin:18px 0 16px;transform:rotate(-2deg);text-shadow:2px 3px #0e191c}h1 span{font-size:95px;color:var(--gold);letter-spacing:-4px}h1 b{font-size:28px;position:absolute;right:3px;bottom:3px;color:var(--gold)}.tagline{font-size:14px;line-height:1.6;color:#b7c1b4;margin:0}.tagline em{display:block;color:var(--paper);font-size:14px}.hero-picker{margin-top:25px}.portrait-stage{position:relative;height:180px;margin:2px 0 4px;background:radial-gradient(ellipse at 50% 55%,#45605260,transparent 65%)}#portrait{height:200px;width:193px;position:absolute;bottom:0;left:18px;z-index:1}.portrait-no{position:absolute;bottom:15px;left:0;color:#304643;font:italic 80px Georgia;z-index:0}.hero-switch{display:flex;align-items:center;justify-content:space-between;text-align:center;gap:5px}.hero-switch button{font:21px Georgia;border:1px solid #4b5c53;background:none;width:31px;height:30px;flex-shrink:0}.hero-switch button:hover{background:#b4a17e24}.hero-switch strong{display:block;font-size:22px}.hero-switch small{font-size:10px;color:#aab7aa;display:block;margin-top:4px}.hero-dots{display:flex;gap:8px;justify-content:center;margin:13px 0 18px}.hero-dots button{width:6px;height:6px;border:0;border-radius:50%;background:#516058;padding:0;outline-offset:5px}.hero-dots button[aria-pressed=true]{background:var(--gold)}.primary{width:100%;background:var(--gold);border:1px solid #ead5a7;color:#18272a;padding:12px 14px;text-align:left;font-weight:bold;font-size:16px;box-shadow:0 3px 0 #8e714a}.primary span{float:right}.primary:hover{background:#e6ca94}.side-actions{display:flex;justify-content:space-between;margin-top:8px}.brief{display:flex;gap:13px;align-items:center;margin-top:28px}.mini-rule{width:2px;height:54px;background:#6c795d}.brief p{font-style:italic;line-height:1.55;font-size:13px;color:var(--muted);margin:0}.brief strong{color:#c7c9b4;font-weight:normal}.cabinet{width:min(600px,calc((100dvh - 276px) * .82608696));min-width:365px;box-shadow:0 20px 60px #0005;border:1px solid #72857170;background:#142528}.cabinet-top{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:9px;letter-spacing:1px;color:#b2c4b5}.cabinet-top i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:5px}.cabinet-top i.active{background:#9ed4b8;box-shadow:0 0 6px #b8f5cc}.board-wrap{position:relative;background:#c2b696;border-block:1px solid #bda06a80}#board{display:block;width:100%;height:auto;aspect-ratio:19/23;outline-offset:-3px!important}.board-intro{position:absolute;inset:0;background:linear-gradient(#10252850,#0c1e20c9);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;text-shadow:0 3px 14px #000}.board-intro .intro-mark{font-size:27px;color:var(--gold)}.board-intro p{font-weight:bold;font-size:clamp(30px,3.7vw,50px);letter-spacing:-1px;line-height:1.02;margin:16px 0}.board-intro em{color:var(--gold)}.board-intro>span{font-size:17px;font-style:italic}.hud{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 8px;background:#122126;gap:10px}.hud-label{font-size:8px;letter-spacing:1.3px;color:#9aab9f}.combination{display:flex;align-items:center;gap:12px}#digits{display:flex;gap:5px}#digits span{width:26px;height:31px;display:grid;place-items:center;background:#263933;border:1px solid #546557;color:#9ba89c;font:bold 23px Georgia}#digits span.found{background:var(--gold);color:#203534;border-color:#f2db9b;animation:pop .35s}.lives{text-align:right}#hearts{font-size:22px;letter-spacing:3px;color:#d6856d;line-height:1.2}#hearts .spent{color:#3d4c47}.status-line{min-height:34px;padding:6px 12px 9px;font-size:10px;line-height:1.45;color:#b8c7b6;border-top:1px solid #3b4c4122}.countdown{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:#d2e6de;color:#173c3c;font:10px 'Courier New',monospace;padding:7px 12px;box-shadow:0 2px 15px #0005;white-space:nowrap}.countdown b{font-size:15px;margin-left:9px}footer{font-size:8px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#8fa393;border-top:1px solid var(--line);padding:13px 0;letter-spacing:.5px}footer i{color:var(--gold);padding:0 6px;font-style:normal}kbd{font:9px 'Courier New',monospace;display:inline-block;border:1px solid #5a6e60;padding:2px 4px;margin-right:2px;color:#cbd0bd}.footer-divider{margin:0 8px;color:#526b5d}.touch-controls{display:none}.touch-controls button{background:#263c3c;border:1px solid #80927a;width:48px;height:43px;font-size:23px;touch-action:none}dialog{border:1px solid #a18b61;background:#15282b;color:var(--paper);width:min(470px,92vw);padding:0;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#061518d6;backdrop-filter:blur(5px)}.dialog-inner{padding:30px}h2{font-size:34px;line-height:1.05;margin:13px 0 20px}.dialog-inner p{font-size:15px;color:#bcc9bb;line-height:1.65}.dialog-inner strong{color:var(--paper)}.dialog-inner ul{padding-left:20px;line-height:1.6;font-size:14px;color:#c0cdbd}.dialog-inner li{margin-bottom:10px}#dialogActions{display:flex;flex-direction:column;gap:9px;margin-top:22px}#dialogActions button{padding:12px 15px;border:1px solid #62745f;text-align:left;background:#263d39}#dialogActions button:first-child{background:var(--gold);color:var(--ink);border-color:var(--gold);font-weight:bold}#dialogActions button:focus{outline:2px solid #f0d49b;outline-offset:3px}.dialog-inner .dialog-keys{font-size:9px;color:#829786;margin:20px 0 0}.win-code{font:44px 'Courier New',monospace;letter-spacing:12px;color:var(--gold);padding:10px 0}.paused #board{filter:blur(3px)}[hidden]{display:none!important}@keyframes pop{from{transform:scale(1.35)}to{transform:scale(1)}}
@media(min-width:760px) and (max-height:820px){main{gap:40px;padding:16px 0}.title-block>.eyebrow{display:none}.hero-picker{margin-top:15px}.portrait-stage{height:140px}#portrait{height:165px;width:159px;left:35px}h1{font-size:53px}h1 span{font-size:79px}.tagline{font-size:12px}.brief{display:none}.cabinet{width:calc((100dvh - 250px) * .82608696)}.masthead{height:54px}.hero-dots{margin:9px 0 14px}}
@media(max-width:759px){.shell{padding:0 14px;max-width:560px}.masthead{height:49px;gap:10px}.edition{display:none}main{display:flex;flex-direction:column;gap:13px;padding:16px 0 10px}.sidebar{width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-items:center}.title-block{grid-row:1/3}.title-block>.eyebrow,.tagline,.portrait-stage,.hero-picker>.eyebrow,.hero-dots,.brief{display:none}h1{font-size:30px;margin:0}h1 span{font-size:47px;letter-spacing:-2px}h1 b{font-size:17px;right:auto;left:125px}.hero-picker{margin:0}.hero-switch strong{font-size:19px}.hero-switch small{display:none}.hero-switch button{width:25px;height:26px}.primary{margin-top:9px;font-size:13px;padding:9px;grid-column:2}.side-actions{grid-column:1/-1;margin-top:8px;justify-content:space-between}.cabinet{width:100%;min-width:0}.combination{gap:8px}.hud-label{font-size:7px}footer{font-size:7px;flex-wrap:wrap;justify-content:center;line-height:1.7}footer>span:last-child{display:none}.touch-controls{display:flex;justify-content:center;gap:8px;padding:0 0 18px}.status-line{min-height:38px}.hero-switch{gap:0}.board-intro p{font-size:40px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}

.status-line{font-size:11px}.text-button{font-size:12px}.dialog-inner .dialog-keys{font-size:11px}.hero-switch small{font-size:11px}
/* The Fatty Jack Affair: the same compact cabinet, five different jobs. */
h1{font-size:36px;line-height:1.05;letter-spacing:-1.5px;margin:10px 0 13px;white-space:nowrap}h1 small{display:block;font:11px 'Courier New',monospace;letter-spacing:5px;margin:0 0 5px 3px;color:var(--gold)}h1 span{display:block;font-size:60px;letter-spacing:-2px;line-height:.95}h1 b{font-size:22px;right:0;bottom:2px}.tagline{font-size:13px}.hero-picker{margin-top:18px}.portrait-stage{height:156px}#portrait{height:177px;width:171px;left:29px}.hero-dots{margin:10px 0 13px}.maze-picker{margin:16px 0}.maze-caption{display:flex;align-items:center;justify-content:space-between;gap:5px}.maze-caption .eyebrow{font-size:8px;letter-spacing:1px}.maze-caption small{font:9px 'Courier New',monospace;color:#a9b8aa}.maze-options{display:flex;gap:6px;margin:9px 0 6px}.maze-options button{flex:1;height:31px;border:1px solid #556b5c;background:#233835;color:#afc0ae;font:12px 'Courier New',monospace;position:relative}.maze-options button[aria-pressed=true]{background:var(--gold);color:#14252a;border-color:var(--gold)}.maze-options button.cleared::after{content:'✦';position:absolute;font-size:9px;right:1px;top:0;color:#cee3ba}.maze-options button.cleared[aria-pressed=true]::after{color:#33483b}#mazeName{font-size:12px;font-style:italic;color:#c6c8b8}#mazeNumber{color:var(--gold);margin-right:15px}.brief{display:none}
@media(min-width:760px) and (max-height:820px){h1{font-size:30px}h1 span{font-size:50px}h1 small{font-size:9px}.tagline{font-size:12px}.hero-picker{margin-top:12px}.portrait-stage{height:105px}#portrait{height:125px;width:120px;left:55px}.maze-picker{margin:12px 0}.hero-dots{margin:9px 0}.title-block>.eyebrow{display:none}}
@media(max-width:759px){h1{font-size:22px;letter-spacing:-1px;margin:0}h1 small{font-size:8px;letter-spacing:3px;margin-bottom:3px}h1 span{font-size:37px;letter-spacing:-1px}h1 b{font-size:14px;right:auto;left:145px}.hero-picker{margin-top:0}.maze-picker{grid-column:1/-1;margin:12px 0 0}.maze-caption{display:none}.maze-options{margin:3px 0 5px}.maze-options button{height:33px}#mazeName{text-align:center;font-size:11px}.side-actions{grid-row:4}.primary{grid-row:2}.portrait-stage{display:none}.hero-dots{display:none}.cabinet-top{font-size:8px}#mazeNumber{margin-right:8px}}


/* Keep on-screen movement available on smaller displays and touch tablets. */
@media(pointer:coarse),(max-width:900px){.touch-controls{display:flex;justify-content:center;gap:8px;padding:12px 0 18px}.touch-controls button{min-height:44px}}
