:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#0b0c0e;color:#eee9da}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 0,#35231c,transparent 65%),#0b0c0e}#shell{width:min(1440px,100%);padding:22px 32px}header,footer{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:10px;font-weight:bold;letter-spacing:2px;color:#9d988d}header{padding:0 0 18px}.brand{color:#b9b4a8;text-decoration:none}.brand span{color:#f47f43}.settings{display:flex;gap:8px}button{font:inherit;cursor:pointer;color:#e5ddcc;background:#202124;border:1px solid #585043;touch-action:none}button:hover{background:#493629;border-color:#e89858}button:focus-visible{outline:3px solid #ffd17c;outline-offset:4px}.settings button{font-size:10px;letter-spacing:1px;padding:8px 10px}.stage{position:relative;isolation:isolate;border:1px solid #514033;box-shadow:0 30px 100px #0009;background:#121519}canvas{display:block;width:100%;aspect-ratio:16/9}#overlay,#result{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:linear-gradient(90deg,#0b0e13df,#131418cf,#0b0e13df);padding:22px;z-index:2}#result[hidden],#overlay[hidden]{display:none}.eyebrow{font-size:10px;letter-spacing:4px;font-weight:800;color:#e4aa6b}h1{font-size:clamp(40px,7.3vw,104px);line-height:.82;letter-spacing:-5px;margin:22px 0 15px;font-weight:1000;transform:skew(-5deg);text-shadow:4px 4px #592e20}h1 span{color:#f28b4e}#intro{font-size:14px;line-height:1.6;color:#c4bfb3;margin:5px 0 18px}.instructions{display:flex;gap:23px;margin:8px 0 24px}.instructions div{display:grid;gap:8px}kbd{font-family:inherit;font-size:14px;font-weight:800;color:#fff0d1}.instructions span{font-size:8px;letter-spacing:1.5px;color:#b7a99a}#start,#restart{padding:17px 38px;background:#ec8a4d;color:#1b1310;font-size:12px;font-weight:900;letter-spacing:2px;border:1px solid #ffc07c;box-shadow:0 3px 0 #814524}#start:disabled{opacity:.5;cursor:wait}.hint{font-size:10px;line-height:1.7;color:#a59c8f;margin:16px 0 0}h2{font-size:clamp(30px,6vw,78px);letter-spacing:-3px;line-height:1;margin:20px 0;color:#ffc186}#result-copy{line-height:1.7;color:#c5b9a5;max-width:460px;margin:0 0 24px}footer{padding-top:17px;font-size:9px}footer b{color:#e88d4d;margin:0 10px}#touch{display:none;position:absolute;bottom:10px;left:12px;right:12px;justify-content:space-between;pointer-events:none;z-index:1}#touch div{display:flex;gap:6px}#touch button{width:48px;height:43px;font-size:10px;font-weight:bold;background:#15171ddd;pointer-events:auto;user-select:none;-webkit-user-select:none}@media(pointer:coarse){#touch{display:flex}}@media(max-width:700px){#shell{padding:10px 8px}header{padding-bottom:10px;letter-spacing:1px}.brand{font-size:8px}.settings{gap:4px}.settings button{font-size:8px;padding:7px 6px}footer{font-size:7px;letter-spacing:.5px}footer span:last-child{display:none}.eyebrow{font-size:7px;letter-spacing:2px}h1{font-size:44px;letter-spacing:-2px;margin:12px 0 6px}#intro{font-size:10px;margin:5px 0}.instructions{gap:12px;margin:10px 0}kbd{font-size:10px}.instructions span{font-size:6px;letter-spacing:.5px}#start,#restart{padding:11px 18px;font-size:9px}.hint{display:none}#result-copy{font-size:11px;margin-bottom:12px}h2{margin:10px 0}#overlay,#result{padding:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

@media(max-width:500px){#overlay{padding:8px}.eyebrow{font-size:6px;letter-spacing:1.5px}h1{font-size:34px;line-height:.9;margin:9px 0 5px}h1 br{display:none}h1 span{margin-left:6px}#intro{font-size:9px;line-height:1.35;margin:3px 0}.instructions{gap:11px;margin:9px 0}.instructions div{gap:4px}.instructions span{font-size:5.5px}#start{padding:9px 16px;font-size:8px}.settings button{font-size:7px;padding:6px 4px}.brand{font-size:7px}header{gap:6px}#touch{bottom:6px;left:6px;right:6px}#touch button{width:36px;height:33px;font-size:8px}#touch div{gap:4px}#result-copy{font-size:9px;line-height:1.4;margin-bottom:10px}#result h2{font-size:27px;letter-spacing:-1px}}
