@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600&display=swap";:root{color:#eeeade;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--mint:#9df2d5;--gold:#d5b784;--muted:#9ba9a7;background:#030b10;font-family:Noto Sans JP,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--mint);outline-offset:6px}canvas:focus-visible{outline-offset:-3px}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.environment,.grain,.damage-vignette,#arena{width:100%;height:100%;position:fixed;inset:0}.environment{background:linear-gradient(90deg,#01090e99,#01090e0f 80%),url(/assets/moonscape.webp) 50%/cover no-repeat}.environment:after{content:"";background:linear-gradient(#020a0f26,#0000 30% 72%,#020a0fcc);position:absolute;inset:0}#arena{touch-action:none;outline:none;display:block}.damage-vignette{pointer-events:none;opacity:0;z-index:2;background:radial-gradient(#0000 30%,#c54343)}.grain{pointer-events:none;z-index:1;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}header{z-index:4;justify-content:space-between;align-items:center;padding:28px 48px;display:flex;position:fixed;top:0;left:0;right:0}.wordmark{letter-spacing:.04em;align-items:center;gap:12px;font-family:Cormorant Garamond,Georgia,serif;font-size:22px;display:flex}.brand-mark{color:var(--gold);font-size:32px;line-height:1}nav{align-items:center;gap:26px;display:flex}.quiet{color:var(--muted);letter-spacing:.04em;background:0 0;border:0;padding:8px 0;font-size:11px}.quiet:hover{color:var(--mint)}.language{color:#e9dfcc;border-left:1px solid #8da9a32a;padding-left:24px}.menu{z-index:3;pointer-events:none;width:39%;max-width:540px;position:absolute;top:50%;left:9%;transform:translateY(-46%)}.menu button,.menu a{pointer-events:auto}.eyebrow{letter-spacing:.22em;color:var(--gold);text-transform:uppercase;align-items:center;gap:12px;font-size:10px;display:flex}.eyebrow i{background:var(--gold);width:26px;height:1px;display:block}h1{white-space:pre-line;letter-spacing:-.035em;margin:32px 0 28px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(64px,7.8vw,126px);font-weight:400;line-height:.83}h2{letter-spacing:.02em;margin:0 0 16px;font-size:clamp(17px,1.7vw,23px);font-weight:400}.intro{color:#a3b2b0;max-width:360px;margin:0 0 30px;font-size:13px;line-height:2}.menu-actions{align-items:center;gap:25px;display:flex}.primary{color:#10221f;background:#e6e3d4;border:1px solid #e6e3d4;border-radius:2px;min-height:50px;padding:15px 26px;font-size:13px;font-weight:500;transition:background .2s,transform .2s}.primary:after{content:"↗";margin-left:32px;display:inline-block}.primary:hover{background:var(--mint);border-color:var(--mint);transform:translateY(-2px)}.primary:active{transform:translateY(0)}.primary:disabled{opacity:.5;transform:none}.text-button{color:#c6d5cf;background:0 0;border:0;align-items:center;gap:20px;padding:12px 0;font-size:12px;display:flex}.text-button:hover{color:var(--mint)}.duration{letter-spacing:.07em;color:#758e87;align-items:center;gap:9px;margin-top:22px;font-size:10px;display:flex}.orbit-icon{color:var(--gold);font-size:20px}footer{color:#81928e;z-index:3;letter-spacing:.06em;justify-content:space-between;align-items:center;font-size:10px;display:flex;position:fixed;bottom:28px;left:48px;right:48px}footer>div{align-items:center;gap:16px;display:flex}footer strong{color:#d4cebb;font-size:13px;font-weight:400}footer a{border-left:1px solid #fff2;padding-left:16px}.label{letter-spacing:.18em;color:var(--muted);font-size:9px;font-weight:400;display:block}footer .label{font-size:8px}.hud{z-index:3;pointer-events:none;grid-template-columns:1fr 1fr 1fr;display:grid;position:fixed;top:108px;left:8%;right:8%}.hud strong{letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:45px;font-weight:400;line-height:1.2;display:block}.hud-center{text-align:center}.hud-center strong{font-size:40px}.hud-right{text-align:right}.hud .pause{pointer-events:auto}.time-track{background:#9df2d51c;width:100px;height:1px;margin:8px auto 9px}.time-track i{background:var(--gold);height:100%;transition:width 1s linear;display:block}#wave{color:#b4a58a;letter-spacing:.2em;font-size:8px}.health{letter-spacing:6px;color:#ffffff1b;margin-top:8px;font-size:16px}.health .alive{color:var(--mint);text-shadow:0 0 18px #82ffe155}.combo{letter-spacing:.08em;color:var(--gold);min-height:20px;margin-top:8px;font-size:10px;display:block}.play-controls{z-index:3;text-align:center;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.pulse{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:left;background:#071818bb;border:1px solid #9df2d533;border-radius:3px;align-items:center;gap:14px;width:290px;min-height:62px;padding:14px 17px;transition:border-color .2s,background .2s;display:flex}.pulse-symbol{color:#547c6e;font-size:30px;line-height:1}.pulse-content{color:#829b92;flex:1;font-size:11px}.charge-track{background:#eff6e911;height:2px;margin-top:9px;display:block}.charge-track i{background:#a1ddbe;height:100%;transition:width .12s;display:block}#charge-value{color:#8a9c94;text-align:right;min-width:30px;font-size:9px}.pulse.ready{background:#153e32dd;border-color:#9df2d5b0;box-shadow:0 0 25px #7bffbf19}.pulse.ready .pulse-symbol,.pulse.ready .pulse-content{color:var(--mint)}.pulse.ready:hover{background:#245942}.controls{letter-spacing:.14em;color:#7e9690;white-space:nowrap;margin:16px -100px 0;font-size:8px}.mobile,.aim-pad{display:none}#toast{z-index:3;color:var(--gold);text-shadow:0 1px 8px #000;letter-spacing:.15em;opacity:0;pointer-events:none;font-size:11px;transition:opacity .15s,transform .15s;position:fixed;top:29%;left:50%;transform:translate(-50%,6px)}#toast.visible{opacity:1;transform:translate(-50%)}dialog{color:#eeeade;background:linear-gradient(140deg,#142522f5,#071413fa);border:1px solid #c5d0aa26;border-radius:5px;width:min(520px,100% - 32px);max-height:90dvh;padding:42px;overflow:auto;box-shadow:0 20px 100px #0009}dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#020b10a8}dialog h2{margin:20px 0 15px;font-family:Cormorant Garamond,Georgia,serif;font-size:34px;line-height:1.2}html[lang=ja] dialog h2{font-family:inherit;font-size:25px;line-height:1.6}dialog p{color:#a7b8b0;font-size:12px;line-height:1.9}dialog .eyebrow{font-size:9px}.instructions{margin:28px 0}.instructions>div{gap:20px;margin:20px 0;display:flex}.step{color:var(--gold);font-family:Cormorant Garamond,Georgia,serif;font-size:23px}.instructions h3{margin:0 0 4px;font-size:13px;font-weight:500}.instructions p{margin:0;font-size:11px;line-height:1.8}.dialog-actions{align-items:center;gap:24px;margin-top:30px;display:flex}.dialog-actions .primary:after{display:none}.result-score{margin-top:28px}.result-score strong{font-family:Cormorant Garamond,Georgia,serif;font-size:70px;font-weight:400;line-height:1.2}.stats{border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 0;display:grid}.stats strong{margin-bottom:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:21px;font-weight:400;display:block}.stats .label{letter-spacing:.06em;font-size:7px}#load-error{color:#efbba6;font-size:12px;line-height:1.8}@media (height<=720px) and (width>=801px){.menu{transform:translateY(-42%)}h1{margin:22px 0;font-size:82px}header{padding:20px 40px}.intro{margin-bottom:20px}.hud{top:80px}footer{bottom:18px}.play-controls{bottom:15px}}@media (width<=800px){header{padding:20px 24px}.wordmark{font-size:20px}nav{gap:18px}.motion{font-size:0}.motion:after{content:"◌";font-size:21px}.language{padding-left:18px}.menu{width:45%;left:7%}h1{font-size:78px}.intro{font-size:11px}.menu-actions{flex-wrap:wrap;gap:18px}.primary{padding:14px 20px}.hud{top:94px;left:6%;right:6%}footer{left:24px;right:24px}footer>span{display:none}footer>div{justify-content:flex-end;width:100%}}@media (width<=600px){header{padding:17px 20px}.wordmark{gap:6px;font-size:17px}.brand-mark{font-size:26px}nav{gap:14px}.quiet{font-size:9px}.motion{font-size:0}.language{padding-left:13px}.menu{width:84%;max-width:none;top:auto;bottom:8%;left:8%;transform:none}.eyebrow{letter-spacing:.18em;font-size:8px}h1{white-space:normal;max-width:300px;margin:18px 0;font-size:64px;line-height:.85}h2{margin-bottom:10px;font-size:17px}.intro{max-width:300px;margin-bottom:20px;font-size:11px;line-height:1.8}.menu-actions{gap:24px}.primary{min-height:46px;font-size:12px}.primary:after{margin-left:25px}.duration{margin-top:12px;font-size:8px}footer{font-size:8px;bottom:15px;left:20px;right:20px}footer>div{justify-content:space-between}footer a{font-size:8px}.environment{background-image:linear-gradient(#0000 22%,#020b10e0 68%,#020b10 98%),url(/assets/moonscape.webp)}.hud{top:85px;left:7%;right:7%}.hud strong,.hud-center strong{font-size:32px}.health{letter-spacing:3px;font-size:10px}.hud .label{font-size:7px}.time-track{width:70px;margin:4px auto}#wave{font-size:7px}.combo{font-size:8px}.play-controls{bottom:max(20px, env(safe-area-inset-bottom));width:86%;max-width:380px}.pulse{width:260px;min-height:58px;margin:auto}.controls{white-space:normal;letter-spacing:.02em;margin:14px 0 0;font-size:8px;line-height:1.6}.desktop{display:none}.mobile{display:block}#toast{letter-spacing:.05em;font-size:9px;top:25%}dialog{padding:28px}dialog h2{font-size:30px}.dialog-actions{flex-wrap:wrap;gap:18px}.stats{gap:6px}html[lang=ja] dialog h2{font-size:23px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}body[data-gentle=true] *,body[data-gentle=true] :after{transition:none!important}.audio-options{gap:16px;margin:28px 0;display:grid}.setting-toggle{text-align:left;background:#ffffff06;border:1px solid #9df2d52a;border-radius:3px;padding:12px 16px;font-size:12px}.setting-toggle[aria-pressed=true]{color:var(--mint);border-color:#9df2d566}.audio-options label{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.audio-options input{accent-color:var(--mint);cursor:pointer;width:100%}.audio-options output{color:var(--mint)}#mission{z-index:3;pointer-events:none;width:190px;position:fixed;top:220px;left:8%}#objective{color:#a7b8ad;margin:0 0 22px;font-size:11px;line-height:1.8}#boss-hud .label{color:#cc9be7;letter-spacing:.08em;font-size:10px}.boss-health-track{background:#ffffff12;border-radius:3px;height:5px;margin:12px 0;overflow:hidden}.boss-health-track i{background:#c477ec;height:100%;transition:width .2s;display:block}#boss-state{color:#b68ecd;font-size:10px;font-weight:400;line-height:1.7}#boss-hud.exposed #boss-state{color:var(--gold)}#boss-hud.exposed .boss-health-track i{background:var(--gold)}#build-tags{flex-wrap:wrap;gap:6px;margin-top:24px;display:flex}#build-tags span{color:#a0baa9;border:1px solid #9df2d522;border-radius:2px;padding:5px 8px;font-size:8px;line-height:1.6}#legend{z-index:3;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:130px;left:8%}#legend span{letter-spacing:.04em;align-items:center;gap:9px;font-size:9px;display:flex}#legend span:before{content:"◆";font-size:11px}#legend .shard{color:#ee9690}#legend .heavy{color:#e9b16d}#legend .heavy:before{content:"⬡"}#legend .mine{color:#c69af3}#legend .mine:before{content:"✦"}#legend .seed{color:#d9c49a}#legend .seed:before{content:"✧"}.ability-row{justify-content:center;align-items:stretch;gap:12px;display:flex}.parry-button{text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141d20e0;border:1px solid #b6bfc533;border-radius:3px;align-items:center;gap:12px;min-width:185px;padding:12px 20px;display:flex;position:relative;overflow:hidden}.parry-button.ready{background:#2c281cdd;border-color:#d5b78488}.parry-button.active{background:#b79a5a66}.parry-button strong{color:#dfd2b8;font-size:11px;font-weight:400;display:block}.parry-button small{color:#9f998c;margin-top:6px;font-size:8px;display:block}.parry-symbol{color:#d5b784;font-size:28px}.parry-button>i{background:var(--gold);height:2px;position:absolute;bottom:0;left:0}.parry-button:disabled .parry-symbol{color:#6b6e69}.upgrade-dialog{width:min(850px,100% - 32px);padding:38px}.upgrade-cards{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;display:grid}.upgrade-card{text-align:left;color:#e1ebd9;background:#d6efce04;border:1px solid #a2d9bf33;border-radius:4px;flex-direction:column;align-items:flex-start;gap:14px;min-height:250px;padding:24px 20px;transition:background .15s,border-color .15s,transform .15s;display:flex}.upgrade-card:hover{background:#98e5b912;border-color:#a2d9bf99;transform:translateY(-3px)}.upgrade-index{color:var(--gold);font:32px Cormorant Garamond,Georgia,serif}.upgrade-card strong{font-size:16px;font-weight:500}.upgrade-card>span:not(.upgrade-index){color:#a4b8ab;font-size:11px;line-height:1.9}.upgrade-card small{color:var(--mint);margin-top:auto;font-size:10px}.next-wave{margin-bottom:0;color:var(--gold)!important}body[data-phase=upgrade] .play-controls{visibility:hidden}@media (width>=801px){.hud-center{transform:translateY(-80px)}.hud-center strong{font-size:32px}.hud-center .time-track{margin:4px auto}}@media (height<=720px) and (width>=801px){#mission{top:180px}#legend{gap:8px;bottom:100px}}@media (width<=800px){#mission{width:155px;left:6%}#legend{bottom:150px;left:6%}}@media (width<=600px){#mission{text-align:center;width:86%;top:165px;left:7%}#objective{margin:0 0 4px;font-size:9px;line-height:1.5}#boss-hud{grid-template-columns:70px 1fr;align-items:center;gap:3px 8px;width:240px;margin:auto;display:grid}#boss-hud .label{white-space:nowrap;letter-spacing:.08em;margin:0;font-size:8px}#mission:has(#boss-hud:not([hidden])) #build-tags{display:none}.boss-health-track{height:4px;margin:6px 0}#boss-state{grid-column:1/-1;margin:0;font-size:8px}#build-tags{justify-content:center;gap:4px;margin-top:8px}#build-tags span{padding:3px 6px;font-size:7px}#legend{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid;bottom:180px;left:7%;right:7%}#legend span{gap:6px;font-size:8px}#toast{top:auto;bottom:225px}.ability-row{gap:8px;width:100%}.parry-button{gap:8px;width:42%;min-width:0;padding:10px 12px}.parry-button strong{font-size:10px}.parry-button small{font-size:7px}.parry-symbol{font-size:22px}.ability-row .pulse{gap:8px;width:58%;padding:10px}.ability-row .pulse-symbol{font-size:23px}.pulse-content{font-size:9px}#charge-value{min-width:24px;font-size:8px}.touch-turns{top:-63px}.upgrade-dialog{max-height:92dvh;padding:24px}.upgrade-cards{grid-template-columns:1fr;gap:10px;margin-top:18px}.upgrade-card{grid-template-columns:30px 1fr;gap:6px 12px;min-height:0;padding:16px 18px;display:grid}.upgrade-index{grid-row:1/4;font-size:27px}.upgrade-card strong{font-size:14px}.upgrade-card>span:not(.upgrade-index){font-size:10px;line-height:1.6}.upgrade-card small{font-size:9px}.upgrade-dialog h2{margin:12px 0}.next-wave{font-size:10px}}.lance-button{text-align:left;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1c26db;border:1px solid #a8d4ef30;border-radius:3px;align-items:center;gap:12px;min-width:170px;padding:14px 18px;display:flex;position:relative}.lance-button strong{font-size:11px;font-weight:500;display:block}.lance-button small{color:#9db4c6;margin-top:6px;font-size:8px;display:block}.lance-symbol{color:#9bd5ef;font-size:32px}.lance-button:disabled{opacity:.5}.lance-button.ready{border-color:#9bd5ef88;box-shadow:inset 0 -2px #8cc4df66}.lance-button.ready:hover{background:#183648}.stagger-track{background:#ffffff10;height:3px;margin:14px 0 6px}.stagger-track i{background:#e9d2a3;height:100%;transition:width .2s;display:block}#stagger-label{color:#bfb09a;letter-spacing:.06em;font-size:8px}#hunt-status{color:#d5b784;border-left:1px solid #d5b78466;padding-left:10px;font-size:9px;line-height:1.8}.stats{grid-template-columns:repeat(3,1fr);row-gap:20px}body:not([data-phase=menu]) .environment{opacity:0}#dialog[data-kind=won]::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#03101855}#dialog[data-kind=won]{background:#071b19e8}@media (width>=801px){#dialog[data-kind=won]{width:430px;margin-left:6%;margin-right:auto}}@media (width<=600px){.ability-row{gap:6px}.ability-row .parry-button,.lance-button{justify-content:center;gap:0;width:29%;min-width:0;padding:10px 8px}.ability-row .pulse{gap:6px;width:42%;padding:10px 8px}.parry-symbol,.lance-symbol{display:none}.lance-button strong{font-size:10px}.lance-button small{font-size:7px}.ability-row .pulse-symbol{font-size:18px}#stagger-label{display:none}.stagger-track{grid-column:1/-1;height:2px;margin:0}#hunt-status{border:0;margin:5px 0 0;padding:0;font-size:8px}#build-tags{display:none}}@media (width<=700px){#mission:has(#boss-hud:not([hidden])) #objective{display:none}}.run-analysis{background:#a6d6cc08;border-left:2px solid #d7b37b;margin:16px 0;padding:12px 16px}.run-analysis p{margin:6px 0 0;font-size:12px;line-height:1.6}.ability-row button{touch-action:none;-webkit-user-select:none;user-select:none}@media (pointer:coarse),(width<=600px){.play-controls{width:min(320px,100% - 24px);bottom:max(12px, env(safe-area-inset-bottom))}.ability-row{gap:6px}.ability-row .parry-button,.ability-row .lance-button,.ability-row .pulse{text-align:center;flex:1;justify-content:center;gap:0;width:0;min-width:0;min-height:56px;margin:0;padding:8px 5px}.ability-row .pulse{flex-direction:column;gap:5px}.ability-row .pulse-content{flex:none;width:100%}.ability-row .charge-track{margin-top:5px}.ability-row strong,.pulse-content{font-size:11px}.ability-row small,#charge-value{font-size:9px}.parry-symbol,.lance-symbol,.pulse-symbol{display:none}.aim-pad{touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(#173e34e8,#071818e8);border:1px solid #9df2d544;border-radius:54px;width:148px;height:108px;margin:6px auto 0;display:block;position:relative}.pad-ring{border:1px solid #b6d9c64a;border-radius:50%;width:68px;height:68px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pad-center{color:#a1ddbe66;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#aim-marker{width:12px;height:12px;transform:translate(calc(-50% + var(--aim-x,0px)), calc(-50% + var(--aim-y,0px)));pointer-events:none;background:#9df2d544;border:1px solid #c5f7de;border-radius:50%;position:absolute;top:50%;left:50%}.aim-pad.active #aim-marker{background:#b1f4d8;box-shadow:0 0 14px #9df2d555}.pad-label{color:#bbd7c9;pointer-events:none;font-size:9px;position:absolute;bottom:4px;left:0;right:0}.controls.desktop{display:none}.controls.mobile{letter-spacing:0;white-space:normal;margin:6px 0 0;font-size:9px;line-height:1.5;display:block}#legend{bottom:235px}#toast{text-align:center;width:90%;top:auto;bottom:275px}}@media (width<=600px) and (height<=700px){header{padding:10px 16px}.hud{top:60px}#mission{top:136px}.play-controls{bottom:max(8px, env(safe-area-inset-bottom))}.ability-row .parry-button,.ability-row .lance-button,.ability-row .pulse{min-height:48px;padding:6px 5px}.aim-pad{width:128px;height:68px;margin-top:4px}.ability-row strong{line-height:1.3}.ability-row small{margin-top:4px;line-height:1.3}.ability-row .pulse{gap:3px}.ability-row .pulse-content,#charge-value{line-height:1.1}.ability-row .charge-track{margin-top:3px}.pad-ring{width:60px;height:60px}#aim-marker{width:10px;height:10px}.pad-label{display:none}.controls.mobile{margin-top:4px;font-size:8px}#legend{display:none}#toast{bottom:178px}}@media (pointer:coarse) and (orientation:landscape) and (height<=600px){header{padding:8px 16px}.hud{top:54px;left:16px;right:16px}.hud-center{transform:none}.hud strong,.hud-center strong{font-size:24px}.play-controls{left:auto;right:max(12px, env(safe-area-inset-right));width:260px;transform:none}.aim-pad{width:128px;height:76px}.pad-label{display:none}#mission{width:200px;top:130px;left:16px}#legend{grid-template-columns:1fr 1fr;gap:8px;display:grid;bottom:16px;left:16px;right:auto}#toast{width:200px;bottom:65px;left:16px;transform:none}}#hunt-status.opening{color:#fff0bb;border-left:3px solid #f8d88b;font-weight:600}.lance-button.finisher{background:#3d3823;border-color:#ffe6a3;box-shadow:0 0 0 2px #f8d88b55,0 0 24px #f8d88b22}
