html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{color-scheme:dark;--bg:#10100e;--ink:#eeeade;--muted:#929386;--accent:#d8ef78;--line:#35382a}.header-actions{display:flex;gap:10px;align-items:center}.settings-btn{background:transparent;border:1px solid #68774b;color:#d3dfbd;padding:12px 18px;border-radius:3px;font-size:14px}.settings-btn:hover{border-color:#d8ef78}.difficulty-panel{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px;padding:14px 16px;background:#192115;border:1px solid #3b4c2d;font-size:12px}.difficulty-panel label{color:#d8ef78;font-weight:700}.difficulty-panel select{font:inherit;padding:8px;background:#10170c;border:1px solid #5a7140;color:#f0f4df;border-radius:3px}.difficulty-panel p{color:#aabc93;font-size:11px;line-height:1.7}.settings-note{font-size:12px;line-height:1.9;color:#adbd98}.volume-row{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px;font-size:14px}.volume-row output{color:#d8ef78;font-family:Consolas,monospace}#volume-control{width:100%;accent-color:#d8ef78;cursor:pointer}.setting-check{display:flex;align-items:center;gap:12px;margin:22px 0;font-size:14px;cursor:pointer}.setting-check input{width:19px;height:19px;accent-color:#d8ef78}#settings-dialog{width:480px}@media (max-width:640px){.header-actions{gap:7px}.settings-btn{font-size:12px;padding:10px 12px}.difficulty-panel{gap:8px;padding:10px}.difficulty-panel p{width:100%;font-size:10px}.difficulty-panel select{font-size:11px}.view-actions{flex-wrap:wrap}}.view-actions{display:flex;gap:6px;flex-shrink:0}.view-actions button{padding:8px 10px;font-size:11px}.view-actions button:disabled{opacity:.4;cursor:not-allowed}.touch-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 18px;background:#172014;border:1px solid var(--line);touch-action:none;user-select:none;-webkit-user-select:none}.touch-controls button{min-width:52px;min-height:48px;background:#25311d;color:#e7f5cf;border:1px solid #687b45;border-bottom-width:4px;border-radius:10px;font-weight:700;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-controls button.is-pressed{background:#d8ef78;color:#172008;border-bottom-width:1px;transform:translateY(2px)}.touch-dpad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,48px);gap:5px}.touch-dpad [data-action=up]{grid-column:2}.touch-dpad [data-action=left]{grid-column:1;grid-row:2}.touch-dpad [data-action=down]{grid-column:2;grid-row:2}.touch-dpad [data-action=right]{grid-column:3;grid-row:2}.touch-fire{display:flex;gap:8px;align-items:center}.touch-fire [data-action=bullet]{background:#d8ef78;color:#1b280c;min-width:75px;min-height:75px;border-radius:50%}.touch-fire [data-action=jump]{min-width:65px;min-height:65px;border-radius:50%}.touch-fire [data-action=switch]{font-size:11px}.touch-tip{font-size:11px;line-height:1.9;color:#a8ba91}.controller-status{width:100%;text-align:center;font-size:10px;line-height:1.6;padding:8px;color:#9fb68d;background:#10180c;min-height:30px}.game_screen:fullscreen{position:relative;display:flex;padding:8px;background:#0c130b;height:100dvh;overflow:hidden}.game_screen:fullscreen .battlefield{flex:1;min-height:0}.game_screen:fullscreen #canvas{height:100%;width:100%;object-fit:contain}.game_screen:fullscreen .weapon-rack,.game_screen:fullscreen .instructions,.game_screen:fullscreen .controller-status{display:none}.game_screen:fullscreen .run-toolbar{padding:5px 8px;font-size:10px}.game_screen:fullscreen #combat-notice{min-height:24px;padding:4px 8px;font-size:10px}.game_screen:fullscreen .touch-controls{position:absolute;bottom:12px;left:12px;width:calc(100% - 24px);background:transparent;border:0;pointer-events:none;z-index:4;padding:0}.game_screen:fullscreen .touch-controls button{pointer-events:auto;opacity:.8}.game_screen:fullscreen .touch-tip{display:none}.game_screen:fullscreen #boss-hud{padding:5px 10px}@media (max-width:640px){.run-toolbar{flex-wrap:wrap;gap:6px}.run-toolbar>p{flex-basis:100%}.view-actions{margin-left:auto}.touch-controls{padding:10px 8px;gap:4px}.touch-dpad{grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,43px);gap:4px}.touch-controls button{min-width:43px;min-height:43px}.touch-fire{gap:5px}.touch-fire [data-action=jump]{min-width:53px;min-height:53px}.touch-fire [data-action=bullet]{min-width:60px;min-height:60px}.touch-fire [data-action=switch]{min-width:39px;padding:3px}.touch-tip{display:none}.controller-status{font-size:9px}}.stage-select{display:flex;gap:10px;margin:0 0 14px;flex-wrap:wrap}.stage-select button{background:#192117;color:#b6c0a9;border:1px solid #414d33;padding:12px 18px;font-size:12px}.stage-select button[aria-pressed=true]{border-color:#d8ef78;color:#d8ef78}.stage-select button:disabled{opacity:.45;cursor:not-allowed}.base-cover{height:520px;max-height:55vw;min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:repeating-linear-gradient(90deg,transparent 0 78px,#6bb9c912 78px 80px),linear-gradient(145deg,#102f40,#08121c 70%);box-shadow:inset 0 0 80px #0008}.base-cover>span{font:11px Consolas,monospace;letter-spacing:5px;color:#82bcc9}.base-cover strong{font-size:clamp(32px,6vw,76px);font-weight:900;letter-spacing:12px;color:#d6f3f4;text-shadow:4px 4px 0 #285369}.base-cover p{font:18px Consolas,monospace;letter-spacing:12px;color:#eab875}.base-cover small{font-size:12px;color:#9ebac2;margin-bottom:50px}.result-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.result-actions #stage-home{background:transparent;border:1px solid #a0ae83;color:#dce8c9}#next-stage{background:#79eaff;color:#102a33}@media (max-width:640px){.stage-select button{font-size:10px;padding:10px}.base-cover{gap:12px}.base-cover small{font-size:10px;padding:0 12px;line-height:1.5;text-align:center;margin-bottom:45px}.base-cover p{font-size:12px;letter-spacing:7px}.result-actions{gap:8px}.result-actions button{font-size:12px;padding:8px}}.weapon-rack{display:flex;flex-wrap:wrap;gap:8px;width:100%;padding:10px 12px;background:#161d12;border:1px solid var(--line);border-top:0}.weapon-rack button{display:flex;align-items:center;gap:8px;background:#10160d;color:#a8b49b;border:1px solid #424d32;padding:7px 12px;font-size:12px;border-radius:3px}.weapon-rack button[aria-pressed=true]{background:#d8ef78;color:#1b280a;border-color:#d8ef78}.weapon-rack button:disabled{opacity:.35;cursor:not-allowed}.weapon-rack button[data-weapon=laser]{border-color:#79eaff80}.weapon-rack button[data-weapon=rapid]{border-color:#ffb36a80}.weapon-rack kbd{height:22px;min-width:22px;padding:0 5px;font-size:10px}#combat-notice{width:100%;padding:10px 14px;min-height:36px;background:#131b0e;font-size:12px;line-height:1.5;color:#d8ef78;border:1px solid var(--line);border-top:0}@media (max-width:640px){.weapon-rack{gap:6px}.weapon-rack button{padding:6px 8px;font-size:10px}#combat-notice,.run-toolbar{font-size:10px}.run-overlay h2{font-size:22px}}[hidden]{display:none!important}.run-toolbar{width:100%;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;background:#1c2016;border:1px solid var(--line);font-size:12px;line-height:1.8}.run-toolbar button,.run-overlay button{background:var(--accent);color:#172008;border:0;padding:10px 16px;border-radius:3px}.battlefield{position:relative;width:100%}.run-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:22px;background:#0b130bea;z-index:3}.run-overlay h2{color:var(--accent);font-size:30px}.run-overlay p{font-size:14px;line-height:2}.run-overlay button{font-weight:700}#boss-hud{width:100%;padding:12px 18px;background:#38211d;display:flex;gap:20px;align-items:center;font-size:12px;color:#ffc89c}#boss-hud progress{flex:1;accent-color:#ff7959;height:14px}.hit-flash{animation:hit-flash .18s ease-out}@keyframes hit-flash{50%{filter:brightness(1.6) sepia(.5)}}*{box-sizing:border-box}body{min-height:100dvh;background:var(--bg);color:var(--ink);font-family:Microsoft YaHei,sans-serif;display:flex;flex-direction:column;background-image:radial-gradient(ellipse at 50% 40%,#27302055,transparent 65%)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.site-header{min-height:100px;padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.viva-brand{display:flex;align-items:center;gap:25px}.viva-brand img{width:132px;height:41px;object-fit:contain;filter:brightness(0) invert(1)}.viva-brand span{font:11px Consolas,monospace;color:var(--muted);letter-spacing:2px}.sponsor-btn{background:var(--accent);color:#1a210a;border:1px solid var(--accent);border-radius:3px;padding:12px 20px;font-size:14px;font-weight:700}.sponsor-btn:hover{background:#e7ffa0}.arcade-shell{width:min(1040px,calc(100% - 40px));margin:auto;padding:28px 0}.stage-label{display:flex;justify-content:space-between;margin-bottom:14px;color:var(--muted);font:11px Consolas,Microsoft YaHei,monospace;letter-spacing:2px}.stage-label span:first-child{color:var(--accent)}.start_screeen,.game_over_screen{position:relative;width:100%;border:1px solid #515640;background:#000;overflow:hidden}.start_screeen>img,.game_over_screen>img{display:block;width:100%;height:auto;aspect-ratio:2 / 1;object-fit:contain;image-rendering:pixelated}.start-btn,.restart-btn{position:absolute;bottom:7%;left:50%;transform:translate(-50%);background:var(--accent);color:#172008;border:0;padding:17px 30px;font-size:20px;font-weight:700;white-space:nowrap;box-shadow:4px 4px #4e652a}.start-btn span,.restart-btn span{display:block;font:9px Consolas,monospace;letter-spacing:3px;margin-top:8px}.start-btn:hover,.restart-btn:hover{background:#e7ffa0}.game_screen{display:none;flex-direction:column;align-items:center;width:100%}#canvas{display:block;width:100%;height:auto;border:1px solid #69774a;image-rendering:pixelated;background:#000}.instructions{width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:18px 34px;padding:20px 12px;background:#1c2016;border:1px solid var(--line);border-top:0}.instructions p{display:flex;gap:7px;align-items:center;font-size:12px;color:#ced3be}kbd{display:inline-grid;place-items:center;min-width:29px;height:28px;padding:0 8px;color:var(--accent);background:#10140a;border:1px solid #545e3d;border-bottom-width:3px;border-radius:4px;font:12px Consolas,monospace}.instructions small{color:var(--muted);font-size:10px}.play-note{text-align:center;margin-top:18px;color:var(--muted);font-size:11px;line-height:1.8;letter-spacing:1px}.game_over_screen{display:none;align-items:center;flex-direction:column}.scores{position:absolute;top:52%;display:flex;flex-direction:column;gap:14px;font:14px Consolas,monospace;padding:12px;background:#000c}.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:23px 4vw;border-top:1px solid var(--line);font:12px Consolas,Microsoft YaHei,monospace;line-height:1.6;color:var(--muted)}.site-footer>a{color:var(--accent);letter-spacing:1px}.site-footer a:hover{color:#fff}dialog{width:610px;max-width:calc(100vw - 28px);max-height:90dvh;overflow:auto;margin:auto;border:1px solid #687847;border-radius:6px;padding:34px 28px 24px;background:#1a2015;color:var(--ink)}dialog::backdrop{background:#000b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:10px;width:34px;height:34px;color:#d5dfbf;background:transparent;border:1px solid #515b40;font-size:24px}.eyebrow{font:10px Consolas,monospace;letter-spacing:3px;color:var(--accent)}h2{font-size:26px;margin:14px 0;font-weight:700}.sponsor-intro,.sponsor-note{font-size:12px;color:#aeb79d;line-height:1.8}.qr-grid{display:flex;justify-content:center;gap:22px;margin:24px 0;flex-wrap:wrap}.qr-grid figure{display:flex;flex-direction:column;align-items:center;gap:14px}.qr-frame{position:relative;width:240px;height:240px;overflow:hidden;background:#fff;border-radius:4px}.qr-frame img{position:absolute;width:941px;height:438px;max-width:none;top:-62px}.qr-alipay img{left:-341px}.qr-wechat img{left:-646px}figcaption{font-size:13px;font-weight:700}.sponsor-note{text-align:center}@media (max-width:640px){.site-header{min-height:78px;padding:16px 20px}.viva-brand{gap:10px}.viva-brand img{width:98px;height:31px}.viva-brand span{display:none}.sponsor-btn{padding:10px 13px;font-size:12px}.arcade-shell{width:calc(100% - 24px)}.stage-label{font-size:9px;letter-spacing:1px}.start-btn,.restart-btn{font-size:15px;padding:11px 22px}.instructions{gap:14px;padding:14px 8px}.site-footer{justify-content:center;text-align:center}.scores{font-size:11px;gap:6px;top:42%}.play-note{font-size:10px}}
