:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--ink:#f6f2dc;--muted:#8fa0b7;--line:#2d405c;--panel:#121d2d;--panel-2:#19283d;--deep:#080d16;--gold:#ffd05a;--lime:#91f16f;--cyan:#50d7ec;--danger:#ef684f;--safe-bottom:env(safe-area-inset-bottom,0px);font-family:Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 50% 12%,#344e7047,#0000 38%),#070b12}button{font:inherit;color:inherit}button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.app-shell{place-items:center;width:100%;height:100%;display:grid}.phone-frame{background:#0b1320;border-inline-start:1px solid #6f92c133;border-inline-end:1px solid #6f92c133;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,480px);height:100dvh;min-height:560px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 80px #0000008c}.top-hud{z-index:20;min-height:70px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;background:linear-gradient(#172740 0%,#101a2b 100%);border-bottom:3px solid #263e5d;justify-content:space-between;align-items:center;gap:6px;display:flex}.stage-block{gap:1px;display:grid}.eyebrow{color:#61d9ed;letter-spacing:.18em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:900}.stage-block strong{letter-spacing:-.03em;font-size:19px;line-height:1}.resource-row{align-items:center;gap:5px;display:flex}.resource-pill,.mini-button,.auto-button{background:#0c1421;border:2px solid #304766;min-height:36px;box-shadow:inset 0 0 0 2px #00000059}.resource-pill{align-items:center;gap:6px;min-width:82px;padding:0 10px;display:flex}.resource-pill b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.gold-icon{background:var(--gold);border:2px solid #b97a27;width:14px;height:14px;transform:rotate(45deg);box-shadow:inset 2px 2px #ffffff59}.mini-button{cursor:pointer;width:39px;padding:0}.auto-button{cursor:pointer;align-items:center;gap:7px;padding:0 7px 0 9px;display:flex}.auto-button span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.auto-button i{background:#172235;border:2px solid #59708e;width:24px;height:18px;position:relative}.auto-button i:after{content:"";background:#6d7f94;width:10px;height:10px;transition:transform .14s,background .14s;position:absolute;top:2px;left:2px}.auto-button.active{border-color:#3aa6bc}.auto-button.active i:after{background:var(--lime);transform:translate(8px)}.battle-company-progress{color:#ffe092;flex:0 0 78px;align-items:center;gap:5px;width:78px;display:flex}.battle-company-name{letter-spacing:-.05em;white-space:nowrap;font-size:12px;font-weight:900}.battle-company-status{justify-items:center;gap:3px;width:32px;display:grid}.battle-company-status b{font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.battle-company-exp-track{background:#080d16;border:1px solid #425674;width:30px;height:5px;overflow:hidden}.battle-company-exp-track i{background:linear-gradient(90deg,#3da8c0,#70e3cf);width:0;height:100%;transition:width .2s ease-out;display:block;box-shadow:0 0 6px #5cded26b}.battle-section{isolation:isolate;background:#070c14;min-height:0;position:relative;overflow:hidden}.pixi-host{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.pixi-host canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;display:block}.pixi-host canvas.is-dragging{cursor:grabbing}.castle-status{z-index:6;pointer-events:none;background:#090f19e0;border:2px solid #2b405d;padding:8px 9px 7px;position:absolute;top:9px;left:10px;right:10px;box-shadow:0 4px #00000059}.castle-status-head,.status-detail{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.castle-status-head{margin-bottom:5px;font-size:12px}.castle-status-head span,.status-detail span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.castle-status-head b{color:#ffe68c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hp-track{background:#070a10;border:1px solid #324661;height:8px;padding:2px}.hp-fill{background:linear-gradient(90deg,#e24c3f,#ff9b52);width:100%;height:100%;transition:width .16s linear}.status-detail{color:var(--muted);margin-top:5px;font-size:9px}.environment-effects{z-index:8;pointer-events:none;width:170px;position:absolute;top:76px;left:10px}.environment-effect-list{gap:3px;display:grid}.environment-effect{background:#2b1c3ce0;border:1px solid #594073;grid-template-columns:19px minmax(0,1fr);align-items:center;gap:5px;min-height:27px;padding:3px 5px;display:grid}.environment-effect>span{color:#e4bcff;background:#261736;border:1px solid #a56ed0;place-items:center;width:19px;height:19px;font:900 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.environment-effect>div{gap:1px;min-width:0;display:grid}.environment-effect b{color:#f0dcff;font-size:9px;line-height:1.1}.environment-effect small{color:#b8a9c5;text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:1.25;overflow:hidden}.environment-effect.heat{background:#461e13e6;border-color:#814126}.environment-effect.heat>span{color:#ffb15e;background:#411c12;border-color:#d66a32}.environment-effect.danger{background:#4a1823e6;border-color:#873c49}.environment-effect.danger>span{color:#ff9aa8;background:#42141e;border-color:#cf5364}.environment-effect.undead{background:#173434e6;border-color:#376b68}.environment-effect.undead>span{color:#91e0c7;background:#163532;border-color:#5aa49a}.deployment-panel{z-index:10;grid-template-rows:88px;grid-template-columns:minmax(0,1fr);min-height:88px;display:grid;position:absolute;bottom:9px;left:8px;right:8px}.deployment-panel:before,.deployment-panel:after{z-index:3;color:#d6eff8;opacity:0;pointer-events:none;text-shadow:0 1px #07101a,0 0 5px #50d7ec8c;place-items:center;width:19px;height:72px;font:900 22px/1 ui-monospace,SFMono-Regular,Menlo,monospace;transition:opacity .14s;display:grid;position:absolute;bottom:16px}.deployment-panel:before{content:"‹";background:linear-gradient(90deg,#070d16f5,#070d1600);justify-content:start;padding-left:2px;left:0}.deployment-panel:after{content:"›";background:linear-gradient(270deg,#070d16f5,#070d1600);justify-content:end;padding-right:2px;right:0}.deployment-panel.can-scroll-left:before,.deployment-panel.can-scroll-right:after{opacity:1}.spell-quick-bar{z-index:8;background:#080d16e6;border:2px solid #3f3567;gap:5px;padding:4px;display:flex;position:absolute;bottom:99px;left:8px;box-shadow:0 3px #00000061}.spell-quick-bar[hidden]{display:none}.quick-spell-button{color:#f3e8ff;cursor:pointer;background:radial-gradient(circle,#4f397c 0 31%,#201830 33% 100%);border:2px solid #7459a8;place-items:center;width:40px;height:40px;padding:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0000004d}.quick-spell-button[hidden]{display:none}.quick-spell-button span{z-index:2;font-size:24px;font-weight:900;line-height:1;position:relative}.quick-spell-button i{z-index:3;transform-origin:bottom;pointer-events:none;background:#03060cb8;transition:transform .1s linear;position:absolute;top:0;bottom:0;left:0;right:0;transform:scaleY(0)}.quick-spell-button.ready{border-color:#c49aff;box-shadow:inset 0 0 0 2px #dabcff33,0 0 8px #b586ff47}.quick-spell-button.unavailable{filter:saturate(.48)brightness(.76)}.quick-spell-button.targeting{border-color:#ffe079;animation:.8s steps(2,end) infinite spell-target-pulse;box-shadow:inset 0 0 0 2px #ffe0793d,0 0 12px #ffcf4c8c}.spell-target-picker{z-index:9;background:#0f0e18f2;border:2px solid #e3bd55;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;width:min(100% - 28px,380px);padding:8px;display:grid;position:absolute;bottom:150px;left:50%;transform:translate(-50%);box-shadow:0 4px #0000006b,inset 0 0 16px #ffce5214}.spell-target-picker div{gap:1px;min-width:0;display:grid}.spell-target-picker span{color:#d3a941;letter-spacing:.12em;font:7px ui-monospace,SFMono-Regular,Menlo,monospace}.spell-target-picker b{color:#fff1b6;font-size:11px}.spell-target-picker small{color:#c7c0ac;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.spell-target-picker button{color:#ddd3df;cursor:pointer;background:#282230;border:2px solid #5d5260;min-width:43px;height:34px;padding:0 7px;font:800 9px inherit}.spell-target-picker button:last-child{color:#fff0b1;background:#5d431d;border-color:#c99c38}.spell-target-picker button:disabled{opacity:.42;cursor:default}.spell-target-picker button[hidden]{display:none}@keyframes spell-target-pulse{50%{filter:brightness(1.28)}}canvas.spell-targeting{cursor:crosshair;touch-action:none}.troop-quick-list{overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:3px;min-width:0;display:flex;overflow-x:auto}.troop-quick-list::-webkit-scrollbar{display:none}.troop-slot{scroll-snap-align:start;flex:1 0 76px;min-width:76px;display:block;position:relative}.quick-card{cursor:pointer;background:#080e17f0;border:2px solid #28384d;width:100%;min-width:0;height:100%;min-height:0;padding:4px 2px 12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0000004d}.quick-card.selected{border-color:var(--lime);background:#152b22}.quick-card b,.quick-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.quick-card b{font-size:8px}.quick-card small{color:var(--muted);margin-top:1px;font-size:7px}.quick-card .slot-number{color:#b9c8d8;background:#070c14e6;border:1px solid #506985;place-items:center;width:13px;height:13px;font:900 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;position:absolute;top:3px;right:3px}.selected-swap-button{z-index:2;color:#dcf8ff;cursor:pointer;background:#163148;border:2px solid #7ccfe1;place-items:center;width:38px;height:38px;padding:0;font:900 19px/1 ui-monospace,SFMono-Regular,Menlo,monospace;transition:left .12s ease-out;display:grid;position:absolute;bottom:calc(100% + 5px);box-shadow:0 2px #0000007a,inset 0 0 0 2px #050c146b}.selected-swap-button:active{background:#254b68;transform:translateY(2px)}.troop-slot.swapping .quick-card{color:#ffe398;background-color:#4a381a;border-color:#ffd05a}.quick-card.empty{color:#71869f;border-style:dashed;align-content:center;place-items:center;gap:1px;display:grid}.quick-card.empty strong{font-size:21px;line-height:.8}.quick-card.empty b{font-size:7px}.quick-card.locked{color:#68788b;cursor:not-allowed;filter:saturate(.55);background:repeating-linear-gradient(-45deg,#ffffff06 0 5px,#0000 5px 10px),#080c12f5;border-color:#3a4554;align-content:center;place-items:center;gap:3px;display:grid}.quick-card.locked strong{filter:grayscale();font-size:15px;line-height:1}.quick-card.locked b{color:#8c9bad;font-size:7px}.troop-picker{z-index:6;background:#0a111cf7;border:2px solid #d5a13b;max-height:190px;padding:7px;position:absolute;bottom:calc(100% + 7px);left:0;right:0;overflow:hidden;box-shadow:0 6px #0000006b,inset 0 0 0 2px #ffd15b14}.troop-picker header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.troop-picker header div{gap:1px;display:grid}.troop-picker header span{color:#d7a848;letter-spacing:.15em;font:900 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.troop-picker header b{font-size:10px}.troop-picker header button{color:#dbe5ed;cursor:pointer;background:#17263a;border:1px solid #5a6f89;width:24px;height:24px;padding:0;font-size:17px;line-height:1}.troop-picker-options{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:5px;max-height:142px;display:grid;overflow-y:auto}.troop-picker-option{text-align:left;cursor:pointer;background:#111e30;border:2px solid #344c69;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:68px;padding:6px;display:grid;overflow:hidden}.troop-picker-option:hover{background:#183047;border-color:#79d9e8}.troop-picker-option:focus-visible{background:#183047;border-color:#79d9e8}.troop-picker-option .portrait-sprite{transform-origin:50%;pointer-events:none;width:48px;height:48px;margin:0 auto;transform:scale(2.45)}.troop-picker-option[data-troop=lancer] .portrait-sprite{transform:translateY(6px)scale(2.45)}.troop-picker-option span{min-width:0}.troop-picker-option b,.troop-picker-option small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.troop-picker-option b{font-size:9px}.troop-picker-option small{color:#8fa8bd;margin-top:3px;font:700 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.troop-picker-empty{color:#95a6b9;text-align:center;border:1px dashed #425874;grid-column:1/-1;margin:0;padding:16px 8px;font-size:9px}.deploy-button{z-index:2;cursor:pointer;background:#a84232;border:3px solid #ffd85d;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:5px;width:112px;min-height:38px;padding:4px 7px;transition:left .12s ease-out;display:grid;position:absolute;bottom:calc(100% + 5px);overflow:visible;box-shadow:inset 0 0 0 2px #7d2e25,0 3px #0000006b}.deploy-button:after{bottom:-7px;left:var(--deploy-pointer-left,50%);content:"";background:#a84232;border-bottom:3px solid #ffd85d;border-right:3px solid #ffd85d;width:10px;height:10px;position:absolute;transform:translate(-50%)rotate(45deg)}.deploy-button:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #7d2e25,0 1px #0000006b}.deploy-button.cooldown{filter:saturate(.7)}.deploy-button.unaffordable{filter:saturate(.62)brightness(.84)}.deploy-ring{transform-origin:0;scale:var(--deploy-progress,0) 1;pointer-events:none;background:#ffe67024;position:absolute;top:0;bottom:0;left:0;right:0}.deploy-icon{color:#ffdf63;background:#7c2a25;border:2px solid #ffdf63;place-items:center;width:27px;height:26px;font-size:13px;display:grid;position:relative}.deploy-copy{text-align:left;align-items:baseline;gap:5px;min-width:0;display:flex;position:relative}.deploy-copy b{white-space:nowrap;font-size:10px;line-height:1;display:inline}.deploy-copy small{color:#ffe6b6;text-overflow:ellipsis;white-space:nowrap;margin-top:0;font-size:9px;line-height:1;display:none;overflow:hidden}.deploy-copy strong{color:#fff08a;letter-spacing:-.04em;text-overflow:clip;white-space:nowrap;margin-top:0;font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline;overflow:hidden}.toast-stack{z-index:12;pointer-events:none;gap:5px;width:min(82%,330px);display:grid;position:absolute;top:116px;left:50%;transform:translate(-50%)}.toast{text-align:center;background:#0b1421f0;border:2px solid #425a79;padding:7px 10px;font-size:11px;animation:.2s ease-out both toast-in;box-shadow:0 3px #0006}.toast.gold{color:#ffe18a;border-color:#d79c31}.toast.danger{color:#ffc1ae;border-color:#bd4b3e}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}.bottom-nav{z-index:21;min-height:calc(58px + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:#101b2c;border-top:3px solid #2e4565;grid-template-columns:repeat(4,1fr);display:grid}.nav-button{color:#8296af;cursor:pointer;background:0 0;border:0;border-right:1px solid #2c405d;align-content:center;place-items:center;gap:3px;padding:6px 2px;display:grid}.nav-button:last-child{border-right:0}.nav-button.active{color:#f7f1d8;background:#172941}.nav-button b{font-size:9px}.nav-icon{width:24px;height:22px;position:relative}.crossed-swords:before,.crossed-swords:after{content:"";background:currentColor;width:3px;height:22px;position:absolute;top:0;left:11px}.crossed-swords:before{transform:rotate(43deg)}.crossed-swords:after{transform:rotate(-43deg)}.helmet{border:3px solid;border-bottom-width:5px;border-radius:12px 12px 3px 3px}.helmet:after{content:"";background:currentColor;width:10px;height:3px;position:absolute;bottom:3px;right:-3px}.arrow-up:before{content:"↑";text-align:center;font-size:29px;font-weight:900;position:absolute;top:-6px;bottom:0;left:0;right:0}.magic-star:before{content:"✦";color:currentColor;text-align:center;font-size:27px;font-weight:900;position:absolute;top:-4px;bottom:0;left:0;right:0}.sheet-scrim{z-index:28;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#03070c94;position:absolute;top:0;bottom:0;left:0;right:0}.bottom-sheet{z-index:30;max-height:min(64dvh,600px);padding:9px 12px calc(13px + var(--safe-bottom));background:linear-gradient(#1b2b42,#111b2b 58%);border-top:3px solid #4a6488;transition:transform .2s ease-out;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(105%);box-shadow:0 -15px 40px #0000008c}.bottom-sheet.open{transform:translateY(0)}.sheet-grabber{background:#617894;width:48px;height:4px;margin:0 auto 8px}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sheet-header h2{margin:2px 0 0;font-size:20px}.sheet-close{cursor:pointer;background:#0c1523;border:2px solid #405875;width:36px;height:36px;padding:0;font-size:25px}.sheet-content{max-height:calc(min(64dvh, 600px) - 86px - var(--safe-bottom));overscroll-behavior:contain;padding:1px 2px 8px;overflow-y:auto}.card-list{gap:8px;display:grid}.management-card{background:#111c2d;border:2px solid #314865;grid-template-columns:57px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:72px;padding:8px;display:grid}.management-card.selected{border-color:var(--lime)}.unit-portrait{background:#0a111d;border:2px solid #31425a;width:57px;height:57px;position:relative;overflow:hidden}.unit-portrait img{object-fit:cover;object-position:left top;width:100%;height:100%;image-rendering:pixelated}.unit-copy{min-width:0}.unit-title{align-items:baseline;gap:6px;display:flex}.unit-title b{font-size:13px}.unit-title span{color:#8de1ee;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.unit-copy p{color:#a8b5c8;margin:4px 0 5px;font-size:9px;line-height:1.45}.stat-line{flex-wrap:wrap;gap:4px;display:flex}.stat-chip{color:#b9c8d9;background:#1c2c42;padding:2px 4px;font-size:8px}.action-button{cursor:pointer;background:#22334b;border:2px solid #60718b;min-width:72px;min-height:38px;padding:6px 8px;font-size:9px;font-weight:900}.action-button.gold{color:#ffe198;background:#6f4b18;border-color:#e5ad3c}.action-button.lime{color:#c9ffbc;background:#244a2b;border-color:#70c95a}.action-button:disabled{filter:grayscale(.9);opacity:.48;cursor:default}.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.upgrade-card{background:#111c2d;border:2px solid #314865;min-height:124px;padding:10px}.upgrade-symbol{color:#7de7f1;background:#223650;border:2px solid #476180;place-items:center;width:32px;height:32px;margin-bottom:7px;font-size:18px;font-weight:900;display:grid}.upgrade-card h3{margin:0;font-size:12px}.upgrade-card p{color:#9aaabd;min-height:30px;margin:4px 0 8px;font-size:8px;line-height:1.45}.upgrade-footer{justify-content:space-between;align-items:center;gap:5px;display:flex}.upgrade-footer span{color:#72dceb;font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.loading-screen,.error-screen{z-index:100;text-align:center;background:#0a111c;place-items:center;padding:30px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.loading-box{justify-items:center;gap:12px;display:grid}.loading-box b{font-size:13px}.loading-box span{color:var(--muted);font-size:10px}@media (max-height:680px){.top-hud{min-height:58px;padding-top:calc(7px + env(safe-area-inset-top,0px));padding-bottom:7px}.castle-status{padding-block-start:6px;padding-block-end:6px;top:6px}.deployment-panel{grid-template-rows:76px;min-height:76px;bottom:6px}.spell-quick-bar{bottom:86px}.quick-card .portrait-sprite{width:27px;height:27px}.deploy-button{min-height:36px}.bottom-nav{min-height:calc(50px + var(--safe-bottom))}}@media (min-width:700px){.phone-frame{border:4px solid #273b57;border-radius:12px;height:min(94dvh,940px)}}.portrait-sprite{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;background-position:0 0;background-repeat:no-repeat}.quick-card .portrait-sprite{transform-origin:50%;pointer-events:none;width:43px;max-width:100%;height:43px;margin:0 auto -1px;transform:scale(2.75)}.quick-card[data-troop=lancer] .portrait-sprite{transform:translateY(9px)scale(2.75)}.unit-portrait .portrait-sprite{transform-origin:50%;pointer-events:none;width:57px;height:57px;transform:scale(2.1)}.action-button{white-space:pre-line;line-height:1.25}.deploy-button:disabled{cursor:default;filter:grayscale(.5)brightness(.72)}code{color:#a9f0ff;background:#172235;padding:1px 3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.camera-controls{z-index:9;background:#080e17e6;border:2px solid #2d435f;grid-template-columns:32px 52px 32px;gap:3px;height:34px;padding:3px;display:grid;position:absolute;top:76px;right:9px;box-shadow:0 3px #0000005c}.camera-controls button{color:#d6e2ef;cursor:pointer;background:#101b2b;border:1px solid #405a78;min-width:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;font-weight:900;line-height:1}.camera-controls button:active{transform:translateY(1px)}.camera-controls .camera-readout{align-content:center;place-items:center;gap:0;font-size:8px;display:grid}.camera-readout span{color:#6fd7ea;letter-spacing:.12em;font-size:7px}.camera-readout b{color:#f1ead6;font-size:10px}.camera-readout.manual{border-color:#d6a64b}.camera-readout.manual b{color:#ffd66f}@media (max-height:650px){.camera-controls{transform-origin:100% 0;top:72px;transform:scale(.92)}.toast-stack{top:110px}}.quick-card{padding-bottom:14px}.quick-card .quick-cooldown{pointer-events:none;background:#060a11;border:1px solid #273b55;height:4px;position:absolute;bottom:3px;left:3px;right:3px;overflow:hidden}.quick-card .quick-cooldown i{background:#4ab8d0;width:0;height:100%;transition:width 80ms linear,background .12s;display:block}.quick-card .quick-timer{color:#aebbd0;text-align:center;pointer-events:none;background:#03070cdb;min-width:24px;padding:1px 2px;font:700 6.5px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;top:3px;left:3px}.quick-card.ready .quick-cooldown i{background:var(--lime)}.quick-card.ready .quick-timer{color:#caffbd;border:1px solid #4f9d45}.global-toast-stack{z-index:70;top:calc(78px + env(safe-area-inset-top,0px));width:min(86%,350px);left:50%}.action-button.magic{color:#eadcff;background:#3b285f;border-color:#9a75dd}.spell-list{gap:8px;display:grid}.spell-card{background:#111b2c;border:2px solid #3b4c68;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:82px;padding:9px;display:grid}.spell-card.ready{border-color:#9a75dd;box-shadow:inset 0 0 0 1px #bb91ff33}.spell-card.locked{background:#151925;border-color:#4b4658}.spell-card.locked .spell-symbol,.spell-card.locked .spell-copy{filter:grayscale(.72);opacity:.62}.spell-card.locked .action-button.gold{color:#ffe6a6;background:#805719;border-color:#f0b43f;box-shadow:0 2px #3c280c}.spell-symbol{color:#f1e5ff;background:radial-gradient(circle,#59408e 0 30%,#261d3e 32% 100%);border:2px solid #7f61bc;place-items:center;width:46px;height:46px;font-size:24px;font-weight:900;display:grid}.spell-copy{min-width:0}.spell-title{justify-content:space-between;align-items:baseline;gap:7px;display:flex}.spell-title b{font-size:13px}.spell-title span{color:#c5a8ef;white-space:nowrap;font:8px ui-monospace,SFMono-Regular,Menlo,monospace}.spell-copy p{color:#a8b4c7;margin:4px 0 7px;font-size:9px;line-height:1.42}.spell-track{background:#080c15;border:1px solid #3f4562;height:5px;overflow:hidden}.spell-track i{background:linear-gradient(90deg,#7651b8,#c196ff);width:0;height:100%;transition:width .12s linear;display:block}@media (max-width:380px){.troop-slot{flex-basis:74px;min-width:74px}.deploy-button{width:106px}.spell-card{grid-template-columns:42px minmax(0,1fr) 66px;padding:7px}.spell-symbol{width:40px;height:40px}}[hidden]{display:none!important}.battle-location{align-items:center;gap:8px;min-width:0;display:flex}.hud-lobby-button{color:#e9e1c8;cursor:pointer;background:#0b1422;border:2px solid #38516f;place-items:center;width:34px;height:38px;padding:0 2px 4px 0;font:900 27px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;box-shadow:inset 0 0 0 2px #00000059}@media (max-width:360px){.top-hud{gap:4px;padding-inline-start:8px;padding-inline-end:8px}.battle-location{gap:5px}.hud-lobby-button{width:30px;height:36px}.eyebrow{letter-spacing:.12em;font-size:7px}.stage-block strong{font-size:16px}.resource-row{gap:3px}.battle-company-progress{flex-basis:72px;gap:3px;width:72px}.battle-company-name{font-size:10px}.resource-pill{gap:4px;min-width:68px;padding-inline-start:6px;padding-inline-end:6px}.mini-button{width:35px}}.front-screen{z-index:100;background:#0a111c;min-height:0;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.front-screen button{-webkit-tap-highlight-color:transparent}.loading-screen{text-align:center;background:#07131f;place-items:center;padding:30px;display:grid}.loading-screen .loading-box{z-index:2;justify-items:center;gap:11px;width:min(100%,280px);display:grid;position:relative}.loading-visual{contain:layout size;place-items:center;width:236px;height:236px;margin-bottom:5px;display:grid}.loading-castle-art{object-fit:contain;filter:drop-shadow(0 8px 8px #00000047);width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.loading-screen .loading-box b{color:#f5edd8;letter-spacing:-.02em;white-space:nowrap;min-height:21px;font:800 17px/21px Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.loading-progress-row{color:#66d8d5;letter-spacing:.14em;justify-content:space-between;width:220px;font:800 10px/14px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.loading-screen .loading-progress-row span{color:inherit;font:inherit}.loading-screen .loading-progress-row #loading-progress{color:#a8f4e2;font-variant-numeric:tabular-nums;letter-spacing:0;text-align:right;min-width:4ch}.loading-track{background:#060c12;border:2px solid #354d5d;width:220px;height:12px;padding:2px;overflow:hidden;box-shadow:0 3px #00000047}.loading-track i{background:linear-gradient(90deg,#3c989a,#82e3c0);width:0;height:100%;transition:width .12s ease-out;display:block;box-shadow:0 0 8px #6ce1c773}.start-screen{padding:calc(44px + env(safe-area-inset-top,0px)) 28px calc(30px + var(--safe-bottom));background:linear-gradient(#09131e0f 0 49%,#09111a 78%),radial-gradient(circle at 50% 34%,#43a19a3b,#0000 30%),linear-gradient(#173044 0,#102234 52%,#09111a 100%);flex-direction:column;justify-content:space-between;align-items:center;display:flex}.start-screen:before,.start-screen:after{content:"";clip-path:polygon(0 100%,0 71%,11% 45%,23% 67%,35% 31%,46% 62%,59% 40%,70% 68%,82% 28%,92% 58%,100% 39%,100% 100%);pointer-events:none;background:#0c1824;height:30%;position:absolute;bottom:19%;left:-10%;right:-10%}.start-screen:after{background:#09131c;bottom:16%;transform:scaleX(-1)}.start-sky{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.start-sky i{opacity:.6;background:#c7eadc;width:3px;height:3px;animation:3s ease-in-out infinite alternate loading-star;position:absolute}.start-sky i:first-child{top:9%;left:15%}.start-sky i:nth-child(2){animation-delay:-.7s;top:16%;left:82%}.start-sky i:nth-child(3){animation-delay:-1.4s;top:31%;left:8%}.start-sky i:nth-child(4){animation-delay:-2s;top:25%;left:67%}.start-sky i:nth-child(5){animation-delay:-.4s;top:42%;left:91%}.start-sky i:nth-child(6){animation-delay:-1.1s;top:6%;left:53%}.title-crest{z-index:2;flex:none;width:220px;height:220px;position:relative}.crest-orbit{border:3px solid #6fe2cb52;border-radius:50%;position:absolute;top:17px;bottom:17px;left:17px;right:17px;transform:rotate(-18deg)scaleY(.58)}.crest-orbit:after{content:"";background:#263a3d;border:3px solid #f5cf65;width:12px;height:12px;position:absolute;top:-6px;left:25px;transform:rotate(45deg);box-shadow:0 0 0 3px #040b11b3}.crest-orbit-two{top:34px;bottom:34px;left:5px;right:5px;transform:rotate(31deg)scaleY(.67)}.crest-orbit-two:after{border-color:#94e178;top:auto;bottom:-5px;left:auto;right:25px}.crest-castle{background:linear-gradient(90deg,#0000 46%,#070d1347 47% 53%,#0000 54%),repeating-linear-gradient(0deg,#3f4a4b 0 13px,#596164 14px 16px);border:8px solid #a8a49a;border-top-width:19px;width:86px;height:78px;position:absolute;top:67px;left:67px;box-shadow:inset 0 -13px #313a3c,8px 9px #00000047}.crest-castle:before{content:"";background:#aaa69b;width:14px;height:14px;position:absolute;top:-31px;left:-8px;box-shadow:32px 0 #aaa69b,64px 0 #aaa69b}.crest-castle i{background:#10191e;border-radius:9px 9px 0 0;width:20px;height:28px;position:absolute;bottom:-1px;left:27px}.game-title-lockup{z-index:3;text-align:center;margin-top:-13px;position:relative}.game-title-lockup .eyebrow{color:#76dcd2;font-size:8px}.game-title-lockup h1{color:#f6df93;letter-spacing:-.09em;text-shadow:0 5px #6b4a23,0 9px #00000057;margin:10px 0 8px;font-size:clamp(40px,12vw,58px);font-weight:950;line-height:.88}.game-title-lockup h1 small{color:#eef0de;letter-spacing:.04em;text-shadow:0 4px #374d50;margin-bottom:8px;font-size:.53em;display:block}.game-title-lockup p{color:#a4b5ba;max-width:290px;margin:14px auto 0;font-size:11px;line-height:1.55}.start-actions{z-index:4;gap:9px;width:min(100%,350px);display:grid;position:relative}.primary-front-button{text-align:left;cursor:pointer;background:linear-gradient(#b85537,#853321);border:3px solid #f3cd5f;min-height:67px;padding:10px 55px 10px 18px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #702b20,0 6px #391710}.primary-front-button:after{content:"›";color:#f7da71;border:2px solid #ffde709e;place-items:center;width:40px;height:40px;font-size:31px;line-height:1;display:grid;position:absolute;top:11px;right:14px}.primary-front-button span,.primary-front-button b{display:block}.primary-front-button span{color:#ffd986;letter-spacing:.12em;font:800 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.primary-front-button b{margin-top:5px;font-size:18px}.primary-front-button:active{transform:translateY(3px);box-shadow:inset 0 0 0 3px #702b20,0 3px #391710}.start-actions>p{color:#566a76;text-align:center;margin:3px 0 0;font-size:8px}.lobby-screen{background:radial-gradient(circle at 85% 14%,#3a817a26,#0000 28%),#0a121b;grid-template-rows:auto minmax(0,1fr) auto;display:grid}.lobby-topbar{z-index:3;min-height:69px;padding:calc(9px + env(safe-area-inset-top,0px)) 12px 9px;background:linear-gradient(#172c3b,#101e2b);border-bottom:3px solid #293f4e;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.commander-mark{background:#0c1721;border:2px solid #5c7b83;width:38px;height:38px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0000004d}.commander-mark:before{content:"";border:3px solid #a4b7ae;border-bottom-width:5px;border-radius:10px 10px 3px 3px;width:16px;height:13px;position:absolute;top:8px;left:9px}.commander-mark i{background:#4e6c70;width:20px;height:7px;position:absolute;bottom:5px;left:8px}.lobby-heading{min-width:0}.lobby-heading .eyebrow{color:#66d6cc;font-size:7px}.lobby-heading h1{letter-spacing:-.03em;margin:3px 0 0;font-size:17px}.lobby-resource{background:#0a131d;border:2px solid #394d5c;align-items:center;gap:7px;min-width:94px;height:34px;padding:0 9px;display:flex}.lobby-resource .gold-icon{flex:none;width:12px;height:12px}.lobby-resource-copy{gap:2px;min-width:0;display:grid}.lobby-resource-copy small{color:#748997;white-space:nowrap;font:700 6px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.lobby-resource b{color:#f6d46d;text-overflow:ellipsis;font:900 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.lobby-reputation{background:linear-gradient(90deg,#efbc4f14,#0000),#11151b;border-color:#725d3a}.reputation-icon{color:#ffd468;background:#352715;border:1px solid #a77a31;flex:none;place-items:center;width:20px;height:20px;font-size:11px;line-height:1;display:grid;transform:rotate(45deg)}.reputation-icon:first-letter{transform:rotate(-45deg)}.lobby-reputation .reputation-icon{text-shadow:0 0 5px #ffd76973}.lobby-reputation .lobby-resource-copy small{color:#b7a171}.lobby-reputation .lobby-resource-copy b{color:#ffd66f;font-size:9px}.lobby-content{overscroll-behavior:contain;scrollbar-width:none;min-height:0;overflow-y:auto}.lobby-content::-webkit-scrollbar{display:none}.lobby-panel{min-height:100%;padding:17px 14px 23px}.lobby-section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.lobby-section-heading .eyebrow{color:#64d3c8;font-size:7px}.lobby-section-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-size:20px}.campaign-count{color:#8399a5;background:#111f2a;border:1px solid #354c5b;padding:4px 6px;font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.region-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:10px;display:grid}.region-card{color:#dbe5df;text-align:left;background:#111f28;border:2px solid #4c6470;flex-direction:column;min-width:0;min-height:230px;padding:0 9px 9px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px #00000040}.region-card-art{background:linear-gradient(#294841,#172c29);border-bottom:2px solid #97bcab57;flex:none;height:72px;margin:0 -9px 7px;display:block;position:relative;overflow:hidden}.region-card-art:after{content:"";clip-path:polygon(0 100%,0 72%,20% 32%,38% 67%,57% 20%,77% 66%,100% 35%,100% 100%);background:#09131394;height:34px;position:absolute;bottom:-12px;left:-8%;right:-8%}.region-emblem{z-index:3;color:#d8efcf;background:#091214c7;border:2px solid #e0efdcb3;place-items:center;width:28px;height:28px;font-size:14px;display:grid;position:absolute;top:8px;left:8px}.region-unit{z-index:2;width:120px;height:120px;image-rendering:pixelated;filter:drop-shadow(4px 5px #0000006b);background-position:0 0;background-repeat:no-repeat;background-size:600% 100%;position:absolute;bottom:-23px;right:-1px}.region-unit-orc{background-image:url(../assets/units/orc/orc/idle.png);width:156px;height:156px;bottom:-42px;right:-16px}.region-unit-undead{background-image:url(../assets/units/grave/necromancer/idle.png)}.region-unit-demon{background-image:url(../assets/units/demon/warlock/idle.png);width:138px;height:138px;bottom:-31px;right:-10px}.region-card-status{color:#89b49c;justify-content:space-between;align-items:center;gap:5px;min-width:0;margin-bottom:6px;font:800 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.region-card-status>span:first-child{color:#c9f5d3;background:#2e6945;padding:3px 5px}.region-card h3,.region-card-title{color:#eff1df;letter-spacing:-.03em;margin:0;font-size:14px;font-weight:900;line-height:1.2;display:block}.region-card p,.region-card-description{color:#91a59d;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:31px;margin:5px 0 7px;font-size:8px;line-height:1.45;display:-webkit-box;overflow:hidden}.region-fund{background:#060f1285;border:1px solid #344b49;justify-content:space-between;align-items:center;gap:5px;margin-top:auto;padding:6px;display:flex}.region-fund span{color:#7f948c;font-size:6px}.region-fund b{color:#f1cf6a;font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.region-enter-button{cursor:pointer;background:#873d28;border:2px solid #d6ad48;justify-content:center;align-items:center;gap:9px;width:100%;min-height:34px;margin-top:6px;display:flex;box-shadow:inset 0 0 0 1px #682c20,0 2px #35160f}.region-enter-button b{font-size:10px}.region-enter-button i{color:#ffe087;font-size:18px;font-style:normal;line-height:1}.region-enter-button:active{transform:translateY(1px)}.region-enter-button:disabled{filter:grayscale(.55);cursor:wait}.region-undead{background:#191624;border-color:#755888}.region-undead .region-card-art{background:radial-gradient(circle at 72% 26%,#9164a99e,#0000 27%),linear-gradient(#332641,#181522);border-bottom-color:#996fb17a}.region-undead .region-emblem{color:#bcebd8;border-color:#9a78ad}.region-undead .region-card-status{color:#b89ac7}.region-undead .region-card-status>span:first-child{color:#e2c8ee;background:#573b6a}.region-undead .region-fund{border-color:#4f3a5d}.region-undead .region-enter-button{background:#513562;border-color:#a989bc;box-shadow:inset 0 0 0 1px #382441,0 2px #1d1323}.region-card.is-locked{cursor:pointer;filter:saturate(.48)}.region-card.is-locked:after{content:"";pointer-events:none;background:repeating-linear-gradient(-45deg,#0000 0 9px,#00000014 10px 11px);position:absolute;top:0;bottom:0;left:0;right:0}.region-card.is-locked .region-card-status>span:first-child{color:#8b989f;background:#202932;border:1px solid #59636b}.region-card.is-locked .region-card-title{margin-top:1px}.region-card.is-locked .region-card-description{margin-bottom:8px}.region-lock-label{color:#84929a;text-align:center;background:#050c118a;border:1px solid #46545d;width:100%;min-height:34px;margin-top:auto;padding:9px 5px;font-size:8px;font-weight:900;display:block}.region-demon{background:#271316;border-color:#a43b36}.region-demon .region-card-art{background:radial-gradient(circle at 68% 35%,#c94622,#0000 28%),linear-gradient(#681c22,#271219);border-bottom-color:#ff613380}.region-demon .region-emblem{color:#ffcb62;border-color:#d94a36}.region-demon .region-card-status{color:#e58a69}.region-demon .region-card-status>span:first-child{color:#ffd39a;background:#7d2c24}.region-demon .region-fund{border-color:#633026}.region-demon .region-enter-button{background:#8e271e;border-color:#e66435;box-shadow:inset 0 0 0 1px #5c1815,0 2px #2e0c0a}.region-human{background:#211f18;border-color:#71684e}.region-human .region-card-art{background:linear-gradient(#615a3c,#27251b)}.campaign-feature{background:#14231f;border:3px solid #607957;overflow:hidden;box-shadow:0 6px #00000047}.campaign-art{background:linear-gradient(#0a1a1d08,#142b27 72%),radial-gradient(circle at 50% 33%,#426962,#142b33 47%,#101c27 70%);border-bottom:2px solid #486152;height:153px;position:relative;overflow:hidden}.campaign-art:before{content:"";clip-path:polygon(0 100%,0 82%,12% 49%,20% 77%,34% 42%,47% 81%,60% 44%,73% 70%,83% 40%,100% 76%,100% 100%);background:#182d25;height:31%;position:absolute;bottom:0;left:-10%;right:-10%}.campaign-moon{background:#b6d49b;border-radius:50%;width:30px;height:30px;position:absolute;top:16px;right:31px;box-shadow:0 0 18px #b6d49b59}.campaign-tower{background:repeating-linear-gradient(0deg,#303f39 0 9px,#3c4c45 10px 12px);border:5px solid #607066;border-top-width:12px;width:42px;height:57px;position:absolute;bottom:23px;box-shadow:6px 5px #0003}.campaign-tower:before{content:"";background:#607066;width:8px;height:9px;position:absolute;top:-19px;left:-5px;box-shadow:14px 0 #607066,28px 0 #607066}.tower-left{height:49px;left:77px;transform:scale(.88)}.tower-center{z-index:2;width:48px;height:72px;left:calc(50% - 24px)}.tower-right{height:53px;right:65px;transform:scale(.92)}.campaign-orbit-line{z-index:4;border:2px solid #6dd2b557;border-radius:50%;height:48px;position:absolute;bottom:21px;left:46px;right:45px;transform:rotate(-8deg)}.campaign-orc,.campaign-soldier{z-index:5;width:54px;height:54px;image-rendering:pixelated;filter:drop-shadow(4px 5px #00000059);background-position:0 0;background-repeat:no-repeat;background-size:600% 100%;position:absolute}.campaign-orc{background-image:url(../assets/units/orc/orc/idle.png);bottom:7px;right:68px}.campaign-soldier{background-image:url(../assets/units/squad/soldier/idle.png);bottom:0;left:49px;transform:scaleX(-1)}.campaign-feature-copy{padding:13px}.campaign-status-row{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.available-badge{color:#caffc9;background:#337047;padding:3px 6px;font-size:8px;font-weight:900}.campaign-status-row>span:last-child{color:#8cbe9d;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.campaign-feature h3{color:#eff0d9;letter-spacing:-.03em;margin:0;font-size:19px}.campaign-feature p{color:#a2b3a6;margin:6px 0 10px;font-size:9px;line-height:1.55}.campaign-tags{flex-wrap:wrap;gap:5px;margin-bottom:11px;display:flex}.campaign-tags span{color:#9fb7a8;background:#20362f;padding:3px 5px;font-size:7px}.campaign-tags b{color:#f2cf6c;font:inherit}.campaign-enter-button{cursor:pointer;background:#8f3d28;border:2px solid #e9bf50;grid-template-columns:minmax(0,1fr) auto 25px;align-items:center;gap:8px;width:100%;min-height:47px;padding:7px 9px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #722d20,0 3px #401910}.campaign-enter-button span{color:#ffd787;text-align:left;font-size:8px}.campaign-enter-button b{font-size:13px}.campaign-enter-button i{color:#ffe184;font-size:25px;font-style:normal;line-height:1}.campaign-enter-button:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #722d20,0 1px #401910}.campaign-enter-button:disabled{filter:grayscale(.5);cursor:wait}.locked-campaign-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px;display:grid}.locked-campaign{color:#778894;cursor:pointer;background:#111b25;border:2px solid #344451;justify-items:center;gap:6px;min-width:0;min-height:113px;padding:10px 5px 8px;display:grid;position:relative}.locked-campaign:after{content:"";pointer-events:none;background:repeating-linear-gradient(-45deg,#0000 0 8px,#00000014 9px 10px);position:absolute;top:0;bottom:0;left:0;right:0}.locked-campaign.undead{border-color:#3f4a5a}.locked-campaign.demon{border-color:#4d3e50}.locked-campaign.human{border-color:#4b493a}.locked-campaign.undead.available{color:#c8b5d4;background:radial-gradient(circle at 50% 5%,#73538e57,#0000 52%),#171522;border-color:#7d5b91;box-shadow:inset 0 0 0 1px #8ed7bb2e,0 4px #00000040}.locked-campaign.undead.available:after{display:none}.locked-campaign.undead.available .locked-emblem{color:#b8ecd7;filter:none;background:#261c32;border-color:#8f72a3}.locked-campaign.undead.available small{color:#8e7f9c}.locked-campaign.undead.available i{color:#bfead8;background:#342342;border-color:#736083}.locked-campaign.undead.available:active{transform:translateY(2px)}.locked-campaign.undead.available:disabled{opacity:.65;cursor:wait}.locked-emblem{filter:grayscale();background:#0b1219;border:2px solid;place-items:center;width:37px;height:37px;font-size:19px;display:grid}.locked-campaign>span:nth-child(2){text-align:center;min-width:0}.locked-campaign b,.locked-campaign small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.locked-campaign b{font-size:10px}.locked-campaign small{color:#556672;margin-top:3px;font-size:7px}.locked-campaign i{color:#667783;background:#0b131b;border:1px solid #41515d;padding:3px 6px;font-size:7px;font-style:normal;font-weight:900}.phone-frame[data-campaign=undead] .top-hud{background:linear-gradient(#2a2038 0%,#151323 100%);border-bottom-color:#4e3761}.phone-frame[data-campaign=undead] .top-hud .eyebrow{color:#a980c4}.phone-frame[data-campaign=undead] .castle-status{background:#0f0b18e6;border-color:#583e69}.phone-frame[data-campaign=undead] .hp-fill{background:linear-gradient(90deg,#70428d,#bc70c2)}.lobby-nav{z-index:5;min-height:calc(67px + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:#101d28;border-top:3px solid #2b414f;grid-template-columns:repeat(3,1fr);display:grid;box-shadow:0 -7px 18px #0000003d}.lobby-nav button{color:#6d828d;cursor:pointer;background:0 0;border:0;border-right:1px solid #263945;align-content:center;place-items:center;gap:2px;padding:6px 2px;display:grid;position:relative}.lobby-nav button:last-child{border-right:0}.lobby-nav button.active{color:#eceddc;background:#172a35}.lobby-nav button.active:before{content:"";background:#70d4c2;height:3px;position:absolute;top:-3px;left:24%;right:24%}.lobby-nav button b{font-size:9px}.lobby-nav button small{color:#637681;font-size:6px}.lobby-nav-icon{width:25px;height:23px;margin-bottom:1px;position:relative}.map-icon{border:2px solid;transform:skewY(-9deg)}.map-icon:before,.map-icon:after{content:"";background:currentColor;width:2px;position:absolute;top:-2px;bottom:-2px}.map-icon:before{left:7px}.map-icon:after{right:7px}.party-icon:before,.party-icon:after{content:"";border:2px solid;border-radius:50% 50% 3px 3px;position:absolute}.party-icon:before{top:1px;bottom:7px;left:8px;right:8px}.party-icon:after{border-radius:9px 9px 2px 2px;top:9px;bottom:0;left:2px;right:2px}.shop-icon{border:2px solid;border-top-width:6px}.shop-icon:after{content:"";background:currentColor;width:6px;height:9px;position:absolute;bottom:0;left:8px}.front-toast{z-index:12;left:50%;bottom:calc(78px + var(--safe-bottom));color:#e4e6d7;text-align:center;background:#091118f5;border:2px solid #5c7180;width:min(86%,340px);padding:9px 12px;font-size:10px;animation:.18s ease-out both toast-in;position:absolute;transform:translate(-50%);box-shadow:0 4px #00000052}.mercenary-panel{--class-accent:#6fd8c8;padding-bottom:calc(28px + var(--mercenary-scroll-space,0px))}.mercenary-heading{justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px;display:flex}.mercenary-heading .eyebrow{color:#67d8ce;font-size:7px}.mercenary-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-size:20px}.mercenary-heading p{color:#8196a3;margin:5px 0 0;font-size:8px;line-height:1.45}.mercenary-count{color:#9cc8c1;background:#12232d;border:1px solid #395361;flex:none;padding:5px 7px;font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.company-progression{background:radial-gradient(circle at 12% 0,#f7c55524,#0000 35%),linear-gradient(145deg,#1b2026,#101922);border:2px solid #756038;margin-bottom:9px;padding:10px;box-shadow:inset 0 0 0 1px #f5ca6914,0 4px #0003}.company-progression-head{grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.company-crest{color:#ffe18a;text-shadow:0 0 7px #ffde7b80;background:radial-gradient(circle,#65481f 0 34%,#2e2418 36% 100%);border:2px solid #b3873e;place-items:center;width:37px;height:37px;font-size:17px;display:grid;transform:rotate(45deg)}.company-rank-copy{min-width:0}.company-rank-copy small{color:#bfa467;letter-spacing:.09em;text-overflow:ellipsis;white-space:nowrap;font:800 6px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:block;overflow:hidden}.company-rank-copy h3{color:#e9e6d9;margin:4px 0 0;font-size:12px}.company-rank-copy h3 b{color:#ffda72}.evolution-wallet{background:#0c1c22;border:1px solid #3c6f70;justify-items:end;gap:3px;min-width:64px;padding:6px 7px;display:grid}.evolution-wallet small{color:#7fa6a4;font:700 6px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.evolution-wallet b{color:#7de1ce;font:900 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.company-reputation-track{background:#080d11;border:1px solid #615338;height:10px;margin-top:10px;padding:2px;overflow:hidden}.company-reputation-track i{background:repeating-linear-gradient(90deg,#0000 0 13px,#ffffff29 14px 15px),linear-gradient(90deg,#a36e2b,#f0c352);width:0;height:100%;transition:width .2s;display:block;box-shadow:0 0 7px #eebe4f47}.company-progression-foot{color:#8f948f;justify-content:space-between;gap:10px;margin-top:5px;font:700 7px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.company-progression-foot span:last-child{color:#c8aa64;text-align:right}.company-progression>p{color:#89959b;border-top:1px solid #3f3c2f;margin:8px 0 0;padding-top:7px;font-size:7px;line-height:1.45}.mercenary-policy,.mercenary-rules{background:#101e28;border:2px solid #3b5360}.mercenary-policy{grid-template-columns:29px minmax(0,1fr);align-items:center;gap:9px;margin-bottom:8px;padding:8px 10px;display:grid}.policy-icon{color:#ffcf68;background:#3a2b1a;border:2px solid #d5a44d;place-items:center;width:27px;height:27px;font:900 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.mercenary-policy b{color:#f0d58c;font-size:9px;display:block}.mercenary-policy p,.mercenary-rules p{color:#8fa1aa;margin:3px 0 0;font-size:8px;line-height:1.45}.mercenary-rules{background:linear-gradient(90deg,#3d9c9221,#0000 70%),#0d1a22;border-color:#315e62;margin-bottom:11px;padding:8px 10px}.mercenary-rules>span{color:#b9eee3;letter-spacing:.08em;background:#224d4d;padding:3px 5px;font:900 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block}.mercenary-class-list{gap:8px;display:grid}.mercenary-class-card{--class-accent:#6fd8c8;background:#101c27;border:2px solid #354c5b;overflow:hidden;box-shadow:0 4px #0003}.mercenary-class-card[data-troop=militia]{--class-accent:#91e878}.mercenary-class-card[data-troop=swordsman]{--class-accent:#59d7ea}.mercenary-class-card[data-troop=lancer]{--class-accent:#f2be57}.mercenary-class-card[data-troop=knight]{--class-accent:#c6d0de}.mercenary-class-card[data-troop=archer]{--class-accent:#7edc78}.mercenary-class-card[data-troop=wizard]{--class-accent:#b78df2}.mercenary-class-card[data-troop=armored-axeman]{--class-accent:#ff9857}.mercenary-class-card[data-troop=priest]{--class-accent:#ffe18a}.mercenary-class-card[open]{border-color:color-mix(in srgb, var(--class-accent) 62%, #253a47)}.mercenary-class-card.evolution-complete{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--class-accent) 22%, transparent), 0 4px 0 #0003}.mercenary-class-card.class-locked .mercenary-summary-copy em{color:#777e82;border-color:#4b4e51}.mercenary-class-card summary{background:linear-gradient(90deg, color-mix(in srgb, var(--class-accent) 13%, transparent), transparent 58%), #13222d;cursor:pointer;grid-template-columns:58px minmax(0,1fr) 19px;align-items:center;gap:9px;min-height:70px;padding:7px 10px 7px 7px;list-style:none;display:grid;position:relative;overflow:hidden}.mercenary-class-card summary::-webkit-details-marker{display:none}.mercenary-class-card summary:after{content:"";background:color-mix(in srgb, var(--class-accent) 72%, transparent);opacity:.42;height:2px;position:absolute;bottom:0;left:0;right:0}.mercenary-class-card[open] summary:after{opacity:.82}.mercenary-portrait{border:2px solid color-mix(in srgb, var(--class-accent) 65%, #334653);background:radial-gradient(circle, color-mix(in srgb, var(--class-accent) 18%, #162631), #0b141c 70%);width:56px;height:56px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #00000047}.mercenary-portrait i{image-rendering:pixelated;filter:drop-shadow(3px 4px #00000059);transform-origin:50%;background-position:0 0;background-repeat:no-repeat;background-size:600% 100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0;transform:scale(2.1)}.mercenary-class-card[data-troop=militia] .mercenary-portrait i{background-image:url(../assets/units/squad/soldier/idle.png)}.mercenary-class-card[data-troop=swordsman] .mercenary-portrait i{background-image:url(../assets/units/squad/swordsman/idle.png)}.mercenary-class-card[data-troop=lancer] .mercenary-portrait i{background-image:url(../assets/units/squad/lancer/idle.png);transform:translateY(5px)scale(2.1)}.mercenary-class-card[data-troop=knight] .mercenary-portrait i{background-image:url(../assets/units/squad/knight/idle.png)}.mercenary-class-card[data-troop=archer] .mercenary-portrait i{background-image:url(../assets/units/squad/archer/idle.png)}.mercenary-class-card[data-troop=wizard] .mercenary-portrait i{background-image:url(../assets/units/squad/wizard/idle.png)}.mercenary-class-card[data-troop=armored-axeman] .mercenary-portrait i{background-image:url(../assets/units/squad/armored-axeman/idle.png)}.mercenary-class-card[data-troop=priest] .mercenary-portrait i{background-image:url(../assets/units/squad/priest/idle.png)}.mercenary-summary-copy{align-content:center;gap:2px;min-width:0;display:grid}.mercenary-summary-copy small{color:color-mix(in srgb, var(--class-accent) 78%, #94a3ac);letter-spacing:.08em;font:800 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.mercenary-summary-copy b{font-size:15px;line-height:1.2}.mercenary-summary-copy em{color:#91a3ad;background:#0c161f;border:1px solid #3d5360;width:max-content;margin-top:2px;padding:2px 5px;font:700 7px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.mercenary-chevron{border-right:2px solid var(--class-accent);border-bottom:2px solid var(--class-accent);width:10px;height:10px;transition:transform .16s;transform:rotate(45deg)translate(-2px,2px)}.mercenary-class-card[open] .mercenary-chevron{transform:rotate(225deg)translate(-2px,2px)}.mercenary-build{background:linear-gradient(#ffffff04,#0000 55%),#0d1821;gap:12px;padding:11px;display:grid}.mercenary-build h3{color:#cbd8d8;align-items:center;gap:7px;margin:0 0 7px;font-size:9px;display:flex}.mercenary-build h3 span{border:1px solid color-mix(in srgb, var(--class-accent) 62%, #3a4a52);background:color-mix(in srgb, var(--class-accent) 16%, #11202a);min-width:24px;height:18px;color:var(--class-accent);place-items:center;padding-inline-start:4px;padding-inline-end:4px;font:900 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-grid}.ability-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.ability-list li{background:#13212b;border:1px solid #2e414c;grid-template-columns:27px minmax(0,1fr);align-items:start;gap:8px;padding:7px 8px;transition:border-color .16s,background .16s,opacity .16s;display:grid}.ability-rank{border:1px solid color-mix(in srgb, var(--class-accent) 52%, #32454e);width:25px;height:25px;color:var(--class-accent);background:#0a151d;place-items:center;font:800 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.ability-list b,.doctrine-grid b,.balance-note b{color:#eef0df;font-size:9px;display:block}.ability-list p,.doctrine-grid p,.balance-note p{color:#92a2aa;margin:3px 0 0;font-size:8px;line-height:1.48}.ability-list li.unlocked{border-color:color-mix(in srgb, var(--class-accent) 58%, #2e414c);background:linear-gradient(90deg, color-mix(in srgb, var(--class-accent) 9%, transparent), transparent 64%), #13212b}.ability-list li.unlocked .ability-rank{background:color-mix(in srgb, var(--class-accent) 20%, #0a151d)}.ability-list li.next{border-style:dashed;border-color:color-mix(in srgb, var(--class-accent) 42%, #3c4b52)}.ability-list li.locked{opacity:.58}.doctrine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.doctrine-grid article{border:1px solid color-mix(in srgb, var(--class-accent) 48%, #324650);background:linear-gradient(145deg, color-mix(in srgb, var(--class-accent) 10%, transparent), transparent 60%), #121f29;flex-direction:column;min-width:0;min-height:110px;padding:8px;transition:border-color .16s,opacity .16s;display:flex}.doctrine-grid small{color:color-mix(in srgb, var(--class-accent) 80%, #91a1aa);letter-spacing:.1em;margin-bottom:6px;font:800 6px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.doctrine-grid article.locked{opacity:.55}.doctrine-grid article.available{border-color:var(--class-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--class-accent) 15%, transparent)}.doctrine-grid article.selected{border-color:var(--class-accent);background:linear-gradient(145deg, color-mix(in srgb, var(--class-accent) 18%, transparent), transparent 70%), #14242c}.doctrine-grid article.selected:before{content:"✓ 선택됨";color:var(--class-accent);align-self:end;margin-bottom:-8px;font:900 6px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.doctrine-select{border:1px solid color-mix(in srgb, var(--class-accent) 55%, #344852);background:color-mix(in srgb, var(--class-accent) 12%, #0b161e);width:100%;min-height:27px;color:color-mix(in srgb, var(--class-accent) 78%, #dfe5df);cursor:pointer;margin-top:auto;padding:5px;font-size:7px;font-weight:900}.doctrine-select:disabled{color:#67747a;cursor:default;background:#111a21;border-color:#34434b}.doctrine-grid article.selected .doctrine-select{border-color:color-mix(in srgb, var(--class-accent) 72%, #344852);color:var(--class-accent)}.class-evolution-action{border:1px solid color-mix(in srgb, var(--class-accent) 42%, #334650);background:linear-gradient(90deg, color-mix(in srgb, var(--class-accent) 10%, transparent), transparent 55%), #111e27;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:8px;display:grid}.class-evolution-status{gap:3px;min-width:52px;display:grid}.class-evolution-status small{color:#83959d;font:700 6px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.class-evolution-status b{color:var(--class-accent);font:900 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.class-evolve-button{border:1px solid color-mix(in srgb, var(--class-accent) 68%, #344852);background:linear-gradient(180deg, color-mix(in srgb, var(--class-accent) 23%, #1c3037), #12222b);color:#e8eee3;cursor:pointer;min-height:34px;padding:7px 9px;font-size:8px;font-weight:900}.class-evolve-button:active:not(:disabled){transform:translateY(1px)}.class-evolve-button:disabled{color:#69777d;cursor:default;background:#131d24;border-color:#35464e}.balance-note{background:linear-gradient(90deg,#ab79e51f,#0000),#171626;border:1px solid #745e94;padding:9px 10px}.balance-note b{color:#d9bdf2}.coming-panel{text-align:center;align-content:start;justify-items:center;padding-top:35px;display:grid}.coming-panel>.eyebrow{color:#69d2c7;margin-top:21px}.coming-panel h2{margin:7px 0 0;font-size:24px}.coming-panel>p{color:#8da1ab;max-width:310px;margin:9px 0 20px;font-size:10px;line-height:1.6}.coming-hero{background:linear-gradient(#326b6540,#0000),#111f29;border:2px solid #37505a;width:112px;height:90px;position:relative;box-shadow:0 5px #0000003d}.mercenary-hero i{background:#35484b;border:3px solid #92a69e;border-radius:11px 11px 3px 3px;width:22px;height:28px;position:absolute;bottom:17px}.mercenary-hero i:after{content:"";background:#273a3d;height:15px;position:absolute;bottom:-15px;left:-5px;right:-5px}.mercenary-hero i:first-child{opacity:.65;left:16px;transform:scale(.85)}.mercenary-hero i:nth-child(2){z-index:2;left:43px;transform:scale(1.15)}.mercenary-hero i:nth-child(3){opacity:.65;right:16px;transform:scale(.85)}.shop-hero i{background:#563d2b;border:4px solid #a6844a;height:35px;position:absolute;bottom:18px;left:24px;right:24px;box-shadow:inset 0 8px #795637}.shop-hero i:before{content:"";border:4px solid #a6844a;border-bottom:0;border-radius:10px 10px 0 0;width:30px;height:15px;position:absolute;top:-19px;left:10px}.formation-preview,.shop-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;margin-bottom:14px;display:grid}.formation-slot,.shop-preview article{background:#111f28;border:2px solid #324953;align-content:center;place-items:center;gap:7px;min-height:92px;padding:8px 4px;display:grid}.formation-slot span,.shop-preview article>span{color:#8ca6a8;background:#0b151d;border:2px solid #415b64;place-items:center;width:39px;height:39px;font-size:20px;display:grid}.formation-slot b,.shop-preview article b{font-size:9px}.formation-slot.occupied{color:#bddec1;border-color:#5a8a70}.formation-slot.locked{filter:grayscale(.8);opacity:.6}.shop-preview article small{color:#718690;font-size:7px}.coming-action{color:#6f838c;background:#172731;border:2px solid #3e5661;width:100%;min-height:45px;font-size:10px;font-weight:900}.coming-panel>small{color:#566a74;max-width:290px;margin-top:10px;font-size:8px;line-height:1.55}@media (max-height:690px){.start-screen{padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(18px + var(--safe-bottom))}.title-crest{transform-origin:50%;width:170px;height:170px;margin-bottom:-35px;transform:scale(.78)}.game-title-lockup h1{font-size:40px}.game-title-lockup p{margin-top:9px}.start-actions{gap:7px}.primary-front-button{min-height:59px}.lobby-topbar{min-height:60px;padding-top:calc(6px + env(safe-area-inset-top,0px));padding-bottom:6px}.lobby-panel{padding-top:11px}.region-grid{gap:7px}.region-card{padding-inline-start:7px;padding-inline-end:7px;min-height:194px;padding-bottom:7px}.region-card-art{margin-inline-start:-7px;margin-inline-end:-7px;height:52px;margin-bottom:5px}.region-unit{width:92px;height:92px;bottom:-18px;right:0}.region-unit-orc{width:126px;height:126px;bottom:-31px;right:-12px}.region-card p,.region-card-description{min-height:24px;margin-block-start:3px;margin-block-end:5px;line-height:1.35}.region-fund{padding:4px 5px}.region-enter-button,.region-lock-label{min-height:29px;margin-top:4px;padding-block-start:6px;padding-block-end:6px}.campaign-art{height:116px}.campaign-feature-copy{padding:9px 11px}.campaign-feature p{margin-block-start:4px;margin-block-end:7px}.campaign-tags{display:none}.locked-campaign{min-height:92px;padding-top:7px}.locked-emblem{width:30px;height:30px;font-size:15px}.lobby-nav{min-height:calc(57px + var(--safe-bottom))}.mercenary-heading{margin-bottom:8px}.mercenary-heading p{display:none}.company-progression{padding-block-start:8px;padding-block-end:8px}.company-progression>p{display:none}.mercenary-policy,.mercenary-rules{padding-block-start:6px;padding-block-end:6px}.mercenary-class-card summary{min-height:64px}.mercenary-portrait{width:50px;height:50px}}@media (max-width:380px){.lobby-panel{padding-inline-start:10px;padding-inline-end:10px}.campaign-art{height:138px}.tower-left{left:60px}.tower-right{right:50px}.campaign-soldier{left:35px}.campaign-orc{right:51px}.locked-campaign-list{gap:5px}.locked-campaign{padding-inline-start:3px;padding-inline-end:3px}.doctrine-grid{grid-template-columns:1fr}.doctrine-grid article{min-height:0}}@media (prefers-reduced-motion:reduce){.start-sky i{animation:none}.loading-track i{transition:none}}.start-screen{isolation:isolate;background:linear-gradient(#0000 52%,#01070f1c 67%,#01060de0 100%),url(../assets/ui/title-screen/orbit-background-clean.webp) top/100% no-repeat,#01070e;padding:0;display:block}.start-screen:before{clip-path:none;pointer-events:none;background:radial-gradient(at 50% 29%,#0000 21%,#00050c0f 63%,#00040a6b 100%),linear-gradient(90deg,#00040a33,#0000 13% 87%,#00040a33);height:auto;display:block;top:0;bottom:0;left:0;right:0}.start-screen:after{clip-path:none;pointer-events:none;background:linear-gradient(#0000,#01060dc2);height:28%;display:block;top:auto;bottom:0;left:0;right:0;transform:none}.start-accessible-title{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start-art-focus{z-index:2;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.start-orbit-layer{z-index:0;width:100%;height:auto;display:block;position:absolute;top:0;left:0;overflow:visible}.start-orbit-layer ellipse{fill:none;vector-effect:non-scaling-stroke}.start-orbit-underlay{stroke:#00081194;stroke-width:2px}.start-orbit-faint{opacity:.3;stroke:#3fdbf78c;stroke-width:.5px;mix-blend-mode:screen;filter:drop-shadow(0 0 1px #16cdf552)}.start-orbit-rings{stroke:#3fdbf7bd;stroke-width:.55px;mix-blend-mode:screen;filter:drop-shadow(0 0 1px #16cdf5b3)drop-shadow(0 0 2px #0486bd47);animation:2.8s ease-in-out infinite alternate start-orbit-breathe}.start-orbit-rings ellipse:first-child{opacity:.72}.start-orbit-rings ellipse:nth-child(2){opacity:.92}.start-orbit-rings ellipse:nth-child(3){opacity:.8}.start-orbit-highlights{stroke:#b6faffeb;stroke-width:.9px;stroke-dasharray:7 93;stroke-linecap:round;mix-blend-mode:screen;filter:drop-shadow(0 0 1px #5fecffdb)drop-shadow(0 0 3px #1abfec7a)}.start-orbit-highlights ellipse{animation:8s cubic-bezier(.35,.25,.7,.5) infinite start-orbit-flow,8s linear infinite start-orbit-loop-fade}.start-orbit-highlights ellipse:nth-child(2){animation-name:start-orbit-flow-reverse,start-orbit-loop-fade;animation-duration:6.8s,6.8s;animation-timing-function:cubic-bezier(.35,.25,.7,.5),linear;animation-delay:-2.4s,-2.4s}.start-fire-layer{z-index:1;aspect-ratio:941/1672;width:100%;position:absolute;top:0;left:0}.start-torch{aspect-ratio:1;width:3.4%;position:absolute;transform:translate(-50%,-58%)}.start-torch:before{z-index:2;content:"";filter:drop-shadow(0 0 2px #ffd14a)drop-shadow(0 0 5px #ff5d10e6);transform-origin:50% 90%;background:radial-gradient(at 50% 78%,#fffbd0 0 14%,#ffd35b 19% 38%,#ff7a18 44% 66%,#cf270538 72%,#0000 76%);border-radius:58% 42% 60% 40%/72% 68% 32% 28%;height:108%;animation:.52s steps(3,end) infinite alternate start-torch-flicker;position:absolute;bottom:4%;left:19%;right:19%}.start-torch:after{z-index:1;content:"";mix-blend-mode:screen;background:radial-gradient(circle,#ff952a59,#ff4d081f 34%,#0000 69%);border-radius:50%;animation:1.15s ease-in-out infinite alternate start-torch-glow;position:absolute;top:-125%;bottom:-125%;left:-125%;right:-125%}.start-torch i{z-index:3;background:#ffd86a;border-radius:50%;width:7%;height:7%;animation:1.25s ease-out infinite start-embers-rise;position:absolute;top:3%;left:48%;box-shadow:-5px 5px #ff8a24,4px 10px #ffc24b,-2px 15px #ff5e11cc}.start-torch:nth-child(2n):before{animation-delay:-.26s}.start-torch:nth-child(2n):after{animation-delay:-.58s}.start-torch:nth-child(3n) i{animation-delay:-.72s}.start-torch-high-left{top:calc(14.6% + 5px);left:37.9%}.start-torch-high-right{top:calc(14.6% + 5px);left:60.8%}.start-torch-inner-left{top:19.8%;left:43%}.start-torch-inner-right{top:19.8%;left:56.1%}.start-torch-wall-left{top:23.5%;left:calc(33.2% + 3px)}.start-unit-layer{z-index:2;aspect-ratio:941/1672;width:100%;animation:.75s cubic-bezier(.18,.78,.24,1) 80ms both start-units-arrive;position:absolute;top:0;left:0}.start-unit{aspect-ratio:1;width:35%;position:absolute}.start-unit:after{z-index:-1;filter:blur(2px);content:"";background:#00000094;border-radius:50%;height:6%;position:absolute;bottom:3%;left:34%;right:34%}.start-unit-sprite{image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 2px #000000b8)drop-shadow(0 0 4px #3cdaec1f);transform-origin:50%;background-position:0 0;background-repeat:no-repeat;background-size:600% 100%;animation:1.05s steps(5,end) infinite start-unit-idle;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.start-unit:nth-child(2n) .start-unit-sprite{animation-delay:-.62s}.start-unit:nth-child(3n) .start-unit-sprite{animation-delay:-.31s}.start-unit-facing-left .start-unit-sprite{transform:scaleX(-1)}.unit-orc-shaman{background-image:url(../assets/units/orc/orc-shaman/idle.png)}.unit-squad-archer{background-image:url(../assets/units/squad/archer/idle.png)}.unit-squad-knight{background-image:url(../assets/units/squad/knight/idle.png)}.unit-squad-priest{background-image:url(../assets/units/squad/priest/idle.png)}.unit-squad-wizard{background-image:url(../assets/units/squad/wizard/idle.png)}.unit-squad-lancer{background-image:url(../assets/units/squad/lancer/idle.png)}.unit-squad-soldier{background-image:url(../assets/units/squad/soldier/idle.png)}.start-unit-shaman{z-index:5;width:35%;top:calc(25.4% - 15px);left:50%;transform:translate(-50%)}.start-unit-shaman .start-unit-sprite{filter:drop-shadow(0 3px #000000c7)drop-shadow(0 0 6px #73e88e40)}.start-unit-left-rear{z-index:1;top:3.9%;left:10%;transform:translate(-50%)}.start-unit-left-center{z-index:2;top:10.9%;left:22%;transform:translate(-50%)}.start-unit-left-front{z-index:4;top:26%;left:6.5%;transform:translate(-50%)}.start-unit-right-rear{z-index:1;top:3.9%;left:92.5%;transform:translate(-50%)}.start-unit-right-center{z-index:2;top:10.9%;left:75%;transform:translate(-50%)}.start-unit-right-front{z-index:4;top:30%;left:79.5%;transform:translate(-50%)}.start-title-overlay{z-index:2;filter:drop-shadow(0 10px 10px #00000061);width:100%;height:auto;animation:.72s cubic-bezier(.18,.78,.24,1) both title-arrive,2.8s ease-in-out 1s infinite alternate start-title-glow;display:block;position:absolute;top:0;left:0}.start-title-compact{display:none}.start-title-particles{z-index:3;aspect-ratio:483/350;width:62%;display:block;position:absolute;top:39%;left:50%;transform:translate(-50%)}.start-title-particles i{--particle-drift:4px;opacity:0;background:#ffd367;width:3px;height:3px;animation:3.4s steps(6,end) infinite start-title-particle;display:block;position:absolute;box-shadow:0 0 4px #ffb436d1}.start-title-particles i:first-child{animation-delay:-.4s;top:18%;left:14%}.start-title-particles i:nth-child(2){--particle-drift:-4px;background:#83eaff;animation-delay:-2.1s;top:13%;left:83%;box-shadow:0 0 4px #49daf6cc}.start-title-particles i:nth-child(3){animation-delay:-1.2s;top:45%;left:5%}.start-title-particles i:nth-child(4){--particle-drift:-5px;background:#79e2fa;animation-delay:-2.8s;top:48%;left:94%;box-shadow:0 0 4px #49daf6c7}.start-title-particles i:nth-child(5){animation-delay:-2.4s;top:80%;left:19%}.start-title-particles i:nth-child(6){--particle-drift:-3px;animation-delay:-.8s;top:84%;left:79%}.start-title-particles i:nth-child(7){width:2px;height:2px;animation-delay:-3s;top:65%;left:35%}.start-title-particles i:nth-child(8){--particle-drift:-3px;background:#88eaff;width:2px;height:2px;animation-delay:-1.6s;top:62%;left:67%;box-shadow:0 0 3px #49daf6c2}.start-screen .start-actions{z-index:4;justify-items:center;gap:9px;width:auto;max-width:none;padding-inline-start:clamp(18px,5vw,28px);padding-inline-end:clamp(18px,5vw,28px);animation:.65s cubic-bezier(.18,.78,.24,1) .18s both start-actions-arrive;display:grid;position:absolute;top:calc(min(120vw,576px) + 64px);bottom:auto;left:0;right:0}.cloud-account{justify-items:center;gap:5px;width:min(100%,310px);display:grid}.primary-action-slot{aspect-ratio:761/157;place-items:center;width:min(100%,370px);display:grid}.primary-action-slot>*{grid-area:1/1}.google-login-button{color:#1f1f1f;letter-spacing:.1px;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:22px;width:min(100%,310px);height:44px;padding:0 12px;font:500 14px/20px Google Sans,Roboto,Arial,sans-serif;transition:background-color .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.google-button-state{opacity:0;background:#303030;transition:opacity .18s;position:absolute;top:0;bottom:0;left:0;right:0}.google-button-content{align-items:center;width:100%;height:100%;display:flex;position:relative}.google-button-icon{flex:0 0 18px;width:18px;height:18px;margin-right:10px}.google-button-content>span{text-align:center;text-overflow:ellipsis;flex:1;overflow:hidden}.google-login-button:hover .google-button-state{opacity:.08}.google-login-button:active .google-button-state{opacity:.12}.google-login-button:focus-visible{outline-offset:2px;outline:2px solid #a8c7fa}.google-login-button:disabled{color:#8b8d8c;cursor:not-allowed;box-shadow:none;border-color:#c4c7c5}.google-login-button:disabled .google-button-icon{filter:grayscale();opacity:.55}.local-test-login-button{color:#8ce9f4;letter-spacing:.04em;cursor:pointer;background:#071824e6;border:1px solid #50d7ec7a;border-radius:5px;justify-content:center;align-items:center;gap:7px;width:min(100%,310px);min-height:34px;padding:6px 14px;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;box-shadow:0 3px 9px #00000059}.local-test-login-button[hidden]{display:none}.local-test-login-button:hover{background:#0c2635f0;border-color:#75e9ffd1}.local-test-login-button:active{transform:translateY(1px)}.local-test-login-button:disabled{opacity:.5;cursor:wait}.cloud-user{color:#1f1f1f;background:#fff;border:1px solid #747775;border-radius:5px;width:100%;min-height:40px;font-family:Roboto,Apple SD Gothic Neo,Noto Sans KR,sans-serif;box-shadow:0 3px 9px #0006}.cloud-user button:focus-visible{outline-offset:2px;outline:2px solid #75e9ff}.cloud-user{color:#e9fbf7;background:#071721f0;border-color:#69e2df66;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;display:grid}.cloud-user[hidden]{display:none}.cloud-user img{object-fit:cover;border:1px solid #ffffff59;border-radius:50%;width:30px;height:30px}.cloud-user img:not([src]){visibility:hidden}.cloud-user span{text-align:left;min-width:0}.cloud-user small,.cloud-user b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cloud-user small{color:#72d8d0;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.cloud-user b{margin-top:2px;font-size:14px}.cloud-user button{color:#b9cfcc;cursor:pointer;background:#ffffff12;border:1px solid #ffffff2e;border-radius:4px;padding:5px 7px;font-size:11px;font-weight:800}.cloud-status{color:#7895a4;text-shadow:0 1px 2px #000;min-height:14px;font:700 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.start-screen .primary-front-button{aspect-ratio:761/157;width:100%;min-height:0;box-shadow:none;text-align:center;cursor:pointer;filter:drop-shadow(0 7px 5px #00000085);background:0 0;border:0;padding:0;transition:filter .16s,transform .12s;display:block;position:relative;overflow:visible}.start-screen .primary-front-button[hidden]{display:none}.start-screen .primary-front-button:disabled{opacity:.58;cursor:not-allowed;filter:grayscale(.35)brightness(.72)drop-shadow(0 5px 4px #00000073)}.start-screen .primary-front-button:before{content:"";z-index:2;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(112deg,#0000 30%,#ffdd7b33 49%,#0000 67%) 140% 0/220% 100%;animation:3.8s ease-in-out 1.1s infinite start-button-shine;position:absolute;top:9%;bottom:9%;left:4%;right:16%;overflow:hidden}.start-screen .primary-front-button:after{content:none}.start-button-frame{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.start-screen .start-button-copy{z-index:3;color:#ffe9ac;text-align:center;text-shadow:0 2px #45150d,0 3px 5px #000000a6;pointer-events:none;display:block;position:absolute;top:50%;left:7%;right:18%;transform:translateY(-50%)}.start-screen .start-button-copy small{color:#e59c50;letter-spacing:.2em;font:800 clamp(6px,1.7vw,8px)/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.start-screen .start-button-copy b{letter-spacing:-.03em;margin-top:5px;font-size:clamp(20px,6vw,28px);font-weight:950;line-height:1;display:block}.start-button-icon{z-index:4;image-rendering:auto;filter:drop-shadow(0 3px 2px #0006);pointer-events:none;width:auto;height:66%;display:block;position:absolute;top:17%;right:2.2%}.start-screen .primary-front-button:hover{filter:brightness(1.08)drop-shadow(0 8px 6px #0000008f)}.start-screen .primary-front-button:focus-visible{outline-offset:5px;outline:2px solid #75e9ff}.start-screen .primary-front-button:active{box-shadow:none;filter:brightness(.92)drop-shadow(0 4px 3px #00000080);transform:translateY(3px)scale(.995)}.start-screen .start-actions>p{color:#6e8798;letter-spacing:.01em;text-shadow:0 2px 3px #000;margin:0;font:700 clamp(9px,2.5vw,11px)/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}@keyframes title-arrive{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes start-title-glow{0%{filter:drop-shadow(0 10px 10px #00000061)drop-shadow(0 0 1px #52def424)drop-shadow(0 0 2px #ffbb441f)}to{filter:drop-shadow(0 10px 10px #00000061)drop-shadow(0 0 4px #52def452)drop-shadow(0 0 6px #ffbb4447)}}@keyframes start-title-particle{0%,50%,to{opacity:0;transform:translateY(5px)scale(.55)}58%{opacity:.95}74%{opacity:.8;transform:translate(var(--particle-drift), -8px) scale(1)}86%{opacity:0;transform:translate(var(--particle-drift), -16px) scale(.45)}}@keyframes start-actions-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes start-units-arrive{0%{opacity:0;transform:translateY(-5px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes start-unit-idle{0%{background-position:0 0}to{background-position:100% 0}}@keyframes start-torch-flicker{0%{opacity:.76;transform:translate(-4%)scale(.88,.92)rotate(-4deg)}45%{opacity:1;transform:translate(5%)scale(1.08,1.18)rotate(4deg)}to{opacity:.88;transform:translate(-2%)scale(.96,1.08)rotate(-2deg)}}@keyframes start-torch-glow{0%{opacity:.58;transform:scale(.88)}to{opacity:1;transform:scale(1.1)}}@keyframes start-embers-rise{0%{opacity:0;transform:translateY(3px)scale(.65)}18%{opacity:1}to{opacity:0;transform:translate(3px,-14px)scale(.15)}}@keyframes start-orbit-breathe{0%{opacity:.68}to{opacity:1}}@keyframes start-orbit-flow{to{stroke-dashoffset:-100px}}@keyframes start-orbit-flow-reverse{to{stroke-dashoffset:100px}}@keyframes start-orbit-loop-fade{0%,2%{opacity:0}7%,86%{opacity:1}to{opacity:0}}@keyframes start-button-shine{0%,57%,to{opacity:0;background-position:140% 0}66%{opacity:1}79%{opacity:0;background-position:-70% 0}}@media (max-height:660px){.start-title-overlay{display:none}.start-title-compact{z-index:2;filter:drop-shadow(0 8px 9px #00000080);width:min(42%,202px);height:auto;animation:.72s cubic-bezier(.18,.78,.24,1) both compact-title-arrive,2.8s ease-in-out 1s infinite alternate start-title-glow;display:block;position:absolute;top:53%;left:50%;transform:translate(-50%,-50%)}.start-title-particles{aspect-ratio:483/350;width:min(42%,202px);top:53%;left:50%;transform:translate(-50%,-50%)}.start-screen .start-actions{gap:6px;top:calc(53% + min(15.25vw,73px) + 48px);bottom:auto}.cloud-account{width:min(76%,292px)}.primary-action-slot{width:min(84%,342px)}.cloud-user{min-height:36px}.start-screen .primary-front-button{width:100%}.start-screen .start-actions>p{font-size:9px}}@keyframes compact-title-arrive{0%{opacity:0;transform:translate(-50%,calc(9px - 50%))scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.start-title-particles i,.start-orbit-rings,.start-orbit-highlights ellipse,.start-torch:before,.start-torch:after,.start-torch i,.start-unit-layer,.start-unit-sprite,.start-title-overlay,.start-title-compact,.start-screen .start-actions,.start-screen .primary-front-button:before{animation:none}}
