@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-0.ttf) format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-1.ttf) format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-2.ttf) format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-3.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-4.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-5.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-6.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/barlow-7.ttf) format("truetype")}:root{font-family:Barlow,Arial,sans-serif;color:#e8e3d1;background:#131b18;--ink: #e8e3d1;--muted: #b0b39c;--gold: #c7aa67;--panel: #1b2521;--line: #596252;--heading: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;overscroll-behavior:none}button,input{font:inherit}button{min-height:44px;border:1px solid #66705c;background:linear-gradient(#303d30,#222d25);color:var(--ink);padding:10px 16px;border-radius:3px;cursor:pointer;transition:background .15s,transform .15s;touch-action:manipulation}button:hover{background:linear-gradient(#45503b,#303d2d)}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible{outline:2px solid #f1d492;outline-offset:3px}button:disabled{opacity:.4;cursor:default}button.selected,button[aria-pressed=true]{border-color:var(--gold);background:linear-gradient(#504d31,#383d2b);box-shadow:inset 0 0 0 1px #c7aa6733}.primary{border:1px solid #d9bf7c;color:#fff4d4;background:linear-gradient(#a68a49,#745d30);box-shadow:inset 0 1px #e9d29640,0 5px 20px #0003;font-family:var(--heading);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:20px}.primary:hover{background:linear-gradient(#b79a57,#806a38)}.quiet{border-color:transparent;background:transparent;color:#c9ccba}.wide{width:100%;margin-top:12px}.eyebrow{font-family:var(--heading);font-size:12px;letter-spacing:.17em;font-weight:600;color:var(--gold)}.muted{color:var(--muted)}p{line-height:1.5}h1,h2,h3,p{margin:0}h2{font-family:var(--heading);font-size:32px;letter-spacing:.035em;font-weight:600}small{color:var(--muted);line-height:1.45}#game-root{position:relative;min-height:100dvh;background:#131b18}#phaser-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}#phaser-root canvas{display:block}#ui-root{position:relative;z-index:1;pointer-events:none;min-height:100dvh}#ui-root button,#ui-root input,#ui-root main,#ui-root .dialog{pointer-events:auto}#game-root:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0c191bbb,#0e1b1455,#0b171bdd),url(/art/coastal-terrain.png) center 44% / cover;opacity:.7;z-index:0;pointer-events:none}#game-root[data-screen=battle]:before{opacity:.13}#game-root[data-screen=home]:before{background:linear-gradient(90deg,#0b171cdc,#0d1c1577 60%,#15201633),url(/art/coastal-terrain.png) center 47% / cover;opacity:1}.title-screen{min-height:100dvh;padding:clamp(30px,8vw,110px);display:flex;align-items:center;position:relative;overflow:hidden}.title-content{max-width:560px}.title-content h1{font-family:var(--heading);font-weight:800;letter-spacing:-.025em;font-size:clamp(100px,15vw,182px);line-height:.85;margin:30px 0 10px;color:#ebe4d2;text-shadow:3px 6px #0b14166b}.title-content h1 span{display:block;font-size:.4em;letter-spacing:.13em;margin-top:18px}.title-rule{display:flex;align-items:center;gap:15px;width:225px;color:var(--gold);margin:28px 0}.title-rule:before,.title-rule:after{content:"";height:1px;background:#bda46477;flex:1}.brand-star{font-size:22px}.title-content p{font-family:var(--heading);font-size:27px;line-height:1.35;color:#c3c8b4}.start-button{display:flex;justify-content:space-between;align-items:center;gap:70px;margin:36px 0 8px;min-width:270px}.title-credit{font-family:var(--heading);font-size:11px;letter-spacing:.13em;color:#afbba5;margin-top:32px}.title-operation{position:absolute;bottom:25px;left:clamp(30px,8vw,110px);right:35px;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;font-family:var(--heading);font-size:12px;letter-spacing:.09em;color:#9ea88e}.muster-screen{max-width:1080px;margin:auto;padding:24px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left));min-height:100dvh;background:linear-gradient(#17231cea,#15231bd9)}.muster-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid #83916e55}.muster-header>div:first-child{display:flex;gap:16px;align-items:center}.muster-header h2{font-size:32px;margin-top:4px}.back-button{background:none;border-color:#6a765a;min-width:44px;padding:5px;font-size:22px}.credits{text-align:right}.credits span{display:block;font-family:var(--heading);font-size:11px;letter-spacing:.12em;color:var(--muted)}.credits strong{font-family:var(--heading);font-size:30px;font-weight:600;color:#e3c37d}.muster-intro{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px;padding:14px 0;color:#c5ccb7}.muster-intro>span{color:#aebfa0}.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:5px 0 20px}.fleet-boat{min-width:0;position:relative;padding:12px 15px 15px;border:1px solid #829077;border-radius:5px 5px 38px 38px;background:linear-gradient(90deg,#56634f,#75826a 3%,#293e32 6%,#263c2e 94%,#75826a 97%,#56634f);box-shadow:4px 8px #06120f66,inset 0 0 24px #08171277}.boat-heading{display:flex;justify-content:space-between;gap:5px;font-family:var(--heading);font-size:11px;font-weight:600;letter-spacing:.08em;color:#c0cbb0;margin-bottom:8px}.ramp-lines{height:8px;margin-bottom:8px;background:repeating-linear-gradient(90deg,#97a286 0,#97a286 3px,#3d503b 3px,#3d503b 13px);border:1px solid #798d6b}.squad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.squad-slot{min-width:0;height:96px;padding:5px 3px;background:#17251ddb;border:1px solid #6e7e60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;user-select:none;-webkit-user-select:none;touch-action:pan-y}.squad-slot img{width:94px;max-width:100%;height:49px;object-fit:contain;pointer-events:none}.squad-name{font-family:var(--heading);font-size:15px;font-weight:600;color:#ece7ce}.squad-tier{font-family:var(--heading);color:#e5c882;font-size:13px}.squad-tier>span{font-size:10px;color:#aab998;letter-spacing:.025em}.squad-slot.empty{border-style:dashed;border-color:#7b8b6159;background:#21372960;color:#aab597;font-size:12px}.empty-cross{font-size:25px;color:#bbc39b;font-weight:400}.boat-stern{text-align:center;border-top:1px solid #6f7c5b66;margin-top:9px;padding-top:5px}.boat-stern span{font-family:var(--heading);font-size:9px;letter-spacing:.12em;color:#a5b292}.locked{opacity:.73;background:linear-gradient(90deg,#415043,#52634c 3%,#22382c 6%,#20372b 94%,#52634c 97%,#415043);border-color:#626f56}.locked-hull{min-height:316px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:repeating-linear-gradient(0deg,#20302777 0,#20302777 31px,#8a927515,#8a927515 33px);border-radius:0 0 24px 24px}.locked-hull>img{width:60px;height:85px;object-fit:contain;opacity:.65}.locked-hull>strong{font-family:var(--heading);font-size:35px;color:#9aac8a}.locked-hull>span{font-size:12px;color:#a3b497}.locked-hull>span.muted{font-size:11px}.unlock-button{font-family:var(--heading);font-size:14px;min-height:36px;padding:5px 12px;background:#34472f;border-color:#9ca37488;color:#d7c99c}.recruitment{border-top:1px solid #81946744;border-bottom:1px solid #81946744;padding:16px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.recruitment p{font-size:13px;max-width:380px;margin-top:5px;color:#c2ccb3}.recruit-choices{display:flex;gap:7px}.recruit-choices button{font-family:var(--heading);font-size:16px;white-space:nowrap;padding:9px 12px}.recruit-choices span{color:#d1b470;margin-left:6px}.merge-preview{display:flex;gap:10px;align-items:center;background:#4b533033;border:1px solid #c6a95166;padding:8px;margin-top:12px}.merge-preview img{width:100px}.merge-preview div{display:flex;flex-direction:column;gap:4px}.merge-preview strong{font-family:var(--heading);font-size:20px}.merge-preview span{font-size:13px}.merge-preview small{font-size:12px}.muster-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px}.muster-footer>div{display:flex;flex-direction:column;gap:5px}.muster-footer strong{font-family:var(--heading);font-size:18px;letter-spacing:.04em;font-weight:600}.muster-footer span{font-size:12px;color:#b2c09f}.save-note{font-size:11px;color:#94a58b;margin-top:15px}.just-merged{animation:merge-pop .55s ease-out}@keyframes merge-pop{0%{box-shadow:0 0 24px #eac46e;transform:scale(.88)}60%{transform:scale(1.06)}to{transform:scale(1)}}.battle-header{position:fixed;top:max(10px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));display:flex;align-items:center;gap:24px;max-width:1080px;margin:auto;padding:10px 14px;background:linear-gradient(#263125f5,#17211dee);border:1px solid #6e785650;box-shadow:0 5px 20px #0003}.operation-heading{display:flex;flex-direction:column;gap:3px;min-width:104px}.operation-heading strong{font-family:var(--heading);font-size:23px;letter-spacing:.05em;font-weight:600}.operation-heading .eyebrow{font-size:10px}.objective-status{flex:1}.objective-status>span{font-size:12px;color:#b9c5a8}.objective-track{height:4px;background:#080f0b;margin-top:9px;overflow:hidden}.objective-track>i{display:block;height:100%;background:#bfc181;transition:width .25s}.field-stat{display:flex;flex-direction:column;text-align:center;font-family:var(--heading)}.field-stat span{font-size:10px;letter-spacing:.08em;color:#afb799}.field-stat strong{font-weight:600;font-size:24px}.pause-button{min-width:44px;padding:3px;font-size:20px}.sector-label{position:fixed;top:88px;left:0;right:0;text-align:center;font-family:var(--heading);font-size:10px;letter-spacing:.15em;color:#b4bda28c}.battle-message{position:fixed;bottom:max(71px,calc(env(safe-area-inset-bottom) + 56px));left:20%;right:20%;font-size:12px;text-align:center;color:#e1dabd;text-shadow:1px 1px 3px #0b160b;background:#14211bbb;padding:7px 12px;border-radius:3px;max-width:500px;margin:auto}.transport-controls{position:fixed;bottom:max(27px,calc(env(safe-area-inset-bottom) + 22px));left:16px;right:16px;display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.transport-controls button{font-family:var(--heading);font-size:13px;letter-spacing:.07em;min-height:36px;padding:6px 14px;box-shadow:0 2px 8px #0005}.support-button{position:fixed;bottom:max(90px,calc(env(safe-area-inset-bottom) + 78px));right:max(18px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;min-width:78px;background:#15251ced;font-family:var(--heading);font-size:11px;letter-spacing:.04em}.artillery-icon{width:56px;height:42px;flex:0 0 auto;color:#dfbd78}.support-button b{font-size:15px;margin-left:3px}.battle-footer{position:fixed;bottom:8px;left:16px;right:16px;display:flex;justify-content:space-between;gap:8px;font-family:var(--heading);font-size:9px;letter-spacing:.09em;color:#a8b391aa}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;background:#08140bcc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto;overflow-y:auto}.dialog{width:min(100%,430px);padding:30px;background:linear-gradient(135deg,#2f3928,#18251d);border:1px solid #8c906e;box-shadow:0 20px 90px #0009,inset 0 0 0 4px #283325;position:relative;border-radius:4px}.dialog h2{margin:8px 0 14px;font-size:35px;line-height:1.05;color:#e9e2cc}.dialog p{font-size:14px;color:#bfcbb0;margin-bottom:20px}.dialog small{display:block;margin-top:16px;font-size:11px}.settings-dialog label{display:block;margin-top:18px;font-size:14px;color:#c8d1bd}.settings-dialog output{float:right;color:var(--gold)}.settings-dialog input{display:block;width:100%;margin:12px 0;accent-color:var(--gold);min-height:24px}.settings-dialog .quiet{font-size:12px;min-height:32px;padding:5px 0}.field-break{width:min(100%,510px)}.field-services{display:flex;flex-direction:column;gap:10px}.field-services button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:13px 16px}.field-services strong{font-family:var(--heading);font-size:21px;font-weight:600}.field-services span{font-size:12px;color:#bdc8af}.result-stats{display:flex;gap:25px;margin:25px 0;font-size:12px;color:#bdc8ae}.result-stats b{display:block;font-family:var(--heading);font-size:33px;color:#d4bc82;font-weight:600}@media(min-width:1100px){.muster-screen{max-width:1120px}.fleet-grid{gap:24px}.squad-slot{height:101px}.locked-hull{min-height:331px}}@media(max-width:700px){.muster-screen{padding:18px 14px}.muster-header h2{font-size:26px}.fleet-grid{gap:12px}.fleet-boat{padding:10px 9px 14px}.squad-slot{height:88px}.squad-name{font-size:13px}.squad-slot img{height:42px}.squad-tier>span{font-size:9px}.locked-hull{min-height:292px}.recruitment{align-items:flex-start;flex-direction:column;gap:12px}.recruit-choices{width:100%}.recruit-choices button{flex:1}.battle-header{gap:14px}.support-button{right:10px;min-width:63px;font-size:10px}.battle-message{left:12%;right:12%}}@media(max-width:540px){.title-screen{padding:34px 28px;align-items:flex-start;padding-top:15dvh}.title-content h1{font-size:115px}.title-content p{font-size:24px}.title-content .eyebrow{font-size:11px}.title-credit{font-size:10px}.title-operation{left:28px;right:25px;font-size:10px;bottom:20px}.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.muster-header{align-items:flex-start}.muster-header>div:first-child{gap:10px}.muster-header h2{font-size:24px}.muster-header .eyebrow{font-size:9px;letter-spacing:.08em}.credits strong{font-size:27px}.credits span{font-size:9px}.boat-heading{font-size:10px}.squad-slot{height:90px}.squad-tier>span{font-size:8px}.locked-hull{min-height:298px}.locked-hull>span{font-size:11px}.locked-hull>span.muted{font-size:9px}.muster-intro{font-size:12px}.muster-footer{align-items:stretch;flex-direction:column}.muster-footer>.primary{min-height:52px}.recruit-choices{gap:5px}.recruit-choices button{font-size:14px;padding:8px}.save-note{font-size:10px}.battle-header{left:8px;right:8px;gap:12px;padding:8px 10px;flex-wrap:wrap}.operation-heading{min-width:0;flex:1}.operation-heading strong{font-size:21px}.objective-status{order:5;flex-basis:100%}.objective-status>span{font-size:11px}.objective-track{margin-top:5px}.field-stat strong{font-size:21px}.pause-button{min-height:37px;min-width:37px}.sector-label{top:112px;font-size:9px}.battle-message{left:10px;right:10px;bottom:max(65px,calc(env(safe-area-inset-bottom) + 60px));font-size:11px;padding:6px 10px}.support-button{right:10px;bottom:106px;min-width:56px;padding:6px;font-size:9px}.support-cross{font-size:23px}.transport-controls{bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));gap:4px}.transport-controls button{padding:6px 10px;font-size:11px}.dialog{padding:24px}.dialog h2{font-size:31px}.modal-backdrop{padding:18px}.merge-preview img{width:73px}.merge-preview strong{font-size:18px}.merge-preview span{font-size:12px}.merge-preview small{font-size:11px}}@media(max-width:360px){.muster-header h2{font-size:20px}.muster-header .eyebrow{font-size:8px}.fleet-boat{padding-left:6px;padding-right:6px}.squad-name{font-size:12px}.squad-tier>span{font-size:8px}.boat-heading{font-size:9px}.title-content h1{font-size:100px}.title-content .eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:540px){.locked-hull{min-height:170px}.locked-hull>img{width:43px;height:57px}.locked-hull>strong{font-size:27px}.muster-footer{position:sticky;bottom:0;background:#17261df5;border-top:1px solid #71805a;padding:10px 0;margin-bottom:-8px;z-index:4}.muster-footer>div{display:none}.muster-screen{padding-bottom:max(22px,env(safe-area-inset-bottom))}.save-note{margin-top:18px}}.muster-footer{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:4;padding:10px 0;background:#17261df5;border-top:1px solid #71805a}@media(min-width:700px)and (max-height:900px){.muster-screen{padding-top:16px;max-width:1020px}.muster-header{padding-bottom:10px}.muster-header h2{font-size:27px}.muster-intro{padding:10px 0}.fleet-grid{gap:12px;padding-bottom:12px}.fleet-boat{padding:8px 12px 9px;border-radius:4px 4px 28px 28px}.boat-heading{margin-bottom:4px}.ramp-lines{height:5px;margin-bottom:5px}.squad-grid{gap:4px}.squad-slot{height:60px;padding:2px}.squad-slot img{height:28px}.squad-name{font-size:13px}.squad-tier{font-size:11px}.squad-tier>span{font-size:9px}.boat-stern{margin-top:5px;padding-top:2px}.locked-hull{min-height:203px}.locked-hull>img{height:57px}.locked-hull>strong{font-size:25px}.recruitment{padding:10px 0}.muster-footer{margin-top:10px}}.squad-slot[data-occupied=true]{touch-action:none;cursor:grab;position:relative}.squad-slot img{-webkit-user-drag:none}.squad-slot.drag-source{opacity:.22}.squad-slot.drop-valid{outline:2px dashed #c8d999;outline-offset:-4px;background:#4c603c}.squad-slot.drop-invalid{outline:2px solid #d78069;background:#65382e}.squad-drag-ghost{position:fixed;z-index:100;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#45513c;border:2px solid #efd18b;border-radius:6px;box-shadow:0 16px 30px #0009;transform:rotate(-3deg)}.squad-drag-ghost img{width:100%;max-height:55%;object-fit:contain}.merge-burst{pointer-events:none;position:absolute;left:-5px;right:-5px;top:30%;z-index:2;padding:10px 2px;background:#dec07f;color:#20301f;font:700 17px var(--heading);letter-spacing:.06em;box-shadow:0 0 30px #ead18a99;animation:promotion 1.15s ease-out forwards}@keyframes promotion{0%{opacity:0;transform:scale(.4) translateY(20px)}25%{opacity:1;transform:scale(1.05)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-22px)}}.just-merged img{animation:kit-upgrade .8s ease-out}@keyframes kit-upgrade{0%{filter:brightness(3);transform:scale(.6)}45%{filter:brightness(1.6);transform:scale(1.2)}to{filter:brightness(1);transform:scale(1)}}.recruit-choices{flex-wrap:wrap}.recruit-choices .primary{font-size:16px}.squad-slot.empty.selected{border-color:#d9c27f;box-shadow:inset 0 0 0 1px #d9c27f}#sfx-test-status{font-size:12px;margin:8px 0 0;min-height:18px}@media(prefers-reduced-motion:reduce){.merge-burst{animation:promotion 1.15s steps(1) forwards!important}.squad-drag-ghost{transform:none}}.squad-drag-ghost{padding:3px}.squad-drag-ghost .squad-name{font-size:13px;white-space:nowrap}.squad-drag-ghost .squad-tier{font-size:11px}.squad-drag-ghost .squad-tier>span{font-size:8px}.battle-message.counterattack-warning{color:#ffe0b6;background:#542f22ed;border-color:#d4945c;font-weight:700}.support-shop{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #59644d;padding:14px 18px;margin-top:12px;background:#1d291f}.support-shop p{margin:6px 0;color:#e3dbc1}.support-shop small{color:#b4baa4}.support-shop button{flex-shrink:0}@media(max-width:540px){.support-shop{align-items:stretch;flex-direction:column;gap:12px}}.squad-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.field-wallet{color:#e1c685;font-weight:700}.squad-slot.split-target{border-color:#deca7f;box-shadow:inset 0 0 0 1px #deca7f;background:#54684366}body:has(.recruitment-dialog){overflow:hidden}.recruitment-dialog{width:min(100%,520px);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain}.recruit-dialog-heading,.recruit-wallet,.recruit-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.recruit-dialog-heading{margin-top:-10px}.dialog-close{min-width:44px;min-height:44px;padding:0;font-size:26px;background:transparent;border-color:transparent}.recruitment-dialog h2{margin-top:2px}.recruit-wallet{padding:12px 15px;background:#111f18;border:1px solid #71815c55;margin-bottom:16px}.recruit-wallet span{font:11px var(--heading);letter-spacing:.1em;color:#b9c6a8}.recruit-wallet strong{font:28px var(--heading);color:#edd39a}.recruit-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recruit-option{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:14px 8px;border:1px solid #7c896c;background:#1d2c22}.recruit-option.selected{border:2px solid #e0bf77;padding:13px 7px;background:linear-gradient(#6b623a66,#3f4828aa)}.recruit-option img{width:116px;max-width:100%;height:74px;object-fit:contain}.recruit-option-name{font:21px var(--heading);color:#f0ead6}.recruit-description{font-size:11px;color:#b9c6a8;margin:4px 0 10px}.recruit-price{font:27px var(--heading);color:#efd18a}.recruit-price small{margin:1px 0 0;font:9px var(--heading);letter-spacing:.08em;color:#bdc4a4}.recruit-check{position:absolute;right:8px;top:6px;color:#f2d28e;font-size:17px}.recruitment-dialog .recruit-feedback{min-height:36px;margin:15px 0 12px;font-size:13px}.recruit-dialog-actions button{min-height:50px}.recruit-dialog-actions .primary{flex:1}.support-shop [data-command=buyArtillery]{display:flex;align-items:center;justify-content:center;gap:10px}.support-shop .artillery-icon{width:36px;height:29px}.support-button{min-width:88px;min-height:80px}.support-button.selected{border-color:#f0cd81;box-shadow:0 0 0 2px #e0b35455,0 4px 22px #0008}@media(max-width:540px){.recruitment-dialog{padding:20px}.recruitment-dialog h2{font-size:29px}.recruit-options{gap:8px}.recruit-option-name{font-size:19px}.recruit-description{font-size:10px}.support-button{min-width:72px;min-height:72px}.support-button .artillery-icon{width:46px;height:35px}}@media(prefers-reduced-motion:no-preference){.recruitment-dialog.entering{animation:recruit-appear .15s ease-out}@keyframes recruit-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}.squad-action-dock{position:fixed;z-index:45;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(660px,calc(100% - 28px));display:grid;grid-template-columns:1fr 1fr;gap:12px;pointer-events:auto}.squad-drop-action{min-height:96px;padding:15px 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;text-align:center;background:#18271ff5;border:2px dashed #c4b47a;border-radius:6px;box-shadow:0 6px 25px #0009}.squad-drop-action strong{font:25px var(--heading);color:#eedcae}.squad-drop-action span{font-size:12px;color:#d0d7bb}.retire-drop{border-color:#be9178}.squad-drop-action[aria-disabled=true]{border-color:#64705d;background:#20271fea}.squad-drop-action[aria-disabled=true] strong,.squad-drop-action[aria-disabled=true] span{color:#a6ad9b}.squad-drop-action.drop-hover{border-style:solid;background:#4d5130;box-shadow:0 0 0 3px #d9bd7a55,0 8px 30px #0009}.retire-drop.drop-hover{background:#563b2d}.squad-drop-action.drop-invalid{border-color:#c88c70}.squad-dragging .muster-footer,#ui-root:has(.split-instruction) .muster-footer{visibility:hidden}.split-instruction{position:fixed;z-index:40;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(650px,calc(100% - 28px));padding:15px;background:#283826;border:1px solid #d8bc75;box-shadow:0 8px 24px #0009;display:flex;align-items:center;gap:14px;pointer-events:auto}.split-instruction strong{display:block;color:#f0dba8;font:22px var(--heading)}.split-instruction small{display:block;color:#c7d2b5;font-size:12px;margin-top:5px}.split-instruction button{min-height:48px;flex:0 0 auto}.support-button[hidden]{display:none}.support-button:disabled{opacity:.8}@media(max-width:540px){.squad-action-dock{gap:8px}.squad-drop-action{min-height:94px;padding:12px 8px}.squad-drop-action span{font-size:11px}.split-instruction{padding:12px;gap:9px}.split-instruction strong{font-size:18px}.split-instruction small{font-size:11px}}.difficulty-selector{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 20px;background:#1a2923;border:1px solid #657054}.difficulty-selector p{margin:5px 0 0;color:#c2c8ad;font-size:13px;line-height:1.45}.difficulty-options{display:flex;gap:8px;flex-shrink:0}.difficulty-options button{min-height:48px;padding:10px 16px}.difficulty-options .selected{background:#6d5b32;border-color:#c8af6b;color:#fff1c8}@media(max-width:600px){.difficulty-selector{align-items:stretch;flex-direction:column;gap:12px;padding:12px}.difficulty-options button{flex:1}}.battle-speed{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(90px,calc(env(safe-area-inset-bottom) + 78px));padding:7px;background:#15251ced;border:1px solid #6e785680;box-shadow:0 3px 12px #0004;pointer-events:auto}.battle-speed>.eyebrow{display:block;margin-bottom:5px;font-size:9px;text-align:center}.battle-speed-options{display:flex;gap:3px}.battle-speed-options button{min-width:44px;min-height:44px;padding:5px 9px;font-family:var(--heading);font-size:17px}.battle-speed-options button[aria-pressed=true]{background:#766538;border-color:#dfbd78;color:#fff5d5}.battle-speed-options button:focus-visible{outline:2px solid #f0cd81;outline-offset:2px}.dialog .battle-speed{position:static;margin:18px 0}.dialog .battle-speed-options{justify-content:center}@media(max-width:540px){.battle-speed{left:10px;bottom:max(106px,calc(env(safe-area-inset-bottom) + 94px));padding:5px}}.proving-screen{max-width:1160px;margin:auto;padding:32px 24px 56px;color:#dedfc8}.proving-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.proving-header h1{font-size:40px;margin:8px 0}.proving-header p{color:#adb89f;margin:8px 0}.test-isolation{padding:15px 18px;background:#273927;border:1px solid #71805a;margin:24px 0;color:#d4deba;line-height:1.5}.test-isolation>span{color:#d2b364;margin-right:10px}.proving-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:22px;align-items:start}.test-controls{min-width:0}.test-section{padding:22px;background:#1a2921;border:1px solid #4f6047;margin-bottom:16px}.test-section>.eyebrow{display:block;margin-bottom:16px}.test-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.test-section label{display:block;color:#dce0c8;font-size:13px;margin-bottom:12px}.test-section input:not([type=file]),.test-section select{display:block;width:100%;box-sizing:border-box;margin-top:8px;min-height:46px;padding:10px;background:#111e18;color:#efeedb;border:1px solid #67775a;border-radius:2px;font:inherit;font-size:15px}.test-section small,.test-preview small{display:block;line-height:1.65;color:#aab79b;font-size:12px}.test-preview{position:sticky;top:20px;padding:24px;border:1px solid #b09960;background:linear-gradient(145deg,#35412b,#17291f);min-width:0}.test-preview h2{font-size:30px;margin:12px 0;overflow-wrap:anywhere}.test-preview p{line-height:1.6;color:#c2cbb1}.test-sector-list{padding:0;list-style:none;margin:22px 0}.test-sector-list li{display:flex;gap:16px;padding:14px 0;border-top:1px solid #667252}.test-sector-list li>span{font-size:24px;color:#cfb574}.test-sector-list strong{display:block;margin-bottom:5px}.test-run-buttons{display:grid;gap:10px;margin:20px 0}.test-error{color:#ffd0a8!important}.test-file-buttons{display:flex;flex-wrap:wrap;gap:10px}.test-import{position:relative;overflow:hidden;background:#34452f;border:1px solid #657953;padding:12px;min-height:46px;box-sizing:border-box;margin:0!important;cursor:pointer}.test-import input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;cursor:pointer}.test-presets ul{list-style:none;padding:0}.test-presets li{display:flex;gap:8px;margin-top:8px}.test-presets li>button:first-child{flex:1;text-align:left;min-width:0;overflow-wrap:anywhere}.test-presets li>button:last-child{min-width:44px}.test-presets button{min-height:46px}.test-presets #test-feedback{font-size:13px;line-height:1.6;color:#d5c38d}.proving-future{border-top:1px solid #586447;margin-top:22px;padding-top:20px}.proving-future p,.proving-future small{color:#a9b396;line-height:1.6}.test-results .result-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.test-results .result-stats>span{padding:8px;font-size:12px}.test-results button{margin-top:8px}.test-battle-note{position:fixed;top:80px;left:18px;z-index:4;font-size:10px;color:#ebd392;background:#16251deb;padding:5px 8px;pointer-events:none}.counterattack-warning:before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:#ff4a37;box-shadow:0 0 12px #fa382b;margin-right:10px;animation:incoming-light .75s ease-in-out infinite alternate}@keyframes incoming-light{to{opacity:.35;box-shadow:0 0 3px #fa382b}}@media(prefers-reduced-motion:reduce){.counterattack-warning:before{animation:none}}@media(max-width:700px){.proving-screen{padding:22px 14px}.proving-header{align-items:flex-start;flex-direction:column;gap:12px}.proving-header h1{font-size:32px}.proving-layout{grid-template-columns:1fr}.test-preview{position:static;grid-row:1}.test-fields{gap:12px}.test-section{padding:16px}.test-battle-note{top:110px;left:10px}.test-results .result-stats{grid-template-columns:1fr 1fr}}.test-section select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:46px;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,#d4deba 50%),linear-gradient(135deg,#d4deba 50%,transparent 50%);background-position:calc(100% - 16px) 20px,calc(100% - 11px) 20px;background-size:5px 5px;background-repeat:no-repeat}.test-fields>*{min-width:0}.campaign-screen{max-width:1160px;margin:auto;padding:36px 28px 48px;color:#e0ddc6}.campaign-header{display:flex;gap:18px;align-items:center}.campaign-header h1{font-size:clamp(24px,3.8vw,40px);margin:6px 0}.campaign-header .credits{margin-left:auto}.campaign-intro{color:#b3bba5;margin:18px 0 26px}.campaign-layout{display:grid;grid-template-columns:1.25fr 1fr;border:1px solid #647052;background:#17241d;box-shadow:0 16px 50px #0005}.campaign-map{position:relative;min-height:610px;overflow:hidden;border-right:1px solid #647052}.campaign-map svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-sea{position:absolute;left:5%;top:46%;writing-mode:vertical-rl;letter-spacing:5px;font-size:11px;color:#9db2af}.map-compass{position:absolute;top:22px;left:28px;text-align:center;font-size:22px;color:#d6cba6}.map-caption{position:absolute;bottom:12px;left:18px;color:#b4b898;font-size:9px;letter-spacing:1px}.campaign-node{position:absolute;transform:translate(-50%,-50%);width:188px;min-height:98px;background:#17271fef;border:1px solid #7c8763;text-align:left;padding:13px 16px;box-shadow:0 6px 18px #0006}.campaign-node span,.campaign-node small{display:block;font-size:10px;color:#b2b797;letter-spacing:1px}.campaign-node strong{display:block;font-family:Oswald,sans-serif;font-size:19px;margin:6px 0;color:#eee7c9}.campaign-node.selected{border:2px solid #e1bd66;background:#424732;box-shadow:0 0 0 5px #c5b57022}.campaign-node.cleared span{color:#b5d995}.node-0{left:37%;top:77%}.node-1{left:49%;top:49%}.node-2{left:70%;top:22%}.mission-briefing{padding:32px}.mission-briefing h2{font-size:32px;margin:9px 0 16px}.mission-briefing>p{color:#bdc3ad;line-height:1.65}.mission-sectors{list-style:none;padding:0;margin:24px 0;border-top:1px solid #4a5641}.mission-sectors li{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #4a5641}.mission-sectors li>span{color:#bb9e5a;font-size:23px}.mission-sectors strong,.mission-sectors small{display:block}.mission-sectors small{margin-top:5px;color:#a1ac95}.mission-lock{padding:12px;border:1px solid #83713e;color:#e6c985!important}.mission-note{display:block;margin:16px 0;color:#9ca891;line-height:1.65;font-size:12px}.mission-reward{color:#d7c58d!important}.campaign-future{margin-top:26px;padding:20px;border:1px dashed #536145}.campaign-future p{margin:10px 0}.campaign-future small{color:#9daa94}.training-lesson{display:flex;align-items:center;gap:20px;margin:18px 0;padding:20px;border:1px solid #ae9654;background:#343e29}.training-lesson h3{margin:8px 0;font-size:23px}.training-lesson p{line-height:1.6;margin:0;color:#d0d4bb}.training-lesson button{flex-shrink:0}.mission-choice{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:18px 0;padding:14px 18px;border:1px solid #566147}.mission-choice strong{display:block;margin:5px 0}.title-content>.quiet{display:block;margin:12px auto}.training-difficulty{padding:18px;border:1px solid #637049;color:#c7cfb2;margin:18px 0}@media(max-width:700px){.campaign-screen{padding:20px 14px}.campaign-header{gap:10px;flex-wrap:wrap}.campaign-header .credits{font-size:11px}.campaign-header h1{font-size:25px}.campaign-layout{grid-template-columns:1fr}.campaign-map{min-height:440px;border-right:0;border-bottom:1px solid #647052}.campaign-node{width:155px;min-height:90px;padding:10px}.campaign-node strong{font-size:17px}.mission-briefing{padding:22px}.mission-briefing h2{font-size:28px}.training-lesson{flex-direction:column;align-items:stretch}.mission-choice{gap:10px}.mission-choice button{font-size:12px}.campaign-header .credits{margin-left:0}.node-2{left:72%}.campaign-intro{font-size:14px}}
