:root{--ink:#07131b;--navy:#0c2029;--steel:#45616a;--mist:#a8bdba;--paper:#e6e9dc;--white:#f8f5e9;--gold:#f3bb70;--hot:#e97057;--cyan:#7ad8cd;--line:rgba(176,220,211,.22);font-family:Arial,Helvetica,sans-serif;color:var(--paper);background:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#07131b}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{cursor:not-allowed}canvas{display:block}[hidden]{display:none!important}.site-grain{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.18;background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(221,228,211,.025) 4px),repeating-linear-gradient(90deg,transparent 0 91px,rgba(221,228,211,.035) 92px)}.masthead{height:76px;padding:0 clamp(18px,3.4vw,64px);position:relative;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(180,219,212,.22);background:#07151c}.identity{display:flex;align-items:center;gap:13px;min-width:260px}.crest{display:block;position:relative;width:39px;height:39px;flex:none;border:1px solid var(--gold);border-radius:50%;transform:rotate(45deg)}.crest:before,.crest:after{content:"";position:absolute;background:var(--gold);left:50%;top:50%;transform:translate(-50%,-50%)}.crest:before{width:1px;height:48px}.crest:after{width:48px;height:1px}.crest i{display:block;position:absolute;inset:9px;border:1px solid var(--gold)}.identity-word{display:flex;flex-wrap:wrap;gap:4px;align-items:baseline;color:var(--paper);font-size:17px;font-weight:900;letter-spacing:.13em;line-height:1}.identity-word b{color:var(--gold)}.identity-word small{width:100%;margin-top:6px;color:#7c9c9f;font-size:8px;font-weight:700;letter-spacing:.25em}.mast-center,.site-footer,.title-foot,.section-kicker,.chapter-line,.title-pre,.key-hint,.button-kicker,.ship-index,.ship-card-copy small,.ship-detail-top,.bp-corner,.mission-route,.flight-data span,.aside-stat span,.control-row,.aside-note,.frame-topline,.modal-hint,.results-grid span,.grade-lockup span,.end-footer,.fixture-notice{font-size:10px;font-weight:800;letter-spacing:.17em}.mast-center{color:#729095;white-space:nowrap}.mast-center span{padding:0 16px;color:var(--hot);font-size:8px}.mast-actions{display:flex;align-items:center;gap:17px}.text-button{border:0;background:transparent;color:#aac9c4;padding:10px 2px;font-size:10px;font-weight:800;letter-spacing:.16em;white-space:nowrap}.text-button:hover{color:var(--gold)}.app{min-height:calc(100vh - 112px);position:relative;overflow:hidden}.screen{position:relative}.site-footer{height:36px;padding:0 clamp(18px,3.4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#607d83;border-top:1px solid var(--line);background:#07151c;font-size:8px}.title-screen{min-height:calc(100svh - 112px);isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#081820 0%,#0c2430 49%,#1b3640 100%)}.title-atmosphere,.title-illustration{position:absolute;inset:0;pointer-events:none}.title-atmosphere{z-index:-2;background:radial-gradient(ellipse at 78% 38%,rgba(233,143,91,.28),transparent 30%),radial-gradient(ellipse at 67% 65%,rgba(91,156,159,.18),transparent 42%),linear-gradient(140deg,transparent 40%,rgba(245,170,103,.05) 60%,transparent 90%)}.horizon-glow{position:absolute;top:41%;right:-11%;width:83%;height:41%;transform:rotate(-13deg);background:linear-gradient(180deg,transparent 30%,rgba(242,165,99,.15) 49%,rgba(233,112,69,.035) 52%,transparent 73%);filter:blur(6px)}.sun-disc{position:absolute;width:min(37vw,560px);height:min(37vw,560px);border:1px solid rgba(255,217,168,.3);border-radius:50%;right:11%;top:6%;box-shadow:0 0 0 40px rgba(243,194,137,.025),0 0 0 90px rgba(243,194,137,.025),0 0 0 140px rgba(243,194,137,.02),0 0 160px rgba(243,178,117,.12) inset}.sun-disc:after{content:"";position:absolute;inset:18%;border:1px dashed rgba(255,219,171,.18);border-radius:50%}.title-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(222,224,205,.07) 50%,transparent calc(50% + .5px)),repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),rgba(198,223,216,.04) calc(12.5% - 1px) 12.5%),repeating-linear-gradient(0deg,transparent 0 89px,rgba(198,223,216,.035) 90px)}.title-rain{position:absolute;inset:0;background:repeating-linear-gradient(116deg,transparent 0 22px,rgba(182,208,203,.028) 23px,transparent 24px 83px);animation:rain 12s linear infinite}@keyframes rain{to{background-position:-225px 525px}}.title-illustration{z-index:-1;display:flex;justify-content:flex-end;align-items:center;opacity:.98}.title-illustration canvas{width:min(63vw,930px);max-height:90vh;object-fit:contain;transform:translate(6%,-1%);filter:drop-shadow(0 45px 65px rgba(0,4,10,.8))}.title-content{position:relative;width:min(1180px,100%);min-height:calc(100svh - 160px);margin:0 auto;padding:clamp(45px,7vh,92px) clamp(25px,3vw,50px) 95px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.chapter-line{display:flex;align-items:center;gap:14px;color:var(--gold);margin-bottom:clamp(22px,3vh,45px)}.chapter-line i{display:block;width:53px;height:1px;background:var(--gold)}.title-pre{margin:0 0 9px;color:#afc6c1;font-size:11px}.title-content h1{margin:0;color:var(--white);line-height:.78;font-family:Arial Black,Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.075em;text-shadow:0 12px 28px rgba(0,10,19,.35)}.title-year{display:block;font-size:clamp(120px,16vw,265px);letter-spacing:-.11em}.title-year span{color:var(--gold)}.title-name{display:block;margin:18px 0 0 4px;font-size:clamp(69px,9.3vw,157px);line-height:.76;letter-spacing:-.075em}.title-name em{font-style:normal;color:var(--gold)}.title-deck{max-width:430px;margin:clamp(27px,4vh,48px) 0 27px;color:#b9ccca;font-family:Georgia,serif;font-size:clamp(16px,1.35vw,19px);line-height:1.5}.title-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.action-button{display:inline-flex;flex-direction:column;justify-content:center;min-height:62px;min-width:230px;padding:13px 18px;border:1px solid transparent;border-radius:0;text-align:left;transition:transform .18s,background .18s,box-shadow .18s;white-space:nowrap}.action-button:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.24)}.action-button.primary{background:var(--gold);color:#091b24}.action-button.primary:hover{background:#ffd39a}.action-button span:last-child{display:flex;align-items:center;justify-content:space-between;gap:35px;font-size:13px;font-weight:900;letter-spacing:.09em}.action-button b{font-size:24px;line-height:0}.button-kicker{margin-bottom:6px;font-size:8px;color:rgba(7,27,36,.66)}.key-hint{color:#91b5b5}.key-hint kbd{padding:4px 6px;border:1px solid #729497;color:var(--paper);font:inherit}.title-foot{position:absolute;bottom:0;left:0;right:0;min-height:55px;padding:0 clamp(22px,3.4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);color:#73949a;background:#081c26b8}.status-dot{color:var(--cyan)}.status-dot:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan)}.hangar-screen{min-height:calc(100svh - 112px);padding:clamp(27px,4vh,52px) clamp(20px,4vw,70px) 25px;background:radial-gradient(ellipse at 84% 12%,rgba(63,116,121,.18),transparent 37%),linear-gradient(145deg,#091921,#0b222c 65%,#09202b)}.hangar-screen:before,.play-screen:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),rgba(174,216,204,.04) calc(12.5% - 1px) 12.5%)}.hangar-heading,.hangar-layout,.hangar-bottom{position:relative;max-width:1440px;margin-left:auto;margin-right:auto}.hangar-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}.section-kicker{color:var(--gold);margin:0 0 10px}.hangar-heading h2,.briefing-panel h2,.modal-panel h2,.manual-panel h2,.end-content h2{margin:0;color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:clamp(36px,4.6vw,70px);font-weight:900;letter-spacing:-.065em;line-height:.95}.hangar-heading h2 em,.briefing-panel h2 em,.modal-panel h2 em,.end-content h2 em{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.05em;color:var(--gold)}.hangar-heading>p{max-width:220px;margin:0 0 3px;color:#9db9b9;font-family:Georgia,serif;font-size:16px;line-height:1.35}.hangar-layout{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(500px,1.45fr);gap:18px}.ship-list{display:grid;grid-template-rows:repeat(3,1fr);gap:12px}.ship-card{width:100%;min-height:148px;padding:9px 23px 9px 3px;display:flex;align-items:center;gap:7px;position:relative;color:var(--paper);text-align:left;border:1px solid rgba(172,213,210,.2);background:rgba(11,31,42,.65);overflow:hidden;transition:background .18s,border-color .18s,transform .18s}.ship-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent}.ship-card:hover{background:#15313b;transform:translateX(3px)}.ship-card.selected{border-color:rgba(243,187,112,.68);background:linear-gradient(90deg,rgba(243,187,112,.13),rgba(14,43,49,.8))}.ship-card.selected:before{background:var(--gold)}.ship-card canvas{width:123px;height:105px;object-fit:contain;flex:none;filter:drop-shadow(0 12px 10px rgba(0,0,0,.35))}.ship-card-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.ship-index{color:var(--gold);font-size:9px}.ship-card-copy strong{font-size:clamp(24px,2.7vw,42px);letter-spacing:-.055em;line-height:1}.ship-card-copy small{font-size:8px;color:#89aaa9;white-space:nowrap}.ship-card-arrow{margin-left:auto;color:var(--gold);font-size:25px;align-self:flex-start}.ship-detail{min-height:466px;border:1px solid rgba(179,220,215,.24);background:radial-gradient(ellipse at 50% 38%,#25444a,#0a1d28 67%);display:flex;flex-direction:column;box-shadow:inset 0 0 80px rgba(2,14,22,.5)}.ship-detail-top{padding:13px 18px;display:flex;justify-content:space-between;color:#94b6b5;border-bottom:1px solid var(--line);font-size:9px}.ship-detail-top span:last-child{color:var(--gold)}.blueprint{flex:1;min-height:258px;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 34px,rgba(172,213,206,.055) 35px),repeating-linear-gradient(90deg,transparent 0 34px,rgba(172,213,206,.055) 35px)}.blueprint:before,.blueprint:after{content:"";position:absolute;z-index:1;background:rgba(182,218,210,.17)}.blueprint:before{width:1px;top:0;bottom:0;left:50%}.blueprint:after{height:1px;left:0;right:0;top:50%}.blueprint-ring{position:absolute;width:280px;height:280px;border:1px solid rgba(158,213,205,.19);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 52px rgba(155,207,202,.025),0 0 0 104px rgba(155,207,202,.02)}.blueprint canvas{position:absolute;z-index:2;width:100%;height:100%;object-fit:contain}.bp-corner{position:absolute;z-index:3;color:#7fa3a5;font-size:8px}.bp-tl{top:15px;left:17px}.bp-br{bottom:15px;right:17px}.ship-detail-bottom{min-height:129px;padding:20px 23px;display:grid;grid-template-columns:1fr 190px;gap:24px;border-top:1px solid var(--line);background:#0b202a}.ship-title-row{display:flex;align-items:baseline;gap:11px}.ship-title-row span{font-size:9px;color:var(--gold);font-weight:800;letter-spacing:.14em}.ship-title-row strong{font-size:31px;letter-spacing:-.05em}.ship-detail-bottom p{margin:6px 0 0;color:#9bbab7;max-width:450px;font-size:12px;line-height:1.4}.ship-metrics{display:flex;flex-direction:column;justify-content:center;gap:10px}.ship-metrics div{display:flex;align-items:center;gap:11px}.ship-metrics span{width:37px;color:#9bbab7;font-size:8px;font-weight:800;letter-spacing:.11em}.ship-metrics i{display:block;height:5px;flex:1;background:linear-gradient(90deg,var(--gold) var(--meter,65%),rgba(222,219,180,.15) var(--meter,65%));box-shadow:0 0 9px rgba(243,187,112,.15)}.hangar-bottom{min-height:75px;margin-top:15px;display:flex;justify-content:space-between;align-items:center;gap:20px}.mission-route{display:flex;align-items:center;gap:15px;color:#8aa8a7;font-size:8px;white-space:nowrap}.mission-route span{color:var(--gold);margin-right:8px}.mission-route b{font-weight:700}.mission-route i{font-style:normal;color:var(--gold)}.hangar-actions{display:flex;align-items:center;gap:24px}.hangar-actions .action-button{min-width:225px}.play-screen{min-height:calc(100svh - 112px);padding:20px clamp(14px,3vw,60px) 35px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(320px,540px) minmax(180px,1fr);align-items:start;justify-content:center;gap:clamp(14px,3vw,45px);background:radial-gradient(ellipse at center top,#14313d,#071720 65%)}.briefing-panel{z-index:1;padding-top:35px;max-width:300px;color:#9cb8b9}.left-panel{justify-self:end}.right-panel{justify-self:start}.briefing-panel h2{font-size:clamp(32px,3vw,52px);margin:26px 0 20px}.briefing-copy{max-width:240px;font-family:Georgia,serif;font-size:15px;line-height:1.55}.panel-rule{height:1px;width:100%;margin:26px 0;background:linear-gradient(90deg,var(--line),transparent)}.flight-data{display:flex;flex-direction:column;gap:6px;margin-bottom:19px}.flight-data span,.aside-stat span{color:#6e9498}.flight-data strong{color:var(--paper);font-size:12px;letter-spacing:.1em}.outlined-button{min-height:46px;padding:11px 16px;border:1px solid rgba(165,207,204,.48);background:rgba(11,37,47,.72);color:var(--paper);font-size:11px;font-weight:800;letter-spacing:.13em;white-space:nowrap}.outlined-button:hover{background:#244550;border-color:var(--gold)}.game-stack{z-index:1;width:100%;max-width:540px;margin:auto}.game-frame{width:100%;aspect-ratio:3/5;position:relative;overflow:hidden;background:#081922;border:1px solid rgba(255,226,175,.7);box-shadow:0 0 0 7px #0b222b,0 20px 70px rgba(0,5,10,.75),0 0 70px rgba(118,217,204,.09)}.game-frame canvas{width:100%;height:100%;touch-action:none;cursor:crosshair}.frame-topline{position:absolute;top:0;left:0;right:0;height:15px;padding:2px 8px;background:rgba(5,19,26,.88);display:flex;justify-content:space-between;color:#aecbc4;font-size:7px;pointer-events:none}.frame-topline span{color:var(--gold)}.game-corner{position:absolute;width:17px;height:17px;border-color:var(--gold);pointer-events:none}.top-left{top:0;left:0;border-top:2px solid;border-left:2px solid}.top-right{top:0;right:0;border-top:2px solid;border-right:2px solid}.bottom-left{bottom:0;left:0;border-bottom:2px solid;border-left:2px solid}.bottom-right{bottom:0;right:0;border-bottom:2px solid;border-right:2px solid}.aside-stat{display:flex;flex-direction:column;gap:3px;margin:19px 0}.aside-stat strong{font-size:24px;color:var(--white);font-weight:400;letter-spacing:.06em}.control-row{display:flex;align-items:center;gap:13px;min-height:26px;color:#a8c3c0;font-size:9px}.control-row kbd{min-width:50px;color:var(--gold);font:inherit}.aside-note{color:#6f9497;font-size:9px;line-height:1.65;letter-spacing:.06em}.touch-controls{display:none}.overlay-screen{position:fixed;inset:76px 0 0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.overlay-backdrop{position:absolute;inset:0;background:rgba(3,12,19,.72);backdrop-filter:blur(9px)}.modal-panel{position:relative;width:min(560px,100%);padding:clamp(28px,4vw,55px);background:linear-gradient(140deg,#16303b,#081b25);border:1px solid rgba(243,187,112,.52);box-shadow:0 28px 85px rgba(0,0,0,.6)}.modal-panel:before,.manual-panel:before{content:"";position:absolute;top:0;left:0;width:80px;height:3px;background:var(--gold)}.modal-panel h2{margin:21px 0;font-size:52px}.modal-panel>p:not(.section-kicker){max-width:390px;color:#abc4c1;font-family:Georgia,serif;font-size:17px;line-height:1.45}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 23px}.modal-actions .text-button{flex-basis:100%;text-align:left}.modal-hint{color:#77989b;font-size:8px}.end-screen{position:fixed;inset:76px 0 0;z-index:22;min-height:calc(100svh - 76px);overflow:auto;background:#071923}.end-screen>canvas{position:fixed;inset:76px 0 0;width:100%;height:calc(100% - 76px);object-fit:cover}.end-shade{position:fixed;inset:76px 0 0;background:linear-gradient(90deg,rgba(5,17,24,.96),rgba(7,24,32,.86) 45%,rgba(7,24,32,.14) 100%)}.end-content{position:relative;width:min(1300px,100%);min-height:calc(100svh - 126px);margin:auto;padding:clamp(35px,5vh,70px) clamp(24px,5vw,75px) 70px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.end-content h2{font-size:clamp(57px,7vw,108px);margin:11px 0 17px}.end-screen.lost .end-content h2 em{color:var(--hot)}.end-narrative{max-width:420px;margin:0 0 25px;color:#bbceca;font-family:Georgia,serif;font-size:clamp(15px,1.3vw,19px);line-height:1.5}.grade-lockup{position:absolute;top:55px;right:75px;display:flex;flex-direction:column;align-items:center;color:var(--gold)}.grade-lockup strong{font-size:88px;font-weight:900;line-height:1}.end-screen.lost .grade-lockup{color:var(--hot)}.results-grid{width:min(620px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(157,205,199,.2);border:1px solid var(--line)}.results-grid div{min-height:78px;padding:16px 12px;display:flex;flex-direction:column;gap:12px;background:rgba(7,27,35,.89)}.results-grid span{color:#7fa2a2;font-size:8px}.results-grid strong{color:var(--paper);font-size:clamp(14px,1.25vw,18px);letter-spacing:.04em}.end-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}.end-actions .outlined-button{min-width:170px}.end-footer{position:absolute;bottom:0;left:0;right:0;padding:15px clamp(23px,4vw,64px);display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#7a999a;font-size:8px}.fixture-notice{margin:15px 0 0;padding:7px 9px;color:#fbc792;background:#542a25}.manual-dialog{position:fixed;inset:0;z-index:35;padding:20px;display:flex;align-items:center;justify-content:center;background:rgba(0,8,13,.8);backdrop-filter:blur(7px)}.manual-panel{position:relative;width:min(640px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:clamp(25px,4vw,45px);border:1px solid rgba(243,187,112,.55);background:linear-gradient(145deg,#14313b,#091c25);box-shadow:0 35px 90px #000a}.manual-close{position:absolute;top:12px;right:16px;color:var(--paper);border:0;background:transparent;font-size:30px}.manual-panel h2{font-size:48px;margin-bottom:12px}.manual-panel>p:not(.section-kicker):not(.manual-tip){max-width:520px;font-family:Georgia,serif;color:#acc7c3;line-height:1.45}.manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:24px 0}.manual-grid div{display:flex;flex-direction:column;gap:10px}.manual-grid strong{padding-bottom:9px;border-bottom:1px solid var(--line);color:var(--gold);font-size:11px;letter-spacing:.16em}.manual-grid span{color:#bfd0cb;font-size:10px;font-weight:700;letter-spacing:.08em}.manual-tip{padding:13px;border-left:2px solid var(--gold);background:#23383a;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.11em;line-height:1.5}
@media(max-width:1100px){.mast-center{display:none}.title-content{padding-left:5vw}.hangar-layout{grid-template-columns:1fr 1.3fr}.ship-card canvas{width:95px}.ship-card{min-height:135px}.ship-card-copy strong{font-size:29px}.mission-route{gap:8px}.mission-route span{display:none}.play-screen{grid-template-columns:minmax(320px,540px) minmax(165px,280px)}.left-panel{display:none}.right-panel{padding-top:8px}.game-stack{margin:0}.grade-lockup{right:35px}}
@media(max-width:740px){.masthead{height:58px;padding:0 15px}.identity{min-width:0}.crest{width:27px;height:27px}.crest:before{height:34px}.crest:after{width:34px}.crest i{inset:6px}.identity-word{font-size:12px}.identity-word small{font-size:6px}.mast-actions{gap:8px}.mast-actions .text-button{font-size:8px}.app{min-height:calc(100vh - 90px)}.site-footer{height:32px;padding:0 15px;font-size:6px}.title-screen{min-height:calc(100svh - 90px)}.title-content{min-height:calc(100svh - 145px);padding:31px 22px 85px;justify-content:flex-end}.title-illustration{align-items:flex-start;justify-content:center}.title-illustration canvas{width:min(100vw,520px);max-height:56vh;transform:translate(10%,-7%);opacity:.76}.sun-disc{width:72vw;height:72vw;right:-5%;top:3%}.chapter-line{font-size:7px;margin-bottom:14px}.chapter-line i{width:22px}.title-pre{font-size:8px}.title-year{font-size:clamp(96px,23vw,170px)}.title-name{font-size:clamp(67px,16vw,115px);margin-top:13px}.title-deck{font-size:14px;max-width:310px;margin:20px 0}.key-hint{font-size:8px}.title-foot{min-height:48px;padding:0 15px;font-size:7px}.title-foot span:nth-child(2),.title-foot span:nth-child(3){display:none}.hangar-screen{padding:24px 13px}.hangar-heading{margin-bottom:18px}.hangar-heading h2{font-size:42px}.hangar-heading>p{display:none}.hangar-layout{display:flex;flex-direction:column-reverse}.ship-detail{min-height:380px}.blueprint{min-height:205px}.ship-detail-bottom{min-height:122px;padding:13px;grid-template-columns:1fr 150px;gap:8px}.ship-title-row strong{font-size:27px}.ship-detail-bottom p{font-size:10px}.ship-list{grid-template-columns:repeat(3,1fr);grid-template-rows:auto;gap:6px}.ship-card{min-width:0;min-height:112px;padding:6px;flex-direction:column;justify-content:center;text-align:center;gap:0}.ship-card canvas{height:58px;width:75px}.ship-card-copy{gap:2px;align-items:center}.ship-card-copy strong{font-size:20px}.ship-index,.ship-card-copy small,.ship-card-arrow{display:none}.hangar-bottom{flex-direction:column;align-items:stretch}.mission-route{justify-content:center;flex-wrap:wrap;font-size:7px;gap:6px}.hangar-actions{justify-content:space-between}.hangar-actions .action-button{min-width:185px}.play-screen{display:block;padding:7px 8px 85px}.briefing-panel{display:none}.game-stack{max-width:540px;margin:auto}.game-frame{width:min(calc((100dvh - 150px)*.6),100%);margin:auto}.touch-controls{display:flex;justify-content:center;gap:8px;padding:10px 2px}.touch-controls button{min-width:60px;padding:10px 6px;border:1px solid var(--line);background:#183640;color:var(--paper);font-size:9px;font-weight:800;letter-spacing:.08em}.touch-controls button:active{background:var(--gold);color:var(--ink)}.overlay-screen{inset:58px 0 0}.modal-panel h2{font-size:45px}.end-screen{inset:58px 0 0;min-height:calc(100svh - 58px)}.end-screen>canvas,.end-shade{top:58px}.end-content{min-height:calc(100svh - 100px);padding:36px 20px 70px;justify-content:flex-end}.end-content h2{font-size:65px}.grade-lockup{top:27px;right:20px}.grade-lockup strong{font-size:63px}.results-grid{grid-template-columns:repeat(2,1fr)}.results-grid div{min-height:69px}.end-narrative{max-width:300px}.manual-grid{gap:10px}.manual-grid span{font-size:9px}}
@media(max-width:440px){.mast-actions .text-button:first-child{font-size:0}.mast-actions .text-button:first-child:before{content:"◖";font-size:17px}.title-foot{font-size:6px}.ship-detail-bottom{grid-template-columns:1fr 115px}.ship-metrics span{width:31px}.ship-title-row{gap:5px}.ship-title-row span{font-size:7px}.ship-title-row strong{font-size:22px}.mission-route b{font-size:6px}.end-content h2{font-size:58px}.end-actions .outlined-button{min-width:135px}.end-actions .action-button{min-width:155px}.end-actions .action-button span:last-child{font-size:11px}.manual-panel{padding:23px}.manual-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(min-width:741px){.critical-hull .game-frame{box-shadow:0 0 0 7px #301b21,0 20px 70px rgba(0,5,10,.75),0 0 48px rgba(233,90,65,.4)}}.critical-hull .frame-topline{color:#ffb0a0;background:rgba(52,13,21,.92)}.critical-hull #conditionReadout{color:#ff876e}
@media(max-width:740px){.end-screen>canvas{object-position:68% center}}

@media (min-width:741px){.play-screen{padding-top:12px;padding-bottom:12px;align-items:center}.game-stack{width:min(540px,calc((100svh - 136px)*.6));max-width:100%}.briefing-panel{padding-top:0}}

/* A short outcome-specific signal beat precedes the flight record. */
.end-content{z-index:2;transition:opacity .72s ease,transform .72s ease}
.end-screen.cinema-intro .end-content{opacity:0;transform:translateY(28px);pointer-events:none}
.end-curtain{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,rgba(36,83,93,.82),rgba(3,13,22,.96) 66%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .58s ease,visibility .58s}
.end-screen.lost .end-curtain{background:radial-gradient(ellipse at 50% 45%,rgba(104,44,47,.82),rgba(9,12,20,.97) 66%)}
.end-screen.cinema-intro .end-curtain{opacity:1;visibility:visible;pointer-events:auto}
.end-curtain:before{content:"";position:absolute;width:min(68vw,650px);aspect-ratio:1;border:1px solid rgba(220,244,224,.19);border-radius:50%;box-shadow:0 0 0 70px rgba(234,239,211,.035),0 0 0 150px rgba(234,239,211,.02);animation:cinema-pulse 2.6s ease-out both}
.end-curtain:after{content:"";position:absolute;left:-5%;right:-5%;top:50%;height:2px;background:linear-gradient(90deg,transparent,rgba(250,232,183,.7),transparent);box-shadow:0 0 35px rgba(255,207,146,.36);animation:cinema-scan 2s ease-out both}
.end-curtain-mark{position:relative;z-index:1;width:62px;height:62px;border:2px solid var(--gold);transform:rotate(45deg);box-shadow:0 0 40px rgba(242,193,119,.25);animation:cinema-mark 1.6s ease-out both}
.end-screen.lost .end-curtain-mark{border-color:var(--hot)}
.end-curtain-mark:before,.end-curtain-mark:after{content:"";position:absolute;left:50%;top:50%;background:var(--gold);transform:translate(-50%,-50%)}
.end-screen.lost .end-curtain-mark:before,.end-screen.lost .end-curtain-mark:after{background:var(--hot)}
.end-curtain-mark:before{width:1px;height:88px}.end-curtain-mark:after{width:88px;height:1px}
.end-curtain-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;animation:cinema-copy 1.6s ease-out both}
.end-curtain-copy span,.end-curtain-copy small{font-size:10px;font-weight:800;letter-spacing:.26em;color:#c9d6d0}
.end-curtain-copy strong{max-width:90vw;color:var(--white);font-size:clamp(44px,7vw,104px);line-height:.94;font-weight:900;letter-spacing:-.055em;text-shadow:0 12px 42px rgba(0,0,0,.55)}
.end-curtain-copy small{font-size:9px;color:var(--gold)}
.end-screen.lost .end-curtain-copy small{color:#ffac93}
.end-curtain-skip{position:absolute;z-index:2;right:clamp(18px,4vw,70px);bottom:clamp(24px,5vh,65px);padding:12px 15px;border:1px solid rgba(239,227,194,.4);background:rgba(8,27,35,.65);color:var(--paper);font-size:10px;font-weight:800;letter-spacing:.14em}
.end-curtain-skip:hover{border-color:var(--gold);color:var(--gold)}
@keyframes cinema-pulse{from{opacity:0;transform:scale(.38)}to{opacity:1;transform:scale(1.18)}}
@keyframes cinema-mark{from{opacity:0;transform:rotate(5deg) scale(.35)}to{opacity:1;transform:rotate(45deg) scale(1)}}
@keyframes cinema-copy{from{opacity:0;transform:translateY(24px);letter-spacing:.35em}to{opacity:1;transform:translateY(0)}}
@keyframes cinema-scan{from{opacity:0;transform:translateY(-240px) scaleX(.1)}to{opacity:1;transform:translateY(190px) scaleX(1)}}
@media (prefers-reduced-motion:reduce){.end-curtain:before,.end-curtain:after,.end-curtain-mark,.end-curtain-copy{animation:none}.end-curtain,.end-content{transition:none}}

/* Player preferences remain available from every screen. */
.flight-options{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:22px 0 26px;padding-top:18px;border-top:1px solid var(--line)}.flight-options h3{grid-column:1/-1;margin:0;color:var(--gold);font-size:11px;letter-spacing:.16em}.flight-options label{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--paper);font-size:12px;line-height:1.4}.flight-options label small{display:block;width:100%;padding-left:23px;color:#91b4b3;font-size:10px}.flight-options input{accent-color:var(--gold)}.flight-options .range-option{display:block}.range-option span{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em}.range-option input{width:100%;margin:10px 0 0}.flight-options input[type=checkbox]{width:16px;height:16px;margin:0}.touch-controls button{touch-action:none;user-select:none}.touch-controls{touch-action:none}@media(max-width:740px){.touch-controls button{min-height:44px}.flight-options{gap:14px}.manual-panel{max-height:calc(100dvh - 32px)}}

.sortie-briefing{position:relative;max-width:1440px;margin:18px auto 0;padding:14px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;color:#adc9c5;font-size:9px;letter-spacing:.06em}.sortie-briefing b{color:var(--gold);margin-right:6px}.sortie-briefing small{flex-basis:100%;color:#91afae;font-family:Georgia,serif;font-size:12px;letter-spacing:0}.hangar-screen{padding-top:25px}.hangar-heading h2{font-size:clamp(36px,4.2vw,60px)}.ship-card{min-height:135px}.blueprint{min-height:260px}.ship-detail{min-height:430px}.ship-detail canvas{max-height:280px}@media(max-width:740px){.hangar-screen{padding-top:20px}.sortie-briefing{gap:10px;font-size:8px}.sortie-briefing small{font-size:12px}.ship-card{min-height:112px}.ship-detail{min-height:380px}.blueprint{min-height:205px}}

.asset-loading{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#07131b;color:#f3bb70;letter-spacing:.2em;font-size:10px}.loading-mark{font-size:88px;font-weight:900;letter-spacing:-.08em}.asset-loading progress{width:220px;height:3px;accent-color:#f3bb70}.asset-warning{position:fixed;bottom:0;left:0;right:0;z-index:90;padding:12px;background:#26343d;color:#f4dab0;text-align:center;font-size:12px}.asset-warning button{background:transparent;border:0;color:#fff;text-decoration:underline}.mobile-hud,.mobile-wake{display:none}.compact-controls .mobile-hud{display:block;position:absolute;top:8px;left:8px;right:8px;padding:10px 12px;color:#e9f4e9;background:rgba(4,21,31,.94);border:1px solid #476872;pointer-events:none;z-index:3;font-size:11px;font-weight:700;line-height:1.7}.mobile-hud-top,.mobile-hud-row{display:flex;justify-content:space-between;gap:8px}.mobile-hud-top strong{font-size:19px;letter-spacing:.04em}.mobile-hud-top>span{color:var(--gold);font-size:10px}.mobile-hud-row span{color:#a4c4c2;font-size:10px}.mobile-hud-row b{color:#e0fff0;margin-left:5px;font-size:12px}.mobile-hud progress{display:block;width:100%;height:5px;accent-color:#ed9e79}.mobile-hud #mobileBossRow{margin-top:4px;color:#ffb896;font-size:10px}.compact-controls .mobile-wake{position:absolute;bottom:8px;left:8px;right:8px;z-index:3;display:flex;justify-content:space-between;padding:7px 10px;background:rgba(4,21,31,.94);border:1px solid #476872;color:#d0e9e3;font-size:10px;font-weight:700;pointer-events:none}.mobile-wake b{color:var(--gold);margin-left:8px}.compact-controls .frame-topline{display:none}.compact-controls .briefing-panel{display:none}.compact-controls .play-screen{display:block;padding:7px 8px 8px}.compact-controls .game-stack{width:100%;max-width:540px;margin:auto}.compact-controls .game-frame{width:min(calc((100dvh - 190px)*.6),100%);margin:auto}.compact-controls .touch-controls{display:flex;justify-content:center;gap:8px;padding:10px 2px}.compact-controls .touch-controls button{min-width:60px;min-height:44px;padding:10px 6px;border:1px solid var(--line);background:#183640;color:var(--paper);font-size:10px;font-weight:800}.compact-controls .touch-controls button:active{background:var(--gold);color:var(--ink)}
@media(max-width:440px){.mast-actions .text-button:first-child:before{content:'◖ ' attr(data-state);font-size:10px}.mast-actions{gap:7px}.masthead{gap:10px}}
@media (max-height:540px) and (orientation:landscape){body.compact-controls:has(.app[data-screen="play"]) .masthead,body.compact-controls:has(.app[data-screen="play"]) .site-footer{display:none}.compact-controls .app[data-screen="play"]{min-height:100dvh}.compact-controls .play-screen{height:100dvh;padding:6px}.compact-controls .game-stack{display:flex;align-items:center;justify-content:center;gap:18px;max-width:none;height:100%}.compact-controls .game-frame{width:calc((100dvh - 12px)*.6);margin:0;flex:none}.compact-controls .touch-controls{flex-direction:column;gap:12px;padding:0}.compact-controls .touch-controls button{min-width:90px}.compact-controls .mobile-hud{padding:5px 8px;left:5px;right:5px;top:5px;font-size:10px}.compact-controls .mobile-hud-top strong{font-size:16px}.compact-controls .mobile-hud-row span{font-size:9px}.compact-controls .mobile-wake{left:5px;right:5px;bottom:5px;font-size:9px;padding:5px}.compact-controls .overlay-screen{inset:0}.modal-panel{max-height:95dvh;overflow:auto}}

.modal-panel{max-height:calc(100dvh - 110px);overflow:auto}.compact-controls .touch-controls{flex-wrap:wrap}.flight-signal{flex-basis:100%;min-height:16px;text-align:center;font-size:10px;letter-spacing:.08em;color:var(--gold)}.compact-controls .game-frame{width:min(calc((100dvh - 210px)*.6),100%)}
@media(max-width:360px){.compact-controls .mobile-hud{padding:6px 8px;line-height:1.2;left:5px;right:5px;top:5px}.compact-controls .mobile-hud-top strong{font-size:16px}.compact-controls .mobile-hud-row span{font-size:9px}.compact-controls .mobile-hud-row b{font-size:11px;margin-left:3px}.compact-controls .mobile-wake{padding:5px;font-size:9px;left:5px;right:5px;bottom:5px}}
@media (max-height:540px) and (orientation:landscape){.compact-controls .game-frame{width:calc((100dvh - 12px)*.6)}.compact-controls .mobile-hud{line-height:1.2}.compact-controls .touch-controls{flex-wrap:nowrap}.flight-signal{flex-basis:auto;max-width:100px;min-height:24px;font-size:9px;line-height:1.5}.modal-panel{max-height:calc(100dvh - 24px)}}

/* The maximum instrument stack must clear the forward collision core. */
.compact-controls .mobile-hud-row{gap:4px}
.compact-controls .mobile-hud-row span{white-space:nowrap}
.compact-controls .mobile-hud #mobileBossRow{white-space:nowrap;line-height:1.15;margin-top:2px}
.compact-controls .mobile-hud #mobileBoss{height:3px;margin-top:2px}
@media(max-width:360px),(max-height:540px) and (orientation:landscape){
 .compact-controls .mobile-hud{padding:5px 6px}
 .compact-controls .mobile-hud-top strong{font-size:15px;line-height:1.3}
 .compact-controls .mobile-hud-top>span{font-size:9px}
 .compact-controls .mobile-hud-row span{font-size:10px}
 .compact-controls .mobile-hud-row b{font-size:12px;margin-left:2px}
 .compact-controls .mobile-hud #mobileBossRow{font-size:10px}
}
/* Keep the flight controls available while returning brand chrome to the field. */
@media(orientation:portrait){
 body.compact-controls:has(.app[data-screen="play"]) .identity{display:none}
 body.compact-controls:has(.app[data-screen="play"]) .masthead{height:44px}
 body.compact-controls:has(.app[data-screen="play"]) .mast-actions{width:100%;justify-content:space-between}
 body.compact-controls:has(.app[data-screen="play"]) .mast-actions button{min-height:44px;min-width:44px}
 body.compact-controls:has(.app[data-screen="play"]) .site-footer{display:none}
 .compact-controls .app[data-screen="play"]{min-height:calc(100dvh - 44px)}
 .compact-controls .app[data-screen="play"] .game-frame{width:min(calc((100dvh - 144px)*.6),100%)}
}
.career-summary{position:relative;max-width:1440px;margin:16px auto;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px}
.career-summary>div:first-child{display:flex;flex-direction:column;gap:6px}.career-summary span,.training-deck>div>strong{color:var(--mist);font-size:10px;font-weight:700;letter-spacing:.1em}.career-summary strong{font-size:15px;color:var(--gold);letter-spacing:.04em}.mastery-badges{display:flex;gap:8px;flex-wrap:wrap}.mastery-badges span{padding:6px 10px;border:1px solid var(--line);color:#839b9d}.mastery-badges .earned{color:#b4f2d5;border-color:#78c8b0;background:#164039}
.training-deck{position:relative;max-width:1440px;margin:18px auto;padding:18px;border:1px solid var(--line);background:rgba(13,38,48,.7);display:flex;align-items:center;gap:24px}.training-deck p{font:14px/1.4 Georgia,serif;color:#b3c9c6;max-width:290px;margin:7px 0 0}.drill-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;flex:1}.drill-button{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:58px;padding:12px;border:1px solid #6b9396;background:#15333d;color:var(--paper);text-align:left}.drill-button span{font-size:12px;font-weight:800;letter-spacing:.05em}.drill-button small{font-size:9px;color:var(--cyan);letter-spacing:.04em}.drill-button:hover:not(:disabled){background:#254a51;border-color:var(--gold)}.drill-button:disabled{opacity:.5;border-color:var(--line)}.drill-button:disabled small{color:#a3b1ae}
.flight-debrief{max-width:700px;width:100%;padding:14px 16px;margin-top:15px;border-left:2px solid var(--gold);background:rgba(6,24,33,.92)}.personal-record{color:var(--gold);font-size:11px;letter-spacing:.08em;font-weight:800;margin:0 0 12px}.debrief-metrics{display:flex;gap:22px;flex-wrap:wrap}.debrief-metrics span{font-size:10px;color:#a4c2be}.debrief-metrics b{font-size:14px;color:var(--paper);margin-left:6px}#flightAdvice{font:15px/1.45 Georgia,serif;color:#c5d6ce;margin:12px 0 0}
@media(max-width:740px){.career-summary{align-items:flex-start;flex-direction:column}.career-summary strong{font-size:13px}.training-deck{flex-direction:column;align-items:stretch;padding:13px;gap:14px}.training-deck p{max-width:none}.drill-button{padding:9px 7px;min-height:64px}.drill-button span{font-size:11px}.drill-button small{font-size:10px;line-height:1.4}.debrief-metrics{gap:10px}.debrief-metrics span{font-size:9px}.debrief-metrics b{font-size:12px;margin-left:3px}.flight-debrief{padding:12px}#flightAdvice{font-size:14px}.personal-record{line-height:1.5}.end-content{padding-bottom:85px}}
.end-footer{position:relative;bottom:auto}

/* Keep departure visible while the optional training deck can scroll. */
.hangar-screen{padding-bottom:130px}
.hangar-bottom{position:fixed;left:0;right:0;bottom:0;z-index:26;max-width:none;margin:0;padding:12px clamp(20px,4vw,70px);background:rgba(7,25,34,.97);border-top:1px solid var(--line);backdrop-filter:blur(12px)}
@media(max-width:740px){.hangar-screen{padding-bottom:112px}.hangar-bottom{padding:12px 13px}.hangar-bottom .mission-route{display:none}.ship-detail-bottom{grid-template-columns:minmax(0,1fr) 115px}.ship-detail-bottom>div{min-width:0}.ship-title-row{flex-wrap:wrap}}
@media(max-width:440px){.grade-lockup{position:static;align-self:flex-start;display:flex;flex-direction:row;align-items:center;gap:14px;margin:4px 0 16px}.grade-lockup strong{font-size:44px;line-height:1}.grade-lockup span{font-size:8px}}
@media(max-width:740px){.hangar-layout{flex-direction:column}}

/* Arsenal instruments: one equipment line in portrait and short landscapes. */
.mobile-equipment{display:flex;align-items:center;justify-content:space-between;gap:4px;color:#9df3ef;font-size:10px;line-height:1.25;white-space:nowrap}
.mobile-equipment label{display:flex;align-items:center;gap:3px;color:#c3a3ff}
.mobile-equipment progress{width:30px!important;height:3px!important;accent-color:#c3a3ff}
.mobile-equipment.arsenal-lost{color:#ff806f}.mobile-equipment.recovering{color:#fff4bf}
@media(max-width:360px),(max-height:540px){.mobile-equipment{font-size:9px}}
.compact-controls .mobile-hud{line-height:1.15;padding:5px 8px}
.compact-controls .mobile-hud-top strong{line-height:1.2}
.compact-controls .mobile-hud-row b{font-size:11px}
.compact-controls .mobile-equipment{line-height:1.1;font-size:9px}

.mobile-equipment.reflector-low progress{accent-color:#ff806f}

/* Three compact instrument lines leave a full recovery lane above the craft. */
.compact-controls .mobile-hud{padding:3px 6px;line-height:1.05;top:4px;left:5px;right:5px}
.compact-controls .mobile-hud-top{align-items:center;gap:4px;line-height:15px}
.compact-controls .mobile-hud-top strong{font-size:14px;line-height:15px}
.compact-controls .mobile-hud-top>span{font-size:9px;letter-spacing:0}
.compact-controls .mobile-hud-row{line-height:12px}
.compact-controls .mobile-hud-row span{font-size:9px}
.compact-controls .mobile-hud-row b{font-size:10px;line-height:12px;margin-left:2px}
.compact-controls .mobile-equipment{line-height:11px;font-size:9px;gap:2px}
.compact-controls .mobile-hud #mobileBossRow{font-size:9px;line-height:10px;margin-top:1px}
.compact-controls .mobile-hud #mobileBoss{height:2px;margin-top:1px}
@media(max-height:540px) and (orientation:landscape){
 .compact-controls .mobile-hud-row{gap:2px}
 .compact-controls .mobile-hud-row span{font-size:8px}
 .compact-controls .mobile-hud-row b{font-size:9px}
}

/* Act II: sector 4 onward. Gold-on-storm accents mark the second act in the hangar and title. */
.title-act{max-width:440px;margin:-12px 0 26px;padding:9px 12px;border-left:2px solid var(--hot);background:linear-gradient(90deg,rgba(18,30,27,.78),rgba(18,30,27,0));color:#c8d3c6;font:italic 15px/1.45 Georgia,serif}
.title-act b{margin-right:9px;color:var(--gold);font:normal 900 10px Arial,Helvetica,sans-serif;letter-spacing:.24em}
.drill-button span em{margin-left:6px;padding:1px 5px;border:1px solid rgba(233,112,87,.6);color:#ffb39f;font-style:normal;font-size:8px;letter-spacing:.16em;vertical-align:2px}
.drill-button.act-two:not(:disabled){border-color:rgba(243,187,112,.7);background:linear-gradient(135deg,#1d2a26,#121d1b 60%,#2a2216)}
.drill-button.act-two:hover:not(:disabled){background:linear-gradient(135deg,#283a33,#18241f 60%,#3a2c18)}
.mastery-badges .act-two{border-color:rgba(233,112,87,.38)}
.mastery-badges .act-two.earned{color:#ffe0ae;border-color:var(--gold);background:#3a2a16}
.mission-route b.act-two{color:var(--gold)}
.manual-act{padding:13px;border-left:2px solid var(--hot);background:#1b2a28;color:#d4dccf;font-size:10.5px;font-weight:700;letter-spacing:.06em;line-height:1.6}
.manual-act b{color:var(--gold)}
@media(max-width:740px){.drill-buttons{grid-template-columns:repeat(2,1fr)}.title-act{font-size:13px;margin:-6px 0 18px}}
