:root{color:#244a50;font-synthesis:none;--ink:#244a50;--coral:#e96d5c;--cream:#fff9ec;background:#b9e6ec;font-family:Avenir Next,Avenir,Trebuchet MS,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:5px;outline:3px solid #de795b}button:disabled{cursor:default;opacity:.55}button{border:0}#app{height:100svh;min-height:550px;position:relative;overflow:hidden}#gameCanvas{outline:0;width:100%;height:100%;display:block}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 140px #31556113}.masthead{z-index:4;align-items:center;gap:16px;display:flex;position:absolute;top:30px;left:42px;right:42px}.brand{color:var(--ink);letter-spacing:1px;align-items:center;gap:8px;font-size:14px;font-weight:900;text-decoration:none;display:flex}.brand b{color:#657f79;font-weight:500}.brand-mark{background:var(--coral);color:#fff9ec;border-radius:8px;place-items:center;width:30px;height:30px;font-size:23px;display:inline-grid;transform:rotate(-6deg)}.edition{letter-spacing:2px;opacity:.65;margin-left:auto;font-size:9px;font-weight:800}.small-button{background:#fff9ec70;border:1px solid #244a5015;border-radius:20px;padding:8px 10px;font-size:10px;font-weight:800}.screen{z-index:3;position:absolute;inset:0}.screen[hidden],[hidden]{display:none!important}.menu{pointer-events:none;align-items:center;padding:80px 7vw 65px;display:flex}.menu-copy{pointer-events:auto;width:530px;max-width:51%}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:900;line-height:1.7}.eyebrow>span{vertical-align:middle;background:#e6855c;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}h1{letter-spacing:-4px;margin:23px 0;font-size:clamp(44px,5.5vw,82px);font-weight:900;line-height:1.02}h1 em{color:#e8755c;font-style:normal}p.intro{color:#547374;margin:0 0 26px;font-size:14px;line-height:1.85}.primary{background:var(--ink);color:var(--cream);border-radius:12px;align-items:center;gap:16px;padding:17px 22px;font-size:15px;font-weight:800;transition:transform .18s,background .18s;display:flex;box-shadow:0 6px #183e4430,0 12px 20px #254b4f16}.primary>span{color:#fed596;margin-left:auto;font-size:22px}.primary kbd{color:#d8e4dc;background:#ffffff16;border:0;margin-left:9px;font-size:9px}.primary:hover{background:#305c61;transform:translateY(-3px)}.primary:active{transform:translateY(1px)}kbd{background:#fffaf0aa;border:1px solid #244a5020;border-radius:5px;padding:4px 7px;font-family:inherit;font-size:10px;font-weight:800;display:inline-block}.menu-actions{gap:23px;margin:25px 0 27px;display:flex}.menu-actions button{background:0 0;align-items:center;gap:10px;padding:0;font-size:12px;font-weight:800;display:flex}.menu-actions button:hover{color:#d56a4c}.menu-actions span{border:1px solid #244a5025;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.upgrade-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff9ec8c;border:1px solid #ffffffb0;border-radius:13px;align-items:center;gap:11px;max-width:430px;padding:14px;display:flex;box-shadow:0 10px 30px #3e777509}.coin-icon{color:#e7ad48;font-size:23px}.upgrade-card b{font-size:11px;display:block}.upgrade-card small{color:#6b8580;margin-top:5px;font-size:9px;display:block}.upgrade-card button{background:#fff9ece8;border:1px solid #e1dccc;border-radius:8px;margin-left:auto;padding:9px 12px;font-size:10px;font-weight:900}.upgrade-card button span{color:#71847b;margin-top:4px;font-size:8px;display:block}.reset-button{opacity:.65;background:0 0;margin-top:15px;padding:0;font-size:9px}.reset-button kbd{margin-left:6px;padding:2px 5px;font-size:8px}.hero-caption{text-align:center;letter-spacing:2px;flex-direction:column;gap:8px;font-size:10px;display:flex;position:absolute;bottom:19%;right:18%}.hero-caption>span:last-child{letter-spacing:.3px;color:#608479;font-size:10px}.hero-line{background:#5b8e7950;width:1px;height:32px;margin:auto}.centered{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#173c482b;justify-content:center;align-items:center;padding:95px 24px 60px;display:flex}.dialog{width:430px;max-width:100%;color:var(--ink);background:#fff9edf2;border:1px solid #fffdf580;border-radius:22px;padding:36px;box-shadow:0 20px 80px #142c4933}.dialog h2{letter-spacing:-1.5px;margin:18px 0;font-size:36px;line-height:1.05}.dialog p{font-size:13px;line-height:1.7}.dialog label{margin:24px 0 8px;font-size:11px;font-weight:800;display:block}.dialog input{width:100%;color:var(--ink);letter-spacing:2px;background:#fffef8;border:1px solid #c8d6cd;border-radius:10px;padding:15px;font-weight:800}.dialog .primary{width:100%;margin-top:12px}.dialog .eyebrow{font-size:9px}.dialog small{font-size:10px;line-height:1.7;display:block}.error{color:#a84635;min-height:20px;margin:5px 0}.text-button{background:0 0;margin:19px auto 0;font-size:11px;font-weight:800;display:block}.text-button kbd{margin-left:6px}.death-dialog{text-align:center;width:370px}.death-dialog h2{color:#d66b59}.retry-bar{background:#d9ded2;border-radius:4px;height:4px;margin:24px 0 15px;overflow:hidden}.retry-bar span{transform-origin:0;background:#d98464;height:100%;animation:1.5s linear forwards retry;display:block}.win-dialog{text-align:center;background:#fff9edec}.victory-gold{background:#f7e8b6;border-radius:10px;padding:15px;font-size:18px;font-weight:900}.close-button{float:right;background:#e9eadd;border-radius:50%;width:30px;height:30px;font-size:23px}.help-grid{grid-template-columns:75px 1fr;align-items:center;gap:13px;margin:25px 0;font-size:12px;display:grid}.help-grid kbd{text-align:center}dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#173c4870}#hud{pointer-events:none;z-index:2;color:#244a50;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:92px;left:42px;right:42px}.world-label{background:#fff9edcf;border:1px solid #ffffff80;border-radius:13px;padding:14px 18px;box-shadow:0 8px 25px #173c4810}.world-label h2{letter-spacing:-.7px;margin:3px 0;font-size:22px}.world-label .eyebrow{letter-spacing:1.5px;font-size:8px}.world-label>span:last-child{color:#6d827a;font-size:9px}.hud-stats{background:#fff9ede6;border:1px solid #ffffff80;border-radius:13px;gap:0;padding:14px 5px;display:flex;box-shadow:0 8px 25px #173c4810}.hud-stats>div{border-right:1px solid #244a5015;align-items:center;gap:8px;padding:0 16px;display:flex}.hud-stats>div:last-child{border:0}.hud-stats small{letter-spacing:1px;font-size:7px;display:block}.hud-stats b{font-size:23px;line-height:1.3;display:block}.playing-help{white-space:nowrap;z-index:3;background:#fff9eddf;border:1px solid #ffffff80;border-radius:12px;align-items:center;gap:20px;padding:10px 14px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #244a5010}.playing-help span{align-items:center;gap:5px;font-size:10px;display:flex}.playing-help button{background:0 0;font-size:10px}#menuFooter{letter-spacing:1.6px;color:#608479;pointer-events:none;justify-content:space-between;font-size:8px;font-weight:800;display:flex;position:absolute;bottom:25px;left:42px;right:42px}#menuFooter i{vertical-align:middle;background:#60847960;width:35px;height:1px;margin:0 8px;display:inline-block}#toast{color:#fff9ed;z-index:8;opacity:0;pointer-events:none;text-align:center;background:#244a50;border-radius:12px;max-width:85%;padding:12px 20px;font-size:12px;transition:opacity .2s,transform .2s;position:absolute;bottom:88px;left:50%;transform:translate(-50%,15px)}#toast.visible{opacity:1;transform:translate(-50%)}#pickupLabels{pointer-events:none;z-index:2;position:absolute;inset:0}.pickup{color:#fff4af;text-shadow:0 2px 3px #714923;font-size:22px;font-weight:900;animation:.8s ease-out forwards pickup;position:absolute}#touchControls{z-index:4;pointer-events:none;gap:10px;display:flex;position:absolute;bottom:90px;left:20px;right:20px}#touchControls button{pointer-events:auto;touch-action:none;background:#fff9edce;border-radius:13px;width:47px;height:47px;font-size:23px;font-weight:900;box-shadow:0 3px #244a5030}#touchControls button:nth-child(3){margin-left:auto}.playing-help kbd{background:#ffffff80}.dark-world .brand,.dark-world .edition{color:#f9ecdb}.dark-world .brand b{color:#e5d9cf}.dark-world .small-button{color:#f9ecdb;background:#ffffff18}.dark-world .vignette{box-shadow:inset 0 0 160px #100e1f35}@keyframes pickup{to{opacity:0;transform:translateY(-60px)scale(.85)}}@keyframes retry{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (height<=700px) and (width>=760px){.menu{padding-top:65px}.menu-copy h1{margin:15px 0;font-size:58px}.menu-copy .intro{margin-bottom:18px}.menu-actions{margin:18px 0}.upgrade-card{padding:10px}.hero-caption{bottom:16%}.masthead{top:20px}#hud{top:72px}.dialog{padding:26px}.dialog h2{font-size:30px}}@media (width<=760px){#app{min-height:620px}.masthead{top:20px;left:20px;right:20px}.edition{display:none}.small-button{margin-left:auto}.brand{font-size:12px}.menu{background:linear-gradient(#0000 43%,#b9e6ecab 67%,#b9e6eceb 100%);align-items:flex-end;padding:310px 24px 65px}.menu-copy{text-align:center;width:100%;max-width:none}.menu-copy .eyebrow{font-size:8px}.menu h1{letter-spacing:-2px;margin:12px 0;font-size:42px}.intro{display:none}.menu .primary{margin:auto;padding:13px 19px;font-size:13px}.menu-actions{justify-content:center;margin:20px 0}.upgrade-card{text-align:left;margin:auto}.reset-button{margin-top:10px}.hero-caption{display:none}#menuFooter{font-size:7px;bottom:20px;left:20px;right:20px}#menuFooter>span:last-child{display:none}#hud{gap:8px;top:75px;left:16px;right:16px}.world-label{padding:10px 12px}.world-label h2{font-size:16px}.world-label .eyebrow{letter-spacing:1px;font-size:6px}.hud-stats{padding:10px 0}.hud-stats>div{padding:0 9px}.hud-stats small{letter-spacing:.3px;font-size:6px}.hud-stats b{font-size:17px}.hud-stats .coin-icon{display:none}.playing-help{gap:10px;padding:8px;font-size:9px;bottom:20px}.playing-help span{font-size:8px}.playing-help kbd{padding:3px 4px;font-size:8px}.dialog{padding:27px}.centered{padding-top:80px}.dialog h2{font-size:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.pickup{animation-duration:.1s}}@media (height<=600px) and (width>=761px){#app{min-height:0}.menu{padding:65px 7vw 45px}.menu-copy{max-height:calc(100svh - 105px);padding:5px 0;overflow-y:auto}.menu-copy h1{letter-spacing:-2px;margin:12px 0;font-size:42px}.menu-copy .intro{display:none}.menu-copy .eyebrow{font-size:8px}.menu-copy .primary{padding:13px 18px}.menu-actions{margin:18px 0}.hero-caption{bottom:13%}.centered{padding:65px 20px 20px}.dialog{max-height:calc(100svh - 100px);overflow-y:auto}#menuFooter{bottom:15px}}
