:root{color:#263237;font-synthesis:none;--ink:#263237;--lime:#c9f66f;--pink:#ee6c9b;--paper:#f6f3e9;--mono:"DM Mono", monospace;--display:"Barlow Condensed", "Arial Narrow", Impact, sans-serif;background:#f3f1e8;font-family:DM Sans,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #c85585}button{border-radius:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#app{flex-direction:column;height:100dvh;min-height:650px;display:flex}.masthead{background:var(--paper);z-index:2;border-bottom:1px solid #26323726;justify-content:space-between;align-items:center;gap:24px;height:85px;min-height:85px;padding:0 32px;display:flex}.brand{font:600 13px var(--mono);letter-spacing:1.2px;align-items:center;gap:12px;display:flex}.brand-symbol{font:900 41px var(--display);letter-spacing:-3px;border:2px solid var(--ink);width:43px;height:43px;padding-left:5px;line-height:1;display:block;position:relative}.brand-symbol span{font:20px var(--display);position:absolute;bottom:0;right:1px}.brand small{font:8px var(--mono);letter-spacing:.6px;margin-top:6px;display:block}.edition{font:9px var(--mono);letter-spacing:.5px;align-items:center;gap:10px;display:flex}.live-dot{background:#de7586;border-radius:100%;width:6px;height:6px;box-shadow:0 0 0 3px #de75861a}.edition-divider{color:#b6b9af;margin:0 8px}.header-actions{align-items:center;gap:17px;display:flex}.text-button{font:10px var(--mono);color:var(--ink);letter-spacing:.5px;background:0 0;border:0;padding:9px 0}.text-button span{margin-left:7px}.icon-button{width:31px;height:31px;color:var(--ink);background:0 0;border:1px solid #26323735;place-items:center;font-size:20px;display:grid}.icon-button[aria-pressed=true]{background:var(--pink)}.stage{isolation:isolate;background:#c2cbc3;flex:1;min-height:500px;position:relative;overflow:hidden}.game-frame{background:#9caeaa;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.game-frame:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #314a4933}#game{justify-content:center;align-items:center;width:100%;height:100%;display:flex}#game canvas{image-rendering:pixelated;image-rendering:crisp-edges;cursor:crosshair;touch-action:none;display:block}.scanlines{pointer-events:none;opacity:.035;background:repeating-linear-gradient(#0000 0 3px,#304642 3px 4px);position:absolute;inset:0}.intro-panel{background:var(--paper);border:1px solid #fff9;width:360px;max-width:42%;padding:25px 29px 17px;position:absolute;top:50%;left:4.2%;transform:translateY(-50%);box-shadow:7px 8px #263b3629}.eyebrow{font:9px var(--mono);letter-spacing:1px;align-items:center;gap:8px;display:flex}.small-square{background:#e76d91;width:6px;height:6px;display:inline-block}.intro-panel h1{font:900 clamp(88px, 9.8vw, 148px) / .82 var(--display);letter-spacing:-5px;margin:16px 0 0}.title-period{color:#e17092}.title-caption{font:11px var(--mono);letter-spacing:4px;border-bottom:1px solid #26323733;justify-content:space-between;align-items:center;padding:6px 0 15px;display:flex}.friday-stamp{font:600 9px/1.3 var(--mono);letter-spacing:.5px;border:1px solid var(--ink);background:var(--lime);margin-top:-30px;padding:5px 8px;display:block;transform:rotate(8deg)}.intro-panel h2{letter-spacing:-.8px;margin:19px 0 11px;font:800 23px/1.12 DM Sans,sans-serif}.intro-panel p{color:#65716e;margin:0 0 11px;font-size:11px;line-height:1.6}.intro-panel .mission-rule{color:var(--ink);font-size:12px;line-height:1.5}.mission-rule strong{background:var(--lime);padding:1px 3px}.mission-select{border-top:1px solid #26323726;justify-content:space-between;align-items:center;padding:11px 0;display:flex}.mission-select label,.seed-row label{font:8px var(--mono);letter-spacing:.7px;color:#6c7972}.mission-select select{color:var(--ink);max-width:200px;font:10px var(--mono);background:0 0;border:0;padding:4px 0}.primary-button{background:var(--lime);border:1px solid var(--ink);width:100%;color:var(--ink);font:700 13px var(--mono);letter-spacing:1px;box-shadow:3px 3px 0 var(--ink);justify-content:space-between;align-items:center;padding:15px 18px;transition:transform .15s,box-shadow .15s;display:flex}.primary-button:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.primary-button span{font-size:21px;line-height:.8}.play-caption{font:6px var(--mono);color:#7c867c;justify-content:space-between;margin:11px 0 14px;display:flex}.seed-row{border-top:1px solid #26323720;align-items:center;gap:12px;padding-top:10px;display:flex}.seed-row input{width:100%;min-width:0;font:9px var(--mono);color:#75816f;background:0 0;border:0}.seed-row label{white-space:nowrap}.seed-row button{color:#6d7c6d;background:0 0;border:0;padding:0;font-size:18px;line-height:12px}.preview-note{font:11px/1.8 var(--mono);color:var(--ink);text-align:right;pointer-events:none;position:absolute;bottom:7%;right:4%}.preview-note>.small-square{margin-right:5px}.preview-note strong{font-weight:500}.preview-note small{letter-spacing:1px;font-size:7px}.note-line{background:#26323750;height:1px;margin:10px 0 7px 70px;display:block}.preview-label{font:8px var(--mono);letter-spacing:1px;background:var(--paper);border:1px solid #26323722;padding:10px 13px;position:absolute;top:23px;right:25px}.preview-label span{color:#869083;margin-left:20px;font-size:7px}.footer{background:var(--paper);height:55px;min-height:55px;font:8px var(--mono);letter-spacing:.5px;border-top:1px solid #26323726;justify-content:space-between;align-items:center;gap:24px;padding:0 32px;display:flex}.control-hints{align-items:center;gap:23px;display:flex}.control-hints>span{align-items:center;gap:8px;display:flex}kbd{font:8px var(--mono);white-space:nowrap;background:#fff5;border:1px solid #26323738;padding:3px 5px}.mouse-icon{font-size:17px}.footer-note{white-space:nowrap;font-size:7px}.footer-note span{color:#819080}.footer-note i{color:#8e978b;margin-left:24px;font-style:normal}.loading{background:var(--paper);text-align:center;font:15px var(--mono);z-index:20;letter-spacing:2px;place-content:center;display:grid;position:absolute;inset:0}.loading span{letter-spacing:0;color:#75816f;margin-top:10px;font-size:10px}.hud{pointer-events:none;font:9px var(--mono);color:var(--ink);justify-content:space-between;align-items:flex-start;display:flex;position:absolute;inset:15px 21px auto}.hud>div{background:#f6f3e9ee;border:1px solid #788c7c55;min-width:165px;padding:13px 15px;box-shadow:3px 3px #26323715}.hud-left>span{letter-spacing:1px;font-size:8px}.hud-clock{text-align:center;min-width:250px!important}.hud-clock>span{letter-spacing:1px;font-size:8px;display:block}.hud-clock strong{font:800 clamp(30px, 3vw, 48px) / 1.2 var(--display);letter-spacing:3px;margin:3px 0;display:block}.hud-clock.overtime{background:#d2f3a9f2;border-color:#7f9c67}.hud-score{text-align:right}.hud-score>span{font-size:8px;display:block}.hud-score>strong{font:500 23px var(--mono);letter-spacing:1px;margin:5px 0;display:block}.hud-score .text-button{pointer-events:auto;padding:8px 0 0;font-size:8px}#health{gap:4px;margin:10px 0 12px;display:flex}#health i{background:#d9748d;border:1px solid #a65870;width:23px;height:8px;display:block}#health i.empty{background:#dbdcd0;border-color:#b4bca9}.weapon-line{justify-content:space-between;font-size:8px;display:flex}.weapon-line b{font-weight:500}.reload-track{background:#d5dac8;height:2px;margin-top:5px}.reload-track i{background:#b67790;width:0;height:100%;display:block}.boss-remark{pointer-events:none;text-align:center;background:#f6f3e9e6;border:1px solid #bdc6b7;max-width:250px;padding:8px 14px;position:absolute;top:150px;left:50%;transform:translate(-50%);box-shadow:2px 2px #26323710}.boss-remark span{color:#b16a86;font:6px var(--mono);letter-spacing:2px}.boss-remark p{font:9px var(--mono);margin:5px 0 2px}.notice{background:var(--lime);border:2px solid var(--ink);font:800 28px var(--display);letter-spacing:1px;white-space:nowrap;box-shadow:5px 5px 0 var(--ink);pointer-events:none;padding:16px 28px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.exit-status{font:8px var(--mono);pointer-events:none;white-space:nowrap;background:#f6f3e9e8;border:1px solid #26323735;padding:7px 13px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.exit-status.open{background:var(--lime);color:#3b5838}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#263a3599;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.modal{background:var(--paper);border:1px solid #fff9;width:400px;max-width:100%;padding:32px;box-shadow:8px 8px #182a2a66}.modal h2,.help-dialog h2{font:800 46px/.95 var(--display);letter-spacing:-.5px;margin:20px 0 15px}.modal p{color:#758071;font-size:12px;line-height:1.6}.modal .primary-button{margin-top:22px}.secondary-button{width:100%;font:9px var(--mono);letter-spacing:1px;color:var(--ink);background:0 0;border:1px solid #2632373d;margin-top:14px;padding:12px;display:block}.setting{cursor:pointer;align-items:center;gap:8px;margin-top:20px;font-size:11px;display:flex}.setting input{accent-color:#6a9560}.modal .modal-foot{font:8px/1.7 var(--mono);text-align:center;color:#8b9484;margin:17px 0 0}.result-total{border-top:1px solid #26323733;border-bottom:1px solid #26323733;margin:21px 0 18px;padding:12px 0}.result-total span{font:8px var(--mono);letter-spacing:1px}.result-total strong{font:800 64px/1 var(--display);margin-top:8px;display:block}.result-stats{justify-content:space-between;gap:5px;display:flex}.result-stats span{font:7px var(--mono);color:#7f897a;display:block}.result-stats b{font:500 18px var(--mono);margin-top:6px;display:block}.record-status{font:9px/1.7 var(--mono)!important;color:#6a795c!important}.help-dialog{color:var(--ink);background:var(--paper);border:1px solid #fff9;width:510px;max-width:calc(100% - 32px);max-height:calc(100dvh - 40px);padding:35px;box-shadow:8px 8px #263a3566}.help-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#263a3599}.help-dialog p{color:#69776c;font-size:12px;line-height:1.7}.close-button{color:var(--ink);background:0 0;border:0;font-size:26px;position:absolute;top:9px;right:14px}.controls-list{gap:12px;margin:20px 0;display:grid}.controls-list>div{align-items:center;gap:15px;display:flex}.controls-list dt{min-width:120px;font:10px var(--mono);gap:4px;display:flex}.controls-list dd{margin:0;font-size:11px}.credits{border-top:1px solid #26323730;margin-top:25px;padding-top:19px}.credits>strong{font:8px var(--mono);letter-spacing:1px}.credits p{font-size:10px}.playing .preview-note,.playing .preview-label,.playing .intro-panel{display:none}.stage:fullscreen{width:100vw;height:100dvh}.stage:fullscreen .hud{inset:20px 24px auto}.touch-message{background:var(--pink);padding:5px;color:var(--ink)!important}@media (width>=1500px){.intro-panel{width:390px;padding:30px 32px 22px}.intro-panel p{font-size:12px}.intro-panel h2{font-size:26px}.intro-panel h1{font-size:158px}}@media (height<=800px) and (width>=850px){.intro-panel{width:330px;padding:18px 25px 13px}.intro-panel h1{margin-top:12px;font-size:112px}.intro-panel h2{margin:13px 0 9px;font-size:21px}.intro-panel p{margin-bottom:8px;font-size:10px}.title-caption{padding-bottom:9px}.mission-select{padding:7px 0}.primary-button{padding:12px 15px}.play-caption{margin:10px 0}.masthead{height:70px;min-height:70px}.footer{height:46px;min-height:46px}.modal{padding:26px}.modal h2{font-size:40px}.boss-remark{top:137px}}@media (width<=1050px){.edition,.footer-note span,.footer-note i{display:none}.intro-panel{max-width:45%;left:3%}.preview-note{font-size:9px}.preview-label span{display:none}.hud{inset:10px 12px auto}.hud>div{min-width:140px;padding:10px}.hud-clock{min-width:215px!important}.boss-remark{top:125px}.footer{padding:0 20px}.control-hints{gap:16px}}@media (width<=700px){#app{min-height:800px}.masthead{height:70px;min-height:70px;padding:0 17px}.brand{gap:9px;font-size:11px}.brand small{font-size:6px}.brand-symbol{width:35px;height:35px;font-size:32px}.header-actions{gap:9px}.header-actions .text-button{font-size:0}.header-actions .text-button span{font-size:16px}.stage{min-height:680px}.intro-panel{width:350px;max-width:calc(100% - 40px);padding:25px;top:43%;left:50%;transform:translate(-50%,-50%)}.intro-panel h1{font-size:120px}.preview-note{bottom:15px;right:20px}.preview-label{display:none}.footer{justify-content:center;height:65px;min-height:65px;padding:10px 16px}.control-hints{gap:12px;font-size:6px}.control-hints>span{gap:4px}.footer-note{display:none}.hud-clock{min-width:140px!important}.hud>div{min-width:95px;padding:7px}.hud{gap:6px;inset:8px}.hud-clock strong{letter-spacing:1px;font-size:27px}.hud-clock>span{font-size:5px}.hud-score>strong{font-size:14px}.hud-score>span,.hud-left>span{font-size:5px}#health{gap:2px}#health i{width:12px;height:6px}.weapon-line{font-size:5px}.boss-remark{max-width:190px;top:110px}.notice{padding:14px;font-size:20px}.help-dialog{padding:28px}.help-dialog h2{font-size:38px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.playing{background:var(--paper)}.playing .game-frame{inset:116px 0 0}.playing .hud>div{box-shadow:none;background:0 0;border:0}.playing .hud-clock.overtime{background:#d2f3a9}.playing .boss-remark{max-width:225px;top:auto;bottom:13px;left:16px;transform:none}.playing .exit-status{bottom:13px}.stage:fullscreen.playing .game-frame{inset:120px 0 0}@media (width<=700px){.playing .game-frame{inset:110px 0 0}.playing .boss-remark{max-width:170px;bottom:45px;left:8px}}#game{min-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}#game canvas{outline:none}#game canvas:focus-visible{outline-offset:-2px;outline:2px solid #99bb79}.notice{font:700 12px var(--mono);box-shadow:3px 3px 0 var(--ink);padding:8px 14px;top:119px;transform:translate(-50%)}
