@font-face{font-family:Flight JP;src:url('assets/fonts/flight-jp-900.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap;ascent-override:90%;descent-override:20%;line-gap-override:0%}
:root{color-scheme:dark;--ink:#070c14;--cyan:#75e4f2;--orange:#ff633d;--text:#f3f7fa;--column:760px;--heavy:"Flight JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--latin:Impact,"Arial Narrow",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:radial-gradient(ellipse at 10% 30%,#132332 0,transparent 55%),var(--ink);color:var(--text);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:500}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--heavy);font-weight:900;line-break:strict;word-break:normal}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}button:disabled{opacity:.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:8px;left:8px;padding:14px 20px;background:var(--text);color:var(--ink);z-index:30;transform:translateY(-160%)}.skip:focus{transform:none}
.story{width:min(100%,var(--column));margin-left:calc(50% - 200px);background:var(--ink);box-shadow:0 0 100px #0005}.panel{position:relative;isolation:isolate;scroll-margin-top:48px;overflow:clip;border-bottom:1px solid #75e4f233}.section-inner{position:relative;padding:64px 46px 66px;z-index:1}.section-label{font-family:var(--latin);font-size:28px;letter-spacing:.025em;display:flex;align-items:center;gap:14px;margin-bottom:32px;color:var(--text)}.section-label span{color:var(--cyan);font-size:24px}.section-label::after{content:"";height:1px;background:#75e4f260;flex:1;margin-left:10px}h2{font-size:62px;letter-spacing:-.065em;line-height:1.3}.motion-line{display:block;overflow:clip}.motion-line>span{display:block;transform-origin:left bottom}.lead{font-size:21px;line-height:1.9;margin-top:28px}.small-note{font-size:13px;line-height:1.8;color:#b1c6d1;margin-top:28px}.statement{font-family:var(--heavy);font-weight:900;font-size:38px;letter-spacing:-.04em;line-height:1.6;margin-top:38px}.statement em{color:var(--orange);font-style:normal}.display-word{font-family:var(--latin);font-size:76px;line-height:1;letter-spacing:-.02em}.subtitle{font-size:16px;letter-spacing:.14em;color:var(--cyan);font-weight:800;margin-top:12px}.platform{text-align:center;font-size:13px;letter-spacing:.04em;margin-top:17px;color:#d0dee7}.latin{font-family:var(--latin);letter-spacing:.02em}.button{display:flex;align-items:center;justify-content:center;gap:15px;min-height:58px;padding:18px 20px;background:linear-gradient(#ff7954,#ff5b35);color:#111820;border:1px solid #ffaf81;border-radius:4px;font-family:var(--heavy);font-size:17px;font-weight:900;box-shadow:0 4px 0 #973a24,0 10px 30px #ff633d16;transition:filter .2s,box-shadow .2s;line-height:1.5}.button:hover{filter:brightness(1.12);box-shadow:0 4px 0 #973a24,0 10px 36px #ff633d44}.button>span[aria-hidden]{font-size:1.3em}.secondary{background:transparent;color:var(--cyan);border-color:#75e4f280;box-shadow:none}
/* Existing desktop rail and small-screen play shortcut. */
.rail{position:fixed;left:max(24px,calc(50% - 550px));top:7vh;width:280px;z-index:5}.brand{display:inline-block;font-family:var(--latin);font-size:43px;line-height:1;letter-spacing:.015em}.brand span{display:block;font-family:inherit;font-size:13px;letter-spacing:.13em;margin-top:14px;color:var(--cyan)}.rail-intro{font-family:var(--heavy);font-size:20px;line-height:1.8;font-weight:900;margin:36px 0 22px}.rail nav{display:grid;border-top:1px solid #75e4f230;margin-bottom:32px}.rail nav a{min-height:44px;display:flex;align-items:center;gap:20px;font-size:11px;color:var(--cyan);border-bottom:1px solid #75e4f230}.rail nav span{font-size:14px;color:#dae7ec;font-weight:700}.rail nav a:hover span{color:var(--cyan)}.rail nav a[aria-current="location"]{background:linear-gradient(90deg,#75e4f218,transparent);border-left:2px solid var(--cyan);padding-left:10px}.rail-note{text-align:center;font-size:12px;color:#bbccd5;margin:14px 0}.rail-play{font-size:16px;padding:14px 12px}.copy-link{display:block;margin:0 auto;background:none;border:0;color:var(--cyan);font-size:13px;text-decoration:underline;text-underline-offset:4px;min-height:44px}.motion-toolbar{position:sticky;top:0;z-index:8;min-height:48px;background:#07101a;border-bottom:1px solid #75e4f24d;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px}.system-status{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.08em;display:flex;align-items:center;gap:8px;color:#b7d3de}.system-status b{color:var(--cyan);font-size:10px}.system-status i{height:5px;width:5px;background:var(--cyan);border-radius:50%;box-shadow:0 0 8px #75e4f280}#motion-toggle{min-width:118px;min-height:44px;background:transparent;color:var(--cyan);border:0;font-size:12px;font-weight:700;text-align:right}#motion-toggle[hidden]{display:none}.flight-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none}.flight-progress span{display:block;height:100%;width:100%;background:var(--cyan);transform:scaleX(0);transform-origin:left}
/* 00: typography is in front of a completely text-free art layer. */
.hero{min-height:1080px;display:flex;flex-direction:column;justify-content:space-between;padding:46px 42px 40px}.hero-art{position:absolute;inset:110px 0 0;width:100%;height:calc(100% - 110px);object-fit:cover;object-position:69% center;z-index:-2}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#070c14 0%,#070c1466 28%,transparent 42%,#070c1433 52%,#070c14ed 86%,#070c14)}.eyebrow{font-weight:800;font-size:16px;letter-spacing:.03em;margin-bottom:24px;color:var(--cyan)}.hero-head{font-size:67px;letter-spacing:-.065em;line-height:1.3;text-shadow:0 4px 28px #0009}.hero-bottom{padding-top:330px}.game-title{font-family:var(--latin);font-size:132px;letter-spacing:-.015em;line-height:.88;text-shadow:0 5px 20px #0008}.game-title>span{font-family:var(--latin);display:block;color:var(--cyan);font-size:32px;letter-spacing:.025em;line-height:1.3;margin-top:16px}.hero-tag{font-family:var(--heavy);font-weight:900;font-size:25px;margin:27px 0 25px;letter-spacing:-.035em}.hero-play,.final-play{font-size:26px;min-height:78px;width:100%}
/* 01: authentic play footage and live mission labels. */
.gameplay{background:radial-gradient(ellipse at 100% 55%,#173b48,transparent 65%),#09131d}.game-screen{margin:38px -16px 0;border:1px solid #75e4f280;background:#020b11;box-shadow:0 18px 45px #0005}.screen-top{display:flex;justify-content:space-between;padding:11px 15px;font-family:ui-monospace,monospace;font-size:11px;color:var(--cyan);letter-spacing:.06em}.game-screen img{display:block;width:100%;height:auto}.game-screen figcaption{font-size:12px;color:#b1c6d1;padding:10px 15px}.mission-stats{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:20px;margin-top:37px}.mission-stats p{border-top:2px solid var(--cyan);padding-top:17px;font-family:var(--heavy);font-size:26px;font-weight:900}.mission-stats span{display:block}.mission-stats b{font-family:var(--latin);font-size:45px;color:var(--cyan);line-height:1}.mission-stats small{display:block;font-family:ui-monospace,monospace;font-size:10px;color:var(--cyan);letter-spacing:.2em;margin-top:9px}
/* 02: readable action sequence. */
.start{background:linear-gradient(130deg,#0d1926,#080e16)}.launch-steps{list-style:none;margin:34px 0 0;padding:0}.launch-steps li{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:26px 0;border-top:1px solid #75e4f23b}.step-no{font-family:var(--latin);font-size:48px;color:var(--cyan);line-height:1.2}.launch-steps h3{font-size:27px;line-height:1.7;letter-spacing:-.03em}.launch-steps p{font-size:15px;color:#b9cbd7;line-height:1.8;margin-top:8px}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:1px 10px;margin:0 5px 0 0;border:1px solid #75e4f2aa;border-bottom-width:3px;border-radius:4px;color:var(--cyan);font-family:var(--latin);font-weight:400;letter-spacing:.02em;line-height:1.5;vertical-align:baseline}
/* 03: image stays still while commands arrive individually. */
.maneuver{background:#070f19}.flight-art{position:relative;margin:30px -46px 0}.flight-art img{display:block;width:100%;height:auto}.flight-art::after{content:"";position:absolute;inset:0;background:linear-gradient(#070f19,transparent 16%,transparent 80%,#070f19);pointer-events:none}.flight-art figcaption{position:absolute;bottom:17px;right:25px;font-size:11px;color:#c5dde6;z-index:1}.maneuver .display-word{position:relative;margin-top:-22px;color:var(--cyan)}.controls{margin-top:25px}.controls>div{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:26px;border-bottom:1px solid #75e4f23b;padding:20px 0}.controls kbd{font-size:36px;width:160px;min-height:68px;border-radius:0;background:#75e4f20a}.controls dd{font-family:var(--heavy);font-size:32px;font-weight:900}.controls dd span{display:block;font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.2em;color:var(--cyan);margin-top:8px}
/* 04: real text over a quiet atmospheric background; key diagrams are HTML. */
.arsenal{background:#07101a}.arsenal-art{position:absolute;inset:0;width:100%;height:460px;object-fit:cover;opacity:.5;z-index:-2}.arsenal::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#070c1430,#07101a 410px)}.weapons{margin-top:45px}.weapons>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-top:1px solid #75e4f24d}.weapons dt{display:flex;gap:21px;align-items:center;font-family:var(--heavy);font-size:29px;font-weight:900}.weapons kbd{width:70px;min-height:78px;font-size:52px;border-radius:0;border:2px solid var(--cyan);margin:0}.weapons small{display:block;font:10px ui-monospace,monospace;letter-spacing:.12em;color:#92b8ca;margin-top:7px}.lance-name{font-family:var(--latin);font-size:36px}.weapon-drawing{mask-image:radial-gradient(ellipse at center,#000 30%,transparent 76%);position:relative;width:150px;height:60px;flex-shrink:0;overflow:hidden}.weapon-drawing i{position:absolute;display:block}.burst i{width:70%;height:3px;left:12%;top:50%;background:linear-gradient(90deg,transparent,#ff633d,#fff);box-shadow:0 0 12px #ff633d}.burst i:nth-child(2){top:20%;left:26%}.burst i:nth-child(3){top:80%;left:0}.charge i{width:32px;height:32px;right:25px;top:14px;border-radius:50%;background:#f2ffff;box-shadow:0 0 17px 7px #75e4f2,0 0 45px #75e4f2}.missile i{width:95px;height:4px;right:5px;top:17px;transform:rotate(-15deg);background:linear-gradient(90deg,transparent,#859ba5,#fff);border-radius:50%;box-shadow:0 0 8px #fff7}.missile i+i{top:42px;right:25px}.lance i{width:100%;height:4px;top:28px;background:#dfffff;box-shadow:0 0 12px 4px #75e4f2}
/* 05: a light editorial break. */
.creator{background:#e3edf1;color:#081527}.creator .section-label{color:#0b2032}.creator .section-label span{color:#255568}.creator .section-label::after{background:#277e9580}.creator h2{font-size:55px}.creator-visual{position:relative;margin:34px -46px 0}.creator-visual img{display:block;width:100%;height:auto}.creator-visual figcaption{position:absolute;left:40px;bottom:28px;font-family:var(--latin);font-size:75px;line-height:.96;color:#fff;text-shadow:0 2px 15px #0005}.creator-info{margin:24px 0 35px}.creator-info>div{display:grid;grid-template-columns:125px 1fr;gap:16px;padding:19px 0;border-bottom:1px solid #32859b6b}.creator-info dt{font-family:var(--latin);font-size:23px}.creator-info dd{font-family:var(--heavy);font-size:27px;font-weight:900;overflow-wrap:anywhere}.creator .secondary{color:#081527;border:2px solid #081527;font-size:22px}.creator .small-note{color:#35586a}
/* 06 / 07: preflight checks and a clear destination. */
.before-play{background:linear-gradient(135deg,#0d202d,#080e17)}.preflight{margin:34px 0 0}.preflight article{display:flex;gap:26px;padding:25px 0;border-top:1px solid #75e4f244}.preflight article>span{font-family:var(--latin);font-size:35px;color:var(--cyan)}.preflight h3{font-size:25px;letter-spacing:-.03em}.preflight p{font-size:18px;line-height:1.8;margin-top:10px;color:#bbd2df}.final{min-height:900px}.final-art{position:absolute;inset:90px 0 0;width:100%;height:700px;object-fit:cover;object-position:43% center;z-index:-2}.final::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#070c14,#070c1460 35%,transparent 50%,#070c14 84%)}.final-lead{font-size:20px;line-height:1.8;margin-top:22px}.final-lead strong{font-family:var(--latin);font-size:24px;font-weight:400;letter-spacing:.03em}.final-bottom{padding-top:310px}.final-bottom .display-word{font-size:66px}.final-play{margin-top:28px}
.footer{padding:40px 7% 48px;border-top:1px solid #75e4f240;text-align:center;background:#07101a;font-size:16px;line-height:1.8}.footer>p:first-child{font-size:23px;margin:0 0 20px}.footer .secondary{width:100%;max-width:420px;margin:0 auto 30px}.footer details{text-align:left;border-top:1px solid #75e4f240;border-bottom:1px solid #75e4f240;margin-bottom:30px}.footer summary{padding:18px 0;cursor:pointer;font-weight:700}.guide{padding-bottom:14px}.guide dl{margin:18px 0}.guide dl>div{padding:12px 0;border-bottom:1px solid #75e4f220}.guide dt{color:var(--cyan)}.guide dd{margin:4px 0 0}.credits{font-size:14px}.credits a{text-decoration:underline;text-underline-offset:4px}.fineprint{font-size:12px;color:#abc0ce;margin-top:18px}.back-top{display:inline-flex;align-items:center;min-height:44px;color:var(--cyan);font-size:14px;margin-top:15px}.mobile-dock{display:none}#copy-status{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:15;margin:0;padding:12px 20px;max-width:90%;width:max-content;background:#eef8fc;color:#07101a;border:1px solid var(--cyan);border-radius:8px;box-shadow:0 6px 30px #0008;font-size:14px}#copy-status:empty{display:none}dialog{max-width:min(90vw,520px);border:1px solid var(--cyan);border-radius:12px;padding:28px;background:#102030;color:white}dialog::backdrop{background:#0009}dialog input{width:100%;min-height:48px;background:#07101a;color:white;border:1px solid #75e4f280;padding:10px}.close{float:right;background:none;border:0;color:white;font-size:28px;width:44px;height:44px}dialog h2{font-size:24px}
@media(min-width:1800px){.story{margin-left:calc(50% - 260px)}}
@media(max-width:1150px){.rail{display:none}.story{margin:0 auto}.mobile-dock{display:flex;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;background:#07101af5;border-top:1px solid #75e4f24d;z-index:10;box-shadow:0 -8px 25px #0003}.mobile-dock .button{flex:1;font-size:15px;padding:12px}.mobile-dock>button{flex:0 0 66px;background:transparent;border:1px solid #75e4f280;border-radius:4px;color:var(--cyan);font-size:12px;line-height:1.35}.footer{padding-bottom:130px}#copy-status{bottom:calc(100px + env(safe-area-inset-bottom))}}
@media(max-width:600px){.section-inner{padding:43px 24px 48px}.section-label{font-size:21px;gap:10px;margin-bottom:24px}.section-label span{font-size:19px}h2{font-size:clamp(30px,8.6vw,49px);letter-spacing:-.06em;line-height:1.45}.lead{font-size:16px;margin-top:20px}.small-note{font-size:11px;margin-top:22px}.statement{font-size:27px;margin-top:28px;line-height:1.6}.display-word{font-size:clamp(35px,10.6vw,60px)}.hero{padding:32px 24px 34px;min-height:880px}.eyebrow{font-size:11px;letter-spacing:0;margin-bottom:20px}.hero-head{font-size:clamp(33px,10.1vw,60px);line-height:1.45}.hero-art{inset:150px 0 0;height:calc(100% - 150px);object-position:70% center}.hero-bottom{padding-top:315px}.game-title{font-size:clamp(71px,24vw,140px)}.game-title>span{font-size:clamp(18px,5.25vw,30px);margin-top:12px}.hero-tag{font-size:17px;margin:23px 0 22px}.hero-play,.final-play{font-size:19px;min-height:66px;padding:15px 12px}.platform{font-size:11px}.game-screen{margin:28px -10px 0}.screen-top{font-size:9px;padding:10px}.game-screen figcaption{font-size:10px}.mission-stats{gap:12px;margin-top:28px}.mission-stats p{font-size:16px;letter-spacing:-.06em}.mission-stats b{font-size:30px}.mission-stats small{font-size:8px;letter-spacing:.1em}.launch-steps li{grid-template-columns:42px 1fr;gap:13px;padding:23px 0}.step-no{font-size:33px}.launch-steps h3{font-size:20px}.launch-steps p{font-size:13px}.launch-steps kbd{min-width:30px;padding:0 7px}.flight-art{margin:22px -24px 0}.flight-art figcaption{right:15px;bottom:12px;font-size:9px}.maneuver .display-word{margin-top:-4px}.controls>div{grid-template-columns:105px 1fr;gap:18px;padding:17px 0}.controls kbd{font-size:27px;width:105px;min-height:52px}.controls dd{font-size:23px}.controls dd span{font-size:9px}.arsenal-art{height:350px}.arsenal::after{background:linear-gradient(#070c1430,#07101a 320px)}.weapons{margin-top:32px}.weapons>div{gap:10px;padding:21px 0}.weapons dt{gap:12px;font-size:21px}.weapons kbd{width:49px;min-height:60px;font-size:39px}.weapons small{font-size:8px}.lance-name{font-size:26px}.weapon-drawing{width:68px;height:52px}.charge i{width:22px;height:22px;right:18px}.creator h2{font-size:clamp(28px,8vw,44px)}.creator-visual{margin:26px -24px 0}.creator-visual figcaption{left:24px;bottom:20px;font-size:49px}.creator-info>div{grid-template-columns:82px 1fr;gap:10px;padding:17px 0}.creator-info dt{font-size:17px}.creator-info dd{font-size:19px}.creator .secondary{font-size:16px;padding:16px 10px;gap:8px}.preflight article{gap:18px;padding:22px 0}.preflight article>span{font-size:28px}.preflight h3{font-size:20px}.preflight p{font-size:14px}.final{min-height:750px}.final-art{top:100px;height:540px}.final-lead{font-size:14px}.final-lead strong{font-size:18px}.final-bottom{padding-top:250px}.final-bottom .display-word{font-size:clamp(32px,10.25vw,59px)}.subtitle{font-size:11px}.final-play{margin-top:25px}.footer{font-size:14px}.footer>p:first-child{font-size:21px}.footer summary{font-size:14px}.system-status{font-size:9px;gap:5px}.system-status b{font-size:9px}#motion-toggle{min-width:110px;font-size:11px}.motion-toolbar{padding:0 10px}}
@media(max-width:374px){.section-inner,.hero{padding-left:20px;padding-right:20px}.flight-art,.creator-visual{margin-left:-20px;margin-right:-20px}.weapons dt{font-size:19px;gap:8px}.weapon-drawing{width:52px}.lance-name{font-size:23px}.hero-play,.final-play{font-size:17px}.mobile-dock{padding-left:8px;padding-right:8px;gap:8px}.mobile-dock .button{font-size:13px;padding:12px 8px}.creator-info dd{font-size:17px}.creator .secondary{font-size:14px}.mission-stats p{font-size:14px}}
