@font-face{font-family:FlightSans;src:url('../assets/fonts/flight-sans.ttf') format('truetype');font-weight:100 900;font-display:block}
:root{--paper:#f3ecd7;--navy:#0e2636;--red:#d62e22;--cyan:#51aeb7;--gold:#c99636}
.loadout-intro{left:70px;top:108px;width:730px}
.loadout-intro .eyebrow{font-size:12px;letter-spacing:3px}
.loadout-intro .page-heading{font-size:40px;letter-spacing:-1px;margin:9px 0 11px}
.loadout-intro p{font-size:19px;line-height:1.5;margin:0}
.loadout-route{left:876px;top:110px;width:494px;min-height:96px;display:flex;align-items:center;gap:20px;border-top:2px solid var(--navy);border-bottom:1px solid #0e26364d;padding:12px 15px}
.loadout-route>div{display:flex;flex-direction:column;gap:3px}
.loadout-route small{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--red)}
.loadout-route strong{font-size:24px;font-weight:900}
.loadout-route span:not(.sprite-art){font-size:16px;line-height:1.4}
.ship-card{position:absolute;border:0;background:transparent;padding:0;text-align:left;isolation:isolate;transition:transform .14s ease}
.ship-card-frame{position:absolute!important;inset:0;z-index:-1;pointer-events:none}
.ship-card:hover{transform:translateY(-3px)}
.ship-card:active{transform:translateY(0)!important}
.ship-card:focus-visible{outline:2px dashed var(--cyan);outline-offset:3px}
.ship-card-index{position:absolute;left:48px;top:74px;font-size:10px;line-height:16px;font-weight:850;letter-spacing:1.4px}
.ship-card-selection{position:absolute;right:48px;top:72px;font-size:12px;font-weight:850;line-height:20px;color:#0e26368c;padding:0 5px}
.ship-card.selected .ship-card-selection{color:var(--red);border:1px solid var(--red);transform:rotate(-3deg)}
.ship-card.selected::after{content:'';position:absolute;inset:8px;pointer-events:none;background:linear-gradient(var(--red),var(--red)) left top/18px 2px no-repeat,linear-gradient(var(--red),var(--red)) left top/2px 18px no-repeat,linear-gradient(var(--red),var(--red)) right bottom/18px 2px no-repeat,linear-gradient(var(--red),var(--red)) right bottom/2px 18px no-repeat}
.ship-hangar{position:absolute;left:44px;right:44px;top:94px;height:154px;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(#0e263610 1px,transparent 1px),linear-gradient(90deg,#0e263610 1px,transparent 1px);background-size:24px 24px;border-top:1px solid #0e26362b;border-bottom:1px solid #0e26362b}
.ship-hangar::before{content:'';position:absolute;width:146px;height:146px;border:1px solid #0e26362b;border-radius:50%;pointer-events:none}
.ship-hangar .ship-picture{position:relative;z-index:1}
.ship-measure{position:absolute;left:7px;bottom:6px;font-size:11px;font-weight:750;letter-spacing:2px;opacity:.5}
.ship-card h3{position:absolute;left:28px;right:28px;top:253px;font-size:28px;line-height:34px;letter-spacing:2px;text-align:center;margin:0;font-weight:900}
.ship-card .ship-tag{position:absolute;left:28px;right:28px;top:289px;font-size:12px;line-height:18px;font-weight:850;text-align:center;color:var(--red);letter-spacing:3px}
.ship-card .ship-description{position:absolute;left:48px;right:48px;top:314px;font-size:17px;line-height:24px;margin:0}
.ship-card .ship-stats{position:absolute;left:48px;right:48px;top:367px;display:grid;grid-template-columns:1fr 1.25fr 1fr;padding-top:7px;border-top:1px solid #0e26365c}
.ship-stats>span{display:flex;flex-direction:column;align-items:center;gap:1px;border-left:1px solid #0e263633}
.ship-stats>span:first-child{border-left:0}
.ship-stats small{font-size:13px;line-height:18px;font-weight:700}
.ship-stats b{font-size:24px;line-height:27px;font-weight:900;font-variant-numeric:tabular-nums}
.ship-stats i{font-style:normal;font-size:12px;margin-left:4px;font-weight:600}
.loadout-dossier{left:1174px;top:242px;width:196px;height:480px;border-left:1px solid #0e26364d;padding-left:20px}
.dossier-caption{font-size:12px;line-height:20px;font-weight:850;letter-spacing:1.4px}
.loadout-dossier h2{font-size:36px;line-height:43px;color:var(--red);font-weight:900;letter-spacing:4px;margin:9px 0 4px}
.dossier-type{font-size:17px;line-height:24px;font-weight:750;margin:0}
.dossier-rule{height:1px;background:#0e26364d;margin:18px 0}
.dossier-weapon{display:flex;align-items:center;gap:10px;margin:0 0 15px}
.dossier-weapon>div{display:flex;flex-direction:column;gap:4px}
.dossier-weapon small{font-size:13px;line-height:20px;color:#0e2636b3}
.dossier-weapon strong{font-size:17px;line-height:23px;font-weight:850}
.dossier-swap{font-size:13px;line-height:24px;margin:0;white-space:nowrap}
.dossier-swap kbd{display:inline-block;background:var(--navy);color:var(--paper);font-size:12px;line-height:19px;min-width:20px;text-align:center;margin-right:4px}
.dossier-tip{font-size:18px;line-height:27px;margin:8px 0 21px}
.dossier-ready{display:inline-block;border-top:2px solid var(--red);border-bottom:1px solid var(--red);padding:7px 2px;font-size:17px;line-height:23px;font-weight:850;letter-spacing:2px;color:var(--red)}
.loadout-control-note{left:385px;top:781px;width:570px;height:39px;display:flex;justify-content:center;align-items:center;gap:20px;font-size:15px;font-weight:750;letter-spacing:1px}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#07151f;color:var(--navy);font-family:FlightSans,sans-serif}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible{outline:4px dashed var(--cyan);outline-offset:5px}button:active:not(:disabled){transform:translateY(2px)}
#stage{position:fixed;width:1440px;height:900px;transform-origin:top left;overflow:hidden;background:var(--paper);isolation:isolate;outline:none}#paper-canvas{position:absolute;inset:0;width:1440px;height:900px;pointer-events:none;z-index:0}#world-canvas{position:absolute;left:310px;top:80px;width:820px;height:740px;display:none;z-index:2;border:2px solid var(--navy);outline:2px solid var(--red);outline-offset:4px}#screen-root{position:absolute;inset:0;z-index:3;pointer-events:none}#screen-root>*{pointer-events:auto}#overlay-root{position:absolute;inset:0;z-index:20;pointer-events:none}#overlay-root>*{pointer-events:auto}
.pos{position:absolute}.masthead{height:74px;left:30px;right:30px;top:0;display:flex;align-items:center;border-bottom:2px solid var(--navy);gap:28px}.brand{font-size:32px;font-weight:950;letter-spacing:-2px;line-height:1;color:var(--red);text-decoration:none;display:flex;align-items:center;gap:8px}.brand strong{color:var(--navy)}.brand small{font-size:9px;letter-spacing:3px;display:block;color:var(--red)}.masthead .archive{font-size:12px;letter-spacing:3px;font-weight:800;flex:1}.masthead .sector-tag{font-size:19px;letter-spacing:2px;font-weight:850}.masthead .top-action{border:0;background:none;font-size:18px;font-weight:850;padding:12px 0 12px 20px}.masthead kbd{background:var(--navy);color:var(--paper);padding:2px 10px;margin-left:10px}
.eyebrow{font-size:14px;font-weight:800;letter-spacing:4px;text-transform:uppercase}.red{color:var(--red)}.muted{opacity:.68}.title{font-size:106px;font-weight:950;letter-spacing:-7px;line-height:1.15;margin:0;transform:skew(-4deg)}.title .red{margin-right:8px}.subtitle{font-size:24px;letter-spacing:3px;font-weight:700}.english{font-size:24px;font-weight:800;color:var(--red);letter-spacing:8px;line-height:1.7}.home-description{left:70px;top:368px;font-size:25px;font-weight:750;letter-spacing:2px}.slashes{color:var(--red);font-size:28px;font-weight:950;letter-spacing:5px}.home-manifest{left:76px;top:455px;font-size:11px;line-height:1.7;letter-spacing:3px;display:flex;gap:20px}.home-ship{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 8px #0e26362a);pointer-events:none}.home-feature{position:absolute;left:1070px;top:770px;width:300px;display:flex;gap:16px;border-left:2px solid var(--navy);padding-left:25px;font-weight:800;line-height:1.8;font-size:16px}.home-feature span{display:block;font-size:10px;letter-spacing:1px}
.art-button{border:0;background-color:var(--paper);border-image-source:url('../assets/images/blank_secondary_rectangle_button.png');border-image-slice:35;border-image-width:17px;border-image-outset:0;border-image-repeat:stretch;font-size:24px;font-weight:850;line-height:1.25;min-height:58px;padding:16px 34px;display:flex;align-items:center;justify-content:center;gap:14px;position:relative;isolation:isolate}.art-button::before{content:'';position:absolute;inset:10px;z-index:-1;opacity:.11;background-image:radial-gradient(var(--navy) .65px,transparent .9px);background-size:5px 4px;pointer-events:none}.art-button.primary{background:var(--red);color:var(--paper);border-image-source:url('../assets/images/blank_wide_primary_button.png');font-weight:900}.art-button.primary::before{opacity:.2}.art-button:disabled{opacity:.4;filter:grayscale(1)}.art-button .button-icon{width:25px;height:25px;object-fit:contain}.art-button.primary .button-icon{filter:brightness(0) invert(1)}.art-button.compact{font-size:18px;min-height:46px;padding:10px 24px}.home-start{font-size:34px;letter-spacing:4px}.button-row{display:flex;gap:20px;align-items:center}.footer{position:absolute;left:30px;right:30px;bottom:20px;height:32px;display:flex;align-items:center;gap:25px;border-top:2px solid var(--navy);padding-top:12px;font-size:11px;letter-spacing:2px;pointer-events:none}.footer .end{margin-left:auto;color:var(--red);font-weight:900}
.route{display:flex;position:absolute;align-items:center;gap:35px}.route::before{content:'';position:absolute;left:90px;right:90px;top:82px;border-top:2px dashed var(--navy);z-index:-1}.route-node{position:relative;flex:1;align-self:stretch;border:0;background:none;padding:0;color:var(--navy)}.route-node .number{position:absolute;top:0;left:50%;transform:translateX(-50%);font-size:22px;font-weight:950}.route-disc{display:flex;width:132px;height:132px;margin:25px auto 0;border:3px solid currentColor;border-radius:50%;align-items:center;justify-content:center;overflow:hidden;position:relative;background:var(--paper)}.route-disc::after{content:'';position:absolute;inset:5px;border:1px solid currentColor;border-radius:50%}.route-disc img{width:94px;height:94px;object-fit:contain;filter:sepia(.4)}.route-label{font-size:19px;font-weight:850;letter-spacing:3px;background:var(--navy);color:var(--paper);display:block;max-width:230px;margin:-4px auto 0;padding:6px 12px;border:3px double var(--paper);outline:2px solid var(--navy)}.route-node.selected{color:var(--red)}.route-node.selected .route-label{background:var(--red);outline-color:var(--red)}.route-node:disabled{cursor:not-allowed}.route-node:disabled .route-disc{opacity:.74}.route-lock{position:absolute;top:4px;right:46px;background:var(--paper);padding:0 5px;font-size:14px}.route-node:not(:disabled):hover .route-disc{outline:4px solid #d62e2230;outline-offset:4px}
.page-heading{font-size:46px;font-weight:900;margin:0;letter-spacing:-2px}.page-note{font-size:20px;line-height:1.7}
.console{position:absolute;border:2px solid var(--navy);padding:22px 18px;background:linear-gradient(112deg,#fff5,#fff0);clip-path:polygon(0 0,94% 0,100% 2%,100% 100%,0 100%);pointer-events:none}.console .rule{height:1px;background:var(--navy);margin:20px 0;opacity:.6}.console .sector-number{font-size:94px;line-height:1.05;font-weight:950;letter-spacing:-7px;color:var(--red)}.console h2{font-size:34px;line-height:1.25;margin:7px 0 3px;font-weight:900;letter-spacing:-1px}.console h3{font-size:19px;margin:0 0 12px;font-weight:850}.console .small-cap{font-size:10px;letter-spacing:3px;font-weight:800}.meter-row{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:16px;font-weight:800}.meter-icon{width:30px;height:30px;object-fit:contain}.segments{display:flex;flex:1;gap:3px;border:1px solid var(--navy);padding:3px;height:23px}.segments span{flex:1;background:transparent;border:1px solid #0e263625}.segments span.on{background:var(--red);border-color:var(--red)}.segments.cyan span.on{background:var(--cyan);border-color:var(--cyan)}.score-value{font-size:43px;color:var(--red);font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1.4}.weapon-box{display:flex;align-items:center;gap:12px;margin:12px 0}.weapon-box .ship-mini{width:88px;height:98px;object-fit:contain}.weapon-box .weapon-mini{width:52px;height:64px;object-fit:contain}.weapon-box strong{font-size:18px}.control-strip{font-size:14px;font-weight:750;line-height:2.25}.control-strip kbd{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:var(--paper);padding:0 6px;font-size:12px;min-width:38px;margin-right:7px}.route-log{display:flex;flex-direction:column;gap:13px}.log-item{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:800;opacity:.45}.log-item.current{opacity:1;color:var(--red)}.log-item.done{opacity:.8}.log-dot{height:19px;width:19px;border:2px solid currentColor;outline:1px solid currentColor;outline-offset:3px;border-radius:50%;margin:0 3px}.log-item.current .log-dot{background:var(--red)}.mission{font-size:20px;line-height:1.55;font-weight:850;min-height:75px}.progress-label{display:flex;justify-content:space-between;align-items:center;margin:15px 0 8px;font-size:16px;font-weight:800}.progress-label b{color:var(--red);font-size:26px;font-variant-numeric:tabular-nums}.progress-track{height:17px;border:1px solid var(--navy);padding:3px}.progress-fill{height:100%;background:var(--red);width:0}.pulse-charges{display:flex;gap:12px;margin-top:9px;align-items:center}.pulse-charge{width:40px;height:40px;border:2px solid var(--red);border-radius:50%;padding:5px}.pulse-charge.off{opacity:.18}.pulse-charge img{width:100%;height:100%;object-fit:contain}.radio{font-size:16px;line-height:1.7;padding:14px 0 0;border-top:1px dashed var(--navy);margin-top:20px;min-height:100px}.hud-clock{font-size:14px;font-variant-numeric:tabular-nums;margin-top:14px}.boss-bar{position:absolute;left:335px;top:94px;width:770px;pointer-events:none;background:#0e2636d9;padding:8px 16px 11px;color:var(--paper);border:1px solid #f3ecd780}.boss-bar strong{font-size:18px}.boss-bar .progress-track{border-color:var(--paper);height:12px;margin-top:6px}.boss-bar .progress-fill{background:#e85c3f}.boss-bar small{float:right;font-size:13px}.field-notice{position:absolute;left:390px;top:300px;width:660px;padding:20px 30px;text-align:center;pointer-events:none;color:var(--paper);background:#0e2636de;border-top:2px solid var(--red);border-bottom:2px solid var(--red);font-size:32px;font-weight:900;letter-spacing:4px}.field-notice small{display:block;font-size:16px;letter-spacing:2px;font-weight:600;margin-top:8px}.field-notice.avoid-top{top:730px}.hitbox-caption{position:absolute;left:330px;top:788px;font-size:11px;pointer-events:none;color:#f3ecd7b0}
.backdrop{position:absolute;inset:0;background:#07151fa8;display:flex;align-items:center;justify-content:center}.modal{position:absolute;background:var(--paper);border:0;border-image-source:url('../assets/images/blank_wide_modal_frame.png');border-image-slice:48 fill;border-image-width:49px;border-image-repeat:stretch;padding:105px 85px 60px;overflow:visible}.modal h2{font-size:42px;font-weight:900;margin:0 0 10px;text-align:center}.modal .modal-note{font-size:19px;line-height:1.7;text-align:center;margin:0 0 25px}.modal .button-row{justify-content:center}.modal .button-row .art-button{flex:1;font-size:22px}.settings-row{display:flex;align-items:center;justify-content:space-between;margin:23px 0;font-size:23px;font-weight:750;gap:25px}.settings-row label{display:flex;align-items:center;gap:12px}.settings-row img{height:29px;width:29px;object-fit:contain}.settings-row input[type=range]{width:350px;accent-color:var(--red);height:24px}.settings-row input[type=checkbox]{appearance:none;width:80px;height:35px;border:2px solid var(--navy);background:var(--navy);border-radius:30px;position:relative;cursor:pointer}.settings-row input[type=checkbox]::after{content:'';position:absolute;left:4px;top:3px;width:25px;height:25px;background:var(--paper);border-radius:50%;transition:transform .15s}.settings-row input[type=checkbox]:checked{background:var(--red);border-color:var(--red)}.settings-row input[type=checkbox]:checked::after{transform:translateX(41px)}.modal .bottom-row{position:absolute;left:85px;right:85px;bottom:65px}.modal .control-help{font-size:21px;line-height:2.2;margin:18px 0}.modal .control-help kbd{font-weight:850;background:var(--navy);color:var(--paper);padding:3px 12px;margin-right:12px}.confirm-modal{padding-top:95px}.confirm-modal p{font-size:23px;line-height:1.8;text-align:center}.tutorial-heading{font-size:39px!important;text-align:left!important}.tutorial-step{color:var(--red);font-size:21px;font-weight:850;margin-bottom:10px}.tutorial-copy{font-size:22px;line-height:1.9;margin:15px 0 30px}.tutorial-chip{position:absolute;left:340px;top:105px;width:400px;pointer-events:none;background:#f3ecd7f2;border:2px solid var(--red);padding:15px 22px;font-size:17px;line-height:1.8}.tutorial-chip strong{color:var(--red);font-size:22px}.tutorial-chip .checks{letter-spacing:4px;font-size:19px}.training-next{left:790px;top:715px;width:300px;height:65px}
.stats-row{display:flex;border-top:2px solid var(--navy);border-bottom:2px solid var(--navy);align-items:center;gap:0}.stat{flex:1;padding:10px 30px;border-right:1px solid var(--navy);display:flex;align-items:center;gap:20px}.stat:last-child{border:0}.stat span{font-size:16px;font-weight:800}.stat strong{font-size:35px;color:var(--red);font-weight:950;font-variant-numeric:tabular-nums}.result-title{font-size:76px;font-weight:950;letter-spacing:-5px;margin:0;line-height:1.2}.result-stamp{width:180px;height:180px;object-fit:contain;position:absolute;left:1150px;top:120px;transform:rotate(-12deg);opacity:.85}.result-medallion{position:absolute;left:65px;top:115px;width:300px;height:270px;border-radius:50%;background:var(--navy);border:5px double var(--paper);outline:2px solid var(--navy);padding:30px;object-fit:contain}.result-route{left:480px;top:275px;width:870px;height:100px}.result-route .route-disc{width:67px;height:67px;margin:20px auto 0}.result-route .route-disc img{width:46px;height:46px}.result-route .route-label{font-size:13px;max-width:170px;padding:2px}.result-route .number{font-size:15px}.result-route::before{top:53px;left:55px;right:55px}.result-route .route-lock{right:28px;top:7px;font-size:11px}.refit-heading{left:55px;top:540px;font-size:26px;font-weight:900}.refit-card{position:absolute;background:var(--paper);border:2px solid var(--navy);padding:18px 20px 18px 120px;text-align:left;box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 7px var(--navy)}.refit-card img{position:absolute;left:22px;top:28px;width:78px;height:93px;object-fit:contain}.refit-card h3{font-size:22px;margin:0 0 10px}.refit-card p{font-size:15px;margin:5px 0;line-height:1.7}.refit-card .cost{color:var(--red);font-weight:800}.refit-card.selected{outline:4px solid var(--red);outline-offset:4px;border-color:var(--red)}.result-summary{left:460px;top:550px;width:850px;font-size:26px;line-height:1.9;font-weight:700}.result-subline{font-size:21px;line-height:1.8}.loading-heading{font-size:52px;font-weight:900;text-align:center;margin-top:260px}.loading-info{font-size:20px;text-align:center;margin-top:24px}.load-progress{position:absolute;left:420px;top:430px;width:600px;height:24px;border:2px solid var(--navy);padding:4px}.load-progress>span{display:block;width:0;height:100%;background:var(--red)}
#toast{position:absolute;left:460px;bottom:100px;width:520px;padding:15px 24px;background:var(--navy);color:var(--paper);border:2px solid var(--red);font-size:20px;text-align:center;z-index:30;pointer-events:none;opacity:0;transition:opacity .15s}#toast.visible{opacity:1}#boot-status{position:fixed;left:0;right:0;bottom:15px;color:var(--paper);text-align:center;font-size:14px;pointer-events:none}body.ready #boot-status{display:none}.reduced-motion *{animation:none!important;transition:none!important}
.art-button.pos{position:absolute}#screen-root>.footer{pointer-events:none}.result-medallion{animation:print-seal .65s cubic-bezier(.2,.8,.2,1) both}.refit-card{animation:unfold-card .45s ease-out both;transform-origin:center}.refit-card:nth-of-type(2){animation-delay:.08s}.refit-card:nth-of-type(3){animation-delay:.16s}@keyframes print-seal{from{transform:scale(1.35) rotate(-14deg);opacity:0}70%{transform:scale(.97) rotate(1deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes unfold-card{from{transform:perspective(700px) rotateY(65deg);opacity:0}to{transform:perspective(700px) rotateY(0);opacity:1}}
.console{padding:18px 18px}.console .rule{margin:13px 0}.console .sector-number{font-size:78px}.console h2{font-size:31px}.console h3{margin-bottom:9px}.meter-row{margin:11px 0}.weapon-box{margin:8px 0}.control-strip{line-height:1.9;font-size:13px}.hitbox-caption{top:802px;font-size:10px}
.refit-card>.sprite-art{position:absolute;left:22px;top:28px}.refit-card h3{font-size:22px;line-height:1.3;margin-bottom:8px}.refit-card p{font-size:15px;line-height:1.55;margin:5px 0}
.console h2{font-size:26px;text-align:center;padding:8px 10px;margin:6px 0;height:55px}.score-value{font-size:34px;color:var(--paper);padding:7px 15px;height:63px}.console .sector-number{font-size:68px}.console .rule{margin:10px 0}#power-level{height:38px;display:flex;align-items:center;padding-left:50px;letter-spacing:1px;font-size:10px}.hud-clock{height:65px;position:relative}.hud-clock>.sprite-art{position:absolute;inset:0}.hud-clock>span:not(.sprite-art){position:absolute;left:65px;top:11px;line-height:21px;font-size:13px}.pulse-charge{border:0;border-radius:0}.refit-card>.refit-icon-frame{left:12px;top:15px;width:93px!important;height:133px!important}.refit-card>.sprite-art:not(.refit-icon-frame){left:27px;top:31px;width:65px!important;height:83px!important}.top-action{display:inline-flex;align-items:center;gap:8px}#pause-button{padding:8px 15px}.toggle-wrap{display:block;position:relative;width:84px;height:39px;flex-shrink:0}.settings-row .toggle-wrap input[type=checkbox]{background:transparent!important;border:0;margin:2px;width:80px}.settings-row .toggle-wrap input[type=checkbox]::after{background:var(--paper);box-shadow:0 0 0 2px var(--navy)}.settings-row .toggle-wrap input[type=checkbox]:checked::after{background:var(--cyan)}.settings-row input[type=range]{appearance:none;height:9px;background:var(--navy);border:1px solid var(--paper);border-radius:0}.settings-row input[type=range]::-webkit-slider-thumb{appearance:none;width:29px;height:29px;background-image:var(--thumb-image);background-size:var(--thumb-size);background-position:var(--thumb-position);background-repeat:no-repeat;cursor:pointer}.control-help + .modal-note{padding:15px 35px 24px;margin-top:2px;font-size:17px}.manual-diagrams{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;font-size:16px}.modal .control-help{font-size:20px;line-height:1.95}.result-record{position:absolute;left:60px;top:520px;width:285px;height:230px}.result-record>.sprite-art{position:absolute;inset:0}.result-record>div{position:absolute;left:65px;top:42px;display:flex;flex-direction:column;gap:10px;color:var(--paper);font-size:15px;font-weight:700}#toast{color:var(--navy);border:0;min-height:78px;padding:24px 30px;font-size:18px}.field-notice>.sprite-art{vertical-align:middle;margin-right:15px}.boss-bar{padding-left:75px}.boss-bar::before{content:"";position:absolute;inset:0;pointer-events:none}
.boss-bar{height:74px;padding:23px 15px 10px 83px}.boss-name-frame{position:absolute;left:0;top:4px}.boss-bar strong{position:relative;font-size:18px;z-index:1}.boss-bar .progress-track{position:absolute;left:300px;top:32px;width:440px;height:21px;margin:0}.boss-bar small{position:absolute;left:305px;top:8px;font-size:12px}
.score-value{height:68px;font-size:28px;line-height:1;padding:31px 10px 6px;text-align:center}#power-level{display:block;line-height:14px;padding:5px 8px 5px 66px;font-size:11px;height:40px;letter-spacing:1px}.hud-clock>.sprite-art{left:0;top:9px}.hud-clock>span:not(.sprite-art){left:100px;top:10px;color:var(--navy);font-size:13px;line-height:21px}.modal .control-help{width:440px;font-size:18px;line-height:2}.modal .control-help kbd{font-size:17px;margin-right:7px;padding:3px 8px}.control-help + .modal-note{position:absolute;left:535px;top:188px;width:310px;height:320px;padding:58px 25px 36px;font-size:16px;line-height:1.7;text-align:left}.manual-diagrams{gap:6px;font-size:13px;margin-top:12px;flex-wrap:wrap;justify-content:flex-start}
#power-level{position:relative;height:44px;padding:0;display:flex;align-items:center;gap:8px;font-size:12px;line-height:17px;letter-spacing:1px}#power-level>.sprite-art{flex-shrink:0}.control-help + .modal-note{padding-top:98px}
.pause-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}#pause-button{background:none;padding:0 6px}
.control-help + .modal-note{height:350px;padding:110px 45px 45px}.control-help>.manual-diagrams{margin-top:40px;width:430px;font-size:15px;gap:12px}.result-record>div{left:110px;top:33px;width:132px;height:185px;display:grid;grid-template-rows:repeat(5,1fr);align-items:center;gap:0;font-size:14px;line-height:1.2}
#toast{left:360px;width:720px;min-height:110px;padding:24px 150px 24px 175px;font-size:20px;line-height:1.4;overflow-wrap:anywhere}.radio.radio-notice{font-weight:700;color:var(--navy);border-left:3px solid var(--red);padding-left:10px}
#toast{left:370px;bottom:85px;width:610px;padding:18px 125px 18px 150px;font-size:18px}

/* Home notices occupy the reserved subtitle-to-description gap. */
body[data-screen="home"] #toast{left:60px;top:310px;bottom:auto;width:760px;height:78px;min-height:78px;padding:12px 130px 12px 185px;font-size:18px;line-height:1.4;display:flex;align-items:center;justify-content:center}

/* Adopted step2 HUD/manual geometry; all state comes from the domain. */

.console .sector-number{font-size:54px;line-height:1}
.console h2{font-size:26px;height:49px;padding:6px 10px}
.console .small-cap{font-size:12px;letter-spacing:1px}
.console h3{font-size:19px;margin-bottom:7px}
.console .rule{margin:8px 0}
.meter-row{font-size:18px;margin:8px 0;gap:8px}
.weapon-box{height:66px;margin:7px 0;gap:8px}
.weapon-box #ship-mini>.sprite-art{transform:scale(.74);transform-origin:center;margin:-11px}
.weapon-box #weapon-mini>.sprite-art{transform:scale(.72);transform-origin:left center;margin:-8px 0}
.weapon-box strong{font-size:18px}
#power-level{height:30px;font-size:15px;line-height:20px;letter-spacing:0}
#power-level>.sprite-art{display:none}
#power-level>span br{display:none}
.reserve-row{height:57px;display:flex;align-items:center;gap:9px;border:1px solid #0e26365a;padding:4px 7px;margin-top:9px;background:#fff5}
.reserve-icon{width:34px;height:40px;object-fit:contain}
.reserve-row small{display:block;font-size:13px;color:#924b34;line-height:18px}
.reserve-row strong{display:block;font-size:18px;line-height:23px}
.reserve-row kbd{font-size:18px;background:#0e2636;color:#f3ecd7;padding:2px 6px;margin-left:auto}
.control-strip{font-size:15px;line-height:1.8}.control-strip kbd{font-size:13px;min-width:28px;margin-right:3px;padding:0 3px}
.route-log{gap:9px}.log-item{font-size:19px}.mission{font-size:20px;min-height:70px;line-height:1.5}
.progress-label{margin:10px 0 7px;font-size:18px}.pulse-charges{gap:9px}
.archive-box{border-left:3px solid #bf352a;padding:8px 10px;margin-top:13px;background:#fff5}
.archive-box strong{font-size:19px;display:block;line-height:24px}
.archive-box span{font-size:16px;line-height:23px;display:block}
.archive-box .archive-progress{height:7px;border:1px solid #0e26364a;margin-top:6px}
.archive-box .archive-progress i{display:block;height:100%;width:62%;background:#58a7ae}
.radio{font-size:18px;line-height:1.5;min-height:62px;margin-top:13px;padding-top:10px}
.hud-clock{margin-top:4px;height:56px}.hud-clock>span:not(.sprite-art){font-size:14px}
.modal{border-image-slice:48;background:#f3ecd7}
.modal .control-help{width:445px;font-size:19px;line-height:1.7}
.modal .control-help kbd{font-size:17px;padding:3px 8px}
.modal .control-help>div{margin-bottom:7px}
.control-help + .modal-note{top:176px;height:365px;padding:70px 36px 25px;font-size:18px;line-height:1.65}
.manual-diagrams{margin-top:22px!important;font-size:17px!important}

.control-help + .modal-note{height:260px;padding:108px 45px 35px;font-size:19px;line-height:1.55}
.manual-extra{position:absolute;left:545px;top:442px;width:290px;font-size:18px;line-height:1.55;margin:0}
.manual-extra p{margin:0 0 9px;font-size:18px;line-height:1.55;text-align:left}
#reserve-mini{width:34px;height:40px;display:block;flex-shrink:0}
.reserve-row.unavailable{opacity:.55}
body[data-screen="training"] #reserve-row,body[data-screen="training"] #archive-box{display:none}
.archive-box .archive-progress i{width:0}
.pulse-charges{gap:7px}.pulse-charge{width:32px;height:32px;padding:4px;flex-shrink:0}.pulse-total{font-size:20px;margin-left:auto}
.boss-bar small{font-size:16px}.boss-bar em{font-style:normal}.boss-bar .core-open{color:#b9f9eb;font-weight:900}
.supply-choice-note{display:block;font-size:18px;line-height:1.5;margin-top:20px}
.modal .manual-diagrams{width:430px;margin-top:16px!important;font-size:15px!important;gap:8px}
.result-record>div{left:94px;top:33px;width:151px;height:185px;font-size:17px}
.reserve-row strong,.weapon-box strong{font-size:20px}.archive-box strong{font-size:20px}
.control-strip{font-size:17px}.control-strip kbd{font-size:14px}
.mission{min-height:60px}.radio{font-size:20px;line-height:1.5}.hud-clock{height:48px}
.result-record>div{font-size:19px}

/* The route console reserves the complete timer, including long fault notices. */
.route-console{display:flex;flex-direction:column}
.route-console>:not(.radio){flex-shrink:0}
.route-console h3{margin-bottom:8px}
.route-console .route-log{gap:7px}
.route-console .mission{min-height:54px;font-size:19px;line-height:1.45}
.route-console .radio{flex:1 1 0;min-height:0;margin-top:10px;padding-top:8px;font-size:18px;line-height:1.5;overflow-y:auto;scrollbar-width:thin;pointer-events:auto}
.route-console .hud-clock{flex:0 0 58px;height:58px;margin-top:6px}
/* Keep the original plate's corners and striped side at their own proportions. */
#toast{padding:22px 42px 22px 95px;min-height:110px;display:flex;align-items:center;justify-content:center;text-align:left}
body[data-screen="home"] #toast{padding:24px 42px 24px 95px}

/* Boss information replaces the cruise objective in the side console. */
#cruise-objective[hidden]{display:none}
.route-console #boss-hud:empty{display:none}
.route-console #boss-hud>h3{margin-bottom:0}
.route-console .boss-bar{position:relative;left:auto;top:auto;width:100%;height:132px;padding:0;background:transparent;border:0;color:var(--ink)}
.route-console .boss-name-frame{left:0;top:0}
.route-console .boss-bar strong{position:absolute;left:88px;top:38px;font-size:15px;white-space:nowrap;color:var(--paper)}
.route-console .boss-bar small{position:absolute;left:0;top:82px;width:100%;float:none;font-size:16px}
.route-console .boss-bar .progress-track{left:0;top:109px;width:100%;height:18px;border-color:var(--ink)}
.route-console .boss-bar .core-open{color:#177b81}
.route-console .radio{font-size:16px;line-height:1.45;max-height:none;overflow:visible}
/* Courier information replaces the archive row and preserves the timer space. */
.archive-box[data-courier]{border-left-color:#277f88}
.archive-box[data-courier] strong{color:#1d6b73;font-size:19px}
.archive-box span{font-size:16px;line-height:22px;white-space:pre-line}
.modal .control-help{font-size:18px;line-height:1.6}
.control-help>.manual-diagrams{margin-top:20px}
.manual-extra{top:432px;font-size:17px}
.manual-extra p{font-size:17px;line-height:1.45;margin-bottom:4px}

/* Three manual lines retain safe space inside the approved speech frame. */
.control-help + .modal-note{padding-top:88px}

/* Keep long recovery results clear of the laurel and next-route numbers. */
.result-title + .result-subline{max-width:690px;font-size:20px;line-height:1.25;margin:0}
.courier-result-line{display:block}

/* Short warnings live on the viewport edge; the flight lane stays visible. */
.field-notice{left:330px;top:88px;width:780px;height:48px;padding:6px 16px;display:flex;align-items:center;gap:12px;text-align:left;font-size:21px;line-height:1.15;letter-spacing:0;background:#0e2636ec;border-top:0;border-bottom:2px solid var(--red)}
.field-notice strong{font-weight:900;flex-shrink:0}
.field-notice small{display:block;margin:0 0 0 auto;max-width:410px;font-size:17px;line-height:1.2;letter-spacing:0;font-weight:650;text-align:right}
.field-notice>.sprite-art{margin:0;flex-shrink:0}
.route-console .radio{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.control-strip{font-size:15px;line-height:1.85}
.hitbox-caption{font-size:14px;top:826px}
.next-signal{left:520px;top:540px;width:850px;font-size:20px;line-height:1.4;font-weight:700;color:#1d6b73}
.result-summary.with-signal-record{top:535px;font-size:19px;line-height:1.25;font-weight:700}
.signal-record{position:absolute;left:460px;top:595px;width:850px;border-top:2px solid var(--navy);display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:9px}
.signal-record article{padding:5px 16px;border-left:4px solid var(--red);background:#0e263609;font-size:17px;line-height:1.2}
.signal-record strong{display:block;font-size:20px;line-height:1.2;color:var(--red)}
.signal-record small{display:block;font-size:14px;line-height:1.2;letter-spacing:1px}

/* R7: a held, readable raised plate, a brief press and a clean paper rest.
   Pure presentation: no animation-end callback commits rewards or gates input. */
.result-medallion{animation:print-seal-r7 1s linear both;transform-origin:50% 50%;will-change:transform}
.result-medallion::after{content:"";position:absolute;inset:-9px;border:2px solid var(--navy);border-radius:50%;pointer-events:none;opacity:0;animation:print-pressure-r7 1s linear both}
@keyframes print-seal-r7{
 0%{transform:translateY(-6px) scale(1.1) rotate(-4deg);opacity:0}
 8%,28%{transform:translateY(-6px) scale(1.1) rotate(-4deg);opacity:1}
 40%{transform:translateY(8px) scale(.92) rotate(1deg);opacity:1}
 49%{transform:translateY(-3px) scale(1.03) rotate(-.6deg);opacity:1}
 68%,100%{transform:translateY(0) scale(1) rotate(0);opacity:1}
}
@keyframes print-pressure-r7{0%,36%{opacity:0;transform:scale(.96)}41%{opacity:.65;transform:scale(1)}76%,100%{opacity:0;transform:scale(1.14)}}
.refit-card{animation-delay:.28s}.refit-card:nth-of-type(2){animation-delay:.36s}.refit-card:nth-of-type(3){animation-delay:.44s}
.archive-box span{font-size:19px;line-height:26px;white-space:pre-line}
.route-console .archive-box strong{font-size:20px;line-height:26px}
.refit-card p{font-size:18px;line-height:1.45}
.reduced-motion .result-medallion::after{opacity:0}

/* Keep two normal radio lines visible beside three-line courier details. */
.route-console .route-log{gap:5px}
.route-console .archive-box{margin-top:9px;padding-top:6px;padding-bottom:6px}
.route-console .radio{flex:1 0 58px;min-height:58px;margin-top:8px;padding-top:6px}

/* R9: a readable lift, held contact pressure, then a short release. */
.result-medallion{animation:print-seal-r9 1s linear both}
.result-medallion::after{border:3px double var(--red);animation:print-pressure-r9 1s linear both}
@keyframes print-seal-r9{
 0%{transform:translateY(-8px) scale(1.16) rotate(-6deg);opacity:0;box-shadow:0 14px 0 #0e263620}
 12%,27%{transform:translateY(-8px) scale(1.16) rotate(-6deg);opacity:1;box-shadow:0 14px 0 #0e263620}
 40%,52%{transform:translateY(9px) scale(1.01,.91) rotate(.7deg);opacity:1;box-shadow:0 2px 0 #0e263660}
 64%{transform:translateY(-3px) scale(1.025) rotate(-.4deg);opacity:1;box-shadow:0 4px 0 #0e26361a}
 80%,100%{transform:translateY(0) scale(1) rotate(0);opacity:1;box-shadow:0 0 0 transparent}
}
@keyframes print-pressure-r9{
 0%,38%{opacity:0;transform:scale(.97)}
 41%,52%{opacity:.7;transform:scale(1)}
 80%,100%{opacity:0;transform:scale(1.10)}
}
.reduced-motion .result-medallion{box-shadow:none}
.reduced-motion .result-medallion::after{opacity:0}

/* R10: a compact current firepower readout with no extra combat overlay. */
#power-level.growth-power{height:43px;display:block;border-left:3px solid #277f88;padding:2px 0 2px 8px;line-height:19px}
#power-level.growth-power .power-heading{display:block;font-size:17px;font-weight:800}
#power-level.growth-power .power-heading b{font-size:15px;color:#246c74;margin-left:6px}
#power-level.growth-power .power-detail{display:block;font-size:14px;line-height:18px;white-space:nowrap;color:#4f554e}
#power-level.growth-power.overdriving{border-left-color:var(--red)}
#power-level.growth-power.overdriving .power-heading b,#power-level.growth-power.overdriving .power-detail{color:#b42d21}

/* R11: the approved energy frame now holds actual bounded power tiers. */
#power-level.growth-power{height:52px}
#power-level.growth-power .power-heading{display:flex;align-items:center;gap:5px;height:30px;line-height:20px;white-space:nowrap}
#power-level.growth-power .power-heading b{margin-left:0;font-size:15px}
.power-gauge{display:inline-block;position:relative;width:58px;height:30px;flex-shrink:0}
.power-gauge>.sprite-art{display:block!important;position:absolute;inset:0}
.power-pips{position:absolute;left:25px;top:14px;display:flex;gap:2px;pointer-events:none}
.power-pips i{display:block;width:7px;height:5px;border:1px solid #277f88;background:transparent}
.power-pips i.filled{background:#277f88}
.overdriving .power-pips i.filled{background:var(--red);border-color:var(--red)}
 .settings-row select{min-width:190px;padding:9px 34px 9px 12px;border:2px solid var(--navy);border-radius:0;background:var(--paper);color:var(--navy);font:700 17px FlightSans;cursor:pointer}

/* R25 draft: retain the original plaque as a border, with a quiet ink bed for type. */
.console h2{display:flex;align-items:center;justify-content:center;padding:6px 12px}
.console h2>.sector-title-copy{display:block;min-width:150px;max-width:100%;padding:2px 8px;background:var(--paper);color:var(--navy);font-size:26px;line-height:31px;white-space:nowrap;letter-spacing:1px}
/* Use the right manual column for shorter, larger instructions. */
.manual-extra{left:535px;top:425px;width:320px;font-size:19px}
.manual-extra p{font-size:19px;line-height:1.55;margin:0 0 7px}
