@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&display=swap";:root{color:#e9e5dc;font-synthesis:none;text-rendering:optimizelegibility;--ink:#101826;--panel:#172232;--panel-2:#1e2b3c;--line:#c4d5de29;--gold:#ddbd70;--gold-bright:#f2da98;--blue:#68c5df;--red:#df6668;background:#0c121d;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,system-ui,sans-serif}.character-sprite{aspect-ratio:153/160;background-repeat:no-repeat;background-size:400% 400%;width:100%;display:inline-block}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #8bdcf0}button:disabled{cursor:not-allowed}.eyebrow{letter-spacing:.24em;color:var(--gold);font-family:Cinzel,serif;font-size:10px;font-weight:700}.icon-button{color:#d7e6e8;cursor:pointer;background:#0e1622b3;border:1px solid #d6e5eb33;border-radius:50%;place-items:center;width:42px;height:42px;transition:all .2s;display:grid}.icon-button:hover{border-color:var(--gold);color:var(--gold-bright);transform:translateY(-1px)}.wallet{align-items:center;gap:7px;display:flex}.gold-pill,.gem-pill{background:#0a111ab8;border:1px solid #ddbd704d;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-width:96px;padding:9px 15px;display:flex;box-shadow:inset 0 1px #ffffff0a}.gold-pill span{color:var(--gold);font-size:12px}.gem-pill{border-color:#68c5df59;min-width:78px}.gem-pill span{color:#7bd5e8;font-size:12px}.gold-pill strong,.gem-pill strong{font-family:Cinzel,serif;font-size:13px}.menu-screen{background:radial-gradient(circle at 50% 25%,#d5b87721,#0000 25%),linear-gradient(#263247 0%,#141e2c 54%,#0b1119 100%);flex-direction:column;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.menu-screen:before{content:"";opacity:.09;pointer-events:none;background-image:repeating-linear-gradient(110deg,#0000 0 26px,#ffffff14 27px,#0000 28px);position:absolute;inset:0}.menu-screen:after{content:"";pointer-events:none;background:linear-gradient(#0000,#04080deb);height:38%;position:absolute;inset:auto 0 0}.menu-clouds{filter:blur(15px);background:radial-gradient(at 20% 70%,#a4b4be1f,#0000 35%),radial-gradient(at 76% 40%,#90a2af1f,#0000 38%);height:260px;position:absolute;inset:22% -10% auto}.menu-top{z-index:5;align-items:center;gap:14px;width:min(1180px,100%);padding:22px 28px;display:flex}.menu-top .version{letter-spacing:.18em;color:#e4e7e86b;margin-right:auto;font:600 9px Cinzel,serif}.menu-castle{opacity:.75;width:100%;height:46%;position:absolute;bottom:0}.menu-castle .keep{clip-path:polygon(5% 16%,20% 16%,20% 4%,34% 4%,34% 17%,66% 17%,66% 4%,80% 4%,80% 16%,95% 16%,95% 100%,5% 100%);background:#101824;width:200px;height:320px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.menu-castle .tower{background:#0d151f;width:135px;height:230px;position:absolute;bottom:0}.menu-castle .tower.left{left:calc(50% - 265px)}.menu-castle .tower.right{right:calc(50% - 265px)}.menu-castle .tower:before{content:"";top:-36px;clip-path:polygon(0 0,20% 0,20% 48%,40% 48%,40% 0,60% 0,60% 48%,80% 48%,80% 0,100% 0,100% 100%,0 100%);background:#0d151f;height:43px;position:absolute;inset-inline:-12px}.title-lockup{z-index:4;text-align:center;text-shadow:0 5px 18px #0009;margin-top:3vh}.title-lockup .title-crest{color:var(--gold);margin-bottom:7px;font:38px Cinzel,serif;display:block}.title-lockup>p:first-of-type{letter-spacing:.42em;color:#edddb3a6;margin:0 0 5px;font:600 10px Cinzel,serif}.title-lockup h1{letter-spacing:-.04em;color:#f1eee3;margin:0;font:800 clamp(56px,8vw,92px)/.77 Cinzel,serif}.title-lockup h1 em{color:#0000;-webkit-text-stroke:1px #caae69;text-shadow:0 0 28px #ddbd7029;font-size:.76em;font-style:normal}.title-rule{width:220px;color:var(--gold);align-items:center;gap:9px;margin:20px auto 8px;display:flex}.title-rule:before,.title-rule:after{content:"";background:linear-gradient(90deg, transparent, var(--gold));flex:1;height:1px}.title-rule:after{transform:scaleX(-1)}.title-lockup .korean-title{color:#efebdca8;letter-spacing:.55em;margin:0;font-size:11px}.title-menu-actions{z-index:5;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(490px,100% - 40px);margin:auto 0 7vh;display:grid}.title-menu-actions button{color:#f4f0e6;cursor:pointer;background:linear-gradient(135deg,#1c2938f5,#101a27f0);border:1px solid #b9cdd738;flex-direction:column;justify-content:center;align-items:flex-start;min-height:58px;padding:10px 18px;transition:transform .2s,filter .2s,border-color .2s;display:flex}.title-menu-actions button:hover:not(:disabled){filter:brightness(1.12);border-color:#ddbd708c;transform:translateY(-2px)}.title-menu-actions button:disabled{opacity:.42;filter:grayscale(.8)}.title-menu-actions button span{letter-spacing:.04em;font-size:15px;font-weight:700}.title-menu-actions button small{color:#8d9da7;letter-spacing:.15em;margin-top:3px;font:700 9px Cinzel}.title-menu-actions .title-menu-primary{clip-path:polygon(2% 0,98% 0,100% 50%,98% 100%,2% 100%,0 50%);background:linear-gradient(135deg,#a47d39,#725623);border-color:#d3b86d;grid-column:1/-1;align-items:center;min-height:72px;box-shadow:0 12px 34px #0000004d,inset 0 1px #ffffff2e}.title-menu-actions .title-menu-primary span{font-size:19px}.title-menu-actions .title-menu-primary small{color:#ffffffa3}.game-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(9px)saturate(.75);backdrop-filter:blur(9px)saturate(.75);background:#03070cc2;place-items:center;padding:22px;animation:.18s ease-out both modal-backdrop-in;display:grid;position:fixed;inset:0}.game-modal{color:#e9e5d9;background:linear-gradient(135deg,#ddbd7014,#0000 34%),linear-gradient(160deg,#1d2a38,#111a25 72%);border:1px solid #ddbd706b;width:min(520px,100%);max-height:min(720px,100svh - 44px);padding:36px;animation:.22s cubic-bezier(.2,.8,.2,1) both modal-panel-in;position:relative;overflow:auto;box-shadow:0 32px 100px #000000a8,inset 0 1px #ffffff0d}.game-modal:before,.game-modal:after{content:"";pointer-events:none;position:absolute}.game-modal:before{border:1px solid #ddbd701a;inset:7px}.game-modal:after{background:linear-gradient(90deg, transparent, var(--gold), transparent);height:2px;top:0;left:36px;right:36px}.game-modal-danger{border-color:#c45d4b80}.game-modal-danger:after{background:linear-gradient(90deg,#0000,#c96d59,#0000)}.game-modal-close{z-index:2;color:#85949c;cursor:pointer;background:0 0;border:0;width:34px;height:34px;font-size:24px;position:absolute;top:13px;right:14px}.game-modal-close:hover{color:#f1ead9}.game-modal-crest{width:48px;height:48px;color:var(--gold-bright);border:1px solid #ddbd708c;place-items:center;margin:0 auto 15px;font:25px Georgia,serif;display:grid;transform:rotate(45deg)}.game-modal-crest span{transform:rotate(-45deg)}.game-modal>header{text-align:center;position:relative}.game-modal>header .eyebrow{color:var(--gold);letter-spacing:.2em}.game-modal>header h2{color:#f4efe1;margin:6px 0 0;font:700 25px Cinzel,Pretendard Variable,sans-serif}.game-modal-content{color:#aab5ba;margin-top:20px;font-size:14px;line-height:1.65;position:relative}.game-modal-content>p{text-align:center;margin:0}.game-modal-content strong{color:#f1dca8}.game-modal-actions{justify-content:center;gap:8px;margin-top:24px;display:flex;position:relative}.modal-button{color:#ecede8;cursor:pointer;background:#263748;border:1px solid #b9cdd740;min-width:128px;min-height:43px;padding:9px 17px;font:700 13px Pretendard Variable,sans-serif}.modal-button:hover{filter:brightness(1.14)}.modal-button.primary{background:linear-gradient(135deg,#9a7535,#6d5223);border-color:#d3b86d}.modal-button.secondary{color:#aab5ba;background:#080e156b}.modal-button.danger{background:linear-gradient(135deg,#8b4237,#5d2b28);border-color:#de7861a6}.save-status-card{border-left:2px solid var(--gold);background:#050b1166;gap:4px;margin:20px 0 10px;padding:13px 15px;display:grid}.save-status-card span{color:var(--gold);letter-spacing:.13em;font:700 10px Cinzel,serif}.save-status-card strong{color:#dfe5e4;font-size:13px}.save-transfer-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.save-transfer-actions>button{text-align:left;color:#e7e9e4;cursor:pointer;background:#14202ccc;border:1px solid #96b1bd3d;grid-template-columns:31px 1fr;align-items:center;gap:9px;min-height:88px;padding:13px;display:grid}.save-transfer-actions>button:hover:not(:disabled){background:#24323eeb;border-color:#ddbd708c}.save-transfer-actions>button:disabled{opacity:.38;cursor:not-allowed}.save-transfer-actions i{width:29px;height:29px;color:var(--gold-bright);border:1px solid #ddbd7059;border-radius:50%;place-items:center;font-size:18px;font-style:normal;display:grid}.save-transfer-actions span{gap:4px;display:grid}.save-transfer-actions b{font-size:12px}.save-transfer-actions small{color:#829198;font-size:9px;line-height:1.35}.modal-status{color:#b6d9d5;background:#327e771f;border:1px solid #67beb533;padding:9px 11px;font-size:11px;margin:10px 0 0!important}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.menu-actions{z-index:5;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:min(590px,100% - 40px);margin-top:auto;margin-bottom:5vh;display:grid}.menu-actions .campaign-button{grid-column:1/-1}.campaign-button,.secondary-button{color:#f4f0e6;cursor:pointer;text-align:left;border:0;align-items:center;width:100%;transition:transform .2s,filter .2s;display:flex}.campaign-button:hover,.secondary-button:hover{filter:brightness(1.1);transform:translateY(-2px)}.campaign-button{clip-path:polygon(2% 0,98% 0,100% 50%,98% 100%,2% 100%,0 50%);background:linear-gradient(135deg,#a47d39,#725623);border:1px solid #d3b86d;min-height:80px;padding:13px 20px;box-shadow:0 12px 34px #0000004d,inset 0 1px #ffffff2e}.campaign-button .button-sigil{border:1px solid #ffffff4d;place-items:center;width:47px;height:47px;margin:0 22px 0 4px;font-size:21px;display:grid;transform:rotate(45deg)}.campaign-button .button-sigil:first-line{transform:rotate(-45deg)}.campaign-button>span:nth-child(2),.secondary-button>span:nth-child(2){gap:2px;display:grid}.campaign-button small,.secondary-button small{letter-spacing:.2em;opacity:.65;font:700 9px Cinzel}.campaign-button strong{letter-spacing:.04em;font-size:20px}.campaign-button i{margin-left:auto;font:32px Georgia}.secondary-button{background:#162130e6;border:1px solid #b9cdd733;min-height:54px;padding:8px 20px}.secondary-button>span:first-child{color:#8fc4d2;margin-right:18px;font-size:25px}.secondary-button strong{font-size:15px}.secondary-button b{color:#8ca0aa;margin-left:auto;font:600 12px Cinzel}.hero-menu-button>span:first-child{color:var(--gold-bright)}.claimable-badge{background:var(--gold);border-radius:99px;padding:3px 7px;color:#17140d!important}.daily-button.available{background:linear-gradient(135deg,#1f4854f2,#182a39f2);border-color:#67cbe073}.daily-button.available>span:first-child,.daily-button.available b{color:#8ce4f2}.daily-button:disabled{cursor:default;filter:grayscale(.6);opacity:.62}.menu-tip{z-index:5;color:#dfe4e461;letter-spacing:.03em;margin:0;font-size:10px;position:absolute;bottom:24px}.opening-screen{isolation:isolate;background:#070a0f;align-items:end;min-height:100vh;display:grid;position:relative;overflow:hidden}.opening-screen:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(#0000 46%,#03060a33 100%),linear-gradient(#0000 52%,#03060a3d 80%,#03060aa8 100%);position:absolute;inset:0}.opening-visual{z-index:0;object-fit:cover;transform-origin:62% 44%;width:108%;height:108%;animation:opening-cinematic-shot var(--opening-duration) cubic-bezier(.22,.61,.36,1) both;position:absolute;inset:-4%}.opening-last-bastion .opening-visual{transform-origin:76% 45%}.opening-oath .opening-visual{transform-origin:52% 42%}.opening-counteroffensive .opening-visual{transform-origin:45% 40%}.opening-atmosphere{z-index:1;opacity:.34;mix-blend-mode:screen;animation:opening-light-drift var(--opening-duration) ease-in-out both;pointer-events:none;background:radial-gradient(at 78% 22%,#f6c46933,#0000 24%),linear-gradient(110deg,#0000 38%,#d5e1e514 52%,#0000 65%);position:absolute;inset:-20%}.opening-preload{opacity:.001;pointer-events:none;width:1px;height:1px;position:fixed;overflow:hidden}.opening-skip{z-index:4;color:#f1eadcb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#070c1280;border:1px solid #e2d8be47;align-items:center;gap:10px;min-height:36px;padding:7px 10px 7px 14px;display:inline-flex;position:absolute;top:clamp(16px,4vh,38px);right:clamp(16px,4vw,56px)}.opening-skip:hover{color:#fff;border-color:#ddbd709e}.opening-skip span{color:#ffffff7a;letter-spacing:.08em;border:1px solid #ffffff26;padding:3px 6px;font-size:9px}.opening-story{z-index:2;text-align:center;text-shadow:0 3px 22px #000000fa,0 1px 3px #000;width:min(940px,100% - 48px);animation:opening-copy-sequence var(--opening-duration) ease both;margin:0 auto clamp(24px,5vh,52px);padding:62px 32px 20px;position:relative}.opening-story .eyebrow{color:#ebcd84e0;text-shadow:0 2px 10px #000}.opening-story h1{color:#fffaf0;letter-spacing:-.035em;margin:8px 0 12px;font:680 clamp(32px,4vw,50px) Pretendard Variable,sans-serif}.opening-story>p{color:#faf9f2f0;text-wrap:balance;max-width:840px;min-height:58px;margin:0 auto;font-size:18px;line-height:1.7}.opening-progress{justify-content:center;gap:6px;margin:21px 0 14px;display:flex}.opening-progress i{background:#dde1e038;width:44px;height:3px;position:relative;overflow:hidden}.opening-progress i.complete{background:var(--gold)}.opening-progress i.active:after{content:"";background:var(--gold);transform-origin:0;animation:opening-progress-fill var(--opening-duration) linear both;position:absolute;inset:0}.opening-story>small{color:#d8dddb70;letter-spacing:.08em;font-size:9px;display:block}@keyframes opening-cinematic-shot{0%{filter:saturate(.84)brightness(.78);transform:scale(1.01)translate(-.5%,.4%)}to{filter:saturate()brightness(.94);transform:scale(1.09)translate(.5%,-.4%)}}@keyframes opening-light-drift{0%{opacity:.18;transform:translate(-3%)}to{opacity:.42;transform:translate(3%,-1%)}}@keyframes opening-copy-sequence{0%{opacity:0;transform:translateY(13px)}12%,84%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-7px)}}@keyframes opening-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.opening-visual,.opening-atmosphere,.opening-story,.opening-progress i.active:after{animation:none}}.panel-screen{background:radial-gradient(circle at 50% -20%,#344154,#0000 42%),#101824;min-height:100vh}.shell-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0c131de0;grid-template-columns:110px 1fr auto;align-items:center;height:84px;padding:0 clamp(18px,4vw,54px);display:grid;position:sticky;top:0}.shell-header>div:nth-child(2){text-align:center}.shell-header h1{letter-spacing:.08em;margin:1px 0 0;font:700 20px Cinzel,Pretendard Variable,sans-serif}.back-button{border:1px solid var(--line);color:#dce5e6;cursor:pointer;background:0 0;border-radius:50%;width:42px;height:42px;font:30px Georgia}.credits-screen{min-height:100vh}.credits-card{text-align:center;background:linear-gradient(145deg,#1f2c3bf5,#101925f5);border:1px solid #ddbd7040;width:min(620px,100% - 40px);margin:clamp(44px,8vh,90px) auto;padding:clamp(30px,5vw,54px);box-shadow:0 24px 60px #00000040}.credits-card .title-crest{color:var(--gold);font:40px Cinzel;display:block}.credits-card>small{color:var(--gold);letter-spacing:.2em;font:700 9px Cinzel}.credits-card h2{margin:7px 0 10px;font-size:30px}.credits-card>p{color:#9dacb4;margin:0 auto 28px;font-size:13px;line-height:1.7}.credits-card dl{border:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin:0 0 30px;display:grid}.credits-card dl div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 12px}.credits-card dl div:nth-child(2n){border-right:0}.credits-card dl div:nth-last-child(-n+2){border-bottom:0}.credits-card dt{color:#7f939d;letter-spacing:.12em;font:700 8px Cinzel}.credits-card dd{color:#e5dfcf;margin:5px 0 0;font-size:12px}.stage-intro,.armory-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;width:min(1020px,100% - 40px);margin:42px auto 28px;padding-bottom:22px;display:flex}.stage-intro h2,.armory-intro h2{margin:4px 0 0;font:600 30px Cinzel,Pretendard Variable,sans-serif}.stage-intro p,.armory-intro p{color:#8e9ca6;text-align:right;max-width:480px;margin:0;font-size:13px}.stage-path{width:min(920px,100% - 40px);margin:0 auto;padding:20px 0 80px}.stage-card{grid-template-columns:65px 1fr;min-height:160px;display:grid}.stage-index{justify-content:center;padding-top:28px;display:flex;position:relative}.stage-index span{z-index:2;border:1px solid var(--gold);width:38px;height:38px;color:var(--gold-bright);background:#1c2735;place-items:center;font:700 13px Cinzel;display:grid;transform:rotate(45deg);box-shadow:0 0 0 5px #101824}.stage-index span:first-line{transform:rotate(-45deg)}.stage-index i{background:linear-gradient(var(--gold), #ddbd7014);width:1px;position:absolute;top:66px;bottom:-28px}.stage-card-body{border:1px solid var(--line);background:linear-gradient(120deg,#1f2c3bf0,#141e2be6);margin:8px 0 20px 18px;padding:22px 26px;box-shadow:0 12px 25px #0000001f}.stage-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.stage-heading small{color:var(--gold);letter-spacing:.18em;font:700 9px Cinzel}.stage-heading h3{margin:3px 0 0;font:600 22px Cinzel,Pretendard Variable,sans-serif}.difficulty{color:#9da9ae;letter-spacing:.03em;flex-wrap:wrap;align-items:center;gap:5px 9px;font-size:11px;font-weight:700;display:flex}.difficulty span strong{color:#cf8b68}.difficulty b{color:#cf8b68;letter-spacing:3px;font-size:10px}.difficulty b i{color:#4c5960;font-style:normal}.difficulty small{color:#687a83;letter-spacing:.08em;flex-basis:100%;font-size:8px;font-weight:600}.difficulty-rank-1 span strong,.difficulty-rank-1 b{color:#80bda4}.difficulty-rank-2 span strong,.difficulty-rank-2 b{color:#b2bf79}.difficulty-rank-3 span strong,.difficulty-rank-3 b{color:#d2ae66}.difficulty-rank-4 span strong,.difficulty-rank-4 b{color:#d77d62}.difficulty-rank-5 span strong,.difficulty-rank-5 b{color:#ec6265}.stage-card-body>p{color:#8f9ca4;font-size:13px}.stage-card footer{align-items:center;margin-top:18px;display:flex}.stage-card .reward{color:var(--gold-bright);font:600 12px Cinzel}.stage-card footer button{color:#fff;cursor:pointer;background:#8c6b30;border:1px solid #af9456;min-width:106px;margin-left:auto;padding:9px 16px;font-size:12px}.stage-card footer button:hover{background:#a88037}.stage-card.locked{opacity:.42;filter:grayscale(.7)}.stage-card.locked footer button{background:0 0;border-color:#59636c}.stage-card.boss-card .stage-card-body{background:linear-gradient(120deg,#4b2227c7,#191927f2);border-color:#da665459}.stage-card.boss-card .stage-index span{color:#ff9a72;border-color:#e16e55}.campaign-map-screen{background:radial-gradient(circle at 35% 10%,#354756,#0000 38%),#0c151e;min-height:100vh}.map-shell-layout{grid-template-columns:176px minmax(0,1fr);align-items:start;gap:14px;width:min(1680px,100% - 24px);margin:18px auto 0;display:grid}.map-content-column{min-width:0}.map-heading{justify-content:space-between;align-items:end;width:100%;margin:6px 0 14px;display:flex}.map-heading h2{letter-spacing:-.02em;margin:4px 0 0;font:650 29px Pretendard Variable,sans-serif}.map-heading p{color:#91a2aa;text-align:right;max-width:460px;margin:0;font-size:13px;line-height:1.55}.map-heading p strong{color:#d7c17e;letter-spacing:.07em;font-size:11px}.map-command-center{background:#080f17eb;border:1px solid #b9cdd726;border-left:2px solid #ddbd708c;grid-template-columns:1fr;gap:4px;width:100%;margin:0;padding:9px;display:grid;position:sticky;top:102px;box-shadow:0 18px 42px #0003}.map-command-center>header{border-bottom:1px solid #b9cdd71f;gap:2px;padding:3px 6px 9px;display:grid}.map-command-center>header span{color:#72858f;letter-spacing:.16em;font:700 9px Cinzel}.map-command-center>header strong{letter-spacing:.02em;font-size:15px}.map-command-center button{color:#e8e5dc;text-align:left;cursor:pointer;background:#192632a6;border:1px solid #0000;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:45px;padding:5px 7px;transition:transform .18s,border-color .18s,background .18s;display:grid}.map-command-center button:hover:not(:disabled){background:#2b3944f2;border-color:#ddbd706b;transform:translate(2px)}.map-command-center button:disabled{opacity:.48;cursor:default}.map-command-center button>i{color:var(--gold);text-align:center;font:19px Georgia}.map-command-center button>span{gap:1px;min-width:0;font-size:13px;font-weight:700;display:grid}.map-command-center button small{color:#8ea0a9;letter-spacing:.07em;text-overflow:ellipsis;white-space:nowrap;font:700 9px Cinzel;overflow:hidden}.map-command-center button.daily-ready{background:linear-gradient(135deg,#1d454ef5,#132631f2);border-color:#68c5df6b}.map-command-center button.daily-ready>i,.map-command-center button.daily-ready small{color:#86dbea}.map-command-center button.merchant-ready{background:linear-gradient(135deg,#402c5bf5,#1c1f36f2);border-color:#ae84eb7a}.map-command-center button.merchant-ready>i,.map-command-center button.merchant-ready small{color:#d8b8ff}.map-command-center button.feature-locked small{color:#a68178}.campaign-map-layout{grid-template-columns:minmax(0,1fr) 310px;gap:16px;width:100%;margin:0;padding-bottom:40px;display:grid}.campaign-map{scrollbar-color:#7c6c3e #13232a;scrollbar-width:thin;cursor:grab;touch-action:pan-y;overscroll-behavior-x:contain;-webkit-user-select:none;user-select:none;background:#1d3339;border:1px solid #c0d6d333;min-height:680px;position:relative;overflow:auto hidden;box-shadow:0 24px 60px #00000047}.campaign-map.dragging{cursor:grabbing}.campaign-map.dragging .map-node{pointer-events:none}.campaign-map::-webkit-scrollbar{height:8px}.campaign-map::-webkit-scrollbar-track{background:#13232a}.campaign-map::-webkit-scrollbar-thumb{background:#7c6c3e;border-radius:8px}.campaign-map-world{min-width:100%;min-height:inherit;isolation:isolate;background:linear-gradient(145deg,#32484a,#1d3339 54%,#263b42);position:relative;overflow:hidden}.campaign-map-world:before{content:"";z-index:-1;opacity:.12;background-image:repeating-linear-gradient(16deg,#0000 0 25px,#dbe5d6 26px,#0000 27px),repeating-linear-gradient(102deg,#0000 0 42px,#071014 43px,#0000 44px);position:absolute;inset:0}.map-sea{z-index:-1;clip-path:polygon(0 0,74% 0,55% 13%,75% 26%,48% 42%,71% 57%,44% 73%,65% 100%,0 100%);background:repeating-radial-gradient(at 30%,#79acb529 0 2px,#0000 3px 14px),#18333e;width:330px;position:absolute;inset:0 auto 0 0}.map-sea span{color:#a5cdd04d;letter-spacing:.45em;font:600 11px Pretendard Variable;position:absolute;top:39%;left:10%;transform:rotate(-76deg)}.map-land{z-index:-2;clip-path:polygon(3% 16%,23% 5%,38% 11%,53% 3%,70% 15%,94% 8%,100% 36%,91% 61%,98% 88%,70% 94%,54% 86%,29% 96%,11% 82%,0 56%);background:radial-gradient(circle at 38% 63%,#b79f5c29,#0000 16%),radial-gradient(circle at 75% 27%,#606f6166,#0000 24%);border:1px solid #bfcdad1a;position:absolute;inset:4% 2% 5% 16%}.campaign-road{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.campaign-road path{fill:none;stroke:#1b120db3;stroke-width:12px;stroke-linecap:round;stroke-dasharray:2 11;vector-effect:non-scaling-stroke}.campaign-road .road-glow{stroke:#ddbd7061;stroke-width:2px;stroke-dasharray:none}.map-mountains{color:#1d22247a;letter-spacing:8px;font:35px/1.05 Georgia;position:absolute;top:5%;left:840px;transform:rotate(-8deg)}.map-forest{color:#132b23b3;letter-spacing:7px;font:20px/1.25 Georgia;position:absolute}.forest-one{top:20%;left:280px;transform:rotate(-8deg)}.forest-two{bottom:10%;left:590px;transform:rotate(7deg)}.mountains-east{top:9%;left:1760px;transform:rotate(7deg)}.forest-east{bottom:11%;left:1360px;transform:rotate(-5deg)}.map-rift{opacity:.28;background:linear-gradient(90deg,#0000,#d7c17e,#0000);width:10px;position:absolute;top:0;bottom:0;left:995px;box-shadow:0 0 36px #d7c17e66}.map-region{color:#d8ddcb42;letter-spacing:.25em;text-transform:uppercase;font-size:10px;position:absolute}.region-west{bottom:8%;left:200px}.region-heart{top:18%;left:490px}.region-ash{top:43%;left:880px;transform:rotate(-65deg)}.region-east{top:15%;left:1220px}.region-twilight{bottom:17%;left:1720px;transform:rotate(-12deg)}.map-node{z-index:4;color:#eef0e8;text-align:center;cursor:pointer;filter:drop-shadow(0 7px 6px #00000073);background:0 0;border:0;width:108px;padding:0;position:absolute;transform:translate(-50%,-50%)}.node-beacon{color:#fff;background:linear-gradient(135deg,#38566a,#1b2c39);border:2px solid #9ac8d1;place-items:center;width:48px;height:48px;margin:0 auto 7px;font:700 14px Cinzel;transition:all .2s;display:grid;transform:rotate(45deg)}.map-node strong{white-space:nowrap;background:#080f15c2;padding:3px 5px;font-size:10px;display:block}.map-node small{color:#8ca2a8;letter-spacing:.14em;margin-top:2px;font:700 7px Cinzel;display:block}.map-node:hover .node-beacon,.map-node.selected .node-beacon{border-color:var(--gold-bright);transform:rotate(45deg)scale(1.14);box-shadow:0 0 0 5px #ddbd7021,0 0 24px #ddbd7057}.map-node.selected strong{color:var(--gold-bright)}.map-node.cleared .node-beacon{background:linear-gradient(135deg,#536b3b,#29391f);border-color:#b9d288}.map-node.locked{opacity:.43;filter:grayscale()drop-shadow(0 5px 5px #0008)}.map-node.boss-node .node-beacon{color:#ffb38c;background:radial-gradient(circle,#843e37,#311e25 68%);border-color:#e27a5e;width:62px;height:62px;font-size:22px}.challenge-map-node{z-index:6;width:138px}.challenge-map-node .challenge-rift{border:1px solid #f4634e61;border-radius:50%;width:82px;height:82px;animation:2.2s ease-in-out infinite alternate challenge-rift-pulse;position:absolute;top:23px;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9px #8f273014,0 0 30px #dc46374d}.challenge-map-node .node-beacon{color:#ffd0ad;background:radial-gradient(circle,#9b493d,#351d25 68%);border-color:#ed846b;border-radius:50%;width:51px;height:51px;font-size:20px;position:relative;transform:none}.challenge-map-node:hover .node-beacon,.challenge-map-node.selected .node-beacon{border-color:#ffc09e;transform:scale(1.14);box-shadow:0 0 0 6px #e05b4529,0 0 28px #e05b4580}.challenge-map-node strong{color:#ffd1bc;background:#220a11d6}.challenge-map-node small{color:#d07f70}.challenge-map-node.cleared .node-beacon{background:radial-gradient(circle,#4f745b,#233529 68%);border-color:#a7d7af}@keyframes challenge-rift-pulse{to{opacity:.48;transform:translate(-50%,-50%)scale(1.13)}}.map-compass{color:#e5d9ab73;border:1px solid #d9d0ad40;border-radius:50%;place-items:center;width:64px;height:64px;font:30px Georgia;display:grid;position:absolute;bottom:22px;right:24px}.map-compass:before,.map-compass:after{content:"";background:#d9d0ad33;width:1px;height:78px;position:absolute}.map-compass:after{transform:rotate(90deg)}.map-compass i{font:700 8px Cinzel;position:absolute;top:-14px}.map-mission{border:1px solid var(--line);background:linear-gradient(165deg,#1f2d3afa,#0e1720fa);min-height:680px;padding:32px 27px;position:relative;box-shadow:0 24px 60px #0000003d}.map-mission.boss-mission{background:linear-gradient(165deg,#3e2328fa,#16141bfa);border-color:#dc664f4d}.map-mission.challenge-mission{background:radial-gradient(circle at 75% 8%,#bf433633,#0000 30%),linear-gradient(165deg,#411d23fc,#14121afc);border-color:#e870557a}.mission-number{color:#c4d8db14;font:800 84px Cinzel;position:absolute;top:10px;right:18px}.map-mission h2{margin:5px 0 7px;font-size:27px;position:relative}.map-mission>p{color:#8d9ca5;min-height:55px;margin:16px 0;font-size:11px;line-height:1.7}.mission-objective{background:#050b1047;border-left:2px solid #67b9cb;gap:4px;padding:13px 15px;display:grid}.mission-objective small,.first-clear-reward small{color:#70949d;letter-spacing:.16em;font:700 7px Cinzel}.mission-objective strong{font-size:12px}.stage-context{flex-wrap:wrap;gap:7px;display:flex}.stage-context span{color:#78939a;background:#050b102e;border:1px solid #6ea7b233;padding:6px 9px;font-size:10px}.stage-context b{color:#c5dadd}.challenge-terrain-preview{background:#0c080b57;border-left:2px solid #e27759;gap:3px;margin:11px 0;padding:10px 12px;display:grid}.challenge-terrain-preview small{color:#d6927f;letter-spacing:.12em;font:700 8px Cinzel}.challenge-terrain-preview strong{color:#ffd0bd;font-size:12px}.challenge-terrain-preview span{color:#aa918b;font-size:10px;line-height:1.45}.elite-guard-preview{background:#32141947;border-left:2px solid #b96f60;gap:3px;margin-top:9px;padding:10px 12px;display:grid}.elite-guard-preview small{color:#b87b70;letter-spacing:.15em;font:700 9px Cinzel}.elite-guard-preview strong{color:#efd1ad;font-size:12px}.elite-guard-preview span{color:#8f8582;font-size:9px}.first-clear-reward{background:#795b251f;border:1px solid #ddbd7047;grid-template-columns:46px 1fr;align-items:center;gap:12px;margin-top:14px;padding:15px;display:grid}.first-clear-reward>span{width:42px;height:42px;color:var(--gold-bright);border:1px solid var(--gold);place-items:center;font:20px Georgia;display:grid;transform:rotate(45deg)}.first-clear-reward>div{gap:2px;display:grid}.first-clear-reward strong{font-size:12px}.first-clear-reward p{color:#788992;margin:1px 0 0;font-size:8px;line-height:1.45}.first-clear-reward em{color:#cfb46f;font-size:9px;font-style:normal}.first-clear-reward.claimed{filter:grayscale(.7);opacity:.58}.mission-footer{gap:13px;display:grid;position:absolute;inset:auto 27px 27px}.mission-footer>span{color:#7d8d95;font-size:9px}.mission-footer>span strong{float:right;color:var(--gold-bright)}.mission-footer>span small{color:#a99560;margin-top:3px;font-size:9px;display:block}.mission-footer button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#927039,#684f26);border:1px solid #c3a65d;min-height:48px;font-weight:700}.mission-footer button:disabled{color:#6f7c84;background:#28343e;border-color:#46535b}.formation-strip{background:#080f1659;border:1px solid #69b8c933;justify-content:space-between;align-items:center;gap:18px;width:min(1020px,100% - 40px);margin:-9px auto 18px;padding:14px 17px;display:flex}.formation-strip>div:first-child{gap:3px;display:grid}.formation-strip>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.formation-strip>div:last-child span{color:#c9e8eb;background:#243846;border:1px solid #7bc5d333;padding:6px 9px;font-size:9px}.formation-strip i{width:16px;height:16px;color:var(--gold);background:#101c26;place-items:center;margin-right:5px;font:700 7px Cinzel;display:inline-grid}.roster-filters{scrollbar-width:thin;gap:7px;width:min(1020px,100% - 40px);margin:0 auto 16px;padding:0 0 8px;display:flex;overflow-x:auto}.roster-filters button{color:#91a8ad;cursor:pointer;background:#0d1922b3;border:1px solid #69b8c938;flex:none;min-height:34px;padding:7px 11px;font-size:10px}.roster-filters button b{color:#d8bd7f;margin-left:4px}.roster-filters button.active{color:#ecfbff;background:#274454;border-color:#69b8c9}.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;width:min(1020px,100% - 40px);margin:0 auto;display:grid}.unit-card{border:1px solid var(--line);background:linear-gradient(135deg,#213043,#172230);grid-template-columns:155px 1fr;min-height:255px;display:grid;overflow:hidden}.unit-card-portrait{border-right:1px solid var(--line);background:radial-gradient(circle,#76bed32b,#0000 65%),#16212e;place-items:center;display:grid;position:relative}.unit-card-portrait:after{content:"";border:1px solid #7ecbdc47;width:95px;height:95px;position:absolute;transform:rotate(45deg)}.unit-card-portrait>span{z-index:2;color:#bce7ed;text-shadow:0 0 20px #57c3dd4d;font:57px Georgia}.unit-card-portrait .character-sprite-card{z-index:2;filter:drop-shadow(0 12px 11px #0000006b);width:145px;max-height:185px;text-shadow:none;position:relative}.unit-card-portrait small{color:var(--gold);font:700 10px Cinzel;position:absolute;bottom:17px}.unit-card-copy{padding:21px}.unit-card-copy h3{margin:2px 0 9px;font-size:22px}.level-pips{gap:4px;display:flex}.level-pips i{background:#354353;width:21px;height:3px}.level-pips i.filled{background:var(--gold)}.mastery-line{color:#7e959f;justify-content:space-between;align-items:center;margin-top:9px;font-size:8px;display:flex}.mastery-line b{color:#a9d9e1;font-size:9px}.mastery-benefit{color:#78909b;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;margin:7px 0 2px;font-size:10px;display:flex}.mastery-benefit b{color:#d6b96b;font-weight:650}.hero-mastery-benefit{background:#050c124d;border-left:2px solid #b9964c;gap:3px;padding:7px 9px;display:grid}.hero-mastery-benefit span{color:#91b9c2}.awakening-track{justify-content:space-between;align-items:center;margin:8px 0 3px;display:flex}.awakening-track>div{gap:6px;display:flex}.awakening-track i{color:#63737d;background:#151e26;border:1px solid #43515b;border-radius:50%;place-items:center;width:21px;height:21px;font:700 9px Cinzel;display:grid}.awakening-track i.active{color:#1c1609;background:linear-gradient(145deg,#f4d684,#a97628);border-color:#e3bd65;box-shadow:0 0 11px #e6b64b47}.awakening-track span{color:#879ba5;font-size:10px}.mastery-track{background:#283b46;height:3px;margin:4px 0 8px}.mastery-track i{background:linear-gradient(90deg,#4c9cb1,#9de1e8);height:100%;display:block;box-shadow:0 0 7px #6cd5e573}.unit-deployment-traits{flex-wrap:wrap;gap:6px;margin:8px 0 2px;display:flex}.unit-deployment-traits span{color:#81949d;background:#152c366b;border:1px solid #73b0bc38;padding:4px 7px;font-size:9px}.unit-deployment-traits b{color:#badde1}.unit-card-copy dl{grid-template-columns:repeat(3,1fr);margin:17px 0;display:grid}.unit-card-copy dl div{border-right:1px solid var(--line);gap:4px;padding-left:10px;display:grid}.unit-card-copy dl div:first-child{padding-left:0}.unit-card-copy dl div:last-child{border:0}.unit-card-copy dt{color:#778792;font-size:9px}.unit-card-copy dd{color:#dce8e9;margin:0;font:600 13px Cinzel}.growth-stat{white-space:nowrap;justify-content:center;align-items:baseline;gap:3px;display:inline-flex}.growth-stat small{color:#75c8d7;font:700 9px Cinzel}.growth-pair{justify-content:center;align-items:center;gap:3px;display:flex}.growth-pair>i{color:#5f707a;font:10px Cinzel}.unit-card-copy button{color:#fff;cursor:pointer;background:#6d5529;border:1px solid #9b8148;width:100%;padding:10px 12px;font-size:12px}.unit-card-copy button span{float:right;color:#f2da98}.unit-card-copy button:disabled{color:#74818a;background:#293541;border-color:#3c4954}.unit-card-locked{filter:grayscale(.8);opacity:.62}.unit-card-recruitable{filter:grayscale(.2);opacity:.9;border-color:#c39b5852}.formation-button{margin-bottom:7px;background:#214852bf!important;border-color:#6ec9d980!important}.formation-button.equipped{background:#485b2dcc!important;border-color:#a6c7648c!important}.recruit-panel{margin-top:18px}.recruit-panel p,.unknown-unit-copy{color:#7f9098;min-height:44px;font-size:9px;line-height:1.6}.equipment-list{gap:5px;display:grid}.equipment-capstone{color:#687982;background:#121d269e;border:1px solid #748b9538;grid-template-columns:28px 1fr;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:grid}.equipment-capstone>span{text-align:center;font:17px Georgia}.equipment-capstone>div{gap:2px;display:grid}.equipment-capstone b{color:#99a8ad;font-size:10px}.equipment-capstone small{color:#71838b;font-size:9px}.equipment-capstone.unlocked{color:var(--gold-bright);background:#52411f47;border-color:#ddbd706b}.equipment-capstone.unlocked b{color:#ead79f}.equipment-capstone.unlocked small{color:#bea96e}.equipment-list>button{text-align:left;background:#1f3340d9;border-color:#69afbf59;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;min-height:43px;padding:6px 9px;display:grid}.equipment-list>button i{color:#a7dde3;text-align:center;font:16px Georgia}.equipment-list>button>span{float:none;color:inherit;gap:1px;display:grid}.equipment-list>button b{font-size:9px}.equipment-list>button small{color:#71868f;font-size:7px}.equipment-list>button em{color:var(--gold-bright);font:700 8px Cinzel}.hero-equipment-list{margin-bottom:12px}.accent-guardian .unit-card-portrait{background:radial-gradient(circle,#738daa33,#0000 65%),#18222f}.accent-archer .unit-card-portrait{background:radial-gradient(circle,#49b27e30,#0000 65%),#14251f}.accent-lancer .unit-card-portrait{background:radial-gradient(circle,#daa84b30,#0000 65%),#272218}.accent-raider .unit-card-portrait{background:radial-gradient(circle,#ce534e33,#0000 65%),#2b1c22}.accent-bulwark .unit-card-portrait{background:radial-gradient(circle,#8b5d6a38,#0000 65%),#271c25}.accent-cavalry .unit-card-portrait{background:radial-gradient(circle,#647bb43d,#0000 65%),#1c2234}.accent-crossbow .unit-card-portrait{background:radial-gradient(circle,#ba505f33,#0000 65%),#2a1c24}.accent-brute .unit-card-portrait{background:radial-gradient(circle,#cb5d3d33,#0000 65%),#2b1e1b}.accent-griffin .unit-card-portrait{background:radial-gradient(circle,#a477b840,#0000 65%),#271d31}.reset-button{color:#a98080;cursor:pointer;background:0 0;border:1px solid #d9656540;margin:42px auto 60px;padding:9px 15px;font-size:11px;display:block}.toast{z-index:30;color:#1a2633;background:#ede3c7;padding:13px 20px;font-size:12px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0008}.hero-roster{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(1180px,100% - 40px);margin:0 auto;padding-bottom:70px;display:grid}.hero-card{background:linear-gradient(155deg,#24394b,#151f2b 62%);border:1px solid #66c6e042;position:relative;overflow:hidden;box-shadow:0 18px 38px #0003}.hero-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px #ddbd7040,0 18px 38px #0000004d}.hero-card.selected:after{content:"SELECTED";text-align:center;background:var(--gold);color:#1e1a10;letter-spacing:.12em;width:120px;padding:4px;font:800 7px Cinzel;position:absolute;top:12px;right:-31px;transform:rotate(45deg)}.hero-art{border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 56%,#51c1e052,#0000 31%),linear-gradient(#22394d,#182430);place-items:center;height:190px;display:grid;position:relative}.hero-art:before,.hero-art:after{content:"";border:1px solid #8edbeb2b;width:125px;height:125px;position:absolute;transform:rotate(45deg)}.hero-art:after{width:90px;height:90px}.hero-character-art{z-index:2;filter:drop-shadow(0 14px 14px #0000007a);width:180px;max-height:188px;position:relative}.hero-level{z-index:3;border:1px solid var(--line);color:var(--gold-bright);background:#101923c9;padding:4px 11px;font:700 9px Cinzel,Pretendard Variable,sans-serif;position:absolute;bottom:13px}.hero-info{padding:24px}.hero-info h3{margin:2px 0 7px;font:700 27px Cinzel,Pretendard Variable,sans-serif}.hero-description{color:#8999a3;height:41px;margin:0 0 18px;font-size:11px;line-height:1.7}.hero-traits{gap:8px;display:grid}.hero-traits>div{background:#080e1447;border-left:2px solid #65bad1;min-height:77px;padding:10px 12px}.hero-traits span{color:#6fa8b6;letter-spacing:.16em;font:700 7px Cinzel;display:block}.hero-traits p{color:#798991;margin:3px 0 0;font-size:9px;line-height:1.45}.hero-stats{grid-template-columns:repeat(4,1fr);margin:18px 0;display:grid}.hero-stats div{text-align:center;border-right:1px solid var(--line);gap:4px;display:grid}.hero-stats div:last-child{border:0}.hero-stats dt{color:#71808a;font-size:8px}.hero-stats dd{color:#dce9e9;margin:0;font:600 12px Cinzel}.hero-actions{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.hero-actions>button{color:#fff;cursor:pointer;background:#6f5528;border:1px solid #9e8044;min-height:38px;padding:8px;font-size:10px}.hero-actions>button:only-child{grid-column:1/3}.hero-actions button span{color:var(--gold-bright)}.hero-training-screen{background:radial-gradient(circle at 50% 8%,#74592a38,#0000 34%),#101824}.training-roster{gap:14px;width:min(1080px,100% - 40px);margin:0 auto;padding-bottom:70px;display:grid}.training-hero-card{border:1px solid var(--line);background:linear-gradient(145deg,#22303ef7,#121b27fa);grid-template-columns:220px minmax(0,1fr);min-height:245px;display:grid;overflow:hidden}.training-hero-card.selected{border-color:#ddbd708c}.training-hero-portrait{border-right:1px solid var(--line);background:radial-gradient(circle,#bf9b4a33,#0000 58%),#151f2b;place-items:center;display:grid;position:relative}.training-hero-portrait .character-sprite{filter:drop-shadow(0 14px 14px #00000073);width:190px}.training-hero-portrait>span{text-align:center;color:#d8bd7f;background:#080e14d1;border:1px solid #ddbd703d;padding:5px 8px;font-size:10px;position:absolute;inset:auto 14px 13px}.training-hero-copy{min-width:0;padding:24px}.training-hero-copy>small{color:var(--gold);letter-spacing:.12em;font:700 9px Cinzel}.training-hero-copy h3{margin:3px 0 14px;font-size:24px}.training-level{justify-content:space-between;gap:12px;font-size:12px;display:flex}.training-level span{color:#8db4be;font-family:Cinzel}.training-packages{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px;display:grid}.training-packages button{text-align:left;color:#e7e8df;cursor:pointer;background:#1a2f3bc2;border:1px solid #77b1bd47;gap:4px;min-width:0;min-height:92px;padding:11px;display:grid}.training-packages button:hover:not(:disabled){border-color:var(--gold);background:#343e3ae6}.training-packages button:disabled{opacity:.42;filter:grayscale(.65)}.training-packages button>span{gap:2px;display:grid}.training-packages button b{font-size:12px}.training-packages button small{color:#82959e;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.training-packages button em{color:#90dbe7;font:700 10px Cinzel}.training-packages button>strong{color:var(--gold-bright);font:700 11px Cinzel}.merchant-screen{background:radial-gradient(circle at 50% 6%,#6e46913d,#0000 35%),#0e1420}.merchant-intro{background:linear-gradient(135deg,#2d203ef5,#131926fa);border:1px solid #b48bdf4d;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:30px;width:min(1080px,100% - 40px);margin:42px auto 24px;padding:28px 34px;display:grid;box-shadow:0 22px 55px #00000040}.merchant-silhouette{background:radial-gradient(circle at 50% 38%,#cea9f426,#0000 28%),linear-gradient(160deg,#302540,#111722);border:1px solid #d8b8ff66;border-radius:50% 50% 44% 44%;justify-self:center;place-items:center;width:140px;height:140px;display:grid;box-shadow:inset 0 0 35px #00000080,0 0 32px #764d9b33}.merchant-silhouette span{color:#d8b8ff;text-shadow:0 0 24px #d8b8ff80;font:700 52px Cinzel}.merchant-intro h2{color:#ece4f4;margin:5px 0 10px;font-size:23px}.merchant-intro p{color:#9f9aaa;max-width:720px;margin:0;font-size:13px;line-height:1.7}.merchant-shelf{gap:14px;width:min(1080px,100% - 40px);margin:0 auto;padding-bottom:70px;display:grid}.merchant-item{background:linear-gradient(145deg,#232d3efa,#111823fa);border:1px solid #9877c25c;grid-template-columns:190px minmax(0,1fr) 210px;align-items:stretch;min-height:230px;display:grid;overflow:hidden}.merchant-item.owned{border-color:#68c5df6b}.merchant-item-mark{text-align:center;background:radial-gradient(circle,#9867d052,#0000 52%),#171829;border-right:1px solid #b48bdf3d;place-content:center;gap:8px;display:grid}.merchant-item-mark span{color:#e2c8ff;text-shadow:0 0 25px #b47eef73;font:700 42px Cinzel}.merchant-item-mark small,.merchant-item-copy>small{color:#a884cf;letter-spacing:.14em;font:700 9px Cinzel}.merchant-item-copy{padding:28px}.merchant-item-copy h3{margin:4px 0 9px;font-size:25px}.merchant-item-copy p{color:#98a0aa;margin:0;font-size:12px;line-height:1.6}.merchant-item-copy ul{color:#c2bdca;margin:15px 0 0;padding-left:17px;font-size:11px;line-height:1.8}.merchant-item-action{border-left:1px solid var(--line);background:#090e1773;align-content:center;gap:12px;padding:24px 20px;display:grid}.merchant-item-action>span{color:#8d96a0;justify-content:space-between;font-size:11px;display:flex}.merchant-item-action strong{color:#8ee0ef;font:700 12px Cinzel}.merchant-item-action button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#67458b,#493064);border:1px solid #9d71c8;min-height:48px;font-size:12px}.merchant-item-action button:hover:not(:disabled){filter:brightness(1.12);border-color:#e0c0ff}.merchant-item-action button:disabled{color:#78828c;background:#28313c;border-color:#3b4551}.merchant-item.owned .merchant-item-action button{color:#a5dbe3;background:#244b55;border-color:#477f8c}.merchant-empty{color:#596876;border:1px dashed #97a1b133;grid-template-columns:92px 1fr;align-items:center;min-height:98px;display:grid}.merchant-empty>span{text-align:center;font:30px Georgia}.merchant-empty>div{border-left:1px dashed #97a1b129;padding:16px}.merchant-empty small{color:#556475;letter-spacing:.14em;font:700 8px Cinzel;display:block}.merchant-empty strong{color:#798795;margin:3px 0;font-size:13px;display:block}.merchant-empty p{margin:0;font-size:10px}.hero-actions button:disabled{color:#75818a;background:#28343f;border-color:#3d4a55}.hero-actions .select-hero:not(:disabled){background:#285567;border-color:#5cadc2}.hero-pyromancer{background:linear-gradient(155deg,#4b2c2d,#21191e 62%);border-color:#e0704e4d}.hero-pyromancer .hero-art{background:radial-gradient(circle at 50% 56%,#ee5d3552,#0000 31%),linear-gradient(#4a292a,#261b20)}.hero-pyromancer .hero-rune{color:#ffd29c;text-shadow:0 0 34px #ff673699}.hero-pyromancer .hero-traits>div{border-color:#d76b50}.hero-huntress{background:linear-gradient(155deg,#294235,#17231e 62%);border-color:#83c4724d}.hero-huntress .hero-art{background:radial-gradient(circle at 50% 56%,#7cc36747,#0000 31%),linear-gradient(#2b4838,#182820)}.hero-huntress .hero-rune{color:#e0f5b4;text-shadow:0 0 34px #82d66a80}.hero-huntress .hero-traits>div{border-color:#78af6b}.hero-saint{background:linear-gradient(155deg,#4a4430,#211f19 62%);border-color:#eccf8257}.hero-saint .hero-art{background:radial-gradient(circle at 50% 56%,#f2d5824d,#0000 31%),linear-gradient(#4b4530,#26231a)}.hero-saint .hero-traits>div{border-color:#d9bd73}.hero-marshal{background:linear-gradient(155deg,#2c3957,#171d2b 62%);border-color:#849dda57}.hero-marshal .hero-art{background:radial-gradient(circle at 50% 56%,#708dd24d,#0000 31%),linear-gradient(#2d3b5b,#191f30)}.hero-marshal .hero-traits>div{border-color:#7f9bd2}.hero-traits>.awakening-aura-active{background:#715b2a33;box-shadow:inset 0 0 22px #ddbd700f}.hero-traits>.awakening-aura-active span{color:var(--gold-bright)}.hero-locked .hero-art{filter:grayscale(.8)brightness(.58)}.fortress-tier-banner{background:linear-gradient(135deg,#283e4ef5,#121d29f5);border:1px solid #7dbecc47;grid-template-columns:112px minmax(0,1fr) 330px;align-items:center;gap:20px;width:min(1080px,100% - 40px);margin:-8px auto 16px;padding:20px 24px;display:grid;box-shadow:0 16px 34px #0000002e}.fortress-tier-banner.tier-2{background:linear-gradient(135deg,#433a27f5,#1c1f26f5);border-color:#ddbd7061}.fortress-tier-banner.tier-3{background:linear-gradient(135deg,#492831f5,#1b1925f5);border-color:#dd70696b}.tier-crest{color:#bce9ee;place-items:center;gap:7px;display:grid}.tier-crest span{border:2px solid;place-items:center;width:58px;height:58px;font:29px Georgia;display:grid;transform:rotate(45deg)}.tier-crest b{color:var(--gold-bright);letter-spacing:.14em;font:700 11px Cinzel}.tier-copy h3{margin:2px 0 4px;font-size:24px}.tier-copy p{color:#8fa0a8;margin:0 0 7px;font-size:12px}.tier-copy strong{color:#c9b779;font-size:11px}.tier-progress{gap:7px;display:grid}.tier-progress>div:first-child{color:#8fa0a8;justify-content:space-between;font-size:11px;display:flex}.tier-progress>div:first-child b{color:#dce7e8;font-family:Cinzel}.tier-progress-track{background:#18252e;height:5px}.tier-progress-track i{background:linear-gradient(90deg, #63b8cb, var(--gold));height:100%;display:block}.tier-progress button{color:#fff;cursor:pointer;background:#72582b;border:1px solid #aa8d4c;min-height:39px;font-size:12px}.tier-progress button span{float:right;color:var(--gold-bright)}.tier-progress button:disabled{color:#77848b;background:#283640;border-color:#43515a}.tier-progress small{color:#778992;font-size:10px;line-height:1.4}.castle-summary,.career-stats{border:1px solid var(--line);background:#111b27b8;width:min(1080px,100% - 40px);margin:0 auto 25px;display:grid}.castle-summary{grid-template-columns:repeat(3,1fr)}.career-stats{grid-template-columns:repeat(6,1fr)}.castle-summary>div,.career-stats>div{text-align:center;border-right:1px solid var(--line);gap:5px;padding:15px 8px;display:grid}.castle-summary>div{border-bottom:1px solid var(--line)}.castle-summary>div:nth-child(3n),.career-stats>div:last-child{border-right:0}.castle-summary>div:nth-last-child(-n+3){border-bottom:0}.castle-summary span,.career-stats span{color:#788a94;font-size:8px}.castle-summary strong,.career-stats strong{color:#e2e8e4;font:600 15px Cinzel}.tech-branches{gap:18px;width:min(1480px,100% - 40px);margin:0 auto;padding-bottom:70px;display:grid}.tech-branch{--tree-line:#557583;border:1px solid var(--line);background:linear-gradient(150deg,#1f3041,#141f2c);grid-template-columns:210px minmax(0,1fr);display:grid;overflow:hidden}.tech-branch>header{border-right:1px solid var(--line);min-height:250px;padding:24px 20px}.tech-branch h3{margin:3px 0 6px;font:600 21px Cinzel,Pretendard Variable,sans-serif}.tech-branch header p{color:#7d8e98;margin:0;font-size:10px;line-height:1.5}.tech-tree-viewport{overscroll-behavior-inline:contain;scrollbar-color:#536c78 #17232d;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;min-width:0;overflow-x:auto}.tech-tree-viewport.dragging{cursor:grabbing}.tech-tree-viewport.dragging .tech-node button{pointer-events:none}.tech-tree-guide{z-index:4;color:#8297a0;background:#0a1118e0;border-bottom:1px solid #97b2bc1a;align-items:center;gap:8px;min-width:660px;height:39px;padding:0 22px;font-size:9px;display:flex;position:sticky;left:0}.tech-tree-guide b{color:var(--tree-line);font:700 16px Cinzel}.tech-tree-guide em{color:#a38e61;margin-left:auto;font-style:normal}.tech-tree{align-items:center;min-width:max-content;padding:22px 34px 26px 22px;display:flex}.tech-tree-node{align-items:center;display:flex;position:relative}.tech-tree-children{flex-direction:column;justify-content:center;gap:18px;margin-left:52px;display:flex;position:relative}.tech-tree-node>.tech-tree-children:before{content:"";z-index:0;border-top:2px solid var(--tree-line);width:26px;position:absolute;top:50%;left:-52px}.tech-tree-children>.tech-tree-node:before{content:"";z-index:0;border-top:2px solid var(--tree-line);width:26px;position:absolute;top:50%;left:-26px}.tech-tree-children.children-2:after{content:"";z-index:0;border-left:2px solid var(--tree-line);position:absolute;top:25%;bottom:25%;left:-26px}.tech-tree-children.children-3:after{content:"";z-index:0;border-left:2px solid var(--tree-line);position:absolute;top:16.666%;bottom:16.666%;left:-26px}.tech-node{z-index:1;background:#070d13e6;border:1px solid #97b2bc33;flex:0 0 232px;grid-template-rows:auto auto auto;grid-template-columns:45px 1fr;align-content:center;gap:8px 11px;width:232px;min-height:168px;margin:0;padding:14px;display:grid;position:relative;box-shadow:0 7px 18px #02070b47}.tech-node.researched{border-color:#ddbd7059}.tech-node.unavailable{filter:grayscale(.45);opacity:.76}.tech-icon{color:#bfe6e9;border:1px solid #6f91a0;grid-row:1/3;place-items:center;width:42px;height:42px;font:22px Georgia;display:grid;transform:rotate(45deg)}.tech-node>div:first-of-type{align-content:start;gap:3px;display:grid}.tech-node>div strong{justify-content:space-between;gap:7px;font-size:12px;display:flex}.tech-node>div strong em{color:var(--gold);border:1px solid #ddbd7047;flex:none;padding:2px 5px;font:700 8px Cinzel}.tech-node>div small{color:#74858e;font-size:8px}.tech-node>div .tech-requirement{color:#c9a66b;margin-top:3px;font-size:9px;line-height:1.35}.tech-node>div .tech-requirement.met{color:#76ad96}.tech-node>div .tech-requirement.missing{color:#e5a27f}.tech-ranks{grid-column:1/3;gap:4px;display:flex}.tech-ranks b{background:#33424d;flex:1;height:3px}.tech-ranks b.filled{background:var(--gold)}.tech-node button{color:#fff;cursor:pointer;background:#654e27;border:1px solid #8f7742;grid-column:1/3;min-height:33px;font-size:9px}.tech-node button span{color:var(--gold-bright)}.tech-node button:disabled{color:#72808a;background:#27343e;border-color:#394752}.branch-defense{--tree-line:#68788f;background:linear-gradient(150deg,#29313e,#171e27)}.branch-artillery{--tree-line:#925f56;background:linear-gradient(150deg,#3b2a2c,#21191e)}.branch-artillery .tech-icon{color:#ffc0a2;border-color:#b06e5c}.achievement-toolbar{border:1px solid var(--line);background:#0d1720b8;justify-content:space-between;align-items:center;gap:18px;width:min(1080px,100% - 40px);margin:0 auto 14px;padding:12px 14px;display:flex}.achievement-toolbar>div:first-child{gap:3px;display:grid}.achievement-toolbar strong{color:#d9e2e5;font-size:13px}.achievement-toolbar span{color:#70838d;font-size:10px}.achievement-view-toggle{background:#111b24;border:1px solid #354754;flex:none;padding:3px;display:flex}.achievement-view-toggle button{color:#768995;cursor:pointer;background:0 0;border:0;min-width:82px;padding:8px 10px;font-size:10px}.achievement-view-toggle button[aria-pressed=true]{color:#fff4d2;background:#765c2e;box-shadow:inset 0 0 0 1px #a98a4b}.achievement-grid{grid-template-columns:repeat(2,1fr);gap:10px;width:min(1080px,100% - 40px);margin:0 auto;padding-bottom:70px;display:grid}.achievement-card{border:1px solid var(--line);opacity:.68;background:linear-gradient(130deg,#1e2b39,#151f2b);grid-template-columns:62px 1fr 94px;align-items:center;min-height:122px;padding:16px;display:grid}.achievement-card.stacked{margin:0 8px 8px 0;box-shadow:4px 4px #111a23,4px 4px 0 1px #334550,8px 8px #0d151d,8px 8px 0 1px #263641}.achievement-card.unlocked{opacity:1;border-color:#ddbd7061}.achievement-icon{color:#92a9b4;border:1px solid #667d89;place-items:center;width:48px;height:48px;font:23px Georgia;display:grid;transform:rotate(45deg)}.achievement-card.unlocked .achievement-icon{color:var(--gold-bright);border-color:var(--gold);box-shadow:0 0 18px #ddbd701f}.achievement-copy{padding-inline:8px 16px}.achievement-copy small{color:#647983;letter-spacing:.15em;text-transform:uppercase;font:700 7px Cinzel}.achievement-copy h3{margin:2px 0;font-size:14px}.achievement-copy p{color:#7c8b94;margin:0 0 8px;font-size:9px}.achievement-progress{background:#2d3a44;height:3px}.achievement-progress i{background:var(--gold);height:100%;display:block}.progress-copy{color:#72818a;margin-top:3px;font:600 7px Cinzel;display:block}.achievement-series-progress{color:#a88d56;margin-top:4px;font-size:9px;display:block}.achievement-reward{text-align:center;gap:8px;display:grid}.achievement-currencies{justify-content:center;gap:7px;display:flex}.achievement-reward strong{color:var(--gold-bright);font:600 11px Cinzel}.achievement-reward strong:last-child{color:#8edfec}.achievement-reward button{color:#fff;cursor:pointer;background:#6b5227;border:1px solid #967b40;padding:7px;font-size:8px}.achievement-reward button:disabled{color:#6e7a82;background:#28343d;border-color:#3d4952}.codex-screen{padding-bottom:80px}.codex-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;width:min(1120px,100% - 40px);margin:40px auto 30px;padding-bottom:22px;display:flex}.codex-heading h2{margin:4px 0;font-size:30px}.codex-heading p{color:#82939c;margin:0;font-size:11px}.codex-completion{text-align:right;width:210px}.codex-completion>span{color:var(--gold-bright);font:700 35px Cinzel}.codex-completion>div{background:#293945;height:4px;margin:5px 0}.codex-completion i{background:linear-gradient(90deg, #8aa95d, var(--gold));height:100%;display:block}.codex-completion small{color:#74858d;letter-spacing:.13em;font:700 7px Cinzel}.codex-section{width:min(1120px,100% - 40px);margin:0 auto 34px}.codex-section>header{align-items:center;gap:12px;margin-bottom:11px;display:flex}.codex-section>header>span{color:#9fd3dd;border:1px solid #7098a5;place-items:center;width:38px;height:38px;font:20px Georgia;display:grid;transform:rotate(45deg)}.codex-section>header>div{display:grid}.codex-section>header small{color:#627984;letter-spacing:.16em;font:700 7px Cinzel}.codex-section>header h3{margin:0;font-size:18px}.codex-section>header b{color:#82949d;margin-left:auto;font:600 11px Cinzel}.codex-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.codex-card{border:1px solid var(--line);background:linear-gradient(145deg,#213141,#151f2b);grid-template-columns:112px 1fr;min-height:205px;display:grid;overflow:hidden}.codex-icon{border-right:1px solid var(--line);color:#c2edf1;background:radial-gradient(circle,#5dbed233,#0000 44%),#0a121973;place-items:center;font:53px Georgia;display:grid}.codex-character-art{filter:drop-shadow(0 8px 8px #0006);width:108px}.codex-card>div{padding:18px}.codex-card>div>small{color:#6a94a0;letter-spacing:.12em;font:700 7px Cinzel}.codex-card h4{margin:2px 0 6px;font-size:16px}.codex-card p{color:#8b9aa2;margin:0;font-size:9px}.codex-tags{gap:5px;margin:-1px 0 7px;display:flex}.codex-tags b{color:#89c9d4;border:1px solid #6ec1d159;padding:2px 5px;font-size:7px}.codex-tags b.enemy-tag{color:#d98b80;border-color:#da685b59}.codex-card blockquote{color:#a69f8d;border-left:1px solid #ddbd7059;margin:12px 0;padding-left:10px;font-size:9px;font-style:italic;line-height:1.55}.codex-card dl{grid-template-columns:repeat(3,1fr);margin:0;display:grid}.codex-card dl div{border-right:1px solid var(--line);text-align:center;gap:2px;display:grid}.codex-card dl div:last-child{border:0}.codex-card dt{color:#667780;font:600 7px Cinzel}.codex-card dd{margin:0;font:600 11px Cinzel}.hero-entry{background:linear-gradient(145deg,#273746,#181f2a);border-color:#ddbd7038}.hero-entry .codex-icon{color:var(--gold-bright);background:radial-gradient(circle,#d7b4572e,#0000 44%),#10121673}.enemy-codex-section>header>span{color:#e9937e;border-color:#a9635e}.enemy-entry{background:linear-gradient(145deg,#39282d,#201a21);border-color:#c95f5533}.enemy-entry .codex-icon{color:#ef9d86;background:radial-gradient(circle,#d34f3b2e,#0000 44%),#160d1180}.boss-entry{grid-column:1/-1}.boss-entry .codex-icon{font-size:65px}.codex-missing{text-align:center;color:#6d7c84;border:1px dashed #8ba1a933;width:min(1120px,100% - 40px);margin:0 auto;padding:18px;font-size:10px}.battle-shell{-webkit-user-select:none;user-select:none;background:#101826;position:fixed;inset:0;overflow:hidden}.phaser-host{position:absolute;inset:0}.phaser-host canvas{object-fit:contain;background:#101826;width:100%!important;height:100%!important}.battle-topbar{z-index:10;top:0;pointer-events:none;background:linear-gradient(#080d15f2,#080d158c,#0000);grid-template-columns:minmax(220px,1fr) 130px minmax(220px,1fr);align-items:start;gap:20px;padding:18px clamp(18px,4vw,52px);display:grid;position:absolute;inset-inline:0}.fortress-status{max-width:360px}.enemy-status{text-align:right;justify-self:end;width:100%}.status-row{color:#cbd4d8;justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.status-row strong{font:600 11px Cinzel}.meter{background:#03080dcc;border:1px solid #ffffff29;height:7px;padding:1px}.meter span{height:100%;transition:width .15s linear;display:block}.meter-blue span{background:linear-gradient(90deg,#3886aa,#77d4ea)}.meter-red span{background:linear-gradient(90deg,#7d2935,#ed6c68)}.meter-gold span{background:var(--gold)}.enemy-status small{color:#e6977e;margin-top:5px;font-size:9px;display:block}.battle-clock{text-align:center;gap:1px;display:grid}.battle-clock strong{font:600 23px Cinzel}.battle-clock small{color:#80989d;font-size:9px}.procedural-character{color:#eefcff;text-shadow:0 0 12px;background-image:radial-gradient(circle,#78d0e459,#233143e0);place-items:center;font-family:Georgia,serif;font-size:2.1rem;display:inline-grid}.battle-actions{z-index:20;inset-inline:0;min-height:136px;padding:15px clamp(16px, 3vw, 38px) max(18px, env(safe-area-inset-bottom));background:linear-gradient(#0000 0%,#0a1018e3 28%,#070c12fa 100%);grid-template-columns:minmax(190px,.6fr) minmax(500px,1.5fr) minmax(100px,.4fr);align-items:end;gap:20px;display:grid;position:absolute;bottom:0}.hero-command{align-items:center;gap:13px;padding-bottom:5px;display:flex}.hero-portrait{color:#e9fbff;cursor:pointer;background:radial-gradient(circle,#477995,#152b3b 66%);border:2px solid #76cce0;border-radius:50%;flex:0 0 68px;width:68px;height:68px;position:relative;overflow:hidden}.hero-hotkey{z-index:2;color:#e9fbff;background:#06121be0;border:1px solid #d8f5faa6;border-radius:4px;min-width:19px;height:19px;padding:1px 4px;font:700 10px/15px Cinzel;position:absolute;top:3px;left:4px;box-shadow:0 1px 3px #00000073}.battle-hero-art{filter:drop-shadow(0 4px 4px #00000080);width:64px;position:absolute;top:1px;left:0}.skill-ready{inset-inline:0;letter-spacing:.1em;background:#477f8e;padding:3px;font:700 7px Cinzel;position:absolute;bottom:0}.hero-copy{gap:3px;min-width:0;display:grid}.hero-copy strong{white-space:nowrap;font-size:12px}.hero-copy span{color:#7e939d;font-size:9px}.command-panel{position:relative}.command-readout{color:#96a2a9;align-items:center;gap:5px;width:304px;height:29px;margin:0 auto 8px;font-size:10px;display:flex}.command-readout strong{color:#dcecf0;font:600 16px Cinzel}.command-gem{color:#88d7e9}.command-track{background:#273740;flex:1;height:3px;margin-left:5px}.command-track i{background:#6fd2e6;height:100%;transition:width .12s linear;display:block;box-shadow:0 0 8px #6fd2e6}.mobilize-button{color:#687c85;cursor:pointer;background:#18252d;border:1px solid #4e6874;flex:0 0 72px;justify-content:center;align-items:center;gap:4px;width:72px;height:28px;font-size:9px;display:flex;position:relative}.mobilize-button kbd{color:inherit;font:700 10px Cinzel}.mobilize-button span{color:inherit;font:700 8px Cinzel}.mobilize-button.ready{color:#d9fbff;background:radial-gradient(circle,#39798a,#183641);border-color:#8de9f5;animation:1.1s ease-in-out infinite alternate mobilize-ready;box-shadow:0 0 13px #5ddaec6b}.mobilize-button:disabled{cursor:default}@keyframes mobilize-ready{to{filter:brightness(1.25);box-shadow:0 0 19px #5ddaecad}}.unit-buttons{grid-template-columns:repeat(4,minmax(82px,1fr));gap:7px;display:grid}.unit-command{color:#fff;cursor:pointer;text-align:left;background:linear-gradient(160deg,#304e5ef2,#14222cfa);border:1px solid #93cbd857;grid-template-rows:1fr 1fr;grid-template-columns:33px 1fr;align-items:center;height:72px;padding:9px;display:grid;position:relative;overflow:hidden}.unit-command:hover:not(:disabled){border-color:#a8ebf3;transform:translateY(-2px)}.unit-command:disabled{filter:grayscale(.6)brightness(.62)}.unit-command .hotkey{color:#77909a;font:700 8px Cinzel;position:absolute;top:3px;right:5px}.unit-command .unit-icon{color:#c8f1f5;text-align:center;grid-row:1/3;font:25px Georgia}.unit-command .battle-unit-art{filter:drop-shadow(0 3px 3px #00000073);width:38px;margin-left:-4px}.unit-command .unit-name{white-space:nowrap;align-self:end;font-size:11px;font-weight:700}.unit-command .unit-cost{color:#8fcddd;align-self:start;font:600 9px Cinzel}.unit-command .unit-limit{z-index:4;color:#d9c17d;font-size:8px;font-weight:700;position:absolute;bottom:3px;right:5px}.unit-command .unit-limit.at-limit{color:#ef8d8d}.summon-cooldown-wipe{z-index:3;pointer-events:none;background:linear-gradient(#070c129e,#04080de6);transition:height .1s linear;position:absolute;inset:auto 0 0;overflow:visible}.summon-cooldown-wipe i{background:linear-gradient(90deg,#0000,#8eeafa 22%,#d9fbff 50%,#8eeafa 78%,#0000);height:2px;position:absolute;inset:-2px 0 auto;box-shadow:0 0 8px #6fd2e6e6}.unit-command.summon-ready:after{content:"";z-index:4;pointer-events:none;border:1px solid #b9f5ff;animation:.55s ease-out both summon-ready-flash;position:absolute;inset:0;box-shadow:inset 0 0 18px #6fd2e66b,0 0 14px #6fd2e652}@keyframes summon-ready-flash{0%{opacity:1}to{opacity:0}}.unit-guardian{background:linear-gradient(160deg,#3f5368,#202d3a)}.unit-archer{background:linear-gradient(160deg,#315f52,#1c342d)}.unit-lancer{background:linear-gradient(160deg,#6c5631,#342b1e)}.cooldown-mask{color:#fff;background:#05090ea8;place-items:center;font:600 18px Cinzel;display:grid;position:absolute;inset:0}.battle-utility{justify-self:end;gap:8px;padding-bottom:17px;display:flex}.battle-speed-button{color:#dfc8ff;border-radius:12px;width:48px;font:700 11px Cinzel}.battle-speed-button.active{background:#41295bdb;border-color:#bd8fec;box-shadow:0 0 12px #b076e84d}.castle-skill-button{color:#f0dc9d;cursor:pointer;background:radial-gradient(circle,#70592d,#262318);border:1px solid #b99952;place-items:center;width:54px;height:54px;display:grid;position:relative}.castle-skill-button span{font:23px Georgia}.castle-skill-button small{font-size:7px;position:absolute;bottom:2px}.castle-skill-button:disabled{filter:grayscale(.8)brightness(.6)}.pause-overlay{z-index:40;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#070c12ad;place-content:center;gap:24px;display:grid;position:absolute;inset:0}.pause-overlay span{font:600 28px Cinzel,Pretendard Variable,sans-serif}.primary-button{color:#fff;cursor:pointer;background:#87682f;border:1px solid #d0ae61;min-width:160px;padding:13px 22px}.result-screen{background:radial-gradient(circle at 50% 36%,#344252,#111a26 50%,#080d14);place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.result-screen.defeat{background:radial-gradient(circle at 50% 36%,#4b3034,#1d161c 50%,#0b0a0e)}.result-rays{opacity:.12;background:repeating-conic-gradient(from 0deg, var(--gold) 0 5deg, transparent 5deg 15deg);width:900px;height:900px;animation:50s linear infinite slowspin;position:absolute}@keyframes slowspin{to{transform:rotate(360deg)}}.result-card{z-index:2;text-align:center;background:#141e2af0;border:1px solid #ddbd7052;width:min(470px,100% - 34px);padding:47px;position:relative;box-shadow:0 30px 80px #00000073}.result-emblem{color:var(--gold);font:46px Georgia;display:block}.result-card h1{color:#f4eddb;margin:4px 0 8px;font:700 49px Cinzel,Pretendard Variable,sans-serif}.result-card>p{color:#919ea5;font-size:12px}.result-stats{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:30px 0;padding:18px 0;display:grid}.result-stats div{border-right:1px solid var(--line);gap:5px;display:grid}.result-stats div:last-child{border:0}.result-stats span{color:#76858e;font-size:9px}.result-stats strong{font:600 14px Cinzel}.result-stats div:last-child strong{color:var(--gold-bright)}.result-progression,.result-achievements{text-align:left;background:#080e144d;margin:-14px 0 24px;padding:12px}.result-progression>div{flex-wrap:wrap;gap:6px 12px;margin-top:8px;display:flex}.result-progression>div span{color:#8999a2;font-size:9px}.result-progression strong{color:#9edbe4}.result-achievements{border:1px solid #ddbd7033;gap:6px;display:grid}.result-achievements strong{color:var(--gold-bright);font-size:11px}.result-first-clear{text-align:left;background:#7f5c1e2e;border:1px solid #ddbd7057;grid-template-columns:52px 1fr;align-items:center;gap:14px;margin:-14px 0 24px;padding:14px;display:grid}.result-first-clear>span{border:1px solid var(--gold);width:46px;height:46px;color:var(--gold-bright);place-items:center;font:22px Georgia;display:grid;transform:rotate(45deg)}.result-first-clear>div{gap:2px;display:grid}.result-first-clear small{color:var(--gold);letter-spacing:.13em;font:700 7px Cinzel}.result-first-clear p{color:#84929a;margin:0;font-size:8px}.result-first-clear em{color:var(--gold-bright);font-size:10px;font-style:normal}.result-actions{gap:8px;display:grid}.result-actions button{width:100%}.plain-button{color:#8d9aa2;cursor:pointer;background:0 0;border:0;padding:11px;font-size:11px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-screen{text-align:center;color:#aebbc1;background:radial-gradient(circle,#26384b,#0d141f 60%);place-content:center;gap:14px;min-height:100vh;display:grid}.loading-screen span{color:var(--gold);font:52px Georgia;animation:1.1s ease-in-out infinite alternate pulse}.loading-screen p{letter-spacing:.08em;margin:0;font-size:12px}@keyframes pulse{to{opacity:.45;transform:scale(.94)}}.eyebrow{font-size:11px}.menu-top .version,.campaign-button small,.secondary-button small{font-size:10px}.menu-tip{font-size:11px}.map-heading p{font-size:13px;line-height:1.55}.map-heading p strong,.map-region,.map-node strong{font-size:11px}.map-node small,.map-compass i{font-size:9px}.map-mission>p{font-size:13px}.mission-objective small,.first-clear-reward small{font-size:9px}.mission-objective strong,.first-clear-reward strong{font-size:13px}.first-clear-reward p{font-size:10px}.mission-footer>span{font-size:11px}.formation-strip>div:first-child strong{font-size:13px}.formation-strip>div:last-child span{font-size:10px}.formation-strip i{font-size:9px}.mastery-line,.mastery-line b,.unit-card-copy dt{font-size:10px}.recruit-panel p,.unknown-unit-copy,.equipment-list>button b{font-size:11px}.equipment-list>button small{font-size:9px}.equipment-list>button em{font-size:10px}.reset-button{font-size:12px}.hero-card.selected:after{font-size:9px}.hero-level{font-size:10px}.hero-description{height:auto;min-height:44px;font-size:12px}.hero-traits span{font-size:9px}.hero-traits strong{font-size:13px}.hero-traits p{font-size:11px}.hero-stats dt{font-size:10px}.hero-actions>button{min-height:42px;font-size:11px}.castle-summary span,.career-stats span{font-size:10px}.tech-branch header p{font-size:11px}.tech-node>div strong{font-size:13px}.tech-node>div small{font-size:10px}.tech-node button{min-height:37px;font-size:11px}.achievement-card{min-height:132px}.achievement-copy small{font-size:9px}.achievement-copy h3{font-size:15px}.achievement-copy p{font-size:11px;line-height:1.45}.progress-copy{font-size:9px}.achievement-reward button{font-size:10px}.codex-heading p{font-size:12px}.codex-completion small,.codex-section>header small,.codex-card>div>small{font-size:9px}.codex-card{min-height:220px}.codex-card p,.codex-card blockquote{font-size:11px}.codex-tags b,.codex-card dt{font-size:9px}.codex-card dd{font-size:12px}.codex-missing{font-size:11px}.status-row,.status-row strong{font-size:12px}.enemy-status small{font-size:10px}.skill-ready{font-size:9px}.hero-copy strong{font-size:13px}.hero-copy span,.command-readout{font-size:11px}.unit-command .hotkey{font-size:9px}.unit-command .unit-name{font-size:12px}.unit-command .unit-cost,.castle-skill-button small{font-size:10px}.result-card>p{font-size:13px}.result-stats span,.result-progression>div span{font-size:11px}.result-achievements strong{font-size:12px}.result-first-clear small{font-size:9px}.result-first-clear strong{font-size:14px}.result-first-clear p{font-size:10px}.plain-button,.loading-screen p{font-size:12px}@media (height<=850px){.menu-top{padding-block:12px}.title-lockup{margin-top:0}.title-lockup .title-crest{margin-bottom:2px;font-size:26px}.title-lockup h1{font-size:51px}.title-rule{margin-top:10px}.campaign-button{min-height:63px}.secondary-button{min-height:43px}.menu-actions,.title-menu-actions{margin-bottom:24px}.menu-tip{display:none}}@media (width<=820px){.opening-story{margin-inline:auto}.shell-header{grid-template-columns:58px 1fr auto;padding:0 14px}.shell-header .gold-pill,.shell-header .gem-pill{min-width:64px;padding-inline:8px}.stage-intro,.armory-intro{flex-direction:column;align-items:start;gap:10px}.stage-intro p,.armory-intro p{text-align:left}.unit-grid{grid-template-columns:1fr}.formation-strip{flex-direction:column;align-items:flex-start}.formation-strip>div:last-child{justify-content:flex-start}.map-heading{flex-direction:column;align-items:start;gap:7px}.map-heading p{text-align:left}.map-shell-layout{width:calc(100% - 24px);margin-top:14px;display:block}.map-command-center{border-top:2px solid #ddbd708c;border-left-width:1px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;position:static}.map-command-center>header{grid-column:1/-1;justify-content:space-between;align-items:baseline;padding-bottom:7px;display:flex}.map-command-center button:hover:not(:disabled){transform:translateY(-1px)}.campaign-map-layout{grid-template-columns:1fr}.campaign-map{min-height:600px}.map-mission{min-height:520px}.hero-roster{grid-template-columns:1fr;max-width:570px}.hero-card{grid-template-columns:180px 1fr;display:grid}.hero-art{height:100%;min-height:350px}.fortress-tier-banner{grid-template-columns:86px 1fr}.tier-progress{grid-column:1/3}.tech-branches{width:calc(100% - 24px)}.tech-branch{grid-template-columns:1fr}.tech-branch>header{border-right:0;border-bottom:1px solid var(--line);min-height:0}.tech-node{flex-basis:218px;width:218px}.achievement-grid{grid-template-columns:1fr}.achievement-toolbar{flex-direction:column;align-items:stretch}.achievement-view-toggle button{flex:1}.codex-grid{grid-template-columns:1fr}.boss-entry{grid-column:auto}.training-hero-card{grid-template-columns:180px minmax(0,1fr)}.training-hero-portrait .character-sprite{width:165px}.merchant-item{grid-template-columns:150px minmax(0,1fr)}.merchant-item-action{border-left:0;border-top:1px solid var(--line);grid-column:1/3}.battle-topbar{grid-template-columns:1fr 70px 1fr;gap:10px;padding:12px}.battle-clock .eyebrow{display:none}.battle-clock strong{font-size:17px}.battle-actions{min-height:116px;padding:10px 10px max(10px, env(safe-area-inset-bottom));grid-template-columns:68px 1fr 43px;gap:8px}.hero-copy{display:none}.hero-portrait{flex-basis:58px;width:58px;height:58px}.battle-utility{flex-direction:column;padding:0}.castle-skill-button{width:34px;height:34px}.castle-skill-button span{font-size:15px}.battle-utility .icon-button{width:34px;height:34px;font-size:11px}.command-readout{width:min(244px,100%);height:24px;margin-bottom:4px}.mobilize-button{flex-basis:62px;width:62px;height:23px}.unit-buttons{grid-template-columns:repeat(4,minmax(57px,1fr));gap:4px}.unit-command{grid-template-columns:23px 1fr;height:62px;padding:5px}.unit-command .unit-icon{font-size:20px}.unit-command .unit-name{font-size:10px}.unit-command .unit-cost{font-size:9px}}@media (width<=540px){.opening-screen{min-height:100svh}.opening-screen:after{background:linear-gradient(#04070b0a,#04070b57 35%,#04070bf0 68%)}.opening-visual{width:144%;height:104%;inset:-2% -22%}.opening-skip{top:12px;right:12px}.opening-story{width:calc(100% - 24px);margin:0 auto 12px;padding:70px 18px 16px}.opening-story h1{font-size:27px}.opening-story>p{min-height:96px;font-size:15px;line-height:1.65}.menu-actions{grid-template-columns:1fr}.menu-actions .campaign-button,.menu-actions .secondary-button:last-child{grid-column:auto}.menu-top{padding:16px}.menu-top .version{display:none}.menu-top .gold-pill{margin-left:auto}.title-lockup{margin-top:8vh}.title-menu-actions{grid-template-columns:1fr 1fr;width:calc(100% - 24px);margin-bottom:10vh}.title-menu-actions button{min-height:52px;padding:8px 12px}.title-menu-actions .title-menu-primary{min-height:62px}.game-modal-backdrop{padding:12px}.game-modal{max-height:calc(100svh - 24px);padding:31px 20px 22px}.game-modal:after{left:20px;right:20px}.game-modal>header h2{font-size:21px}.game-modal-content{font-size:13px}.save-transfer-actions{grid-template-columns:1fr}.save-transfer-actions>button{min-height:68px}.game-modal-actions{flex-direction:column-reverse}.modal-button{width:100%}.menu-actions{margin-bottom:11vh}.shell-header h1{font-size:15px}.shell-header .eyebrow{display:none}.stage-intro h2,.armory-intro h2,.map-heading h2{font-size:23px}.campaign-map-layout,.map-heading,.map-command-center{width:100%}.map-command-center{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:7px}.map-command-center button{grid-template-columns:23px minmax(0,1fr);gap:5px;min-height:43px;padding:4px 6px}.map-command-center button>i{font-size:17px}.map-command-center button>span{font-size:12px}.map-command-center button small{font-size:9px}.credits-card{width:calc(100% - 24px);padding:28px 18px}.credits-card dl{grid-template-columns:1fr}.credits-card dl div{border-right:0}.credits-card dl div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.credits-card dl div:last-child{border-bottom:0}.campaign-map{min-height:540px}.map-node{width:73px}.node-beacon{width:37px;height:37px;font-size:11px}.map-node.boss-node .node-beacon{width:48px;height:48px}.map-node strong{text-overflow:ellipsis;font-size:10px;overflow:hidden}.map-mountains{font-size:23px}.map-forest{font-size:13px}.map-mission{min-height:520px;padding:25px 20px}.mission-footer{inset-inline:20px;bottom:20px}.stage-card{grid-template-columns:42px 1fr}.stage-index span{width:30px;height:30px;font-size:10px}.stage-index i{top:58px}.stage-card-body{margin-left:9px;padding:17px}.stage-heading{display:block}.difficulty{margin-top:7px}.unit-card{grid-template-columns:108px 1fr}.unit-card-copy{padding:16px}.unit-card-copy dl{grid-template-columns:1fr 1fr;gap:8px}.unit-card-copy dl div:nth-child(3){display:none}.hero-card{display:block}.hero-art{height:150px;min-height:150px}.hero-rune{font-size:58px}.training-roster{width:calc(100% - 24px)}.training-hero-card{display:block}.training-hero-portrait{border-right:0;border-bottom:1px solid var(--line);height:165px}.training-hero-portrait .character-sprite{width:160px;max-height:160px}.training-hero-copy{padding:18px}.training-packages{grid-template-columns:1fr}.training-packages button{grid-template-columns:1fr auto;align-items:center;min-height:67px}.training-packages button>strong{grid-column:2}.merchant-intro{text-align:center;grid-template-columns:1fr;width:calc(100% - 24px);padding:23px 18px}.merchant-silhouette{width:110px;height:110px}.merchant-intro h2{font-size:19px}.merchant-shelf{width:calc(100% - 24px)}.merchant-item{display:block}.merchant-item-mark{border-bottom:1px solid #b48bdf3d;border-right:0;min-height:125px}.merchant-item-copy{padding:22px 18px}.merchant-item-action{border-top:1px solid var(--line)}.fortress-tier-banner{grid-template-columns:62px 1fr;gap:13px;width:calc(100% - 24px);padding:17px}.tier-crest span{width:46px;height:46px;font-size:23px}.tier-crest b{font-size:9px}.tier-copy h3{font-size:20px}.tier-copy p{font-size:11px}.castle-summary,.career-stats{grid-template-columns:repeat(3,1fr)}.castle-summary>div:nth-child(3),.career-stats>div:nth-child(3){border-right:0}.achievement-card{grid-template-columns:52px 1fr}.achievement-toolbar{width:calc(100% - 24px)}.achievement-reward{grid-column:1/3;justify-content:space-between;align-items:center;display:flex}.achievement-reward button{min-width:100px}.result-stats{grid-template-columns:repeat(2,1fr)}.codex-heading{flex-direction:column;align-items:start;gap:16px}.codex-completion{text-align:left;width:100%}.codex-card{grid-template-columns:78px 1fr}.codex-icon{font-size:38px}.battle-topbar{font-size:10px}.status-row strong{display:none}.enemy-status .status-row{justify-content:flex-end}.hero-command{display:none}.battle-actions{grid-template-columns:1fr 37px}.command-panel{grid-column:1}.battle-utility{grid-column:2}.unit-command .hotkey{display:none}.result-card{padding:35px 25px}}
