:root{font-family:Arial,Helvetica,sans-serif;color:#e5e3d9;background:#151918;font-synthesis:none;--gold: #e8bb78;--muted: #858d86;--line: #353b35}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 45% 40%,#242a23 0,transparent 65%),#151918}button,a,input{-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}.site-shell{max-width:1320px;margin:auto;padding:0 54px}.site-header{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:11px;font-size:21px;letter-spacing:1px;font-weight:900}.wordmark b{color:var(--gold)}.wordmark small{display:block;font-size:8px;font-weight:500;letter-spacing:3px;margin-top:6px;color:#a3aaa1}.brand-mark{position:relative;background:var(--gold);color:#202722;font-size:34px;line-height:40px;width:43px;height:43px;text-align:center;font-style:italic;font-weight:900;border-radius:2px}.brand-mark span{position:absolute;right:-3px;bottom:-5px;font-size:11px;font-style:normal;background:#1b211c;color:var(--gold);line-height:16px;padding:0 3px}.edition{font:9px monospace;letter-spacing:1.3px;color:#b6b7a9;display:flex;align-items:center;gap:10px}.edition-year{color:#626e64}.status-dot,.cabinet-top i,.cabinet-bottom i{height:5px;width:5px;border-radius:50%;display:inline-block;background:#9bb882;box-shadow:0 0 8px #9bb88244}.top-button{border:1px solid #444b41;background:transparent;font-size:9px;letter-spacing:1px;padding:13px 17px}.top-button span{margin-left:22px;color:var(--gold)}.intro-line{display:flex;align-items:flex-end;justify-content:space-between;margin:35px 0 25px}.eyebrow{font:8px monospace;letter-spacing:1.5px;color:#b4a98b;margin:0 0 12px}h1{font-size:29px;letter-spacing:-1px;margin:0;font-weight:900}h1 span{color:var(--gold)}.genre-label{font:8px/1.9 monospace;text-align:right;letter-spacing:1.1px;color:#828c81}.genre-label b{font-weight:400;color:#bcbcad}.arcade{border:1px solid #595747;border-radius:5px;overflow:hidden;background:#111819;box-shadow:0 18px 70px #0005,0 0 0 5px #222821}.cabinet-top,.cabinet-bottom{display:flex;justify-content:space-between;align-items:center;padding:12px 17px;font:9px monospace;letter-spacing:1px;background:#242a25;color:#cccebb}.cabinet-top>span{display:flex;align-items:center;gap:9px}.cabinet-top b{font-weight:400;color:#8d9687}.cabinet-top>div{display:flex;gap:23px}.cabinet-top button{border:0;background:transparent;color:#b9bfab;font:12px monospace;padding:0}.cabinet-top button span{font-size:8px;margin-left:4px}.cabinet-top button:hover{color:#f2cd93}.screen{aspect-ratio:16/9;position:relative;background:#242630;container-type:inline-size;overflow:hidden}#game,#game canvas,#overlay,.scanlines{position:absolute;inset:0;width:100%;height:100%}#game canvas{image-rendering:pixelated;object-fit:contain;display:block}.scanlines{z-index:10;pointer-events:none;background:repeating-linear-gradient(0deg,#00000010 0px,#00000010 1px,transparent 1px,transparent 3px);opacity:.65;box-shadow:inset 0 0 60px #0003}#overlay{z-index:11;pointer-events:none}#overlay>*{pointer-events:auto}.cabinet-bottom{font-size:7px;padding:10px 17px;background:#1b211e;color:#929f8e}.cabinet-bottom>span:first-child{display:flex;gap:8px;align-items:center}.cabinet-bottom i{width:4px;height:4px}.cabinet-bottom b{margin:0 8px;color:#4d5b50}.control-strip{display:flex;align-items:center;justify-content:space-between;margin:25px 0 23px;gap:15px}.control-title{display:flex;gap:12px;align-items:center;color:#788773;font-size:8px;line-height:1.8;letter-spacing:1px;padding-right:24px;border-right:1px solid var(--line)}.control-title strong{color:#c5c9b5;font-weight:500}.tiny-cross{font-size:31px;color:#d2b680}.control-group{display:flex;align-items:center;gap:9px;font:7px monospace;letter-spacing:.7px;color:#a0aa98}kbd{display:inline-flex;width:29px;height:28px;align-items:center;justify-content:center;background:#2b322b;border:1px solid #56604d;border-bottom:3px solid #414c3d;border-radius:4px;font:12px monospace;color:#e3d0a7}.key-cluster{display:flex;flex-direction:column;align-items:center;gap:3px}.key-cluster kbd{width:18px;height:17px;font-size:9px;border-bottom-width:2px;border-radius:2px}.key-cluster>span{display:flex;gap:3px}.pad-label{display:flex;gap:9px;align-items:center;font:7px/1.7 monospace;letter-spacing:.5px;color:#7f8f7c}.pad-label>span{font-size:27px;color:#a5b495}.below-line{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;color:#78836f;font:8px monospace;letter-spacing:1px}.below-line p{margin:0;color:#b0b7a3}.below-line p span{color:#dbc396}footer{display:flex;justify-content:space-between;align-items:center;padding:38px 0 26px;font:7px monospace;letter-spacing:1px;color:#66715f}footer button{font:7px monospace;letter-spacing:1px;border:0;background:none;color:#939d83}.footer-dot{margin:0 10px}.menu{height:100%;padding:5.8cqw 5.5cqw;background:linear-gradient(90deg,#17232bf5 0%,#17232bdb 40%,#17232b40 66%,transparent);position:relative;color:#f3d9a5}.menu .overline{font:700 .8cqw monospace;letter-spacing:.22cqw;color:#d3b48b;margin-bottom:1.1cqw}.menu-logo{font-size:5.9cqw;line-height:.91;font-weight:950;letter-spacing:-.3cqw;text-shadow:.3cqw .3cqw #804e39,.4cqw .4cqw #1c2931;transform:skew(-5deg);width:max-content}.menu-logo span{display:block;color:#efba6c}.menu-edition{font:700 2cqw monospace;letter-spacing:.5cqw;margin:1.7cqw 0 .6cqw;color:#efb468}.menu-tagline{font:.85cqw monospace;color:#b9b7a2;margin:0 0 2.2cqw}.menu-options{display:flex;flex-direction:column;align-items:flex-start;gap:.5cqw}.menu-options button{border:0;background:none;font:700 1.13cqw monospace;letter-spacing:.08cqw;padding:.75cqw 1.3cqw;color:#d6d0b2;min-width:22cqw;text-align:left}.menu-options button:hover,.menu-options button.active{background:#edc47d;color:#202c30;box-shadow:.3cqw .3cqw #13212a}.menu-options button:before{content:" ";display:inline-block;width:1.6cqw}.menu-options button.active:before,.menu-options button:hover:before{content:"▸"}.menu-bottom{position:absolute;bottom:2.4cqw;left:6.5cqw;font:.65cqw monospace;color:#98aaa1;letter-spacing:.14cqw}.menu-stamp{position:absolute;right:4cqw;top:5cqw;border:1px solid #ecdbad80;color:#f3dcb6;font:.8cqw/1.6 monospace;text-align:center;padding:.7cqw 1.2cqw;background:#2c363950}.menu-stamp b{display:block;font-size:2cqw;letter-spacing:.3cqw}.screen-panel{background:#17242ded;width:100%;height:100%;padding:3.2cqw 5cqw;color:#ebd7af;display:flex;flex-direction:column;align-items:center;justify-content:center}.screen-panel h2{font-size:3cqw;letter-spacing:-.1cqw;margin:0 0 .8cqw}.screen-panel p{font:1.1cqw/1.7 monospace;color:#aeb9b1;margin:.5cqw 0 1.5cqw;text-align:center}.screen-eyebrow{font:.8cqw monospace;color:#dcae70;letter-spacing:.25cqw;margin-bottom:.8cqw}.screen-button{font:700 1cqw monospace;color:#253037;background:#ebc27e;border:1px solid #ebc27e;padding:1cqw 2cqw;box-shadow:.2cqw .2cqw #0005;letter-spacing:.05cqw}.screen-button:hover{background:#ffe0a0}.screen-button.secondary{background:transparent;color:#d9c49c;border-color:#63706d;box-shadow:none}.screen-actions{display:flex;gap:1cqw;margin-top:1.5cqw}.characters{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5cqw;width:100%;margin:1cqw 0}.character{border:1px solid #5b6769;background:#28393c8a;color:#dfd4b2;padding:1cqw 1.4cqw;position:relative;text-align:left;transition:background .1s}.character.selected,.character:hover{border-color:#e9ba74;background:#66553c60;box-shadow:inset 0 -.3cqw #e9ba74}.character img{image-rendering:pixelated;display:block;height:15cqw;width:14cqw;object-fit:contain;margin:auto}.character .role{font:.65cqw monospace;letter-spacing:.12cqw;color:#a3aea4}.character h3{font-size:2cqw;margin:.4cqw 0 .3cqw}.character .blurb{font:.7cqw monospace;display:block;color:#b6b9a5;margin-bottom:1cqw}.stat{display:flex;justify-content:space-between;font:.7cqw monospace;margin-top:.5cqw;color:#9daca2}.stat b{color:#e1b578;letter-spacing:.2cqw}.select-footer{display:flex;align-items:center;justify-content:space-between;width:100%;font:.8cqw monospace}.select-footer select{border:1px solid #69746c;background:#293a3b;padding:.5cqw;color:#e7d1aa;font:.8cqw monospace}.dialogue{position:absolute;bottom:3cqw;left:4cqw;right:4cqw;background:#19262df5;border:1px solid #8d866b;padding:2.2cqw;display:grid;grid-template-columns:13cqw 1fr;gap:2cqw;align-items:center}.dialogue img{width:13cqw;height:14cqw;object-fit:contain;image-rendering:pixelated;background:#3d4543;border:1px solid #7c8070}.dialogue h3{font:700 1.4cqw monospace;color:#e8b575;margin:0 0 1cqw}.dialogue p{font:1.5cqw/1.6 monospace;margin:0 0 1.5cqw;color:#e2dcc0}.story-top{position:absolute;top:4cqw;left:4cqw;font:1cqw monospace;letter-spacing:.3cqw;color:#f1d3a4;text-shadow:1px 1px #1d2633}.story-skip{position:absolute;top:3cqw;right:4cqw;font:.8cqw monospace;background:#243038bd;border:1px solid #9a9a7f;padding:.8cqw;color:#d9d5b9}.settings-row{display:flex;gap:3cqw;align-items:center;width:45cqw;font:1.2cqw monospace;margin:1.5cqw 0}.settings-row span{width:12cqw}.settings-row input{width:26cqw;accent-color:#e9bd77}.control-table{font:1.1cqw/2.2 monospace;width:70cqw;border-collapse:collapse;margin:1cqw}.control-table td,.control-table th{text-align:left;padding:.25cqw 1cqw;border-bottom:1px solid #52605980}.control-table th{color:#e4b77b}.control-table td{color:#c4c9b6}.record-row{display:flex;gap:5cqw;width:60cqw;justify-content:space-between;font:1.2cqw monospace;border-bottom:1px solid #4a5b56;padding:1cqw}.record-row b{color:#e9bf7d}.pause-panel{background:#111c25c9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.continue-number{font:700 8cqw monospace;color:#f0bc78;line-height:1.2}.bonus-overlay{position:absolute;top:9cqw;left:4cqw;right:4cqw;display:flex;justify-content:space-between;align-items:center;font:1.5cqw monospace;color:#ffe3ab;text-shadow:2px 2px #242b35}.bonus-overlay button{font:.8cqw monospace;background:#23323be0;border:1px solid #a4aa8b;color:#efdbb3;padding:.6cqw}.toast{position:absolute;bottom:4cqw;left:0;right:0;text-align:center;font:1.1cqw monospace;color:#f2d8a3;text-shadow:2px 2px #182732}body:has(.screen:fullscreen){background:#101717}.screen:fullscreen{width:100vw;height:100vh;aspect-ratio:16/9;background:#000}.screen:fullscreen #game canvas{object-fit:contain}button:disabled{opacity:.4;cursor:default}@media(min-width:1500px){.site-shell{max-width:1400px}.site-header{height:115px}.intro-line{margin:40px 0 28px}}@media(max-width:850px){.site-shell{padding:0 22px}.site-header{height:80px}.edition{display:none}.intro-line{margin-top:26px}.genre-label{display:none}h1{font-size:24px}.control-strip{gap:10px}.control-title,.pad-label{display:none}.below-line{font-size:7px}.cabinet-top>span b{display:none}.cabinet-top>div{gap:15px}}@media(max-width:560px){.site-shell{padding:0 12px}.wordmark{font-size:16px}.top-button{font-size:8px;padding:10px}.intro-line{margin:24px 0 18px}h1{font-size:22px}.eyebrow{font-size:6px;letter-spacing:.8px}.cabinet-top{padding:9px;font-size:8px}.cabinet-top button span{display:none}.cabinet-bottom{padding:8px;font-size:5px}.control-group{gap:4px;font-size:5px}kbd{width:23px;height:23px;font-size:11px}.below-line{font-size:6px;letter-spacing:.4px}.below-line>span{display:none}footer{font-size:5px;letter-spacing:0}footer button{font-size:5px}.screen{min-width:0}}.dialogue img{animation:portrait-breathe 1.8s steps(2,end) infinite}@keyframes portrait-breathe{50%{transform:translateY(-.2cqw)}}.cabinet-top button:disabled{opacity:.3;cursor:default}.screen:fullscreen{height:min(100vh,56.25vw);width:min(100vw,177.7778vh);margin:auto;container-type:inline-size}::backdrop{background:#080e12}.settings-row select{width:26cqw;font:1cqw monospace;padding:.65cqw;color:#e5c698;background:#26383d;border:1px solid #64756b}#touch-controls[hidden],#touch-rotate[hidden]{display:none}#touch-controls{position:absolute;inset:0;z-index:20;pointer-events:none;--touch-size:1;--touch-opacity:.7;user-select:none;-webkit-user-select:none}.touch-move{position:absolute;left:0;bottom:0;width:42%;height:62%;touch-action:none;pointer-events:auto}.move-hint{position:absolute;bottom:20px;left:30px;font:10px monospace;color:#d9d9b7;opacity:.45}.touch-stick{display:none;position:absolute;width:90px;height:90px;margin:-45px;border:2px solid #dfcf9b;border-radius:50%;background:#152b3c80;opacity:var(--touch-opacity);pointer-events:none}.touch-stick.active{display:block}.touch-stick i{position:absolute;width:38px;height:38px;left:24px;top:24px;border-radius:50%;background:#e2ce94b0}.touch-actions{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:calc(164px * var(--touch-size));height:calc(164px * var(--touch-size));display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:calc(8px * var(--touch-size));place-items:center}.touch-actions button{position:relative;width:calc(60px * var(--touch-size));height:calc(60px * var(--touch-size));border:2px solid #b6b89a;border-radius:50%;background:#233c48e8;color:#f3e3b7;font:700 12px monospace;pointer-events:auto;touch-action:none;opacity:var(--touch-opacity);padding:0;-webkit-touch-callout:none}.touch-actions [data-touch=attack]{width:calc(76px * var(--touch-size));height:calc(76px * var(--touch-size));grid-column:2;grid-row:2;background:#806448ee}.touch-actions [data-touch=jump]{grid-column:2;grid-row:1}.touch-actions [data-touch=special]{grid-column:1;grid-row:1;border-color:#c395a1}.touch-actions [data-touch=grab]{grid-column:1;grid-row:2}.touch-actions small{display:block;font:9px monospace;margin-top:3px}.touch-actions button.held{opacity:1;background:#b08d52;border-color:#fff0b2}.touch-actions button.ready{border-color:#a4e4a0;box-shadow:0 0 12px #91d78c70}.touch-actions button.unavailable{filter:grayscale(1);border-style:dashed}.touch-tools{position:absolute;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));display:flex;gap:8px}.touch-tools button{pointer-events:auto;touch-action:none;width:44px;height:44px;border:1px solid #b9bb98;border-radius:9px;background:#172e3ed9;color:#eddfb5;font-size:20px}.left-handed .touch-move{left:auto;right:0}.left-handed .touch-actions{right:auto;left:max(12px,env(safe-area-inset-left));transform:scaleX(-1)}.left-handed .touch-actions button{transform:scaleX(-1)}.touch-settings{max-width:min(420px,88vw);max-height:85dvh;overflow:auto;color:#eeddb6;background:#1c303b;border:1px solid #c4ac79;border-radius:14px;padding:20px;font:14px monospace}.touch-settings h2{font-size:17px}.touch-settings p{line-height:1.5;font-size:12px}.touch-settings label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}.touch-settings button{min-height:44px;padding:8px 25px;background:#dac38f;border:0;color:#24323c;font-weight:700}#touch-rotate{position:absolute;z-index:25;top:48px;left:8px;right:8px;padding:7px;text-align:center;font:12px monospace;color:#f3dfb6;background:#152a3ee8;pointer-events:none}@media(any-pointer:coarse){body.mobile-game{overflow:hidden;overscroll-behavior:none}body.mobile-game .screen{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;aspect-ratio:auto;margin:0;z-index:100;touch-action:none;background:#101b24}body.mobile-game #game,body.mobile-game #overlay,body.mobile-game .scanlines{width:min(100vw,177.7778dvh);height:min(100dvh,56.25vw);inset:50% auto auto 50%;transform:translate(-50%,-50%)}body.mobile-game #overlay{container-type:inline-size;overflow:auto}body.mobile-game .screen-button{min-height:44px;font-size:max(12px,1.5cqw)}body.mobile-game .screen-panel{overflow:auto;max-height:100%}}body.mobile-game .screen{--play-width:min( calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right)) ,calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 16 / 9));--play-height:calc(var(--play-width) * 9 / 16);--play-top:calc((100dvh - var(--play-height)) / 2)}body.mobile-game #game,body.mobile-game #overlay,body.mobile-game .scanlines,body.mobile-game #touch-controls{width:var(--play-width);height:var(--play-height);left:50%;top:var(--play-top);right:auto;bottom:auto;transform:translate(-50%)}body.mobile-game .touch-actions{right:8px;bottom:8px}body.mobile-game .left-handed .touch-actions{left:8px;right:auto}body.mobile-game .touch-tools{top:8px;right:8px}body.mobile-game .touch-move{width:45%}@media(orientation:portrait){body.mobile-game .screen{--play-width: calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right)) ;--play-top:clamp(85px,calc((100dvh - var(--play-height) - 220px) / 2),160px)}body.mobile-game #touch-controls{height:calc(var(--play-height) + 212px)}body.mobile-game .touch-actions{top:calc(var(--play-height) + 12px);bottom:auto}body.mobile-game .touch-move{top:calc(var(--play-height) + 8px);bottom:auto;height:196px}body.mobile-game .touch-tools{top:-54px}body.mobile-game #touch-rotate{top:12px;right:8px;left:8px}}.touch-guide{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;font:12px/1.5 monospace;color:#ded4b4}.touch-guide strong,.touch-guide small{grid-column:1/-1}.touch-guide strong{color:#e9c681;letter-spacing:1px}.touch-guide b{color:#e9c681}body.touch-device .control-strip{padding:18px 6px}body.touch-device .touch-manual{text-align:left;font:clamp(11px,2.8cqw,15px)/1.45 monospace}body.touch-device .touch-manual p{font:inherit;margin:8px 0}body.touch-device #overlay:has(.touch-manual){overflow:auto;pointer-events:auto;background:#172630f5}body.touch-device .screen-panel:has(.touch-manual){display:block;height:auto;min-height:100%;max-height:none;padding:14px}@media(orientation:landscape){body.mobile-game .touch-tools{right:calc(8px - max(0px,min(112px,calc((100vw - var(--play-width)) / 2))))}}
