:root{--bg-deep: #090d16;--panel-bg: rgba(15, 23, 42, .84);--panel-border: rgba(148, 163, 184, .26);--gold-accent: #fbbf24;--gold-bright: #fde047;--cyan-accent: #38bdf8;--emerald-accent: #34d399;--crimson-accent: #f43f5e;--violet-accent: #c084fc;--text-main: #f8fafc;--text-muted: #94a3b8;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Georgia", "Times New Roman", serif}*,*:before,*:after{box-sizing:border-box;user-select:none;-webkit-user-select:none}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--bg-deep);color:var(--text-main);font-family:var(--font-sans);touch-action:none}#app{position:relative;width:100vw;height:100dvh;overflow:hidden}#canvas-container{position:absolute;inset:0;z-index:1}#canvas-container canvas{display:block;width:100%!important;height:100%!important}#floating-text-layer{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.floating-text{position:absolute;transform:translate(-50%,-50%);font-weight:800;font-size:.92rem;letter-spacing:.02em;text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.75);white-space:nowrap;animation:floatUpFade .95s cubic-bezier(.16,1,.3,1) forwards}.floating-text.big{font-size:1.18rem;animation-duration:1.25s}@keyframes floatUpFade{0%{opacity:0;transform:translate(-50%,-20%) scale(.75)}18%{opacity:1;transform:translate(-50%,-55%) scale(1.06)}to{opacity:0;transform:translate(-50%,-155%) scale(.95)}}.splash-screen{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#070b12;transition:opacity .42s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1)}.splash-screen.hidden{opacity:0;pointer-events:none;transform:scale(1.03)}.splash-media-wrap{position:absolute;inset:0;z-index:0;overflow:hidden}.splash-hero-img{width:100%;height:100%;object-fit:cover;object-position:28% center;display:block;filter:saturate(1.08) contrast(1.04);transform:scale(1.02);animation:splashHeroBreath 18s ease-in-out infinite alternate}@keyframes splashHeroBreath{0%{transform:scale(1.01) translateZ(0)}to{transform:scale(1.055) translate3d(-1.2%,-.8%,0)}}.splash-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#070b122e,#070b1214 42%,#070b12b8 68%,#070b12eb),linear-gradient(180deg,#070b1294,#070b120d 24%,#070b121f 72%,#070b12e0)}.splash-shell{position:relative;z-index:2;width:100%;height:100%;padding:clamp(.85rem,2.2vw,1.65rem) clamp(1rem,3vw,2.4rem);display:flex;flex-direction:column;justify-content:space-between;gap:.85rem;overflow-y:auto}.splash-top-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem}.splash-brand-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.36rem .85rem;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.12em;color:var(--gold-bright);background:#090d16d1;border:1px solid rgba(251,191,36,.48);backdrop-filter:blur(10px);box-shadow:0 8px 24px #00000080}.splash-status-pills{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.splash-stat-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .78rem;border-radius:999px;font-size:.74rem;font-weight:800;color:#e2e8f0;background:#0f172ad1;border:1px solid rgba(148,163,184,.35);backdrop-filter:blur(10px)}.splash-stat-pill.is-gold{color:var(--gold-bright);border-color:#fbbf248c;background:#451a03c7}.splash-hero-panel{align-self:flex-end;margin:auto 0;width:min(540px,94vw);padding:clamp(1.15rem,2.2vw,1.75rem);border-radius:22px;background:linear-gradient(160deg,#0f172adb,#090d16f0);border:1px solid rgba(251,191,36,.46);backdrop-filter:blur(14px);box-shadow:0 28px 70px #000000c7,0 0 0 1px #fbbf2429 inset;display:flex;flex-direction:column;gap:.82rem}.splash-kicker{font-size:.7rem;font-weight:900;letter-spacing:.14em;color:var(--gold-accent);text-transform:uppercase}.splash-title{margin:-.2rem 0 0;font-size:clamp(1.85rem,3.4vw,2.75rem);font-weight:900;line-height:1.06;letter-spacing:-.025em;background:linear-gradient(180deg,#fff,#fde68a 65%,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 10px 28px rgba(0,0,0,.55)}.splash-subtitle{margin:0;font-size:.88rem;line-height:1.46;color:#cbd5e1}.splash-epigraph{margin:0;padding:.62rem .85rem;border-left:3px solid var(--gold-accent);border-radius:0 12px 12px 0;background:#1e293b9e;font-family:var(--font-serif);font-size:.8rem;line-height:1.42;color:#f1f5f9}.splash-epigraph cite{display:block;margin-top:.28rem;font-family:var(--font-sans);font-style:normal;font-size:.72rem;font-weight:800;color:var(--gold-bright)}.splash-pillars{display:grid;grid-template-columns:1fr;gap:.45rem}.splash-pillar{display:flex;align-items:center;gap:.65rem;padding:.48rem .7rem;border-radius:12px;background:#0f172ab8;border:1px solid rgba(148,163,184,.22)}.splash-pillar-icon{font-size:1.25rem;line-height:1}.splash-pillar div{display:flex;flex-direction:column;gap:.06rem}.splash-pillar strong{font-size:.78rem;font-weight:800;color:#f8fafc}.splash-pillar span{font-size:.71rem;color:var(--text-muted)}.splash-actions{display:flex;flex-direction:column;gap:.55rem;margin-top:.15rem}.splash-btn-primary{appearance:none;width:100%;padding:.82rem 1.2rem;border-radius:14px;border:1.5px solid #fde047;background:linear-gradient(135deg,#f59e0b,#d97706 55%,#b45309);color:#090d16;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.18rem;font-family:inherit;box-shadow:0 12px 30px #f59e0b61,0 0 0 1px #fef08a66 inset;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.splash-btn-primary:hover{transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 16px 36px #f59e0b85,0 0 0 2px #fef08a inset}.splash-btn-main{font-size:1.12rem;font-weight:900;letter-spacing:.02em;color:#090d16}.splash-btn-sub{font-size:.74rem;font-weight:800;color:#090d16db}.splash-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:.52rem}.splash-btn-secondary{appearance:none;padding:.64rem .85rem;border-radius:12px;border:1px solid rgba(148,163,184,.38);background:#1e293be0;color:var(--text-main);font-family:inherit;font-size:.8rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:transform .14s ease,border-color .14s ease,background .14s ease}.splash-btn-secondary:hover{transform:translateY(-1px);border-color:var(--gold-accent);background:#334155f2}.splash-btn-secondary.is-armory{border-color:#fbbf2485;background:linear-gradient(135deg,#78350f7a,#1e293beb);color:var(--gold-bright)}.splash-readiness-row{display:flex;flex-direction:column;gap:.32rem;padding-top:.2rem}.splash-ready-track{width:100%;height:6px;border-radius:999px;background:#1e293be6;overflow:hidden;border:1px solid rgba(148,163,184,.22)}.splash-ready-fill{height:100%;background:linear-gradient(90deg,var(--gold-accent),var(--emerald-accent));transition:width .25s ease}.splash-ready-text{font-size:.72rem;font-weight:700;color:var(--emerald-accent);text-align:center}.splash-footer-note{font-size:.68rem;color:#cbd5e1c7;text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.9)}@media(max-width:900px){.splash-scrim{background:linear-gradient(180deg,#070b1273,#070b121a 28%,#070b12d1 60%,#070b12f5)}.splash-hero-img{object-position:34% 18%}.splash-hero-panel{align-self:center;margin-top:auto;margin-bottom:0;padding:1rem;gap:.62rem}.splash-epigraph{display:none}.splash-secondary-actions{grid-template-columns:1fr}}.loading-overlay{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#1e293bf0,#090d16fa);backdrop-filter:blur(12px);transition:opacity .35s ease}.loading-overlay.hidden{opacity:0;pointer-events:none}.loading-card{width:min(460px,90vw);padding:2rem 1.8rem;border-radius:18px;background:#0f172aeb;border:1px solid rgba(251,191,36,.35);box-shadow:0 24px 60px #000000a6;text-align:center}.loading-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--gold-bright);background:#fbbf2424;border:1px solid rgba(251,191,36,.35)}.loading-title{margin:.7rem 0 .25rem;font-size:1.75rem;font-weight:900;letter-spacing:-.02em}.loading-subtitle{margin:0 0 1.25rem;font-size:.92rem;color:var(--text-muted)}.loading-bar-track{width:100%;height:10px;border-radius:999px;background:#1e293be6;overflow:hidden;border:1px solid rgba(148,163,184,.25)}.loading-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold-accent),var(--emerald-accent));transition:width .2s ease}.loading-status-text{margin-top:.75rem;font-size:.82rem;color:var(--text-muted)}.hud-top{position:absolute;top:.65rem;left:.75rem;right:.75rem;z-index:12;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem;pointer-events:none}.hud-brand-cluster,.hud-vitals-cluster,.hud-controls-cluster{display:flex;align-items:center;gap:.45rem;pointer-events:auto}.hud-pill-btn,.hud-icon-btn,.hud-action-pill{appearance:none;border:1px solid var(--panel-border);background:var(--panel-bg);backdrop-filter:blur(10px);color:var(--text-main);border-radius:12px;padding:.42rem .75rem;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;transition:transform .14s ease,border-color .14s ease,background .14s ease}.hud-pill-btn:hover,.hud-icon-btn:hover,.hud-action-pill:hover:not(:disabled){transform:translateY(-1px);border-color:#fbbf24a6;background:#1e293beb}.hud-campaign-btn{flex-direction:column;align-items:flex-start;gap:.08rem;padding:.35rem 1.8rem .35rem .8rem;position:relative}.pill-kicker{font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-accent)}.pill-chevron{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);color:var(--gold-accent)}.hud-vitals-cluster{flex:1 1 360px;justify-content:center;max-width:620px}.vital-meter{flex:1 1 140px;background:var(--panel-bg);backdrop-filter:blur(10px);border:1px solid var(--panel-border);border-radius:11px;padding:.32rem .6rem}.vital-label{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;margin-bottom:.22rem}.vital-label span{color:var(--text-muted);font-weight:600}.meter-track{width:100%;height:7px;border-radius:999px;background:#0f172af2;overflow:hidden}.meter-fill{height:100%;border-radius:999px;transition:width .18s ease}.stronghold-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.hero-fill{background:linear-gradient(90deg,#10b981,#34d399)}.xp-fill{background:linear-gradient(90deg,#38bdf8,#818cf8)}.gold-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .8rem;border-radius:12px;background:#fbbf2429;border:1px solid rgba(251,191,36,.48);color:var(--gold-bright);font-size:.95rem;font-weight:900}.rush-wave-btn{background:linear-gradient(135deg,#f59e0b42,#ea580c52);border-color:#fbbf24a6;color:var(--gold-bright)}.rush-wave-btn:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.45)}.rush-wave-btn:not(:disabled){animation:pulseRush 1.6s infinite ease-in-out}@keyframes pulseRush{0%,to{box-shadow:0 0 #fbbf2473}50%{box-shadow:0 0 16px 3px #fbbf2473}}kbd{display:inline-block;padding:.08rem .34rem;border-radius:5px;font-size:.66rem;font-weight:800;background:#0f172ad9;border:1px solid rgba(148,163,184,.35);color:var(--text-main)}.scripture-ribbon{position:absolute;top:4.1rem;left:.75rem;z-index:11;width:min(430px,calc(100vw - 1.5rem));background:#0f172ae0;backdrop-filter:blur(12px);border:1px solid rgba(251,191,36,.35);border-radius:14px;padding:.65rem .85rem;box-shadow:0 14px 32px #00000073;transition:opacity .22s ease,transform .22s ease}.scripture-ribbon.collapsed{opacity:0;transform:translateY(-8px);pointer-events:none}.scripture-ribbon-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.78rem;color:var(--gold-accent)}.ribbon-subtitle{color:var(--text-muted);font-size:.74rem;flex:1;text-align:right;margin-right:.35rem}.ribbon-close-btn{appearance:none;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.82rem;padding:.1rem .3rem}.ribbon-verse-text{margin:.4rem 0 .35rem;font-family:var(--font-serif);font-size:.8rem;line-height:1.42;color:#f1f5f9;user-select:text;-webkit-user-select:text}.ribbon-tactical-brief{margin:0;font-size:.72rem;color:var(--cyan-accent);font-weight:600}.boss-banner{position:absolute;top:4.1rem;left:50%;transform:translate(-50%);z-index:12;width:min(460px,88vw);background:#2d0a16e6;border:1px solid rgba(244,63,94,.65);border-radius:12px;padding:.42rem .85rem;box-shadow:0 10px 28px #0000008c}.boss-banner-title{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;margin-bottom:.28rem}.boss-banner-title span:first-child{color:#fda4af;font-weight:800;letter-spacing:.08em}.boss-bar-track{width:100%;height:9px;border-radius:999px;background:#0f172ae6;overflow:hidden}.boss-bar-fill{height:100%;background:linear-gradient(90deg,#e11d48,#fb7185);transition:width .15s ease}.wave-toast{position:absolute;top:22%;left:50%;transform:translate(-50%,-50%);z-index:10;text-align:center;padding:.65rem 1.5rem;border-radius:14px;background:#0f172adb;border:1px solid rgba(251,191,36,.55);box-shadow:0 18px 40px #0009;pointer-events:none}.wave-toast-kicker{font-size:.72rem;font-weight:900;letter-spacing:.14em;color:var(--gold-accent)}.wave-toast-title{font-size:1.25rem;font-weight:900;margin-top:.15rem}.hud-bottom{position:absolute;bottom:1.55rem;left:.75rem;right:.75rem;z-index:12;display:flex;align-items:flex-end;justify-content:space-between;gap:.65rem;pointer-events:none}.hud-bottom-left,.command-dock,.tower-builder-dock{pointer-events:auto}.hud-bottom-left{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start}.joystick-zone{display:flex;flex-direction:column;align-items:center;gap:.25rem}.joystick-base{width:92px;height:92px;border-radius:50%;background:#0f172aad;border:2px solid rgba(56,189,248,.45);position:relative;display:flex;align-items:center;justify-content:center;cursor:grab;box-shadow:inset 0 0 18px #38bdf82e}.joystick-stick{width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#7dd3fc,#0284c7);border:2px solid #e0f2fe;box-shadow:0 4px 12px #0000008c;transition:transform .05s linear}.joystick-hint{font-size:.66rem;font-weight:700;color:var(--text-muted);background:#0f172abf;padding:.14rem .48rem;border-radius:999px}.active-perks-strip{display:flex;flex-wrap:wrap;gap:.28rem;max-width:220px}.perk-chip{display:inline-flex;align-items:center;gap:.22rem;padding:.16rem .45rem;border-radius:8px;background:#0f172adb;border:1px solid rgba(148,163,184,.3);font-size:.68rem;font-weight:700}.command-dock,.tower-builder-dock{background:var(--panel-bg);backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:14px;padding:.48rem .62rem;box-shadow:0 12px 30px #0000007a}.dock-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.34rem}.dock-section-title{display:block;font-size:.65rem;font-weight:900;letter-spacing:.09em;color:var(--gold-accent);margin-bottom:.32rem}.dock-header-row .dock-section-title{margin-bottom:0}.sell-tower-btn{appearance:none;border:1px solid rgba(244,63,94,.55);background:#f43f5e2e;color:#fda4af;border-radius:7px;padding:.12rem .45rem;font-size:.66rem;font-weight:800;cursor:pointer}.command-buttons,.tower-buttons-grid{display:grid;grid-template-columns:repeat(4,minmax(76px,1fr));gap:.42rem}.command-card,.tower-card{position:relative;appearance:none;border:1px solid rgba(148,163,184,.28);background:#1e293bd9;color:var(--text-main);border-radius:11px;padding:.42rem .4rem .36rem;display:flex;flex-direction:column;align-items:center;gap:.12rem;cursor:pointer;font-family:inherit;transition:transform .12s ease,border-color .12s ease,background .12s ease}.command-card:hover:not(:disabled),.tower-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--gold-accent);background:#334155eb}.command-card:disabled,.tower-card:disabled{opacity:.45;cursor:not-allowed}.retinue-card{border-color:#34d39973}.ultimate-card{border-color:#fbbf248c;background:linear-gradient(180deg,#451a03a6,#1e293be6)}.cmd-hotkey{position:absolute;top:4px;right:5px;font-size:.58rem;font-weight:800;padding:.05rem .28rem;border-radius:4px;background:#0f172ad9;color:var(--text-muted)}.cmd-icon,.tower-icon{font-size:1.2rem;line-height:1}.cmd-title,.tower-name{font-size:.7rem;font-weight:800;white-space:nowrap}.cmd-sub,.tower-tier{font-size:.62rem;color:var(--cyan-accent);font-weight:700}.cmd-cost,.tower-cost{font-size:.64rem;font-weight:800;color:var(--gold-bright)}.unofficial-footer{position:absolute;bottom:.22rem;left:0;right:0;z-index:8;text-align:center;font-size:.64rem;color:#94a3b8b8;pointer-events:none}.game-dialog{border:1px solid rgba(251,191,36,.42);border-radius:18px;padding:0;background:#0f172af5;color:var(--text-main);max-width:min(860px,94vw);max-height:88dvh;box-shadow:0 28px 70px #000000c7;opacity:0;transform:translateY(14px) scale(.96)}.game-dialog::backdrop{background:#05081000;backdrop-filter:blur(0px)}.game-dialog[open]:where(:not([data-closing])){opacity:1;transform:translateY(0) scale(1)}.game-dialog[open]:where(:not([data-closing]))::backdrop{background:#050810bd;backdrop-filter:blur(6px)}@media(prefers-reduced-motion:no-preference){.game-dialog,.game-dialog::backdrop{transition:opacity .24s cubic-bezier(.16,1,.3,1),transform .24s cubic-bezier(.16,1,.3,1),background-color .24s ease,backdrop-filter .24s ease,display .24s allow-discrete,overlay .24s allow-discrete}@starting-style{.game-dialog[open]:where(:not([data-closing])){opacity:0;transform:translateY(14px) scale(.96)}.game-dialog[open]:where(:not([data-closing]))::backdrop{background:#05081000;backdrop-filter:blur(0px)}}}.dialog-panel{padding:1.35rem 1.5rem;overflow-y:auto;max-height:86dvh}.dialog-header-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dialog-kicker{font-size:.7rem;font-weight:900;letter-spacing:.12em;color:var(--gold-accent);text-transform:uppercase}.dialog-title{margin:.2rem 0 .3rem;font-size:1.45rem;font-weight:900}.dialog-subtitle{margin:0 0 1.1rem;font-size:.86rem;color:var(--text-muted)}.dialog-close-btn{appearance:none;border:1px solid var(--panel-border);background:#1e293be6;color:var(--text-main);border-radius:10px;padding:.42rem .85rem;font-weight:700;cursor:pointer}.perk-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem}.perk-card-btn{appearance:none;border:1px solid rgba(251,191,36,.4);background:linear-gradient(180deg,#1e293bf2,#0f172af2);color:var(--text-main);border-radius:14px;padding:1.1rem 1rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.45rem;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.perk-card-btn:hover{transform:translateY(-4px);border-color:var(--gold-bright);box-shadow:0 12px 28px #fbbf2438}.perk-card-top{display:flex;align-items:center;justify-content:space-between}.perk-card-icon{font-size:1.9rem}.perk-card-category{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.18rem .5rem;border-radius:999px;background:#38bdf829;color:var(--cyan-accent)}.perk-card-title{font-size:1.02rem;font-weight:900}.perk-card-desc{font-size:.8rem;line-height:1.4;color:var(--text-muted)}.outcome-summary-box{margin-bottom:1.15rem;padding:1rem 1.15rem;border-radius:14px;background:#1e293be6;border:1px solid rgba(251,191,36,.5)}.outcome-header{display:flex;align-items:center;justify-content:space-between;font-size:1.15rem;margin-bottom:.4rem}.outcome-scripture-quote{margin:0 0 .85rem;font-family:var(--font-serif);font-size:.84rem;color:#e2e8f0;line-height:1.45}.outcome-actions{display:flex;gap:.65rem}.outcome-btn{appearance:none;border-radius:10px;padding:.5rem 1rem;font-weight:800;cursor:pointer;border:1px solid var(--panel-border)}.outcome-btn.primary{background:var(--gold-accent);color:#0f172a;border-color:var(--gold-bright)}.outcome-btn.secondary{background:#334155e6;color:var(--text-main)}.campaign-levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:.75rem}.level-select-card{appearance:none;text-align:left;border:1px solid rgba(148,163,184,.28);background:#1e293bd1;color:var(--text-main);border-radius:13px;padding:.8rem .9rem;cursor:pointer;display:flex;flex-direction:column;gap:.28rem;transition:transform .14s ease,border-color .14s ease}.level-select-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--gold-accent)}.level-select-card.active{border-color:var(--gold-bright);box-shadow:0 0 0 2px #fbbf244d}.level-select-card:disabled,.level-select-card.is-locked{opacity:.56;cursor:not-allowed;background:#0f172ab8;border-color:#64748b3d;filter:saturate(.45)}.level-select-card.is-locked .level-card-status{color:#94a3b8;background:#1e293be6;border:1px solid rgba(148,163,184,.3);padding:.08rem .42rem;border-radius:999px;font-size:.62rem}.level-card-lock-note{margin-top:.22rem;padding-top:.32rem;border-top:1px dashed rgba(148,163,184,.24);font-size:.68rem;font-weight:800;color:#fbbf24}.level-card-header{display:flex;justify-content:space-between;font-size:.68rem;font-weight:800;color:var(--gold-accent)}.level-card-title{font-size:.92rem;font-weight:900}.level-card-hero{font-size:.75rem;color:var(--emerald-accent);font-weight:700}.level-card-scripture{font-size:.72rem;color:var(--text-muted)}.pause-dialog{max-width:min(920px,95vw);max-height:92dvh}.pause-panel{display:flex;flex-direction:column;gap:.65rem;padding:1.1rem 1.35rem;max-height:90dvh}.pause-panel .dialog-header-bar{margin-bottom:.15rem}.pause-subtitle{margin:.15rem 0 0;font-size:.85rem;color:var(--cyan-accent);font-weight:700}.pause-resume-btn{border-color:var(--gold-accent);background:#fbbf2438;color:var(--gold-bright);font-weight:800}.pause-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem}.pause-card{background:#1e293be0;border:1px solid rgba(148,163,184,.32);border-radius:14px;padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.72rem}.pause-hero-card{border-color:#fbbf2473;background:linear-gradient(180deg,#1e293bf2,#0f172af2)}.pause-scripture-card{border-color:#38bdf873;background:linear-gradient(180deg,#0f172af5,#1e293beb)}.pause-card-kicker{font-size:.68rem;font-weight:900;letter-spacing:.11em;color:var(--gold-accent);text-transform:uppercase}.pause-hero-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.pause-hero-name{margin:0;font-size:1.25rem;font-weight:900;color:#f8fafc}.pause-hero-title{margin:.1rem 0 0;font-size:.8rem;color:var(--emerald-accent);font-weight:700}.pause-weapon-badge{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;background:#fbbf242e;border:1px solid rgba(251,191,36,.55);color:var(--gold-bright);font-size:.74rem;font-weight:800}.pause-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.pause-stat-box{background:#0f172ac7;border:1px solid rgba(148,163,184,.24);border-radius:10px;padding:.5rem .65rem;display:flex;flex-direction:column;gap:.16rem}.pause-stat-label{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.pause-stat-val{font-size:.78rem;font-weight:800;color:#f1f5f9}.pause-ability-block{background:#0f172ad1;border:1px solid rgba(56,189,248,.34);border-radius:11px;padding:.65rem .8rem;display:flex;flex-direction:column;gap:.24rem}.pause-ability-block.ultimate-block{border-color:#fbbf2485;background:linear-gradient(180deg,#451a036b,#0f172ae0)}.pause-ability-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pause-ability-tag{font-size:.64rem;font-weight:900;letter-spacing:.08em;color:var(--cyan-accent);text-transform:uppercase}.pause-ability-block.ultimate-block .pause-ability-tag{color:var(--gold-accent)}.pause-ability-cd{font-size:.68rem;font-weight:800;color:var(--gold-bright)}.pause-ability-title{font-size:.92rem;font-weight:900;color:#f8fafc}.pause-ability-desc{margin:0;font-size:.78rem;line-height:1.42;color:#cbd5e1}.pause-scripture-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pause-scripture-subtitle{font-size:.82rem;font-weight:800;color:#e2e8f0}.pause-scripture-quote{margin:0;padding:.65rem .85rem;border-left:3px solid var(--gold-accent);background:#0f172ab8;border-radius:0 10px 10px 0;font-family:var(--font-serif);font-size:.85rem;line-height:1.5;color:#f8fafc}.pause-secondary-verse{background:#0f172a94;border:1px solid rgba(148,163,184,.22);border-radius:10px;padding:.55rem .75rem}.pause-secondary-ref{display:block;font-size:.72rem;font-weight:800;color:var(--gold-accent);margin-bottom:.2rem}.pause-secondary-quote{margin:0;font-family:var(--font-serif);font-size:.78rem;line-height:1.45;color:#cbd5e1}.pause-tips-box{background:#0284c724;border:1px solid rgba(56,189,248,.42);border-radius:11px;padding:.68rem .82rem;display:flex;flex-direction:column;gap:.3rem}.pause-tips-kicker{font-size:.66rem;font-weight:900;letter-spacing:.09em;color:var(--cyan-accent);text-transform:uppercase}.pause-tactical-brief{margin:0;font-size:.8rem;font-weight:700;line-height:1.42;color:#f1f5f9}.pause-breach-hint{margin:0;font-size:.75rem;line-height:1.4;color:var(--gold-bright)}.pause-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;padding-top:.35rem;border-top:1px solid rgba(148,163,184,.22)}.hud-pause-btn{border-color:#fbbf248c;background:#fbbf2429;color:var(--gold-bright)}.pad-badges-layer{position:absolute;inset:0;pointer-events:none;z-index:9}.pad-map-badge{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;appearance:none;border:1.5px solid rgba(251,191,36,.75);background:#0f172ae0;color:#f8fafc;border-radius:999px;padding:.22rem .56rem;font-size:.72rem;font-weight:800;display:inline-flex;align-items:center;gap:.26rem;cursor:pointer;box-shadow:0 6px 16px #000000a6;white-space:nowrap;touch-action:manipulation;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.pad-map-badge:hover{transform:translate(-50%,-108%) scale(1.06);border-color:#38bdf8}.pad-map-badge.is-built{border-color:#34d399d1;background:#0f172aeb}.pad-map-badge.can-upgrade{border-color:#fde047;box-shadow:0 0 0 2px #facc1559,0 8px 20px #facc1559}.pad-map-badge.is-selected{border-color:#38bdf8;background:linear-gradient(135deg,#0369a1f5,#0f172af5);box-shadow:0 0 0 3px #38bdf87a,0 10px 26px #000c;transform:translate(-50%,-115%) scale(1.08);z-index:15}.badge-up{background:linear-gradient(180deg,#fde047,#f59e0b);color:#0f172a;border-radius:999px;padding:.05rem .36rem;font-size:.65rem;font-weight:900}.pad-radial-menu{position:absolute;width:236px;height:236px;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed rgba(56,189,248,.65);background:radial-gradient(circle,rgba(15,23,42,.55) 0%,rgba(15,23,42,.18) 68%,transparent 72%);z-index:18;pointer-events:none}.radial-center-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:128px;min-height:76px;border-radius:16px;background:#0f172af2;border:2px solid #38bdf8;box-shadow:0 0 24px #38bdf859,0 10px 28px #000000c7;padding:.42rem .5rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;pointer-events:auto}.radial-center-hub.is-tower-hub{border-color:#fde047;box-shadow:0 0 28px #facc1573,0 12px 30px #000000d9}.radial-hub-selected-pill{font-size:.54rem;font-weight:900;letter-spacing:.1em;background:linear-gradient(90deg,#38bdf8,#fde047);color:#0f172a;padding:.06rem .42rem;border-radius:999px}.radial-hub-kicker{font-size:.64rem;font-weight:900;color:#f8fafc}.radial-hub-rec{font-size:.6rem;font-weight:800;color:#fde047}.radial-hub-title{font-size:.72rem;font-weight:900;color:#f8fafc}.radial-hub-stars{color:#fde047}.radial-hub-stats{font-size:.62rem;font-weight:800;color:#38bdf8}.radial-hub-next{font-size:.58rem;font-weight:700;color:#bbf7d0;line-height:1.2}.radial-close-btn{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(148,163,184,.6);background:#0f172a;color:#cbd5e1;font-size:.65rem;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.radial-node-btn{position:absolute;pointer-events:auto;appearance:none;min-width:78px;padding:.34rem .48rem;border-radius:13px;border:2px solid rgba(148,163,184,.55);background:#0f172af2;color:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;cursor:pointer;box-shadow:0 10px 24px #000000bf;touch-action:manipulation;transition:transform .12s ease,border-color .12s ease,background .12s ease}.radial-node-btn.is-affordable{border-color:#38bdf8}.radial-node-btn.is-recommended{border-color:#fde047;box-shadow:0 0 0 2px #facc1559,0 10px 24px #000c}.radial-node-btn:disabled{opacity:.48;cursor:not-allowed}.radial-node-btn.slot-top{top:0;left:50%;transform:translate(-50%,-28%)}.radial-node-btn.slot-top-left{top:-10px;left:-6px;transform:translate(-38%,-32%)}.radial-node-btn.slot-top-right{top:-10px;right:-6px;transform:translate(38%,-32%)}.radial-node-btn.slot-right{top:50%;right:0;transform:translate(32%,-50%)}.radial-node-btn.slot-bottom{bottom:0;left:50%;transform:translate(-50%,28%)}.radial-node-btn.slot-left{top:50%;left:0;transform:translate(-32%,-50%)}.radial-upgrade-btn{min-width:138px;border-color:#fde047;background:linear-gradient(180deg,#78350ff5,#0f172af5);box-shadow:0 0 0 3px #facc1561,0 12px 28px #000000d9}.radial-branch-btn{min-width:132px;max-width:156px;padding:.36rem .52rem;border-color:#38bdf8;background:linear-gradient(180deg,#0c4a6ef5,#0f172af7);box-shadow:0 0 0 2px #38bdf85c,0 12px 28px #000000d9}.radial-branch-btn.branch-path-b{border-color:#34d399;background:linear-gradient(180deg,#064e3bf5,#0f172af7);box-shadow:0 0 0 2px #34d3995c,0 12px 28px #000000d9}.radial-branch-tag{font-size:.48rem;font-weight:900;letter-spacing:.08em;color:#fde047;text-transform:uppercase}.radial-branch-sub{font-size:.53rem;font-weight:700;color:#cbd5e1;text-align:center;line-height:1.15;white-space:normal}.radial-rally-btn{min-width:96px;border-color:#fbbf24;background:linear-gradient(180deg,#92400ef2,#0f172af5);box-shadow:0 0 0 2px #fbbf245c,0 10px 24px #000c}.rally-map-badge{border-color:#fbbf24;background:#451a03eb;color:#fde047}.objective-map-badge{border-color:#fb923c;background:linear-gradient(135deg,#7c2d12f2,#0f172af2);color:#fed7aa;pointer-events:none;box-shadow:0 0 0 2px #f9731661,0 8px 22px #000000c7}.armory-hud-btn{border-color:#fbbf2499;background:linear-gradient(135deg,#78350f8c,#0f172ae6);color:var(--gold-bright)}.armory-star-pill{background:#fbbf243d;border:1px solid rgba(251,191,36,.65);color:#fde047;padding:.04rem .38rem;border-radius:999px;font-size:.72rem;font-weight:900}.rally-placement-banner[hidden],.watchfire-buff-banner[hidden],[hidden]{display:none!important}.rally-placement-banner,.watchfire-buff-banner{position:absolute;top:4.1rem;left:50%;transform:translate(-50%);z-index:14;display:inline-flex;align-items:center;gap:.65rem;padding:.45rem .95rem;border-radius:999px;background:#451a03f0;border:1.5px solid #fbbf24;color:#fef3c7;font-size:.78rem;font-weight:700;box-shadow:0 10px 26px #000000ad;white-space:nowrap}.watchfire-buff-banner{top:6.45rem;background:#7c2d12eb;border-color:#fb923c;color:#ffedd5;pointer-events:none}.rally-cancel-btn{appearance:none;border:1px solid rgba(248,250,252,.45);background:#0f172ae6;color:#f8fafc;border-radius:999px;padding:.16rem .6rem;font-size:.72rem;font-weight:800;cursor:pointer}.armory-dialog{max-width:min(1240px,96vw);max-height:92dvh}.armory-panel{max-height:90dvh;padding:1.15rem 1.35rem}.armory-summary-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.68rem .95rem;margin-bottom:.9rem;border-radius:13px;background:#1e293beb;border:1px solid rgba(251,191,36,.48)}.armory-star-tally{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.armory-star-label{font-size:.74rem;font-weight:900;letter-spacing:.08em;color:var(--gold-accent)}.armory-star-count{font-size:1.25rem;font-weight:900;color:var(--gold-bright)}.armory-star-sub{font-size:.76rem;color:var(--text-muted)}.armory-upgrades-grid{display:grid;grid-template-columns:repeat(4,minmax(238px,1fr));gap:.85rem;align-items:start}@media(max-width:1120px){.armory-upgrades-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}@media(max-width:640px){.armory-upgrades-grid{grid-template-columns:1fr}}.armory-lane-column{--lane-accent: #fbbf24;background:#0f172ac7;border:1px solid rgba(148,163,184,.28);border-top:3px solid var(--lane-accent);border-radius:16px;padding:.75rem;display:flex;flex-direction:column;gap:.55rem}.armory-lane-header{padding-bottom:.5rem;border-bottom:1px solid rgba(148,163,184,.22)}.armory-lane-title-row{display:flex;align-items:center;gap:.42rem}.armory-lane-icon{font-size:1.15rem}.armory-lane-title{font-size:.86rem;font-weight:900;color:#f8fafc;flex:1}.armory-lane-progress{font-size:.68rem;font-weight:900;color:var(--gold-bright);background:#fbbf2429;border:1px solid rgba(251,191,36,.4);padding:.08rem .42rem;border-radius:999px}.armory-lane-subtitle{margin-top:.2rem;font-size:.68rem;color:var(--text-muted);line-height:1.3}.armory-lane-track{display:flex;flex-direction:column;align-items:stretch}.armory-tier-connector{display:flex;flex-direction:column;align-items:center;justify-content:center;height:22px;color:#94a3b873;font-size:.66rem;line-height:1}.armory-tier-connector .connector-line{width:2px;height:9px;background:#94a3b852}.armory-tier-connector.is-unlocked{color:var(--gold-bright)}.armory-tier-connector.is-unlocked .connector-line{background:linear-gradient(180deg,var(--gold-accent),var(--emerald-accent));box-shadow:0 0 8px #fbbf248c}.armory-upgrade-card{background:linear-gradient(180deg,#1e293bf0,#0f172af5);border:1px solid rgba(148,163,184,.34);border-radius:13px;padding:.68rem .78rem;display:flex;flex-direction:column;gap:.3rem;transition:border-color .15s ease,box-shadow .15s ease}.armory-upgrade-card.is-invested{border-color:#34d39994;box-shadow:0 0 0 1px #34d39938}.armory-upgrade-card.tier-4{background:linear-gradient(180deg,#451a0385,#0f172af7);border-color:#fbbf2485}.armory-upgrade-card.is-maxed{border-color:var(--gold-bright);box-shadow:0 0 0 1px #facc156b}.armory-upgrade-card.is-locked-tier{opacity:.58;filter:saturate(.5);background:#0f172ab8;border-style:dashed}.armory-card-top{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.armory-tier-badge{font-size:.58rem;font-weight:900;letter-spacing:.08em;color:var(--gold-accent);text-transform:uppercase}.armory-card-head-row{display:flex;align-items:center;gap:.42rem}.armory-card-icon{font-size:1.28rem;line-height:1}.armory-card-ranks{font-size:.66rem;font-weight:900;color:var(--gold-bright);background:#fbbf2424;border:1px solid rgba(251,191,36,.38);padding:.08rem .42rem;border-radius:999px}.armory-card-title{font-size:.86rem;font-weight:900;color:#f8fafc;line-height:1.2}.armory-card-summary{font-size:.69rem;font-weight:800;color:var(--emerald-accent)}.armory-card-desc{font-size:.68rem;line-height:1.34;color:var(--text-muted);flex:1}.armory-buy-btn{margin-top:.25rem;width:100%;padding:.4rem .6rem;font-size:.72rem}.radial-sell-btn{min-width:96px;border-color:#f43f5eb3;background:#450a0aeb}.radial-max-badge{min-width:112px;border-color:#fde047;background:#0f172af0;pointer-events:none}.radial-rec-star{position:absolute;top:-9px;background:#fde047;color:#0f172a;font-size:.52rem;font-weight:900;padding:.04rem .34rem;border-radius:999px;white-space:nowrap}.radial-node-icon{font-size:1.08rem;line-height:1}.radial-node-name{font-size:.64rem;font-weight:900;white-space:nowrap}.radial-node-cost{font-size:.64rem;font-weight:900;color:#fde047}.tower-card.is-selected-upgrade{border-color:#fde047;background:linear-gradient(180deg,#78350fc7,#1e293bf2);box-shadow:0 0 0 2px #facc1573}.touch-joystick-indicator{position:fixed;inset:0;pointer-events:none;z-index:16}.touch-joystick-ring{position:absolute;width:88px;height:88px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(56,189,248,.65);background:#0f172a59;box-shadow:0 0 18px #38bdf840}.touch-joystick-knob{position:absolute;width:38px;height:38px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 35%,#7dd3fc,#0284c7);border:2px solid #e0f2fe;box-shadow:0 4px 12px #0000008c}@media(max-width:900px){.hud-top{top:max(.3rem,env(safe-area-inset-top));left:.35rem;right:.35rem;gap:.26rem}.hud-pill-btn,.hud-icon-btn,.hud-action-pill{padding:.24rem .46rem;font-size:clamp(.64rem,2.4vw,.74rem);border-radius:9px}.hud-vitals-cluster{order:3;flex:1 1 100%;gap:.24rem}.vital-meter{padding:.16rem .38rem;flex:1 1 88px}.vital-label{font-size:.58rem;margin-bottom:.1rem}.meter-track{height:6px}.gold-pill{padding:.24rem .48rem;font-size:.76rem}kbd,.cmd-hotkey,#btn-toggle-assist{display:none}.tower-builder-dock,.hud-bottom-left{display:none!important}.hud-bottom{bottom:max(.35rem,env(safe-area-inset-bottom));left:auto;right:.45rem;justify-content:flex-end;align-items:flex-end;pointer-events:none}.command-dock{padding:.24rem .32rem;border-radius:999px;background:#0f172ac7;backdrop-filter:blur(10px);width:auto}.command-dock .dock-section-title{display:none}.command-buttons{display:flex;align-items:center;gap:.32rem}.command-card{width:52px;height:46px;padding:.18rem .15rem;border-radius:12px;justify-content:center;gap:.04rem}.cmd-icon{font-size:1.02rem}.cmd-title,.cmd-sub{display:none}.cmd-cost{font-size:.54rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48px}.pad-map-badge{padding:.2rem .46rem;font-size:.66rem}.unofficial-footer{display:none}}
