@font-face{font-family:ZCOOL KuaiLe;src:url(/assets/ZCOOLKuaiLe-Regular-CvIfguNK.ttf) format("truetype");font-display:swap}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:#121613}:root{--panel-bg: rgb(9 13 9 / 72%);--panel-border: rgb(232 198 64 / 48%);--gold: #f5ce46;--gold-soft: #ffe88d;--leaf: #b7e34e;--ink: #141008;--ui-scale: 1}body{color:#f2f6dd;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}body[data-ui-scale=small]{--ui-scale: .9}body[data-ui-scale=medium]{--ui-scale: 1}body[data-ui-scale=large]{--ui-scale: 1.16}body.is-preloading-assets .home-copy h1,body.is-preloading-assets .primary-action,body.is-preloading-assets .secondary-action,body.is-preloading-assets .preload-panel{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}#app,#game-root{position:fixed;inset:0}.screen{position:fixed;inset:0;z-index:8}.is-hidden{display:none!important}.home-screen{display:grid;min-height:100%;place-items:center;overflow:hidden;background:#11150d}.home-backdrop,.home-vignette{position:absolute;inset:0}.home-backdrop{background-position:center;background-size:cover;filter:saturate(1.08);transform:scale(1.02)}.home-vignette{background:radial-gradient(circle at 50% 38%,rgb(255 235 123 / 8%),transparent 34%),linear-gradient(180deg,#0f150a33,#0f110ab8),linear-gradient(90deg,rgb(5 8 5 / 72%) 0%,transparent 30%,transparent 70%,rgb(5 8 5 / 72%) 100%)}.home-stage{position:relative;display:grid;width:min(920px,calc(100vw - 32px));min-height:min(640px,calc(100vh - 48px));grid-template-rows:1fr auto;justify-items:center;padding:72px 20px 76px}.home-copy{align-self:center;text-align:center;text-shadow:0 4px 0 rgb(87 45 5 / 80%),0 18px 28px rgb(0 0 0 / 45%)}.home-copy h1{margin:0;color:var(--gold);font-family:ZCOOL KuaiLe,Inter,sans-serif;font-size:clamp(52px,9vw,96px);font-weight:700;letter-spacing:0;line-height:.95;-webkit-text-stroke:2px rgb(72 35 5 / 76%)}.home-actions{display:grid;gap:14px;width:min(280px,82vw)}.preload-overlay{position:fixed;inset:0;z-index:18;display:grid;place-items:center;padding:20px}.preload-scrim{position:absolute;inset:0;background:#0000006b}.preload-panel{position:relative;display:grid;width:min(360px,calc(100vw - 40px));gap:12px;padding:20px 22px 22px;border:2px solid var(--panel-border);background:linear-gradient(180deg,#201e12f5,#0e120cf5),#0e120c;box-shadow:0 24px 70px #00000075;color:#f7fbd9d6;font-size:15px}.preload-label{display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1;text-shadow:0 2px 8px rgb(0 0 0 / 42%)}.preload-label strong{color:var(--gold-soft);font-variant-numeric:tabular-nums}.preload-track{height:12px;overflow:hidden;border:1px solid rgb(255 232 141 / 34%);background:#060a06ad;box-shadow:inset 0 2px 5px #00000075,0 6px 16px #00000038}.preload-bar{width:0%;height:100%;background:linear-gradient(90deg,#9ed94a,#ffe171 62%,#fff1a6);box-shadow:0 0 12px #ffe1717a;transition:width .14s ease}.preload-overlay.is-complete .preload-bar{background:linear-gradient(90deg,#ffe171,#d99219)}.primary-action:disabled{cursor:progress;filter:saturate(.72) brightness(.82)}button{font:inherit}.primary-action,.secondary-action,.close-button,.icon-button,.menu-tab,.segmented-control button{border:1px solid transparent;cursor:pointer;font-family:ZCOOL KuaiLe,Inter,sans-serif;letter-spacing:0}.primary-action,.secondary-action{min-height:calc(52px * var(--ui-scale));padding:0 calc(22px * var(--ui-scale));font-size:calc(24px * var(--ui-scale));line-height:1}.primary-action{border-color:#5c3005d1;background:linear-gradient(180deg,#ffe171,#d99219);box-shadow:inset 0 2px #ffffff61,0 12px 24px #0000003d;color:#3b1c05}.secondary-action{border-color:#ffe88d85;background:#10170dc2;box-shadow:inset 0 1px #ffffff1f,0 10px 22px #00000038;color:#fff0a6}.primary-action:hover,.secondary-action:hover,.close-button:hover,.icon-button:hover,.menu-tab:hover,.segmented-control button:hover{filter:brightness(1.08)}.primary-action:active,.secondary-action:active{transform:translateY(1px);box-shadow:inset 0 1px #ffffff2e,0 8px 18px #00000038}.version-label{position:absolute;right:16px;bottom:12px;color:#ffffff6b;font-size:13px}#game-root canvas{display:block;width:100%!important;height:100%!important;margin:0!important}#hud-root{position:fixed;inset:0;z-index:5;pointer-events:none}.hud-status{position:absolute;top:calc(16px * var(--ui-scale));left:calc(16px * var(--ui-scale));min-width:calc(136px * var(--ui-scale));padding:calc(10px * var(--ui-scale)) calc(12px * var(--ui-scale));border:1px solid rgb(230 255 161 / 34%);background:#070c09ad;box-shadow:0 10px 26px #00000038;user-select:none;-webkit-user-select:none}.hud-title{margin-bottom:calc(8px * var(--ui-scale));color:#f3ffd2;font-family:ZCOOL KuaiLe,Inter,sans-serif;font-size:calc(18px * var(--ui-scale));line-height:1}.hud-row{display:flex;align-items:center;justify-content:space-between;gap:calc(18px * var(--ui-scale));font-size:calc(12px * var(--ui-scale));line-height:1.5;color:#ebf6d2c2}.hud-row strong{color:#fff;font-size:calc(13px * var(--ui-scale))}.wave-countdown{position:absolute;top:calc(12px * var(--ui-scale));left:50%;z-index:2;display:flex;align-items:center;justify-content:center;gap:calc(8px * var(--ui-scale));min-width:0;padding:calc(5px * var(--ui-scale)) calc(13px * var(--ui-scale)) calc(6px * var(--ui-scale));transform:translate(-50%);border:1px solid rgb(255 232 141 / 54%);background:linear-gradient(180deg,#1a200dc2,#050906b8),#080c08b3;box-shadow:inset 0 1px #ffffff21,0 8px 22px #00000042;color:var(--gold-soft);pointer-events:none;user-select:none;white-space:nowrap;-webkit-user-select:none}.wave-countdown span{color:#f3ffd2db;font-size:calc(15px * var(--ui-scale));font-weight:800;line-height:1.2}.wave-countdown strong{color:var(--gold);font-family:ZCOOL KuaiLe,Inter,sans-serif;font-size:calc(30px * var(--ui-scale));line-height:1;text-shadow:0 2px 0 rgb(77 46 5 / 70%),0 0 20px rgb(245 206 70 / 30%)}.icon-button{position:absolute;top:calc(184px * var(--ui-scale));right:calc(16px * var(--ui-scale));width:calc(156px * var(--ui-scale));min-height:calc(34px * var(--ui-scale));border-color:#e6ffa157;background:var(--panel-bg);color:#f3ffd2eb;font-size:calc(15px * var(--ui-scale));box-shadow:0 10px 22px #0003;pointer-events:auto}.minimap-shell{position:absolute;top:calc(16px * var(--ui-scale));right:calc(16px * var(--ui-scale));width:calc(156px * var(--ui-scale));height:calc(156px * var(--ui-scale));border:2px solid rgb(8 13 10 / 72%);background:#080d0a85;box-shadow:0 12px 30px #00000042;pointer-events:none;touch-action:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}#minimap{display:block;width:100%;height:100%;user-select:none;-webkit-user-drag:none;-webkit-user-select:none}.mobile-controls{position:fixed;inset:0;display:none;pointer-events:none;touch-action:none}body.is-game-paused .mobile-controls{display:none!important}.mobile-joystick-zone,.mobile-joystick,.mobile-skill-button{position:absolute;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}.mobile-joystick-zone{inset:0 50% 0 0}.mobile-joystick{width:124px;height:124px;border:2px solid rgb(255 232 141 / 34%);border-radius:50%;background:radial-gradient(circle at 50% 50%,rgb(255 228 77 / 16%),transparent 42%),#070c087a;box-shadow:inset 0 0 20px #ffe88d1f,0 12px 26px #00000042;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.92);transition:opacity 90ms ease,transform 90ms ease}.mobile-joystick.is-active{border-color:#ffe44da3;background:radial-gradient(circle at 50% 50%,rgb(255 228 77 / 26%),transparent 44%),#070c0894;opacity:1;transform:translate(-50%,-50%) scale(1)}.mobile-joystick-thumb{position:absolute;top:50%;left:50%;width:54px;height:54px;border:2px solid rgb(67 35 5 / 82%);border-radius:50%;background:linear-gradient(180deg,#ffe171,#d99219);box-shadow:inset 0 2px #ffffff5c,0 8px 16px #0000003d;transform:translate(-50%,-50%)}.mobile-skill-button{--skill-progress: 100%;right:max(26px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:grid;width:86px;height:86px;place-items:center;border:2px solid rgb(92 48 5 / 82%);border-radius:50%;background:radial-gradient(circle at 50% 36%,rgb(255 255 255 / 28%),transparent 32%),radial-gradient(circle at 50% 50%,#f1b327 0 61%,transparent 62%),conic-gradient(#ffe36a var(--skill-progress),rgb(77 68 48 / 72%) 0),linear-gradient(180deg,#ffe171,#d99219);box-shadow:inset 0 2px #ffffff61,0 12px 24px #00000047;color:#3b1c05;font-family:ZCOOL KuaiLe,Inter,sans-serif;font-size:21px;line-height:1}.mobile-skill-button span{position:relative;z-index:1}.mobile-skill-button.is-active{color:#3b1c05}.mobile-skill-button.is-cooling{border-color:#5c3005d1;background:radial-gradient(circle at 50% 36%,rgb(255 255 255 / 22%),transparent 32%),radial-gradient(circle at 50% 50%,#d79a1e 0 61%,transparent 62%),conic-gradient(#ffe36a var(--skill-progress),rgb(78 58 23 / 78%) 0),linear-gradient(180deg,#ffe171,#c77f13);color:#3b1c05}.mobile-skill-button:disabled{cursor:default}.mobile-skill-button:active{filter:brightness(1.1);transform:translateY(1px)}.orientation-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 42%,rgb(255 228 77 / 12%),transparent 34%),#050805db;text-align:center}.orientation-panel{display:grid;justify-items:center;gap:10px;max-width:360px;padding:28px 30px;border:2px solid var(--panel-border);background:linear-gradient(180deg,#231e10f5,#0c110bf5),#0c110b;box-shadow:0 24px 70px #0000007a}.orientation-icon{width:74px;height:46px;border:4px solid #ffe171;border-radius:12px;box-shadow:inset 0 0 0 2px #43230585,0 8px 18px #00000042}.orientation-panel h2{margin:6px 0 0;color:var(--gold);font-family:ZCOOL KuaiLe,Inter,sans-serif;font-size:32px;line-height:1}.orientation-panel p{margin:0;color:#f6fadfd1;font-size:16px}.settlement-overlay{position:fixed;inset:0;z-index:18;display:grid;place-items:center}.settlement-scrim{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgb(100 38 18 / 20%),transparent 34%),#00000094}.settlement-panel{position:relative;width:min(calc(430px * var(--ui-scale)),calc(100vw - 28px));padding:calc(28px * var(--ui-scale)) calc(30px * var(--ui-scale)) calc(26px * var(--ui-scale));border:2px solid var(--panel-border);background:linear-gradient(180deg,#231e10f5,#0c110bf5),#0c110b;box-shadow:0 24px 70px #0000007a;color:#f6fadfe0;text-align:center;pointer-events:auto}.settlement-kicker{margin:0 0 calc(8px * var(--ui-scale));color:#f7cf45;font-family:ZCOOL KuaiLe,Inter,sans-serif;font-size:calc(18px * var(--ui-scale))}.settlement-panel h2{margin:0 0 calc(22px * var(--ui-scale));color:#fff0a6;font-family:ZCOOL KuaiLe,Inter,sans-serif;font-size:calc(42px * var(--ui-scale));line-height:1}.settlement-stats{display:grid;gap:calc(10px * var(--ui-scale));margin-bottom:calc(24px * var(--ui-scale));border-top:1px solid rgb(255 232 141 / 20%);border-bottom:1px solid rgb(255 232 141 / 20%);padding:calc(14px * var(--ui-scale)) 0}.settlement-row{display:flex;align-items:center;justify-content:space-between;gap:calc(24px * var(--ui-scale));font-size:calc(16px * var(--ui-scale))}.settlement-row strong{color:#fff;font-size:calc(18px * var(--ui-scale))}.settlement-actions{display:flex;justify-content:center;gap:calc(12px * var(--ui-scale))}.settlement-actions .primary-action,.settlement-actions .secondary-action{min-width:calc(132px * var(--ui-scale));min-height:calc(44px * var(--ui-scale));font-size:calc(18px * var(--ui-scale))}.level-up-overlay{position:fixed;inset:0;z-index:22;display:grid;place-items:center;padding:calc(20px * var(--ui-scale))}.level-up-scrim{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgb(255 228 77 / 14%),transparent 34%),#0000008a}.level-up-panel{position:relative;display:grid;width:min(calc(760px * var(--ui-scale)),calc(100vw - 32px));gap:calc(14px * var(--ui-scale));padding:calc(24px * var(--ui-scale)) calc(26px * var(--ui-scale)) calc(28px * var(--ui-scale));border:2px solid var(--panel-border);background:linear-gradient(180deg,#231e10f5,#0c110bf5),#0c110b;box-shadow:0 24px 70px #0000007a;color:#f6fadfe0;pointer-events:auto}.level-up-kicker,.level-up-panel h2{margin:0;font-family:ZCOOL KuaiLe,Inter,sans-serif;letter-spacing:0;text-align:center}.level-up-kicker{color:#f7cf45;font-size:calc(18px * var(--ui-scale));line-height:1}.level-up-panel h2{color:#fff0a6;font-size:calc(38px * var(--ui-scale));line-height:1}.level-up-pending{display:flex;justify-content:center;gap:calc(8px * var(--ui-scale));margin:calc(-4px * var(--ui-scale)) 0 calc(4px * var(--ui-scale));color:#f6fadfb8;font-size:calc(14px * var(--ui-scale));line-height:1}.level-up-pending strong{color:var(--gold-soft);font-variant-numeric:tabular-nums}.upgrade-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(12px * var(--ui-scale))}.upgrade-card{--upgrade-accent: #ffe171;--upgrade-accent-dark: #d99219;--upgrade-border: rgb(255 232 141 / 30%);--upgrade-border-active: rgb(255 232 141 / 68%);--upgrade-glow: rgb(255 225 113 / 9%);display:grid;min-height:calc(120px * var(--ui-scale));grid-template-columns:auto minmax(0,1fr);align-content:start;gap:calc(8px * var(--ui-scale)) calc(9px * var(--ui-scale));padding:calc(16px * var(--ui-scale));border:1px solid var(--upgrade-border);background:radial-gradient(circle at 14% 18%,var(--upgrade-glow),transparent 38%),linear-gradient(180deg,#141c0ec2,#060b07d1),#070c08b8;box-shadow:inset 3px 0 0 var(--upgrade-accent),inset 0 1px #ffffff1a,0 12px 28px #0000003d;color:#f6fadfd1;cursor:pointer;text-align:left}.upgrade-card[data-upgrade-id=blade-count]{--upgrade-accent: #ffe171;--upgrade-accent-dark: #d99219;--upgrade-border: rgb(255 225 113 / 36%);--upgrade-border-active: rgb(255 225 113 / 72%);--upgrade-glow: rgb(255 225 113 / 10%)}.upgrade-card[data-upgrade-id=weapon-damage]{--upgrade-accent: #ff8a3d;--upgrade-accent-dark: #b9341f;--upgrade-border: rgb(255 138 61 / 34%);--upgrade-border-active: rgb(255 138 61 / 72%);--upgrade-glow: rgb(255 80 48 / 11%)}.upgrade-card[data-upgrade-id=max-health]{--upgrade-accent: #6ee084;--upgrade-accent-dark: #238c4d;--upgrade-border: rgb(110 224 132 / 34%);--upgrade-border-active: rgb(110 224 132 / 72%);--upgrade-glow: rgb(64 218 104 / 11%)}.upgrade-card:hover,.upgrade-card:focus-visible{border-color:var(--upgrade-border-active);background:radial-gradient(circle at 14% 18%,var(--upgrade-glow),transparent 42%),linear-gradient(180deg,#2e2a12d1,#0c1209e0),#070c08c7;outline:none;transform:translateY(-1px)}.upgrade-card:active{transform:translateY(1px)}.upgrade-card:disabled{cursor:wait;filter:saturate(.78) brightness(.78)}.upgrade-card-mark{width:calc(24px * var(--ui-scale));height:calc(24px * var(--ui-scale));align-self:center;border:1px solid rgb(255 232 141 / 36%);background:radial-gradient(circle at 50% 36%,rgb(255 255 255 / 24%),transparent 32%),linear-gradient(180deg,var(--upgrade-accent),var(--upgrade-accent-dark));box-shadow:inset 0 1px #ffffff52,0 8px 16px #0000003d,0 0 14px var(--upgrade-glow)}.upgrade-card-mark-blades{clip-path:polygon(50% 0,62% 35%,100% 50%,62% 65%,50% 100%,38% 65%,0 50%,38% 35%)}.upgrade-card-mark-damage{clip-path:polygon(46% 0,72% 0,58% 38%,100% 38%,36% 100%,48% 57%,8% 57%)}.upgrade-card-mark-health{clip-path:polygon(38% 0,62% 0,62% 38%,100% 38%,100% 62%,62% 62%,62% 100%,38% 100%,38% 62%,0 62%,0 38%,38% 38%)}.upgrade-card strong{align-self:center;color:var(--upgrade-accent);font-family:ZCOOL KuaiLe,Inter,sans-serif;font-size:calc(21px * var(--ui-scale));line-height:1.05}.upgrade-card span:last-child{grid-column:1 / -1;color:#f6fadfc2;font-size:calc(14px * var(--ui-scale));line-height:1.45}.settings-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center}.settings-scrim{position:absolute;inset:0;background:#0000008a}.settings-panel{position:relative;display:grid;width:min(calc(700px * var(--ui-scale)),calc(100vw - 32px));max-height:min(calc(620px * var(--ui-scale)),calc(100vh - 32px));grid-template-rows:auto minmax(0,1fr) auto;border:2px solid var(--panel-border);background:linear-gradient(180deg,#201e12f5,#0e120cf5),#0e120c;box-shadow:0 24px 70px #00000075}.settings-titlebar{display:flex;align-items:center;justify-content:space-between;min-height:calc(64px * var(--ui-scale));padding:calc(14px * var(--ui-scale)) calc(20px * var(--ui-scale)) calc(10px * var(--ui-scale)) calc(24px * var(--ui-scale));border-bottom:1px solid rgb(255 232 141 / 22%)}.settings-titlebar h2,.settings-section h3{margin:0;color:var(--gold);font-family:ZCOOL KuaiLe,Inter,sans-serif;letter-spacing:0}.settings-titlebar h2{font-size:calc(32px * var(--ui-scale))}.menu-body{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr)}.menu-tabs{display:flex;gap:calc(8px * var(--ui-scale));padding:calc(12px * var(--ui-scale)) calc(24px * var(--ui-scale)) 0;border-bottom:1px solid rgb(255 232 141 / 18%)}.menu-tab{min-width:calc(104px * var(--ui-scale));min-height:calc(40px * var(--ui-scale));padding:0 calc(18px * var(--ui-scale));border-color:#ffe88d47;border-bottom-color:transparent;background:#070c0885;color:#f6fadfc7;font-size:calc(18px * var(--ui-scale))}.menu-tab[aria-selected=true]{border-color:#5c3005d1;background:linear-gradient(180deg,#ffe171,#d99219);color:#351904}.close-button{width:calc(40px * var(--ui-scale));height:calc(40px * var(--ui-scale));border-color:#ffe88d57;background:#070c08a8;color:#fff0a6;font-size:calc(28px * var(--ui-scale));line-height:1}.settings-content{display:grid;gap:0;overflow:auto;padding:0 calc(18px * var(--ui-scale)) 0 calc(24px * var(--ui-scale));scrollbar-color:#ffe44d rgb(7 12 8 / 76%);scrollbar-gutter:stable;scrollbar-width:thin}.settings-content::-webkit-scrollbar{width:14px}.settings-content::-webkit-scrollbar-track{border-left:1px solid rgb(255 232 141 / 14%);background:#070c08c2}.settings-content::-webkit-scrollbar-thumb{border:3px solid rgb(7 12 8 / 76%);border-radius:999px;background:#ffe44d;box-shadow:0 0 10px #ffe44d6b}.settings-content::-webkit-scrollbar-thumb:hover{background:#fff27d}.character-content{min-height:0;padding:calc(24px * var(--ui-scale))}.character-layout{display:grid;min-height:calc(360px * var(--ui-scale));grid-template-columns:minmax(calc(220px * var(--ui-scale)),.9fr) minmax(calc(240px * var(--ui-scale)),1.1fr);gap:calc(24px * var(--ui-scale))}.character-showcase{display:grid;grid-template-rows:minmax(calc(258px * var(--ui-scale)),1fr) auto;gap:calc(12px * var(--ui-scale));min-height:calc(360px * var(--ui-scale))}.character-portrait-frame{display:grid;min-height:calc(240px * var(--ui-scale));place-items:center;border:1px solid rgb(255 232 141 / 22%);background:radial-gradient(circle at 50% 46%,rgb(255 228 77 / 16%),transparent 46%),#070c0861}.character-portrait-frame img{display:block;width:min(calc(180px * var(--ui-scale)),70%);max-height:calc(300px * var(--ui-scale));object-fit:contain;filter:drop-shadow(0 14px 18px rgb(0 0 0 / 34%))}.character-weapon-section{display:grid;gap:calc(8px * var(--ui-scale));justify-items:start}.character-weapon-section h3{margin:0;color:#ffdf4a;font-size:calc(20px * var(--ui-scale));line-height:1}.character-weapon-frame{display:grid;width:calc(128px * var(--ui-scale));height:calc(92px * var(--ui-scale));justify-self:start;place-items:center;border:1px solid rgb(255 232 141 / 28%);background:radial-gradient(circle at 50% 52%,rgb(255 228 77 / 14%),transparent 50%),#070c0875}.character-weapon-frame img{display:block;width:min(calc(92px * var(--ui-scale)),76%);max-height:calc(68px * var(--ui-scale));object-fit:contain;filter:drop-shadow(0 10px 14px rgb(0 0 0 / 36%))}.character-detail-placeholder{min-height:calc(320px * var(--ui-scale))}.settings-section{display:grid;gap:calc(12px * var(--ui-scale));padding:calc(18px * var(--ui-scale)) 0;border-bottom:1px solid rgb(255 232 141 / 16%)}.settings-section h3{font-size:calc(22px * var(--ui-scale))}.segmented-control{display:flex;flex-wrap:wrap;gap:calc(10px * var(--ui-scale))}.segmented-control button{min-width:calc(118px * var(--ui-scale));min-height:calc(40px * var(--ui-scale));padding:0 calc(18px * var(--ui-scale));border-color:#ffe88d47;background:#070c0885;color:#f6fadfc7;font-size:calc(17px * var(--ui-scale))}.segmented-control button[aria-pressed=true]{border-color:#5c3005d1;background:linear-gradient(180deg,#ffe171,#d99219);color:#351904}.keybind-grid{display:grid;grid-template-columns:minmax(calc(72px * var(--ui-scale)),1fr) minmax(calc(90px * var(--ui-scale)),1fr);gap:calc(10px * var(--ui-scale)) calc(16px * var(--ui-scale));max-width:calc(300px * var(--ui-scale));color:#f6fadfd6;font-size:calc(16px * var(--ui-scale))}.keybind-grid strong{color:#fff}.settings-footer{display:flex;justify-content:flex-end;padding:calc(16px * var(--ui-scale)) calc(24px * var(--ui-scale)) calc(22px * var(--ui-scale))}.settings-footer .secondary-action{min-height:calc(42px * var(--ui-scale));font-size:calc(18px * var(--ui-scale))}@media(pointer:coarse){html,body,#app{overscroll-behavior:none}#game-root canvas{touch-action:none}.mobile-joystick-zone{top:max(92px,env(safe-area-inset-top))}}@media(pointer:coarse)and (orientation:landscape){#hud-root:not(.is-hidden) .mobile-controls{display:block}.hud-status{top:max(8px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));min-width:118px;padding:7px 9px}.hud-title{margin-bottom:5px;font-size:15px}.hud-row{gap:14px;font-size:11px;line-height:1.35}.hud-row strong{font-size:12px}.wave-countdown{top:max(8px,env(safe-area-inset-top));gap:7px;padding:4px 11px 5px}.wave-countdown span{font-size:12px}.wave-countdown strong{font-size:26px}.minimap-shell{top:max(8px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:112px;height:112px}.icon-button{top:calc(max(8px,env(safe-area-inset-top)) + 120px);right:max(10px,env(safe-area-inset-right));width:112px;min-height:30px;font-size:13px}}@media(pointer:coarse)and (orientation:landscape)and (max-height:520px){.home-stage{min-height:calc(100vh - 16px);padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.home-copy h1{font-size:clamp(42px,11vw,72px)}.home-actions{width:min(240px,36vw)}.primary-action,.secondary-action{min-height:42px;font-size:20px}.preload-panel{width:min(340px,calc(100vw - 48px));padding:16px 18px 18px}.settings-panel{width:min(720px,calc(100vw - max(18px,env(safe-area-inset-left)) - max(18px,env(safe-area-inset-right))));height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))}.settings-titlebar{min-height:42px;padding:7px 14px 6px 16px}.settings-titlebar h2{font-size:22px}.close-button{width:34px;height:34px;font-size:24px}.menu-tabs{padding:6px 14px 0}.menu-tab{min-width:84px;min-height:30px;font-size:15px}.menu-panel{min-height:0;overflow:auto}.settings-content{padding:0 12px 0 16px}.settings-section{gap:7px;padding:10px 0}.settings-section h3{font-size:18px}.segmented-control{gap:8px}.segmented-control button{min-width:96px;min-height:34px;font-size:15px}.keybind-grid{gap:7px 14px;font-size:14px}.character-content{padding:10px 16px}.character-layout{min-height:0;grid-template-columns:minmax(132px,.38fr) minmax(120px,1fr);gap:14px}.character-showcase{min-height:0;align-content:start;grid-template-rows:104px auto;gap:7px}.character-portrait-frame{height:104px;min-height:0}.character-portrait-frame img{width:min(88px,68%);max-height:98px}.character-weapon-section h3{font-size:15px}.character-weapon-frame{width:82px;height:44px}.character-weapon-frame img{width:min(54px,72%);max-height:32px}.character-detail-placeholder{display:none}.settings-footer{padding:8px 16px 10px}.settings-footer .secondary-action{min-height:34px;font-size:16px}.settlement-panel{width:min(390px,calc(100vw - 48px));padding:20px 24px 22px}.settlement-panel h2{margin-bottom:16px;font-size:34px}.settlement-stats{gap:7px;margin-bottom:18px;padding:10px 0}.level-up-panel{width:min(720px,calc(100vw - 48px));gap:8px;padding:14px 16px 16px}.level-up-kicker{font-size:14px}.level-up-panel h2{font-size:26px}.level-up-pending{margin:-2px 0 2px;font-size:12px}.upgrade-card-grid{gap:8px}.upgrade-card{min-height:84px;gap:5px 7px;padding:10px}.upgrade-card-mark{width:18px;height:18px}.upgrade-card strong{font-size:16px}.upgrade-card span:last-child{font-size:12px;line-height:1.32}}@media(max-width:720px){.home-stage{min-height:calc(100vh - 24px);padding:36px 16px 40px}.home-hero{width:min(260px,64vw)}.hud-status{top:calc(10px * var(--ui-scale));left:calc(10px * var(--ui-scale));min-width:calc(118px * var(--ui-scale));padding:calc(8px * var(--ui-scale)) calc(10px * var(--ui-scale))}.hud-title{font-size:calc(16px * var(--ui-scale))}.minimap-shell{top:calc(10px * var(--ui-scale));right:calc(10px * var(--ui-scale));width:calc(128px * var(--ui-scale));height:calc(128px * var(--ui-scale))}.icon-button{top:calc(148px * var(--ui-scale));right:calc(10px * var(--ui-scale));width:calc(128px * var(--ui-scale))}.settlement-panel{padding:calc(24px * var(--ui-scale)) calc(20px * var(--ui-scale)) calc(22px * var(--ui-scale))}.settlement-actions{flex-direction:column}.level-up-panel{width:calc(100vw - 24px)}.upgrade-card-grid{grid-template-columns:1fr}.settings-panel{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.settings-titlebar{padding-left:calc(16px * var(--ui-scale))}.menu-tabs{padding:calc(10px * var(--ui-scale)) calc(16px * var(--ui-scale)) 0}.settings-content{padding:0 calc(16px * var(--ui-scale))}.character-content{padding:calc(16px * var(--ui-scale))}.character-layout{min-height:0;grid-template-columns:1fr}.character-showcase{min-height:0;grid-template-rows:minmax(220px,auto) auto}.character-detail-placeholder{display:none}.settings-footer{padding:calc(14px * var(--ui-scale)) calc(16px * var(--ui-scale)) calc(18px * var(--ui-scale))}}@media(pointer:coarse)and (orientation:landscape)and (max-height:520px)and (max-width:720px){.minimap-shell{top:max(8px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:112px;height:112px}.icon-button{top:calc(max(8px,env(safe-area-inset-top)) + 120px);right:max(10px,env(safe-area-inset-right));width:112px;min-height:30px;font-size:13px}.settings-panel{width:calc(100vw - max(18px,env(safe-area-inset-left)) - max(18px,env(safe-area-inset-right)));height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))}.settings-titlebar{min-height:42px;padding:7px 14px 6px 16px}.settings-titlebar h2{font-size:22px}.menu-tabs{padding:6px 14px 0}.menu-tab{min-width:84px;min-height:30px;font-size:15px}.character-content{padding:10px 16px}.character-layout{min-height:0;grid-template-columns:minmax(132px,.38fr) minmax(120px,1fr);gap:14px}.character-showcase{min-height:0;align-content:start;grid-template-rows:104px auto;gap:7px}.character-portrait-frame{height:104px;min-height:0}.character-portrait-frame img{width:min(88px,68%);max-height:98px}.character-detail-placeholder{display:none}.settings-footer{padding:8px 16px 10px}}@media(pointer:coarse)and (orientation:portrait){body.is-mobile-force-landscape{touch-action:none}body.is-mobile-force-landscape .home-screen,body.is-mobile-force-landscape .preload-overlay,body.is-mobile-force-landscape #hud-root,body.is-mobile-force-landscape .settlement-overlay,body.is-mobile-force-landscape .level-up-overlay,body.is-mobile-force-landscape .settings-overlay{inset:50% auto auto 50%;width:100dvh;height:100dvw;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center}body.is-mobile-force-landscape #game-root{inset:0 auto auto 0;width:100dvh;height:100dvw;overflow:visible}body.is-mobile-force-landscape #hud-root{overflow:hidden}body.is-mobile-force-landscape #game-root canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important;margin:0!important;transform:translate(100dvw) rotate(90deg);transform-origin:top left;touch-action:none}body.is-mobile-force-landscape .orientation-overlay{display:none!important}body.is-mobile-force-landscape .home-screen{min-height:100dvw}body.is-mobile-force-landscape .home-stage{width:min(760px,calc(100dvh - 32px));min-height:calc(100dvw - 16px);padding:max(24px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom))}body.is-mobile-force-landscape .home-copy h1{font-size:clamp(42px,11dvh,72px)}body.is-mobile-force-landscape .home-actions{width:min(240px,36dvh)}body.is-mobile-force-landscape .primary-action,body.is-mobile-force-landscape .secondary-action{min-height:42px;font-size:20px}body.is-mobile-force-landscape .preload-panel{width:min(340px,calc(100dvh - 48px));padding:16px 18px 18px}body.is-mobile-force-landscape .level-up-panel{width:min(720px,calc(100dvh - 48px));gap:8px;padding:14px 16px 16px}body.is-mobile-force-landscape .level-up-kicker{font-size:14px}body.is-mobile-force-landscape .level-up-panel h2{font-size:26px}body.is-mobile-force-landscape .level-up-pending{margin:-2px 0 2px;font-size:12px}body.is-mobile-force-landscape .upgrade-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}body.is-mobile-force-landscape .upgrade-card{min-height:84px;gap:5px 7px;padding:10px}body.is-mobile-force-landscape .upgrade-card-mark{width:18px;height:18px}body.is-mobile-force-landscape .upgrade-card strong{font-size:16px}body.is-mobile-force-landscape .upgrade-card span:last-child{font-size:12px;line-height:1.32}body.is-mobile-force-landscape #hud-root:not(.is-hidden) .mobile-controls{display:block}body.is-mobile-force-landscape .hud-status{top:max(8px,env(safe-area-inset-left));left:max(10px,env(safe-area-inset-bottom));min-width:118px;padding:7px 9px}body.is-mobile-force-landscape .hud-title{margin-bottom:5px;font-size:15px}body.is-mobile-force-landscape .hud-row{gap:14px;font-size:11px;line-height:1.35}body.is-mobile-force-landscape .hud-row strong{font-size:12px}body.is-mobile-force-landscape .wave-countdown{top:max(8px,env(safe-area-inset-left));gap:7px;padding:4px 11px 5px}body.is-mobile-force-landscape .wave-countdown span{font-size:12px}body.is-mobile-force-landscape .wave-countdown strong{font-size:26px}body.is-mobile-force-landscape .minimap-shell{top:max(8px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-top));width:112px;height:112px}body.is-mobile-force-landscape .icon-button{top:calc(max(8px,env(safe-area-inset-left)) + 120px);right:max(10px,env(safe-area-inset-top));width:112px;min-height:30px;font-size:13px}body.is-mobile-force-landscape .settings-panel{width:min(720px,calc(100dvh - 36px));height:calc(100dvw - 24px);max-height:calc(100dvw - 24px)}body.is-mobile-force-landscape .settings-titlebar{min-height:42px;padding:7px 14px 6px 16px}body.is-mobile-force-landscape .settings-titlebar h2{font-size:22px}body.is-mobile-force-landscape .close-button{width:34px;height:34px;font-size:24px}body.is-mobile-force-landscape .menu-tabs{padding:6px 14px 0}body.is-mobile-force-landscape .menu-tab{min-width:84px;min-height:30px;font-size:15px}body.is-mobile-force-landscape .settings-content{padding:0 12px 0 16px}body.is-mobile-force-landscape .settings-section{gap:7px;padding:10px 0}body.is-mobile-force-landscape .settings-section h3{font-size:18px}body.is-mobile-force-landscape .segmented-control{gap:8px}body.is-mobile-force-landscape .segmented-control button{min-width:96px;min-height:34px;font-size:15px}body.is-mobile-force-landscape .keybind-grid{gap:7px 14px;font-size:14px}body.is-mobile-force-landscape .character-content{padding:10px 16px}body.is-mobile-force-landscape .character-layout{min-height:0;grid-template-columns:minmax(132px,.38fr) minmax(120px,1fr);gap:14px}body.is-mobile-force-landscape .character-showcase{min-height:0;align-content:start;grid-template-rows:104px auto;gap:7px}body.is-mobile-force-landscape .character-portrait-frame{height:104px;min-height:0}body.is-mobile-force-landscape .character-portrait-frame img{width:min(88px,68%);max-height:98px}body.is-mobile-force-landscape .character-weapon-section h3{font-size:15px}body.is-mobile-force-landscape .character-weapon-frame{width:82px;height:44px}body.is-mobile-force-landscape .character-weapon-frame img{width:min(54px,72%);max-height:32px}body.is-mobile-force-landscape .character-detail-placeholder{display:none}body.is-mobile-force-landscape .settings-footer{padding:8px 16px 10px}body.is-mobile-force-landscape .settings-footer .secondary-action{min-height:34px;font-size:16px}body.is-mobile-force-landscape .settlement-panel{width:min(390px,calc(100dvh - 48px));padding:20px 24px 22px}body.is-mobile-force-landscape .settlement-panel h2{margin-bottom:16px;font-size:34px}body.is-mobile-force-landscape .settlement-stats{gap:7px;margin-bottom:18px;padding:10px 0}}
