:root{color-scheme:dark;--cream:#fff1c6;--gold:#f4ce67;--ink:#2b3e23}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#29391d;color:var(--cream);font:14px/1.45 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background-image:radial-gradient(ellipse at 50% 30%,#64804455,transparent 70%),repeating-linear-gradient(0deg,transparent 0 77px,#131f1125 78px 80px),linear-gradient(90deg,#27371e,#40552c 50%,#27371e)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}header{max-width:1320px;margin:auto;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:20px}#brand{font:900 29px/1 Georgia,serif;letter-spacing:-1px;color:#d7e99c;text-decoration:none;text-shadow:0 3px 0 #17270d,2px 0 #17270d,-2px 0 #17270d}#brand i{font-size:22px;color:#f2d59b}#brand span{display:block;font:8px/2.8 sans-serif;letter-spacing:2px;color:#d0cf9c;text-shadow:none}nav{display:flex;gap:8px;align-items:center}nav button{border:2px solid #26351b;background:linear-gradient(#8d9a5b,#657744);color:#fff3c9;border-radius:7px;padding:8px 15px;font-size:12px;font-weight:800;box-shadow:0 3px 0 #1a2819}nav button:hover{filter:brightness(1.15)}#cacheStatus{font-size:10px;color:#c4cd9e;margin-right:10px}main{max-width:1320px;margin:auto;padding:0 20px 12px}#stage{position:relative;aspect-ratio:1200/760;width:min(100%,calc((100dvh - 156px)*1.578947));margin:auto;border:7px solid #897b4a;border-radius:15px;overflow:hidden;box-shadow:0 5px 0 #403b25,0 0 0 3px #25361d,0 20px 65px #101b1277;background:#83a744}canvas{width:100%;height:100%;display:block;touch-action:none;outline:0}#screen{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center}#screen>*{pointer-events:auto}.panel{background:linear-gradient(135deg,#f9efc8,#ded9ac);color:var(--ink);padding:25px;border:5px solid #687548;border-radius:15px;box-shadow:0 7px 0 #334127,0 15px 60px #13231888,inset 0 0 0 2px #fff4cd;text-align:center;width:min(570px,92%);max-height:94%;overflow:auto;animation:panel-in .28s ease-out}.panel.wide{width:min(880px,94%)}.panel h2{font:900 42px/1.05 Georgia,serif;margin:12px 0;color:#36552c;text-shadow:0 2px #fff9d5}.panel p{color:#647049;font-size:13px}.panel .over{font-size:9px;letter-spacing:2.5px;color:#887542;font-weight:800}.primary,.secondary{display:inline-block;border:2px solid #263e24;border-radius:8px;padding:11px 23px;font-weight:900;margin:5px;background:linear-gradient(#658343,#3f632d);color:#fff4ce;box-shadow:0 4px 0 #263d23;transition:transform .1s,filter .15s}.secondary{background:linear-gradient(#e4dba8,#c9bd88);color:#495237;border-color:#b4a975;box-shadow:0 4px 0 #afa375}.primary:hover,.secondary:hover{filter:brightness(1.12);transform:translateY(-1px)}button:active{transform:translateY(2px)}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.mode{background:linear-gradient(#d9d7b3,#bec59c);border:2px solid #8d9c71;border-radius:12px 12px 6px 6px;padding:12px 7px;color:#3a4c31;font-size:12px;font-weight:900;box-shadow:0 3px 0 #9da77c}.mode span{display:block;font-weight:normal;font-size:10px;margin-top:4px;color:#657149}.mode:hover{background:#cedb9c}.chapters,.options{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.chapter{border:2px solid #a7b181;border-radius:7px;background:#dbdbaf;padding:9px 13px;color:#3f5530;font-weight:bold}.chapter.active{background:#5b793c;color:#fff2c7;border-color:#354f2a}.options{margin:12px 0}.options button{font-size:11px;border:1px solid #b1b585;border-radius:6px;background:#e3dfb9;color:#53663c;padding:6px 11px}.seed-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin:14px 0}.seed-choice{border:2px solid #b8bd8f;background:linear-gradient(#f7edbf,#d4d7aa);color:#415931;border-radius:7px;padding:7px 3px;font-size:10px;box-shadow:0 2px #9ba57b}.seed-choice.selected{background:#b8d18c;border-color:#507b39;box-shadow:0 0 0 2px #f6ecb9 inset}.seed-choice:disabled,button:disabled{opacity:.45;cursor:default}.seed-choice strong{display:block;font-size:25px}.seed-choice small{display:block;color:#87703e}.hint{font-size:11px!important;line-height:1.6}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;text-align:left}.entry{padding:12px;background:#dce0b7;border:1px solid #b9c193;border-radius:7px;font-size:11px}.entry b{display:block;font-size:13px;margin-bottom:3px}.entry span{color:#667449}#toast{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:#fff1bc;background:#263f23f0;border:2px solid #b8bd77;border-radius:7px;padding:8px 16px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%;text-align:center}footer{display:flex;justify-content:space-between;margin:14px auto 0;max-width:1190px;font-size:10px;color:#c1c7a0;gap:15px}footer b{font-size:9px;letter-spacing:1px;color:#e8d49a;margin-right:10px}kbd{font:10px monospace;border:1px solid #8a987666;border-radius:3px;padding:2px 4px;margin-left:5px}.tribute{text-align:center;font-size:9px;color:#9daa87;margin:10px 0 0}button:focus-visible,a:focus-visible{outline:3px solid #e8b94a;outline-offset:3px}#stage:fullscreen{width:min(100vw,calc(100vh*1.578947));height:auto;max-height:100vh;margin:auto;border:0;border-radius:0}#stage::backdrop{background:#182713}@keyframes panel-in{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:800px){header{height:72px;padding:0 12px}#brand{font-size:22px}#brand span{font-size:6px;letter-spacing:1px}nav{gap:5px}nav button{padding:7px;font-size:10px}#cacheStatus{display:none}main{padding:0 8px 10px}#stage{border-width:4px;width:100%}.panel{padding:13px}.panel h2{font-size:29px}.panel p{font-size:11px}.modes{margin:9px 0;gap:5px}.mode{padding:8px 4px;font-size:10px}.primary,.secondary{padding:8px 13px;font-size:12px}.seed-grid{margin:8px 0;gap:3px}.seed-choice{padding:4px 1px;font-size:8px}.seed-choice strong{font-size:17px}.guide-grid{grid-template-columns:repeat(2,1fr)}footer{font-size:9px;flex-wrap:wrap}.tribute{font-size:8px}.options button{font-size:9px;padding:4px 7px}}@media(max-height:620px){header{height:55px}#stage{width:min(100%,calc((100dvh - 112px)*1.578947))}#brand{font-size:22px}#brand span{display:none}footer{margin-top:8px}.tribute{margin-top:5px}}
body[data-theme="halloween"]{background-color:#2b2235;background-image:radial-gradient(ellipse at 50% 30%,#71566355,transparent 65%),repeating-linear-gradient(0deg,transparent 0 77px,#1b152225 78px 80px),linear-gradient(90deg,#241e2d,#44354a 50%,#241e2d)}body[data-theme="halloween"] #brand{color:#edc06b;text-shadow:0 3px 0 #342036,2px 0 #342036,-2px 0 #342036}body[data-theme="halloween"] #stage{border-color:#8d744a;box-shadow:0 5px 0 #3c2d34,0 0 0 3px #352b3a,0 20px 65px #130d1988}body[data-theme="halloween"] .panel{border-color:#71607b;box-shadow:0 7px 0 #483951,0 15px 60px #1b132988,inset 0 0 0 2px #fff4cd}body[data-theme="halloween"] .panel .over{color:#9c663b}body[data-theme="halloween"] .primary{background:linear-gradient(#886098,#614574);border-color:#4a315c;box-shadow:0 4px 0 #42304f}body[data-theme="halloween"] nav button{background:linear-gradient(#8a6e89,#654c70);border-color:#3e2d48}body[data-theme="halloween"] .tribute{color:#b1a2b8}
/* A game cabinet, rather than a page around a small game. */
body{font-family:"Trebuchet MS","Arial Rounded MT Bold",sans-serif;display:flex;align-items:center;justify-content:center;min-height:100dvh}main{width:100%;max-width:1440px;padding:9px 12px 6px}#stage{width:min(100%,calc((100dvh - 77px)*1.578947));border-width:8px;box-shadow:0 5px 0 #302e19,0 0 0 3px #17270f,0 18px 60px #0008}footer{justify-content:center;align-items:center;gap:20px;margin-top:11px;font-size:9px}footer nav{gap:6px}footer nav button,footer #brand{font:800 10px "Trebuchet MS",sans-serif;padding:5px 11px;border-radius:5px;letter-spacing:0;text-shadow:none}footer #brand{color:#ecdeb5;background:#657347;text-decoration:none;border:2px solid #283b21;box-shadow:0 3px #1b2d19;white-space:nowrap}footer #cacheStatus{font-size:8px;margin:0}.tribute{font-size:8px;margin-top:8px}.panel{font-family:"Trebuchet MS","Arial Rounded MT Bold",sans-serif}.panel h2{font:900 35px/1.1 "Trebuchet MS","Arial Rounded MT Bold",sans-serif;letter-spacing:-1px}.panel.menu-panel{position:relative;width:min(540px,90%);border:0;background:linear-gradient(160deg,#d2d4a5f5,#abb78af2);box-shadow:0 7px 0 #657049,0 0 0 5px #5e7046,0 18px 70px #15230e99;border-radius:40px 40px 18px 18px;padding:22px 25px 18px}.menu-panel h2.game-logo{font:1000 43px/.9 "Arial Rounded MT Bold","Trebuchet MS",sans-serif;letter-spacing:-2px;color:#d3d5bc;text-shadow:2px 3px 0 #556043,0 5px 0 #3e4b34,-2px 0 #53613f,2px 0 #53613f;transform:rotate(-2deg);margin:8px 0 18px}.game-logo span{display:block;font-size:58px;color:#a7d65c;text-shadow:0 5px 0 #3e682e,-2px -1px #2e5224,2px -1px #2e5224;letter-spacing:-3px}.game-logo em{font-size:23px;vertical-align:middle;font-style:normal;color:#e6c580;letter-spacing:-2px}.menu-panel>.over{letter-spacing:1.5px;font-size:9px;color:#58653d}.menu-panel p{font-size:12px;color:#4e5e39;margin-bottom:14px}.menu-panel .modes{gap:9px}.menu-panel .mode{border-radius:20px 20px 6px 6px;background:linear-gradient(120deg,#bfc4a4,#929f80);color:#36482e;box-shadow:0 4px #778764;border:2px solid #73835d;text-shadow:0 1px #dce4c3;font-size:13px;min-height:67px}.menu-panel .mode span{font-size:9px;line-height:1.2;opacity:.85}.menu-panel .primary{font-size:17px;padding:10px 24px;text-shadow:0 2px #293c1b}.menu-panel .options button{background:#b4c28b;border-color:#859b62;font-size:10px;font-weight:800}.menu-panel .options{gap:5px}.menu-panel .over:last-child{font-size:8px}.panel .primary,.panel .secondary{font-family:"Trebuchet MS","Arial Rounded MT Bold",sans-serif}body[data-theme="halloween"] .menu-panel{background:linear-gradient(145deg,#d3caa3f5,#b8b290f5);box-shadow:0 7px 0 #63546b,0 0 0 5px #817187,0 18px 70px #170e2299}body[data-theme="halloween"] .game-logo span{color:#c3d765;text-shadow:0 5px 0 #536831,-2px -1px #344524,2px -1px #344524}body[data-theme="halloween"] .menu-panel .mode{background:linear-gradient(135deg,#bdb4c0,#928e9d);border-color:#7d738b;box-shadow:0 4px #6b6076;color:#343340;text-shadow:0 1px #d5cbd7}body[data-theme="halloween"] .menu-panel .options button{background:#c6baa3;border-color:#9b8c83;color:#655867}@media(max-width:800px){main{padding:7px 5px}.menu-panel h2.game-logo{font-size:30px}.game-logo span{font-size:42px}.panel.menu-panel{padding:13px 15px}.menu-panel .primary{font-size:13px}.menu-panel .mode{font-size:11px;min-height:52px}.menu-panel p{font-size:10px}.menu-panel .options button{font-size:8px;padding:4px 5px}footer{gap:8px;flex-wrap:wrap}footer>span:not(#cacheStatus){display:none}#stage{width:100%;border-width:4px}.tribute{font-size:7px}}@media(max-height:620px) and (min-width:801px){#stage{width:min(100%,calc((100dvh - 68px)*1.578947))}.menu-panel h2.game-logo{font-size:33px}.game-logo span{font-size:45px}.panel.menu-panel{padding:14px 20px}.menu-panel .mode{min-height:50px;padding:8px 5px}.menu-panel p{margin:6px 0}.menu-panel .modes{margin:12px 0}.menu-panel>.over{font-size:8px}}
.tribute a{color:inherit;text-decoration:underline;text-underline-offset:2px}
