:root{--bg:#070a10;--panel:#101722;--panel2:#151f2d;--line:#29384d;--cyan:#39e4d1;--gold:#ffc65a;--red:#ff5871;--text:#eef5fa;--muted:#8998aa}
.title-card{width:min(760px,calc(100vw - 30px))}
button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
*{box-sizing:border-box}body{margin:0;min-width:0;min-height:100vh;color:var(--text);font-family:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif;background:radial-gradient(circle at 50% -20%,#1c304b 0,#090e17 43%,#05070b 100%);overflow-x:auto}button{font:inherit;color:inherit}.game-shell{width:min(1500px,100vw);min-width:0;margin:0 auto;padding:15px 20px 10px}
.topbar{height:68px;display:flex;align-items:center;gap:24px;padding:0 16px;border:1px solid #2a394c;background:linear-gradient(180deg,#151f2d,#0d141e);box-shadow:0 12px 35px #0009}.brand{display:flex;align-items:center;gap:12px;min-width:250px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;color:#061210;font-size:23px;font-weight:900;background:var(--cyan);clip-path:polygon(50% 0,100% 25%,88% 85%,50% 100%,12% 85%,0 25%)}.brand div{display:flex;flex-direction:column;line-height:1.1}.brand strong{font-size:19px}.brand small{font-size:9px;color:#6d7f94;letter-spacing:.18em;margin-top:5px}.stats{flex:1;display:flex;justify-content:center}.stats div{min-width:110px;padding:0 23px;border-left:1px solid #263448;display:flex;flex-direction:column}.stats span{font-size:10px;color:var(--muted)}.stats strong{font-size:20px;margin-top:2px}.stats div:first-child strong{color:var(--cyan)}.stats div:nth-child(2) strong{color:var(--gold)}.controls{display:flex;gap:6px}.icon-btn{width:39px;height:39px;border:1px solid #35465d;background:#182331;cursor:pointer}.icon-btn:hover{border-color:var(--cyan);color:var(--cyan)}.icon-btn.wide{width:32px}
.content{display:grid;grid-template-columns:minmax(770px,1fr) 360px;gap:13px;margin-top:13px}.arena-wrap{position:relative;overflow:hidden;border:1px solid #2b3b50;background:#0b1119;box-shadow:0 18px 55px #000a;aspect-ratio:1.6}canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:manipulation}.sidebar{height:calc((100vw - 413px)*.625);max-height:calc((1500px - 413px)*.625);min-height:500px;border:1px solid #2a3a4f;background:linear-gradient(180deg,#111a26,#0b111a);padding:13px;display:flex;flex-direction:column;gap:11px;overflow:auto}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:7px}.section-title span{font-size:12px;font-weight:800;letter-spacing:.04em}.section-title small{font-size:9px;color:var(--muted)}
.tower-shop{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.tower-card{position:relative;min-height:91px;border:1px solid #2a394d;background:#121c29;padding:7px 4px 5px;text-align:center;cursor:pointer;transition:.15s}.tower-card:hover,.tower-card.selected{z-index:2;border-color:var(--tower-color,var(--cyan));background:#182632;transform:translateY(-2px);box-shadow:0 7px 16px #0008}.tower-card.disabled{opacity:.43;filter:grayscale(.45)}.tower-card .key{position:absolute;left:5px;top:3px;font-size:8px;color:#627388}.portrait{width:38px;height:38px;margin:0 auto 3px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;border:1px solid #ffffff44;box-shadow:0 0 15px #0008}.tower-card strong{display:block;font-size:10px}.tower-card .role{display:block;color:var(--muted);font-size:8px;white-space:nowrap}.cost{color:var(--gold);font-size:9px;font-weight:700}.tower-card:hover::after{content:attr(data-tip);position:absolute;right:0;bottom:calc(100% + 7px);width:180px;text-align:left;padding:8px 9px;background:#071018f5;border:1px solid var(--tower-color);font-size:9px;line-height:1.55;color:#becbd8;pointer-events:none;box-shadow:0 10px 25px #000;z-index:20}
.operation-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.operation-strip span{padding:5px 4px;border:1px solid #2b3c50;background:#0c151f;color:#91a4b7;font-size:8px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operation-strip span:first-child{color:#ffe29a}.roster-filters{display:flex;gap:3px;overflow-x:auto;padding-bottom:5px}.roster-filters button{flex:0 0 auto;border:1px solid #293a4e;background:#101925;color:#78899a;padding:4px 7px;font-size:8px;cursor:pointer}.roster-filters button.active{border-color:var(--cyan);color:var(--cyan);background:#13302f}.roster-pages{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.roster-pages button{width:27px;border:1px solid #2c4055;background:#121d2a;color:#8ba0b3;cursor:pointer}.roster-pages span{font-size:8px;color:#6f8295}.synergy-bar{display:flex;flex-wrap:wrap;gap:4px;min-height:23px}.synergy-chip{border:1px solid #2b3d51;background:#101925;padding:4px 6px;color:#687b8f;font-size:8px}.synergy-chip.active{border-color:var(--synergy-color);color:var(--synergy-color);background:#17222d}.synergy-chip b{margin-right:3px}.kiosk-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.kiosk-actions button{border:1px solid #38516b;background:#14202d;padding:7px 4px;font-size:8px;cursor:pointer}.kiosk-actions button:last-child{border-color:#997b3e;color:var(--gold)}.kiosk-actions button:disabled{opacity:.35;cursor:not-allowed}.craft-materials{color:#aebccc;font-size:10px}.craft-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px}.craft-card{border:1px solid var(--craft-color);background:#0c151f;padding:13px;text-align:left;cursor:pointer}.craft-card:disabled{opacity:.35;cursor:not-allowed}.craft-card strong{display:block;color:var(--craft-color);font-size:11px}.craft-card span{display:block;color:#78899a;font-size:8px;margin:4px 0}.craft-card p{margin:4px 0;color:#a8b5c2;font-size:9px;line-height:1.5}
.selection-panel{min-height:164px;border-top:1px solid #233146;border-bottom:1px solid #233146;padding:10px 0}.empty-selection{height:142px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.empty-selection .crosshair{font-size:25px;color:#40516a}.empty-selection strong{font-size:11px;color:#bac7d4;margin:4px}.empty-selection span{font-size:8px;max-width:240px;line-height:1.5}.selected-head{display:flex;gap:9px;align-items:center}.selected-head .portrait{margin:0;width:42px;height:42px}.selected-head>div{flex:1;min-width:0}.selected-head strong{display:block;font-size:13px}.selected-head span{display:block;font-size:8px;color:var(--cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tower-level{font-size:10px;color:var(--gold)}.skill-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:8px 0 7px}.skill-node{padding:4px 2px;border:1px solid #28374a;background:#101720;color:#5f6d7e;text-align:center;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-node.active{border-color:var(--tower-color);color:#dceaf4;background:#192531}.skill-node.next{border-color:#705b32;color:#bba473}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:6px 0}.stat-row{display:flex;flex-direction:column;font-size:8px;color:var(--muted)}.stat-row b{color:#dce6ef;font-size:10px}.selection-actions{display:grid;grid-template-columns:2fr 1fr;gap:5px}.selection-actions.triple{grid-template-columns:1.5fr 1fr 1fr}.selection-actions button{border:1px solid #304158;background:#172332;padding:7px 4px;cursor:pointer;font-size:9px}.selection-actions .upgrade{border-color:#a98235;color:var(--gold)}.selection-actions .swap{border-color:#559e91;color:#78e7d5}.selection-actions button:hover:not(:disabled){filter:brightness(1.35)}.selection-actions button:disabled{opacity:.38;cursor:not-allowed}
.artifact-panel{padding-bottom:2px}.artifact-bar{min-height:35px;display:flex;gap:5px}.artifact-empty{width:100%;display:grid;place-items:center;border:1px dashed #2b3a4d;color:#5e6d7d;font-size:8px}.artifact-chip{flex:1;min-width:0;border:1px solid var(--artifact-color);background:#121c28;padding:4px 5px;text-align:center;cursor:help}.artifact-chip b{display:block;color:var(--artifact-color);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-chip small{display:block;color:#78889a;font-size:7px}.mission-panel{margin-top:auto}.skill-btn{width:100%;display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #38516b;background:linear-gradient(90deg,#15283b,#121b28);padding:8px;cursor:pointer}.skill-btn:disabled{opacity:.4}.skill-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#173e52;color:#68eaff}.skill-btn strong,.skill-btn small{display:block}.skill-btn strong{font-size:10px}.skill-btn small{font-size:8px;color:var(--muted);margin-top:1px}.primary{border:1px solid #5ffff0;background:linear-gradient(90deg,#178f87,#2bc8b8);color:#03110f;font-weight:800;cursor:pointer;box-shadow:inset 0 0 15px #8affee55}.primary:hover{filter:brightness(1.15)}.primary:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.45}.wave-btn{min-height:53px;display:flex;flex-direction:column;align-items:center;justify-content:center}.wave-btn span{font-size:13px}.wave-btn small{font-size:8px;font-weight:500;margin-top:1px}
.overlay,.artifact-modal,.codex-modal{position:absolute;inset:0;display:none;place-items:center;background:#050912e8;backdrop-filter:blur(5px);z-index:30}.overlay.show,.artifact-modal.show,.codex-modal.show{display:grid}.overlay-card{width:540px;padding:38px 42px;text-align:center;border:1px solid #3d5870;background:linear-gradient(145deg,#142331f5,#0b111bf5);box-shadow:0 30px 90px #000}.eyebrow{font-size:9px;letter-spacing:.21em;color:var(--cyan)}.overlay h1{margin:12px 0 9px;font-size:28px}.overlay p,.artifact-window>p{color:#a9b6c4;font-size:12px;line-height:1.7}.large{padding:12px 38px;margin:10px}.tips{display:flex;justify-content:center;gap:17px;color:#8492a3;font-size:9px;margin-top:9px}.fan-note{display:block;color:#546477;font-size:8px;margin-top:20px}.artifact-window{width:790px;padding:30px 34px 34px;text-align:center;border:1px solid #8d7439;background:radial-gradient(circle at 50% 0,#2c2719,#10151d 48%);box-shadow:0 30px 90px #000}.artifact-window h2,.codex-window h2{margin:8px 0 4px}.artifact-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.artifact-card{position:relative;min-height:220px;border:1px solid var(--artifact-color);background:linear-gradient(160deg,#182331,#0c121b);padding:19px 16px;cursor:pointer;transition:.18s}.artifact-card:hover{transform:translateY(-7px);box-shadow:0 12px 35px color-mix(in srgb,var(--artifact-color) 32%,transparent);background:#1a2735}.artifact-rune{width:57px;height:57px;margin:0 auto 12px;display:grid;place-items:center;border:1px solid var(--artifact-color);color:var(--artifact-color);font-size:25px;transform:rotate(45deg)}.artifact-rune span{transform:rotate(-45deg)}.artifact-card h3{margin:5px 0;color:var(--artifact-color)}.artifact-card .class-tag{display:inline-block;padding:2px 7px;border:1px solid #ffffff22;color:#91a0af;font-size:8px}.artifact-card p{font-size:10px;line-height:1.65;color:#aebac7}.artifact-card small{position:absolute;bottom:10px;left:0;right:0;color:#6e7d8e;font-size:8px}.codex-window{position:relative;width:690px;padding:28px 32px;border:1px solid #3c566e;background:#101923}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;color:#7f8fa0;font-size:25px;cursor:pointer}.codex-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.codex-grid>div{border:1px solid #29394d;background:#0c131c;padding:13px}.codex-grid b{font-size:11px;color:var(--cyan)}.codex-grid p{font-size:9px;line-height:1.65;color:#98a7b7;margin:5px 0}
.toast{position:absolute;top:18px;left:50%;transform:translate(-50%,-10px);z-index:50;padding:8px 15px;background:#071018ee;border:1px solid var(--cyan);color:#c2fff8;font-size:10px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}footer{height:27px;display:flex;align-items:end;justify-content:space-between;color:#536174;font-size:8px;letter-spacing:.04em}
.best-record{display:inline-block;margin-top:13px;padding:5px 12px;border:1px solid #2c4054;color:#8294a7;font-size:8px}.best-record+.fan-note{margin-top:12px}
.secondary{border:1px solid #425875;background:#152131;color:#b9c8d8;font-weight:700;cursor:pointer}.continue-button{padding:11px 25px;margin-left:0}.secondary:hover{border-color:var(--cyan);color:var(--cyan)}
.artifact-modal,.codex-modal{position:fixed;z-index:100;padding:12px}.artifact-window{width:min(790px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.codex-window{width:min(690px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.selection-actions.quad{grid-template-columns:1.35fr 1fr 1fr 1fr}.selection-actions .target{border-color:#446989;color:#87bce5}.craft-window{width:min(760px,calc(100vw - 24px))}
.run-setup{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0 8px;text-align:left}.setup-block{border:1px solid #2b4055;background:#0b141f;padding:9px}.setup-block>b{display:block;color:#8da0b2;font-size:9px;margin-bottom:6px}.setup-block small{display:block;color:#6f8294;font-size:7px;line-height:1.4;margin-top:5px}.setup-options{display:flex;gap:3px}.setup-options button{flex:1;border:1px solid #30445a;background:#111c29;padding:6px 3px;color:#8797a7;font-size:8px;cursor:pointer}.setup-options button.active{border-color:var(--cyan);color:var(--cyan);background:#15302f}.wave-timeline{position:absolute;left:14px;right:14px;bottom:10px;z-index:12;display:grid;grid-template-columns:repeat(10,1fr);gap:3px;pointer-events:none}.wave-node{height:5px;background:#314154aa;border:1px solid #43556a}.wave-node.done{background:var(--cyan);border-color:#8affef}.wave-node.current{background:var(--gold);border-color:#ffe3a2;box-shadow:0 0 10px #ffcb5e}.wave-node.boss{height:8px;margin-top:-3px;border-color:#ff5871}.contract-card,.mastery-card{border:1px solid #2b4055;background:#0c151f;padding:8px}.contract-card strong,.mastery-card strong{display:block;color:#d8e7f4;font-size:9px}.contract-card p,.mastery-card p{margin:4px 0;color:#7f91a4;font-size:8px}.contract-progress,.mastery-progress{height:4px;background:#1c2a38;overflow:hidden}.contract-progress i,.mastery-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#78e6ff)}.mastery-meta{display:flex;justify-content:space-between;color:#91a4b7;font-size:8px;margin-bottom:5px}.evolution-window{width:min(720px,calc(100vw - 24px));text-align:center}.evolution-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.evolution-card{border:1px solid var(--evo-color);background:linear-gradient(145deg,#152231,#0b121b);padding:18px;text-align:left;cursor:pointer}.evolution-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0008}.evolution-card strong{display:block;color:var(--evo-color);font-size:14px}.evolution-card span{display:inline-block;margin:6px 0;padding:2px 6px;border:1px solid #ffffff22;color:#8395a7;font-size:8px}.evolution-card p{color:#afbdca;font-size:10px;line-height:1.6}.branch-badge{display:inline-block;margin-top:4px;padding:2px 6px;border:1px solid var(--tower-color);color:var(--tower-color);font-size:7px}
@media(max-width:1250px){.game-shell{padding:10px}.content{grid-template-columns:800px 340px}.sidebar{height:500px}.stats div{min-width:88px;padding:0 13px}.topbar{gap:10px}.brand{min-width:220px}}
@media(max-width:900px){body{overflow-x:hidden}.game-shell{width:100%;padding:6px}.topbar{height:auto;min-height:62px;flex-wrap:wrap;padding:8px;gap:8px}.brand{min-width:0;flex:1}.brand-mark{width:34px;height:34px}.brand strong{font-size:15px}.brand small{font-size:7px}.controls{margin-left:auto}.stats{order:3;flex:0 0 100%;width:100%;display:grid;grid-template-columns:repeat(5,1fr)}.stats div{min-width:0;padding:5px 6px}.stats span{font-size:7px;white-space:nowrap}.stats strong{font-size:14px}.content{display:flex;flex-direction:column;gap:7px;margin-top:7px}.arena-wrap{width:100%;aspect-ratio:1.6}.sidebar{width:100%;height:auto;min-height:0;max-height:none;overflow:visible}.tower-shop{grid-template-columns:repeat(7,1fr)}.tower-card{min-height:84px}.tower-card .portrait{width:34px;height:34px}.selection-panel{min-height:150px}.empty-selection{height:125px}.mission-panel{margin-top:0}footer{padding:0 4px}.overlay{position:fixed;z-index:99;padding:10px}.overlay-card{width:calc(100% - 18px);max-height:calc(100vh - 20px);overflow:auto;padding:24px 18px}.overlay h1{font-size:21px}.overlay p{font-size:10px}.artifact-window{padding:22px 14px}.artifact-card{min-height:190px;padding:14px 9px}.artifact-card p{font-size:9px}}
@media(max-width:600px){.tower-shop{grid-template-columns:repeat(4,1fr)}.tower-card{min-height:88px}.artifact-choices,.craft-choices,.evolution-choices{grid-template-columns:1fr}.artifact-card{min-height:155px}.artifact-rune{width:42px;height:42px;font-size:18px;margin-bottom:8px}.artifact-card p{margin-bottom:20px}.codex-grid{grid-template-columns:1fr}.codex-window{padding:24px 15px}.tips{gap:8px;flex-wrap:wrap}.topbar .icon-btn{width:34px;height:34px}footer span:last-child{display:none}.operation-strip{grid-template-columns:1fr 1fr}.operation-strip span:last-child{grid-column:1/-1}.run-setup{grid-template-columns:1fr}.setup-block{padding:7px}.overlay-card{padding-top:15px}.evolution-card{padding:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* 3.2 LUMIA ISLAND ------------------------------------------------------ */
:root{--panel-glass:#0b111bdd;--panel-raised:#121d2a;--ice:#cceaff}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#39e4d108 1px,transparent 1px),linear-gradient(#39e4d108 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#0006,transparent 70%)}
.game-shell{position:relative}.topbar{border-color:#32475f;background:linear-gradient(180deg,#172536f5,#0a111cf5);box-shadow:0 12px 35px #000b,inset 0 1px #ffffff0c}.brand-mark{position:relative;box-shadow:0 0 24px #39e4d155}.brand-mark::after{content:"AGL";position:absolute;right:-15px;bottom:-6px;padding:1px 3px;background:#0a111b;color:#7df6e8;font-size:6px;letter-spacing:.12em}.stats div{position:relative}.stats div::after{content:"";position:absolute;left:22px;right:22px;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--cyan),transparent);opacity:.25}.content{grid-template-columns:minmax(770px,1fr) 390px}.arena-wrap{border-color:#344b63;box-shadow:0 20px 60px #000c,0 0 0 1px #5cebd00a}.sidebar{padding:14px;gap:12px;border-color:#30465e;background:linear-gradient(180deg,#111d2af5,#080e17f5);scrollbar-color:#344b61 #0b121c}.sidebar>section,.sidebar>.wave-btn{flex-shrink:0}.selection-panel{min-height:196px}.section-title{padding-left:8px;border-left:2px solid var(--cyan)}.section-title span{font-size:12px}.section-title small{color:#71859a}

/* Launch briefing */
.overlay{background:#03070dda}.title-card{width:min(1080px,calc(100% - 34px));max-height:calc(100% - 28px);padding:0;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);overflow:hidden;text-align:left;border:1px solid #55738d;background:#08111b;box-shadow:0 35px 110px #000,0 0 0 1px #71ffe30c}.launch-art-panel{position:relative;min-height:570px;overflow:hidden;background:#101925}.launch-art-panel>img{width:100%;height:100%;display:block;object-fit:cover;object-position:61% center;filter:saturate(.92) contrast(1.06)}.launch-art-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06101a18 45%,#08111be8),linear-gradient(0deg,#05101be8 0,transparent 38%),linear-gradient(180deg,#1fcab512 0,transparent 28%)}.launch-art-panel::before{content:"";position:absolute;z-index:2;inset:12px;border:1px solid #a6fff522;clip-path:polygon(0 0,24% 0,24% 2px,2px 2px,2px 30%,0 30%,0 0,100% 0,100% 100%,76% 100%,76% calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) 70%,100% 70%)}.launch-art-panel::after{content:"LUMIA ISLAND // VF SIGNAL";position:absolute;z-index:2;top:18px;left:20px;color:#b6fff5;font:700 8px/1 monospace;letter-spacing:.18em;text-shadow:0 1px 8px #000}.launch-status{position:absolute;z-index:3;left:25px;right:25px;bottom:23px;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:end}.launch-status span{grid-row:1/3;padding:9px 10px;border:1px solid #68f5df66;color:#6ef4e1;font:700 9px monospace}.launch-status b{font-size:20px;letter-spacing:.08em}.launch-status small{color:#a5b8c8;font-size:8px}.launch-console{position:relative;z-index:3;padding:27px 28px 22px;background:linear-gradient(145deg,#101d2af8,#070c14);box-shadow:-22px 0 50px #050b12}.launch-console::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--cyan),transparent 72%)}.overlay h1{margin:7px 0 7px;font-size:32px;line-height:1.08;letter-spacing:-.045em}.overlay h1::after{content:"∞";display:inline-block;margin-left:9px;color:var(--cyan);font-weight:400}.overlay p{margin:0;color:#9fb0bf;font-size:10px;line-height:1.65}.run-setup{grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 8px}.tactical-setup{grid-column:1/-1}.setup-block{position:relative;padding:8px;border-color:#2b4258;background:#0a131e}.setup-block>b{margin-bottom:5px;color:#98aabd;font-size:8px;letter-spacing:.05em}.setup-options button{min-height:28px;padding:5px 2px;border-color:#263b50;background:#0f1a27;font-size:7px}.setup-options button.active{border-color:#55e9d7;color:#7cfff0;background:linear-gradient(180deg,#153c3a,#102724);box-shadow:inset 0 0 12px #54e5d21a}.setup-block small{font-size:6px}.launch-actions{display:flex;gap:7px}.launch-actions .large{flex:1;margin:0;padding:11px 9px}.tips{justify-content:flex-start;gap:7px;margin:9px 0 0}.tips span{padding:3px 6px;border:1px solid #273b4f;background:#0c151f;color:#72879b}.best-record{margin-top:8px}.fan-note{line-height:1.45}.best-record+.fan-note{margin-top:7px}

/* Operator visual system */
.tower-shop{gap:7px}.tower-card{min-height:126px;padding:0;overflow:hidden;text-align:left;border-color:#293d52;background:linear-gradient(160deg,#131f2d,#09111a);box-shadow:inset 0 1px #ffffff08}.tower-card:hover,.tower-card.selected{background:linear-gradient(160deg,color-mix(in srgb,var(--tower-color) 12%,#152333),#0b131c);box-shadow:0 9px 22px #000a,0 0 0 1px color-mix(in srgb,var(--tower-color) 35%,transparent)}.tower-card.selected::before{content:"DEPLOY";position:absolute;z-index:5;top:5px;left:5px;padding:2px 4px;background:var(--tower-color);color:#07100f;font:800 6px monospace;letter-spacing:.08em}.tower-card .key{z-index:6;left:auto;right:5px;top:4px;color:#b4c6d7;font:700 7px monospace}.operator-art{position:relative;display:block;width:100%;height:67px;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--tower-color) 55%,#24384c);background:radial-gradient(circle at calc(25% + var(--portrait-seed)*8%) 25%,color-mix(in srgb,var(--tower-color) 38%,transparent),transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--tower-color) 14%,#101b28),#071019 70%)}.operator-art::before{content:"";position:absolute;z-index:2;width:25px;height:28px;left:calc(50% - 12px + (var(--portrait-seed) - 2)*1px);top:10px;border:1px solid color-mix(in srgb,var(--tower-color) 65%,#d9f5ff);border-radius:48% 52% 42% 45%;background:linear-gradient(145deg,#d7e1e9 0 35%,color-mix(in srgb,var(--tower-color) 54%,#273545) 38% 58%,#111b27 61%);box-shadow:0 0 18px color-mix(in srgb,var(--tower-color) 32%,transparent)}.operator-art::after{content:"";position:absolute;z-index:4;left:0;right:0;top:-20%;height:25%;background:linear-gradient(transparent,#b7fff116,transparent);animation:operatorScan 4.5s linear infinite}.operator-art i{position:absolute;z-index:1;left:calc(50% - 28px);bottom:-27px;width:56px;height:61px;display:block;clip-path:polygon(25% 0,75% 0,100% 24%,88% 100%,12% 100%,0 24%);background:linear-gradient(110deg,#101722 0 38%,color-mix(in srgb,var(--tower-color) 58%,#192839) 40% 58%,#0c131d 60%);border:1px solid var(--tower-color)}.operator-lines{position:absolute;inset:0;opacity:.42;background:linear-gradient(90deg,transparent 49%,#9bf7e518 50%,transparent 51%),repeating-linear-gradient(0deg,transparent 0 6px,#9bf7e50d 7px)}.operator-art b{position:absolute;z-index:5;left:6px;bottom:5px;color:#e8f6ff;font:800 8px monospace;letter-spacing:.08em;text-shadow:0 1px 6px #000}.operator-art em{position:absolute;z-index:5;right:7px;bottom:2px;color:var(--tower-color);font:normal 21px/1 serif;text-shadow:0 0 12px var(--tower-color)}.operator-meta{display:block;padding:6px 7px 7px}.tower-card strong{font-size:10px;letter-spacing:-.02em}.tower-card .role{margin:1px 0 3px;font-size:7px}.cost{font-size:8px}.tower-card:hover::after{bottom:calc(100% + 8px);width:200px;padding:10px 11px;font-size:9px}.selected-head{gap:11px;padding:3px 0 5px}.selected-head .operator-art.compact{flex:0 0 72px;width:72px;height:64px;margin:0;border:1px solid var(--tower-color)}.selected-head .operator-art.compact em{font-size:18px}.selected-head>div>small{display:block;margin-bottom:1px;color:var(--tower-color);font:700 7px monospace;letter-spacing:.08em}.selected-head strong{font-size:15px}.selected-head span:not(.operator-art):not(.operator-lines){font-size:8px}.tower-level{align-self:flex-start;padding:3px 5px;border:1px solid #8b743d;background:#241f14}.skill-node{padding:5px 2px}.stat-grid{padding:6px;border:1px solid #223549;background:#09121c}.stat-row b{font-size:11px}
@keyframes operatorScan{from{transform:translateY(0)}to{transform:translateY(470%)}}

/* Evolution dossier */
.evolution-window{width:min(820px,calc(100vw - 24px));padding:30px 34px 34px;background:radial-gradient(circle at 50% 0,#1a2d3e,#0a111a 56%)}.evolution-card{display:grid;grid-template-columns:120px 1fr;gap:16px;min-height:190px;padding:0;overflow:hidden;border-color:color-mix(in srgb,var(--evo-color) 68%,#30465a);background:linear-gradient(150deg,#142231,#09111a)}.evolution-card:hover{border-color:var(--evo-color);box-shadow:0 13px 35px #000b,0 0 22px color-mix(in srgb,var(--evo-color) 20%,transparent)}.evolution-visual{position:relative;display:flex;flex-direction:column;padding:18px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--evo-color) 18%,#0e1a26),#08111a);border-right:1px solid color-mix(in srgb,var(--evo-color) 45%,#2b4055)}.evolution-visual .operator-art{height:92px;border:1px solid var(--evo-color)}.evolution-visual>b{margin-top:12px;color:#879bad;font:700 8px monospace;letter-spacing:.13em}.evolution-visual>i{position:absolute;right:12px;bottom:8px;color:var(--evo-color);font:normal 28px serif;opacity:.55}.evolution-copy{display:block;padding:23px 20px 18px}.evolution-copy strong{font-size:16px}.evolution-copy>span{margin:8px 0}.evolution-copy p{font-size:10px}.evolution-copy>small{color:#60758a;font-size:7px}

/* Boss transmission */
.boss-alert{--boss-color:#ff536f;position:absolute;z-index:24;top:68px;left:50%;width:min(570px,calc(100% - 32px));min-height:106px;display:grid;grid-template-columns:142px 1fr;overflow:hidden;border:1px solid var(--boss-color);background:#080e17f2;box-shadow:0 18px 55px #000d,0 0 28px color-mix(in srgb,var(--boss-color) 24%,transparent);opacity:0;pointer-events:none;transform:translate(-50%,-22px) scale(.96);transition:.28s}.boss-alert.show{opacity:1;transform:translate(-50%,0) scale(1)}.boss-alert::after{content:"OBJECTIVE WARNING";position:absolute;right:9px;top:6px;color:var(--boss-color);font:700 7px monospace;letter-spacing:.13em}.boss-visual{position:relative;display:grid;place-items:center;background-image:linear-gradient(90deg,color-mix(in srgb,var(--boss-color) 25%,#07101a99),#07101aee),url('assets/lumia-defense-hero.png');background-size:cover;background-position:12% 44%;border-right:1px solid var(--boss-color)}.boss-visual::after{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--boss-color) 58%,transparent)}.boss-visual span{z-index:2;color:#fff;font:900 42px/1 monospace;text-shadow:0 0 20px var(--boss-color)}.boss-copy{display:flex;flex-direction:column;justify-content:center;padding:18px 22px}.boss-copy small{color:var(--boss-color);font:700 7px monospace;letter-spacing:.1em}.boss-copy strong{margin:3px 0 4px;font-size:25px;letter-spacing:-.04em}.boss-copy span{color:#91a4b7;font-size:9px}.boss-alert.omega{--boss-color:#e45179}.boss-alert.wickeline{--boss-color:#ff315e}.boss-alert.bori{--boss-color:#b875ff}.boss-alert.alpha{--boss-color:#58d5ff}

@media(max-width:1250px){.content{grid-template-columns:minmax(680px,1fr) 350px}.title-card{grid-template-columns:minmax(0,1fr) 420px}.launch-art-panel{min-height:550px}.sidebar{height:560px}.tower-card{min-height:120px}.operator-art{height:62px}}
@media(max-width:900px){.content{display:flex}.sidebar{height:auto}.title-card{width:min(760px,calc(100% - 18px));grid-template-columns:42% 58%;max-height:calc(100vh - 18px)}.launch-art-panel{min-height:620px}.launch-console{padding:21px 20px}.overlay h1{font-size:25px}.tower-shop{grid-template-columns:repeat(7,1fr)}.tower-card{min-height:110px}.operator-art{height:55px}.operator-meta{padding:5px}.tower-card strong{font-size:9px}.tower-card .role{font-size:6px}.selected-head .operator-art.compact{height:66px}}
@media(max-width:600px){.overlay{padding:5px;align-items:start}.title-card{width:100%;max-height:calc(100vh - 10px);display:block;margin-top:0;overflow:auto}.launch-art-panel{height:126px;min-height:126px}.launch-art-panel>img{object-position:60% 38%}.launch-art-shade{background:linear-gradient(0deg,#08111be8,transparent 65%)}.launch-status{left:14px;right:14px;bottom:10px}.launch-status span{padding:5px;font-size:6px}.launch-status b{font-size:12px}.launch-status small{font-size:6px}.launch-console{padding:13px 14px 12px;box-shadow:0 -14px 35px #07101a}.overlay h1{margin:4px 0;font-size:21px}.overlay p{font-size:8px;line-height:1.45}.run-setup{grid-template-columns:1fr 1fr;gap:4px;margin:8px 0 6px}.tactical-setup{grid-column:1/-1}.setup-block{padding:5px}.setup-block>b{font-size:7px;margin-bottom:3px}.setup-options button{min-height:24px;padding:3px 1px;font-size:6px}.setup-block small{display:none}.launch-actions .large{padding:9px 5px;font-size:9px}.tips{display:none}.best-record{margin-top:5px;font-size:6px}.fan-note{font-size:6px}.tower-shop{grid-template-columns:repeat(4,1fr)}.tower-card{min-height:118px}.operator-art{height:62px}.operator-meta{padding:5px 6px}.tower-card strong{font-size:9px}.tower-card .role{font-size:7px}.evolution-card{grid-template-columns:92px 1fr;min-height:160px}.evolution-visual{padding:11px 8px}.evolution-visual .operator-art{height:72px}.evolution-copy{padding:15px 12px}.boss-alert{top:15px;grid-template-columns:90px 1fr;min-height:86px}.boss-copy{padding:13px}.boss-copy strong{font-size:20px}.boss-copy span{font-size:7px}.boss-visual span{font-size:30px}}

/* 3.2 LUMIA ISLAND — official fan-kit integration */
.brand-er-logo{width:98px;height:auto;object-fit:contain;filter:drop-shadow(0 0 10px #61e9df33)}.brand{gap:10px}.brand strong{font-size:16px}.brand small{color:#57d8cb;font-size:7px}.launch-art-panel{background:radial-gradient(circle at 53% 42%,#29465a 0,#101a29 38%,#05090f 74%);isolation:isolate}.launch-art-panel::before{z-index:20}.launch-art-panel::after{z-index:22}.launch-art-panel .official-squad{position:absolute;z-index:2;inset:0;overflow:hidden;background:linear-gradient(90deg,#15122655,#07393e26),repeating-linear-gradient(120deg,transparent 0 46px,#52f4df0c 47px 48px)}.official-squad::after{content:"";position:absolute;inset:0;z-index:10;background:linear-gradient(90deg,transparent 54%,#08111be8 96%),linear-gradient(0deg,#050b14e8,transparent 35%);pointer-events:none}.official-squad img{position:absolute;height:auto;filter:drop-shadow(0 12px 18px #000b);transform-origin:bottom center}.squad-adriana{z-index:3;width:51%;left:-13%;bottom:-4%;transform:rotate(-2deg)}.squad-rio{z-index:2;width:44%;right:-3%;bottom:8%;transform:rotate(2deg)}.squad-hyejin{z-index:4;width:48%;left:25%;bottom:-2%}.squad-katja{z-index:1;width:42%;left:4%;bottom:18%;opacity:.82}.squad-aya{z-index:6;width:56%;right:-4%;bottom:-15%;transform:rotate(1deg)}.launch-er-logo{position:absolute;z-index:23;top:31px;left:27px;width:188px;height:auto;filter:drop-shadow(0 4px 12px #000)}.launch-art-shade{z-index:12;pointer-events:none}.launch-status{z-index:24}.launch-status b{font-size:18px}.launch-status span{background:#06111bc9}

.operator-art{background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--tower-color) 30%,#22364a),#08111b 68%)}.operator-art::before{content:none}.operator-art i{display:none}.operator-art>img{position:absolute;z-index:2;top:-2px;left:50%;width:140%;height:auto;transform:translateX(-50%);filter:drop-shadow(0 5px 7px #000c);max-width:none}.operator-art::after{z-index:6}.operator-lines{z-index:4}.operator-art b,.operator-art em{z-index:7}.operator-art b{padding:2px 4px;background:#06101ac9;border-left:2px solid var(--tower-color)}.operator-art em{font-size:18px}.tower-card{background:linear-gradient(160deg,color-mix(in srgb,var(--tower-color) 7%,#111d2a),#071019)}.tower-card:hover .operator-art>img,.tower-card.selected .operator-art>img{transform:translateX(-50%) scale(1.06);transition:.2s}.selected-head .operator-art.compact>img{width:128%;top:-3px}.evolution-visual .operator-art>img{width:126%}

.skill-progress{gap:5px}.skill-node{position:relative;min-height:45px;display:flex;align-items:center;gap:4px;padding:4px;text-align:left;white-space:normal}.skill-node>img{width:28px;height:28px;flex:0 0 28px;border:1px solid #425970;background:#090e16;object-fit:cover}.skill-node>span{display:flex;min-width:0;flex-direction:column;font-size:6px;line-height:1.25;overflow:hidden}.skill-node>span>b{color:#a9bfd0;font-size:6px}.skill-node.active>img{border-color:var(--tower-color);box-shadow:0 0 9px color-mix(in srgb,var(--tower-color) 35%,transparent)}.selection-panel{min-height:224px}

.artifact-item{position:relative;width:92px;height:76px;margin:0 auto 10px;display:grid;place-items:center;border:1px solid var(--artifact-color);background:radial-gradient(circle,#27384d,#0a111a)}.artifact-item img{width:88px;height:56px;object-fit:contain}.artifact-item i{position:absolute;right:-7px;bottom:-7px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--artifact-color);border-radius:50%;background:#09111a;color:var(--artifact-color);font-style:normal}.artifact-chip{display:flex;align-items:center;gap:4px;text-align:left}.artifact-chip>img{width:31px;height:25px;object-fit:contain;flex:0 0 auto}.artifact-chip>span{min-width:0}.craft-materials{display:flex;flex-wrap:wrap;gap:7px}.craft-materials>span{display:flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #2d4257;background:#0a121c}.craft-materials img{width:34px;height:22px;object-fit:contain}.craft-card{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:9px;padding:9px}.craft-icon{width:78px;height:50px;object-fit:contain;border:1px solid color-mix(in srgb,var(--craft-color) 55%,#273b50);background:#09111a}.craft-copy{display:block;min-width:0}

.boss-visual{background-color:#070d15;background-repeat:no-repeat;background-position:center;background-size:contain}.boss-alert.omega .boss-visual{background-image:radial-gradient(circle,#e4517938,transparent 67%),url('assets/bosses/omega.png')}.boss-alert.alpha .boss-visual{background-image:radial-gradient(circle,#58d5ff38,transparent 67%),url('assets/bosses/alpha.png')}.boss-alert.wickeline .boss-visual{background-image:radial-gradient(circle,#ff315e38,transparent 67%),url('assets/bosses/wickeline.png')}.boss-alert.bori .boss-visual{background-image:radial-gradient(circle,#b875ff38,transparent 67%),url('assets/wildlife/wild-dog.png')}.boss-alert:not(.bori) .boss-visual span{opacity:.2;font-size:18px;align-self:end;margin-bottom:8px}

@media(max-width:900px){.brand-er-logo{width:82px}.official-squad{transform:scale(1.06);transform-origin:center bottom}.launch-er-logo{width:145px}.skill-node>img{width:25px;height:25px;flex-basis:25px}.skill-node>span{font-size:5px}}
@media(max-width:600px){.brand-er-logo{width:74px}.launch-er-logo{top:12px;left:13px;width:112px}.official-squad{transform:none}.squad-adriana{width:33%;left:-1%;bottom:-74%}.squad-rio{width:30%;right:0;bottom:-60%}.squad-hyejin{width:32%;left:31%;bottom:-68%}.squad-katja{display:none}.squad-aya{width:36%;right:12%;bottom:-85%}.launch-status b{font-size:10px}.tower-card{min-height:128px}.operator-art{height:72px}.operator-art>img{width:130%}.skill-node{min-height:42px}.craft-card{grid-template-columns:64px 1fr}.craft-icon{width:64px}.artifact-item{width:76px;height:62px}.artifact-item img{width:72px;height:46px}}

.launch-art-panel>img.launch-er-logo{position:absolute;z-index:23;top:31px;left:27px;width:188px;height:auto;display:block;object-fit:contain;object-position:center;filter:drop-shadow(0 4px 12px #000)}
@media(max-width:900px){.launch-art-panel>img.launch-er-logo{width:145px;height:auto}}
@media(max-width:600px){.launch-art-panel>img.launch-er-logo{top:12px;left:13px;width:112px;height:auto}}

/* 3.3 WEATHER SHIFT — readability and tactical information */
.game-shell{width:min(1660px,100vw);padding:16px 22px 12px}.content{grid-template-columns:minmax(760px,1fr) 450px;gap:16px}.sidebar{height:100%;max-height:720px;min-height:600px;padding:17px;gap:15px}.topbar{height:76px}.brand strong{font-size:19px}.brand small{font-size:9px}.stats span{font-size:12px}.stats strong{font-size:22px}.section-title span{font-size:14px}.section-title small{font-size:11px}.operation-strip{grid-template-columns:1fr 1fr;gap:6px}.operation-strip span{padding:7px 6px;font-size:10px;white-space:normal}.tower-shop{gap:9px}.tower-card{min-height:144px}.operator-art{height:78px}.tower-card strong{font-size:12px}.tower-card .role{font-size:9px}.cost{font-size:10px}.tower-card .key{font-size:9px}.roster-filters button{padding:6px 9px;font-size:10px}.roster-pages span,.synergy-chip{font-size:10px}.selection-panel{min-height:260px;padding:13px 0}.selected-head strong{font-size:18px}.selected-head span:not(.operator-art):not(.operator-lines){font-size:10px;white-space:normal}.selected-head>div>small{font-size:9px}.tower-level{font-size:12px}.skill-progress{gap:7px;margin:10px 0}.skill-node{min-height:58px;padding:6px;overflow:visible;cursor:help}.skill-node>img{width:36px;height:36px;flex-basis:36px}.skill-node>span,.skill-node>span>b{font-size:8px}.skill-node::after{content:attr(data-tooltip);position:absolute;z-index:80;left:50%;bottom:calc(100% + 7px);width:240px;padding:10px 12px;border:1px solid var(--tower-color);background:#050b12f7;color:#d8e7ef;font-size:11px;line-height:1.55;text-align:left;white-space:normal;box-shadow:0 13px 35px #000;opacity:0;pointer-events:none;transform:translate(-50%,5px);transition:.15s}.skill-node:hover::after,.skill-node:focus-visible::after{opacity:1;transform:translate(-50%,0)}.skill-node:nth-child(1)::after{left:0;transform:translate(0,5px)}.skill-node:nth-child(1):hover::after,.skill-node:nth-child(1):focus-visible::after{transform:translate(0,0)}.skill-node:nth-child(4)::after{left:auto;right:0;transform:translate(0,5px)}.skill-node:nth-child(4):hover::after,.skill-node:nth-child(4):focus-visible::after{transform:translate(0,0)}.stat-grid{grid-template-columns:repeat(5,1fr);gap:7px;padding:9px}.stat-row{font-size:10px}.stat-row b{font-size:13px}.selection-actions button{padding:9px 5px;font-size:11px}.artifact-chip b{font-size:10px}.artifact-chip small{font-size:9px}.contract-card strong,.mastery-card strong{font-size:11px}.contract-card p,.mastery-card p,.mastery-meta{font-size:10px;line-height:1.5}.kiosk-actions button{padding:9px 5px;font-size:10px}.skill-btn{padding:11px}.skill-btn strong{font-size:12px}.skill-btn small{font-size:10px}.wave-btn span{font-size:15px}.wave-btn small{font-size:10px}.artifact-card p{font-size:12px}.artifact-card .class-tag,.artifact-card small{font-size:10px}.toast{font-size:12px}.weather-warning{color:#ffd86b}
@media(max-width:1250px){.content{grid-template-columns:minmax(680px,1fr) 410px}.sidebar{min-height:560px;max-height:650px}.tower-card{min-height:136px}.operator-art{height:70px}.skill-node>img{width:31px;height:31px;flex-basis:31px}}
@media(max-width:900px){.content{display:flex}.sidebar{max-height:none;min-height:0;padding:14px}.tower-shop{grid-template-columns:repeat(4,1fr)}.tower-card{min-height:142px}.operator-art{height:78px}.section-title span{font-size:13px}.skill-node>span,.skill-node>span>b{font-size:8px}}
@media(max-width:600px){.tower-shop{grid-template-columns:repeat(2,1fr)}.tower-card{min-height:160px}.operator-art{height:94px}.tower-card strong{font-size:13px}.tower-card .role{font-size:10px}.operation-strip span{font-size:9px}.selection-panel{min-height:285px}.skill-progress{grid-template-columns:repeat(2,1fr)}.skill-node{min-height:64px}.skill-node::after{position:fixed;left:12px!important;right:12px!important;bottom:18px;width:auto;transform:none!important;font-size:12px}.stat-grid{grid-template-columns:repeat(3,1fr)}.stats span{font-size:8px}.stats strong{font-size:15px}.artifact-card p{font-size:11px}}

/* 3.4 hostile front: wave command belongs in the top-right command cluster */
.top-wave-btn{width:205px;height:50px;min-height:50px;padding:4px 10px;box-shadow:inset 0 0 18px #8affee55,0 0 18px #1bd9c122}.top-wave-btn span{font-size:12px;line-height:1.2}.top-wave-btn small{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;color:#063d38}.controls{align-items:center}.stat-grid{grid-template-columns:repeat(6,1fr)}
@media(max-width:1450px){.top-wave-btn{width:160px}.top-wave-btn small{max-width:138px}.stats div{min-width:88px;padding-left:13px;padding-right:13px}}
@media(max-width:1100px){.top-wave-btn{width:142px}.top-wave-btn span{font-size:10px}.top-wave-btn small{max-width:122px;font-size:7px}}
@media(max-width:900px){.controls{gap:4px}.top-wave-btn{width:155px;height:42px;min-height:42px}.top-wave-btn small{max-width:135px}.stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.top-wave-btn{width:132px}.top-wave-btn small{max-width:114px}.controls .icon-btn{width:31px;height:34px}.controls #audioBtn{display:none}}
