@media (display-mode:standalone) and (pointer:coarse) and (forced-colors:none),(display-mode:fullscreen) and (pointer:coarse) and (forced-colors:none){html,body,body *{scrollbar-width:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}body ::-webkit-scrollbar{display:none}html{overscroll-behavior-y:none}}#world canvas.is-aiming{cursor:crosshair}#world canvas.is-aiming:focus-visible{outline-offset:-5px;outline:3px solid #89ebdc}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#102a35}html,body{min-width:280px;min-height:100%;margin:0;font-family:Arial,sans-serif}body{background:#102a35}#app{width:100%;height:100svh;isolation:isolate;height:100dvh;position:relative}#world{touch-action:manipulation;position:absolute;inset:0}#world canvas{outline:none;width:100%;height:100%;display:block}#ui{pointer-events:none;z-index:4;position:absolute;inset:0}#ui button,#ui a,#ui input,#ui select,#ui textarea,#ui [role=dialog],#ui [data-panel]{pointer-events:auto}#world-labels{pointer-events:none;z-index:3;position:absolute;inset:0}:focus-visible{outline-offset:4px;outline:3px solid #89ebdc}noscript{color:#ffda8a;background:#102a35;place-items:center;display:grid;position:fixed;inset:0}@media (display-mode:standalone) and (pointer:coarse) and (forced-colors:none),(display-mode:fullscreen) and (pointer:coarse) and (forced-colors:none){html,body,body *{scrollbar-width:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}body ::-webkit-scrollbar{display:none}html{overscroll-behavior-y:none}}:root{color:#f4eddc;font-synthesis:none;--ink:#102235;--navy:#0b1828;--panel:#0c1b2bf5;--parchment:#f4eddc;--muted:#bdc4c5;--brass:#bea16a;--gold:#f2c77b;--cyan:#8ce8e5;--line:#cbaf7752;--serif:Georgia,Times New Roman,serif;--shadow:0 20px 80px #020a16a6;background:#091627;font-family:Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}button:disabled{opacity:.43}a,button{color:inherit}.icon{vertical-align:middle;flex:none;width:22px;height:22px}.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}[hidden]{display:none!important}.runehold-ui{z-index:10;pointer-events:none;isolation:isolate;line-height:1.5;position:fixed;inset:0}.screen-layer,.hud-layer,.dialog-layer{pointer-events:none;position:absolute;inset:0}.runehold-ui button,.runehold-ui a,.runehold-ui input,.runehold-ui select,.spellbook,.floating-panel{pointer-events:auto}.runehold-ui.has-modal .hud-layer{visibility:hidden}.screen-layer:empty,.dialog-layer:empty{display:none}.eyebrow{color:var(--gold);letter-spacing:.19em;margin:0 0 7px;font-size:10px;font-weight:700;line-height:1.5}h1,h2,h3,h4,p{margin-top:0}h2{font:normal clamp(25px,3.3vw,37px)/1.15 var(--serif);letter-spacing:-.035em;margin:0}h3{font:normal 23px/1.2 var(--serif);letter-spacing:-.025em;margin-bottom:10px}h4{font:normal 23px/1.15 var(--serif);letter-spacing:-.025em}p{color:var(--muted)}strong{font-weight:700}.button{border:1px solid var(--line);min-height:48px;color:var(--parchment);background:linear-gradient(#293b4b,#142537);border-radius:5px;justify-content:center;align-items:center;gap:12px;padding:12px 21px;font-weight:700;line-height:1.35;text-decoration:none;transition:background .18s,transform .18s,box-shadow .18s;display:inline-flex;box-shadow:inset 0 1px #ffffff12,0 4px 12px #0002}.button:hover:not(:disabled){background:linear-gradient(#374d5c,#21384a);box-shadow:0 4px 18px #0003}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{color:#172232;background:linear-gradient(170deg,#f7d492,#d5aa5e);border:1px solid #f8d798;box-shadow:inset 0 1px #fff6,0 4px #83602c,0 8px 20px #0003}.button.primary:hover:not(:disabled){background:linear-gradient(170deg,#ffe0a7,#e8bd77);box-shadow:inset 0 1px #fff6,0 4px #83602c,0 8px 24px #0005}.button.quiet{box-shadow:none;background:#091a2b8c}.button.small{min-height:44px;padding:10px 14px;font-size:13px}.text-button{min-height:44px;color:var(--parchment);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:10px 8px;font-size:13px;display:inline-flex}.text-button:hover:not(:disabled){color:var(--gold);text-underline-offset:4px;text-decoration:underline}.text-button .icon{width:17px;height:17px}.icon-button{background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;line-height:1;display:inline-flex}.icon-button:hover{border-color:var(--line);background:#ffffff0e}.button-row{flex-wrap:wrap;gap:12px;display:flex}.fine-print{color:var(--muted);margin:9px 0;font-size:12px;line-height:1.65}.danger{background:#532b30;border-color:#ce7b73}.danger-text{color:#e9a9a0}.more-apps{color:#c8c8be;align-items:center;gap:4px;min-height:44px;font-size:12px;text-decoration:none;display:inline-flex}.more-apps:hover{color:var(--gold);text-underline-offset:4px;text-decoration:underline}.browser-label{color:#9caab3;font-size:10px}.update-control{font-size:11px}.update-control .text-button{padding-left:0}.update-status{color:#cbd3d1;max-width:380px;font-size:11px;line-height:1.6;display:block}.update-control .fine-print{max-width:360px}.update-control [data-apply-update]{margin-top:8px}.title-screen{pointer-events:none;min-height:100%;position:absolute;inset:0}.title-vignette{z-index:-1;background:linear-gradient(90deg,#071525f7 0%,#071525e5 23%,#09182780 45%,#0000 72%),linear-gradient(#0000 70%,#0715259c);position:absolute;inset:0}.title-content{pointer-events:auto;flex-direction:column;align-items:flex-start;width:clamp(350px,42vw,640px);height:100%;padding:clamp(34px,7vh,82px) 30px 24px clamp(28px,5vw,86px);display:flex;overflow-y:auto}.brand-mark{color:var(--gold);letter-spacing:.28em;white-space:nowrap;align-items:center;gap:13px;margin-bottom:17px;font-size:12px;font-weight:700;display:flex}.brand-mark .icon{width:32px;height:32px}.brand-mark i{background:var(--brass);width:45px;height:1px;display:block}.title-screen h1{font:normal clamp(64px,7.3vw,112px)/.94 var(--serif);letter-spacing:-.06em;color:#fff0d1;text-shadow:0 3px 35px #080e21;margin:0 0 28px}.title-dot{color:var(--gold)}.title-tagline{font:normal clamp(22px,2.7vw,34px)/1.25 var(--serif);letter-spacing:-.025em;color:#f3e4c7;margin-bottom:20px}.title-description{color:#c2c8c4;margin-bottom:27px;font-size:13px;line-height:1.7}.title-actions{flex-direction:column;gap:12px;width:min(100%,300px);display:flex}.title-primary{text-align:left;justify-content:space-between}.title-actions .quiet{justify-content:flex-start;min-height:46px;font-size:13px}.title-links{flex-wrap:wrap;gap:7px;max-width:370px;margin:19px -8px 8px;display:flex}.title-bottom{flex-wrap:wrap;align-items:flex-end;gap:14px;width:100%;margin-top:auto;padding-top:24px;display:flex}.title-bottom .update-control{max-width:240px}.title-loading{width:min(100%,300px);color:var(--muted);margin:12px 0;font-size:12px}.loading-track{background:#ffffff14;width:100%;height:3px;margin-top:9px}.loading-track span{background:var(--gold);height:100%;transition:width .3s;display:block}.world-caption{right:6vw;bottom:max(35px,env(safe-area-inset-bottom));text-align:right;color:#d7c89f;letter-spacing:.22em;text-shadow:0 2px 10px #000;font-size:10px;line-height:1.8;position:absolute}.world-caption small{font:italic 15px var(--serif);color:#ece5d7;letter-spacing:0;margin-top:6px;display:block}.caption-rule{background:var(--brass);width:55px;height:1px;margin:0 0 12px auto;display:block}.title-seal{color:#e8d6b1;text-shadow:0 2px 8px #000;align-items:center;gap:12px;font-size:11px;line-height:1.4;display:flex;position:absolute;top:34px;right:35px}.title-seal .icon{width:37px;height:37px;color:var(--gold)}.menu-backdrop,.focus-backdrop{padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:auto;background:#040c16b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.focus-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040c167a}.spellbook{box-shadow:var(--shadow),inset 0 0 0 5px #06142233;overscroll-behavior:contain;background:linear-gradient(135deg,#263540f7,#0d1b2bfa 48%);border:1px solid #b89d634d;border-top-color:#d5b4767d;border-radius:9px;width:100%;max-height:100%;padding:29px 34px;scroll-padding:25px;animation:.18s ease-out book-arrive;position:relative;overflow:auto}.spellbook:before{content:"";background:linear-gradient(90deg,transparent,var(--brass),transparent);pointer-events:none;height:1px;position:absolute;top:0;left:35px;right:35px}.dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:21px;padding-bottom:20px;display:flex}.dialog-header .icon-button{margin:-7px -11px 0 0}.dialog-intro{max-width:600px;margin-bottom:26px;font-size:14px;line-height:1.8}.menu-footer{border-top:1px solid var(--line);color:#aebabb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding-top:13px;font-size:11px;display:flex}.campaign-book{max-width:1030px}.region-heading{align-items:flex-start;gap:15px;margin:0 0 15px;display:flex}.region-number{font:italic 31px/1 var(--serif);color:var(--gold);border-right:1px solid var(--line);padding:4px 15px 4px 0}.region-heading h3{margin-bottom:3px;font-size:24px}.region-heading p{margin:0;font-size:12px;line-height:1.5}.mission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.mission-card{text-align:left;min-height:155px;color:var(--parchment);background:linear-gradient(140deg,#31465380,#112439b0);border:1px solid #b9a06c35;border-radius:5px;padding:20px 19px 17px;transition:background .2s,transform .2s;position:relative;overflow:hidden}.mission-card:before{content:"";border:1px solid #d5be8114;width:75px;height:75px;position:absolute;top:-8px;right:-17px;transform:rotate(45deg)}.mission-card:hover:not(:disabled){background:linear-gradient(140deg,#4a5f6b90,#213d51b0);border-color:#d0b37c8c;transform:translateY(-2px)}.mission-order{color:var(--gold);letter-spacing:.18em;margin-bottom:12px;font-size:9px;display:block}.mission-card h4{max-width:220px;margin:0 0 9px}.mission-subtitle{color:#c4cbc7;margin-bottom:14px;font-size:11px;line-height:1.5;display:block}.mission-state{color:#d5d9d0;align-items:center;gap:6px;font-size:10px;display:flex}.mission-state .icon{width:16px;height:16px;color:var(--gold)}.mission-card.locked{opacity:.52;background:#101d2b}.mission-card.completed{border-left:3px solid var(--gold)}.settings-book{max-width:650px}.settings-content fieldset{border:0;min-width:0;margin:0 0 26px;padding:0}.settings-content legend{font:normal 24px var(--serif);color:var(--parchment);margin-bottom:10px}.settings-content fieldset>p{font-size:12px;line-height:1.65}.operation-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:17px 0 22px;display:grid}.check-card{border:1px solid var(--line);cursor:pointer;background:#12273b70;border-radius:4px;align-items:center;gap:12px;min-height:53px;padding:13px;font-size:13px;display:flex;position:relative}.check-card:has(input:checked){background:#34443d88;border-color:#d4b16c8c}.check-card input{width:18px;height:18px;accent-color:var(--gold);flex:none}.operation-symbol{color:var(--gold);font-size:22px;line-height:1}.select-label{justify-content:space-between;align-items:center;gap:18px;margin:13px 0;font-size:13px;font-weight:700;display:flex}.select-label select{border:1px solid var(--line);max-width:65%;min-height:44px;color:var(--parchment);background:#0b1c2c;border-radius:4px;padding:9px 28px 9px 11px;font-size:12px}.toggle-row{cursor:pointer;border-bottom:1px solid #bbc6cb18;justify-content:space-between;align-items:center;gap:20px;min-height:57px;padding:14px 0;display:flex}.toggle-row strong{font-size:13px;display:block}.toggle-row small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.5;display:block}.toggle-row input{width:22px;height:22px;accent-color:var(--gold);flex:none}.reset-confirm{background:#54323960;border:1px solid #db8f715c;border-radius:4px;padding:15px}.reset-confirm p{color:#eed4c8;font-size:13px}.codex-book{max-width:920px}.book-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;margin:-4px 0 23px;display:flex}.tab-button{min-height:46px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 17px;font-size:12px}.tab-button.active{color:var(--gold);border-bottom-color:var(--gold)}.tab-button:hover{color:var(--parchment)}.codex-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.codex-entry{border-bottom:1px solid var(--line);background:linear-gradient(140deg,#273a452f,#0000);gap:17px;min-width:0;padding:21px 17px;display:flex}.codex-emblem,.creature-insignia{border:1px solid color-mix(in srgb,var(--school) 45%,transparent);width:52px;height:60px;color:var(--school);background:color-mix(in srgb,var(--school) 8%,transparent);box-shadow:0 0 25px color-mix(in srgb,var(--school) 9%,transparent);border-radius:9px 9px 17px 17px;flex:none;justify-content:center;align-items:center;display:flex}.codex-emblem .icon{width:32px;height:32px}.codex-entry .eyebrow{color:var(--school);margin-bottom:5px;font-size:8px}.codex-entry h3{margin-bottom:9px;font-size:22px}.codex-entry p{margin-bottom:13px;font-size:12px;line-height:1.7}.codex-entry small{color:var(--muted);font-size:10px;line-height:1.6}.entry-stats{color:#e6ddc7;border-top:1px solid #bdc8cc1a;flex-wrap:wrap;gap:5px 11px;padding:8px 0;font-size:10px;display:flex}.counter-note{font-style:italic;color:#d6c99e!important}.field-note{border-left:2px solid var(--gold);color:#e1d4b2;background:#a9925b0f;margin-bottom:23px;padding:15px 18px;font-size:13px;line-height:1.7}.field-note p{color:#dbd7c7;margin:5px 0 0}.how-to{max-width:690px;margin:auto}.how-to h3{margin-top:25px;font-size:25px}.how-to p,.how-to li{color:var(--muted);font-size:13px;line-height:1.85}.how-to ol{padding-left:25px}.how-to li{padding:0 0 15px 8px}.how-to li::marker{color:var(--gold);font-weight:700}.how-to li strong{color:var(--parchment)}.battle-hud{padding:18px max(20px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));pointer-events:none;position:absolute;inset:0}.battle-top{top:max(18px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute}.mission-chip{border-left:2px solid var(--gold);text-shadow:0 1px 3px #000;background:linear-gradient(90deg,#102336eb,#0a172360);max-width:320px;padding:8px 13px}.mission-chip .eyebrow{margin-bottom:2px;font-size:8px}.mission-chip strong{font:normal 20px var(--serif)}.status-strip{pointer-events:auto;background:#0e2338ed;border:1px solid #bca26954;border-radius:5px;align-items:center;gap:19px;padding:6px 7px 6px 17px;display:flex;box-shadow:0 3px 20px #03132650}.status-strip>span{align-items:center;gap:7px;display:flex}.status-strip strong{font-variant-numeric:tabular-nums;font-size:16px;line-height:1.15;display:block}.status-strip small{color:var(--muted);letter-spacing:.07em;font-size:8px;line-height:1.3;display:block}.ward-status .icon{color:var(--cyan)}.points-status .icon{color:var(--gold);width:19px;height:19px}.status-strip .menu-button{border-left:1px solid var(--line);border-radius:0;margin-left:-3px}.wave-status{flex-direction:column;display:flex;align-items:flex-start!important;gap:0!important}.battle-tools{left:max(20px,env(safe-area-inset-left));top:max(97px,calc(env(safe-area-inset-top) + 82px));flex-direction:column;align-items:flex-start;gap:7px;display:flex;position:absolute}.hud-button{color:#e1e7db;pointer-events:auto;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b2033de;border:1px solid #a8becc30;border-radius:4px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:8px 13px;font-size:11px;display:inline-flex;box-shadow:0 4px 12px #0002}.hud-button .icon{width:17px;height:17px;color:var(--gold)}.hud-button:hover,.hud-button.active{border-color:var(--brass);background:#233b49f2}.speed-button{min-width:44px;font-weight:700}.floating-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain;background:linear-gradient(135deg,#243944f2,#0d2237f5);border:1px solid #bfa36c7a;border-radius:7px;width:290px;max-height:calc(100% - 195px);padding:18px;scroll-padding:14px;position:absolute;overflow:auto;box-shadow:0 10px 35px #07142177}.mini-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.mini-heading .eyebrow{margin-bottom:2px;font-size:8px;display:block}.mini-heading strong{font:normal 20px/1.3 var(--serif);display:block}.mini-heading .icon-button{margin:-9px -10px -6px 0}.foundation-list,.wave-notes{top:max(97px,calc(env(safe-area-inset-top) + 82px));left:max(180px,calc(env(safe-area-inset-left) + 160px))}.site-list{flex-direction:column;gap:5px;display:flex}.site-button{text-align:left;min-height:48px;color:var(--parchment);background:#ffffff04;border:1px solid #c7b47a26;border-radius:3px;align-items:center;gap:12px;padding:8px 10px;font-size:12px;display:flex}.site-button.active,.site-button:hover{border-color:var(--gold);background:#ddb7640e}.site-button small{color:var(--muted);font-size:10px;display:block}.site-number{width:27px;height:27px;color:var(--gold);border:1px solid #d7b3757a;place-items:center;font-size:12px;display:grid;transform:rotate(0)}.wave-enemies{flex-direction:column;gap:7px;margin-bottom:14px;font-size:12px;display:flex}.wave-enemies span{border-bottom:1px solid #f4dc9915;padding-bottom:7px}.wave-enemies strong{color:var(--gold);padding-right:4px}.wave-notes p{margin-bottom:0;font-size:11px;line-height:1.75}.wave-notes .grant-note{color:var(--gold);margin-top:10px}.site-panel{right:max(20px,env(safe-area-inset-right));top:max(96px,calc(env(safe-area-inset-top) + 81px));width:310px}.site-description{margin:5px 0 15px;font-size:11px;line-height:1.7}.build-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.build-card{text-align:center;min-height:118px;color:var(--parchment);background:linear-gradient(140deg,#34485150,#13293b50);border:1px solid #c1ad742e;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;padding:14px 7px 10px;display:flex;position:relative}.build-card:hover:not(:disabled){border-color:var(--gold);background:#5569554a}.build-rune{width:35px;height:35px;color:var(--school);border:1px solid color-mix(in srgb,var(--school) 40%,transparent);background:color-mix(in srgb,var(--school) 7%,transparent);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.build-rune .icon{width:21px;height:21px}.build-name{margin-bottom:2px;font-size:11px;font-weight:700}.build-role{color:var(--muted);font-size:8px;line-height:1.4}.build-cost{color:var(--gold);margin-top:7px;font-size:10px;font-weight:700}.tower-detail{align-items:center;gap:15px;margin:13px 0;display:flex}.tower-emblem{color:var(--school);border:1px solid color-mix(in srgb,var(--school) 45%,transparent);background:color-mix(in srgb,var(--school) 8%,transparent);border-radius:5px;place-items:center;width:44px;height:48px;display:grid}.tower-detail h3{margin:0 0 4px;font-size:22px}.tower-detail p{margin:0;font-size:10px}.tower-actions{flex-direction:column;gap:7px;display:flex}.max-tier{color:var(--gold);font-size:11px}.enemy-chip{left:50%;top:max(86px,calc(env(safe-area-inset-top) + 71px));width:auto;min-width:220px;max-width:300px;padding:10px 40px 10px 13px;font-size:11px;transform:translate(-50%)}.enemy-chip>span{align-items:center;gap:8px;display:flex}.enemy-chip .icon{width:17px;height:17px;color:var(--cyan)}.enemy-chip small{color:var(--muted);font-size:9px}.enemy-chip .icon-button{position:absolute;top:0;right:0}.battle-bottom{bottom:max(36px,calc(env(safe-area-inset-bottom) + 23px));right:max(20px,env(safe-area-inset-right));position:absolute}.planning-controls{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.planning-label{color:#e9dfbf;font:italic 13px var(--serif);text-shadow:0 1px 3px #000;background:#0d233aaa;border-radius:3px;padding:5px 11px}.start-wave{justify-content:space-between;min-width:185px;min-height:52px}.spell-strip{border:1px solid var(--line);pointer-events:auto;background:#0d2036ef;border-radius:6px;padding:12px 13px;box-shadow:0 5px 25px #0004}.spell-strip-label{justify-content:space-between;align-items:center;gap:20px;margin:0 2px 10px;font-size:10px;display:flex}.spell-strip-label strong{color:var(--parchment)}.spell-strip-label>span{color:var(--gold);font-variant-numeric:tabular-nums}.spell-buttons{gap:7px;display:flex}.spell-button{min-width:55px;max-width:75px;min-height:49px;color:var(--parchment);background:#21384f;border:1px solid #b4a37b37;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 7px;display:flex}.spell-button .icon{width:21px;height:21px;color:var(--gold)}.spell-button span{font-size:8px;line-height:1.2}.spell-button:hover:not(:disabled){border-color:var(--gold);background:#34526a}.battle-message{bottom:max(8px,env(safe-area-inset-bottom));color:#d3dbcf;text-shadow:0 1px 3px #000;pointer-events:none;max-width:calc(100% - 380px);margin:0;font-size:10px;line-height:1.5;position:absolute;left:20px}.math-book{border-top:2px solid var(--school);width:440px;max-height:100%;padding:25px 29px 20px;overflow:auto}.math-header{border-bottom:1px solid var(--line);align-items:center;gap:13px;margin-bottom:17px;padding-bottom:16px;display:flex}.math-header .eyebrow{letter-spacing:.11em;margin:0 0 3px;font-size:8px}.math-header h2{font-size:25px}.math-header>.icon-button{margin:-10px -15px -10px auto}.math-school-emblem{color:var(--school);flex:none}.math-school-emblem .icon{width:30px;height:30px}.math-intro{text-align:center;margin-bottom:16px;font-size:12px;line-height:1.8}.math-intro strong{color:#dfd6be;font-weight:400}.spell-consequence{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:3px 16px;padding-bottom:10px;font-size:9px;display:flex}.spell-consequence>span{align-items:center;gap:4px;display:flex}.spell-consequence .icon{width:13px;height:13px;color:var(--gold)}.spell-consequence strong{color:#ead6a6}.equation{letter-spacing:.015em;font-variant-numeric:tabular-nums;white-space:nowrap;color:#fff5de;justify-content:center;align-items:center;gap:13px;padding:15px 0 8px;font-size:clamp(25px,3vw,36px);font-weight:700;line-height:1.3;display:flex}.equation>span{color:#bbc8c6;font-weight:400}.equation input{border:1px solid #d9be7e7a;border-bottom:3px solid var(--gold);color:#ffdd9b;text-align:center;outline-offset:3px;width:100px;min-width:60px;height:64px;caret-color:var(--cyan);font-variant-numeric:tabular-nums;background:#0a1d30;border-radius:5px;padding:7px 3px;font-size:34px;font-weight:700}.equation input::placeholder{color:#efcd8460}.math-feedback{text-align:center;color:#d7d7bc;min-height:36px;margin:10px 0 12px;font-size:11px;line-height:1.5}.numeric-keypad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.keypad-key{color:#f4ebd5;background:linear-gradient(145deg,#2c4255,#20364a);border:1px solid #c1bc912f;border-bottom:3px solid #091927;border-radius:4px;min-height:46px;font-size:19px;font-weight:700;box-shadow:inset 0 1px #fff1}.keypad-key:hover{background:#3b5569;border-color:#bca16a88}.keypad-key:active{transform:translateY(1px)}.answer-submit{width:100%;margin:15px 0 20px;font-size:14px}.hint-panel{background:#0b20354d;border:1px solid #a9b7ba2c;border-radius:5px;padding:9px 12px}.hint-heading{color:#cdd9cb;align-items:center;gap:8px;font-size:10px;display:flex}.hint-heading>.icon{width:17px;height:17px;color:var(--cyan)}.hint-heading .text-button{min-height:38px;color:var(--gold);margin-left:auto;padding:5px 0 5px 5px;font-size:10px}.hint-panel>p{color:#e9e3ca;margin:8px 0 7px;font-size:12px;line-height:1.8}.math-footer{color:#b7c5c6;justify-content:space-between;align-items:center;gap:8px;margin:8px -4px 0;font-size:9px;display:flex}.math-footer .text-button{min-height:38px;padding:4px;font-size:10px}.pause-book{max-width:420px}.pause-actions{flex-direction:column;gap:10px;margin:0 0 20px;display:flex}.pause-actions .button{justify-content:center}.pause-book .update-control{border-top:1px solid var(--line);padding-top:10px}.pause-book .menu-footer{gap:5px;font-size:9px}.pause-book .browser-label{display:none}.resolution-book{text-align:center;max-width:400px;padding:35px}.resolution-book h2{margin:13px 0 20px;font-size:34px}.resolution-book>p{font-size:13px;line-height:1.8}.resolution-book .button{width:100%;margin-top:15px}.result-emblem{border:1px solid var(--brass);width:76px;height:76px;color:var(--gold);background:radial-gradient(circle,#eab66c1f,#0000);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 24px;display:flex;position:relative;box-shadow:0 0 35px #ffcd6812}.result-emblem:after{content:"";border:1px solid #d4b37a3d;border-radius:50%;position:absolute;inset:7px}.result-emblem .icon{width:39px;height:39px}.result-muted{color:#99cbc9;background:#87cbc310;border-color:#6e9799}.result-book{text-align:center;max-width:510px;padding:36px 40px}.result-book h2{margin:8px 0 18px;font-size:38px}.result-book>p{font-size:13px;line-height:1.8}.result-summary{border-block:1px solid var(--line);justify-content:center;gap:20px;margin:26px 0 30px;padding:17px 0;display:flex}.result-summary>span{flex-direction:column;flex:1;gap:5px;display:flex}.result-summary strong{color:var(--gold);font-variant-numeric:tabular-nums;font-size:24px;font-weight:400}.result-summary small{color:var(--muted);font-size:9px}.result-actions{flex-direction:column;gap:12px;display:flex}.result-actions .text-button{min-height:35px;padding:4px}.result-actions+.fine-print{margin-top:23px;font-size:10px}.toast-stack{top:max(20px,env(safe-area-inset-top));z-index:25;pointer-events:none;flex-direction:column;gap:8px;width:max-content;max-width:calc(100% - 30px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{text-align:center;border:1px solid var(--brass);color:var(--parchment);background:#172b40f5;border-radius:5px;padding:12px 20px;font-size:12px;animation:.2s ease-out book-arrive;box-shadow:0 7px 25px #0005}@keyframes book-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.title-content{width:45%;min-width:330px;padding-left:35px}.title-screen h1{font-size:76px}.title-tagline{font-size:27px}.title-seal{top:20px;right:20px}.title-links{gap:0}.title-links .text-button{font-size:11px}.title-bottom{gap:0}.mission-chip{max-width:260px}.mission-chip strong{font-size:17px}.status-strip{gap:13px}.site-panel{width:275px}.build-grid{gap:7px}.build-card{min-height:110px;padding:10px 5px}.floating-panel{max-height:calc(100% - 200px)}.foundation-list,.wave-notes{left:155px}.codex-grid{gap:9px}.codex-entry{gap:12px;padding:17px 8px}.codex-emblem,.creature-insignia{width:43px;height:53px}.codex-entry h3{font-size:20px}.enemy-chip{max-width:235px;top:84px;left:49%}}@media (max-width:600px){.title-vignette{background:linear-gradient(#07152526,#09182750 25%,#071525e5 57%,#071525f7 100%),linear-gradient(90deg,#07152590,#0000)}.title-content{width:100%;min-width:0;padding:clamp(210px,32dvh,320px) 25px max(16px,env(safe-area-inset-bottom));text-align:center;align-items:center}.brand-mark{gap:10px;margin-bottom:10px;font-size:10px}.brand-mark .icon{width:25px;height:25px}.brand-mark i{width:25px}.title-screen h1{margin-bottom:16px;font-size:clamp(61px,17vw,86px)}.title-tagline{margin:0 0 12px;font-size:21px;line-height:1.3}.title-tagline br:first-child,.title-tagline br:nth-child(2){display:none}.title-tagline br:after{content:" "}.title-description{margin:0 0 18px;font-size:11px}.title-actions{gap:10px;width:100%;max-width:320px}.title-actions .button{min-height:46px;font-size:13px}.title-links{justify-content:center;gap:6px;margin:13px -5px 0}.title-links .text-button{padding:6px 5px;font-size:10px}.title-bottom{justify-content:center;gap:15px;margin-top:5px;padding-top:5px}.title-bottom .update-control{text-align:left;max-width:190px}.title-bottom .update-control .text-button,.title-bottom .more-apps{font-size:10px}.title-bottom .browser-label,.world-caption{display:none}.title-seal{right:17px;top:max(16px,env(safe-area-inset-top));gap:7px;font-size:9px}.title-seal .icon{width:26px;height:26px}.menu-backdrop,.focus-backdrop{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.spellbook{border-radius:7px;padding:23px 20px}.dialog-header{gap:8px;margin-bottom:16px;padding-bottom:16px}.dialog-header h2{font-size:29px}.dialog-header .eyebrow{font-size:8px}.dialog-intro{margin-bottom:22px;font-size:12px}.mission-grid{grid-template-columns:1fr;gap:9px}.mission-card{min-height:120px;padding:15px 17px}.mission-order{margin-bottom:7px}.mission-card h4{max-width:none;font-size:24px}.mission-subtitle{margin-bottom:9px}.campaign-region{margin-bottom:25px}.region-heading h3{font-size:23px}.region-heading p{font-size:11px}.region-number{font-size:25px}.menu-footer{gap:5px;margin-top:21px;font-size:10px}.menu-footer .browser-label{display:none}.codex-grid{grid-template-columns:1fr}.codex-entry{gap:17px;padding:18px 4px}.codex-entry h3{font-size:24px}.book-tabs{gap:0;margin:0 0 13px}.tab-button{padding:9px 10px;font-size:11px}.select-label{flex-direction:column;align-items:flex-start;gap:8px;font-size:12px}.select-label select{width:100%;max-width:none;font-size:12px}.check-card{gap:7px;padding:11px 9px;font-size:11px}.operation-symbol{font-size:19px}.settings-content legend{font-size:24px}.settings-content fieldset>p{font-size:11px}.battle-hud{padding:10px}.battle-top{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));align-items:flex-start;gap:7px}.mission-chip{background:#102336d9;min-width:0;max-width:calc(100% - 223px);margin-top:4px;padding:5px 7px}.mission-chip .eyebrow{letter-spacing:.08em;font-size:7px}.mission-chip strong{font-size:12px;line-height:1.15;display:block}.status-strip{gap:10px;min-height:50px;padding:4px 2px 4px 9px}.status-strip .icon{width:16px;height:16px}.status-strip>span{gap:4px}.status-strip strong{font-size:13px}.status-strip small{font-size:7px}.status-strip .menu-button{width:40px;min-width:40px;height:44px;margin-left:0}.status-strip .menu-button .icon{width:18px;height:18px}.battle-tools{left:max(10px,env(safe-area-inset-left));top:max(73px,calc(env(safe-area-inset-top) + 63px));gap:5px}.hud-button{gap:0;min-width:44px;padding:9px}.hud-button>span{display:none}.speed-button>span{display:block}.hud-button .icon{width:20px;height:20px}.floating-panel{width:min(290px,100% - 70px);max-height:calc(100% - 190px);padding:14px}.site-panel{right:max(10px,env(safe-area-inset-right));top:max(73px,calc(env(safe-area-inset-top) + 63px));width:235px;max-height:calc(100% - 205px)}.site-panel .mini-heading strong{font-size:18px}.site-description{margin-bottom:11px;font-size:10px}.build-grid{gap:7px}.build-card{min-height:100px;padding:9px 4px}.build-rune{width:29px;height:29px;margin-bottom:6px}.build-rune .icon{width:18px;height:18px}.build-name{font-size:10px}.build-role{font-size:8px}.build-cost{margin-top:6px;font-size:9px}.foundation-list,.wave-notes{left:64px;top:max(73px,calc(env(safe-area-inset-top) + 63px));width:calc(100% - 74px);max-width:300px}.battle-bottom{right:max(10px,env(safe-area-inset-right));bottom:max(34px,calc(env(safe-area-inset-bottom) + 22px))}.planning-label{text-align:right;max-width:225px;font-size:11px}.start-wave{min-width:165px;min-height:48px;padding:10px 15px;font-size:12px}.spell-strip{max-width:calc(100vw - 20px);padding:9px}.spell-strip-label{gap:12px;margin-bottom:7px;font-size:9px}.spell-buttons{gap:6px}.spell-button{min-width:48px;max-width:67px;min-height:48px;padding:7px 5px}.spell-button span{font-size:7px}.spell-button .icon{width:19px;height:19px}.battle-message{bottom:max(6px,env(safe-area-inset-bottom));max-width:none;font-size:8px;line-height:1.4;left:10px;right:10px}.enemy-chip{top:auto;bottom:max(149px,calc(env(safe-area-inset-bottom) + 137px));width:auto;min-width:180px;max-width:245px;padding:8px 39px 8px 11px;font-size:10px;left:auto;right:10px;transform:none}.enemy-chip small{font-size:8px}.math-book{width:100%;max-width:400px;padding:20px 20px 15px}.math-header{gap:10px;margin-bottom:14px;padding-bottom:14px}.math-header h2{font-size:24px}.math-header .eyebrow{font-size:7px}.math-school-emblem .icon{width:25px;height:25px}.math-intro{margin-bottom:10px;font-size:11px}.equation{gap:9px;padding-top:13px;font-size:30px}.equation input{width:86px;height:59px;font-size:31px}.numeric-keypad{gap:7px}.keypad-key{min-height:45px;font-size:18px}.math-feedback{min-height:30px;margin:8px 0 10px;font-size:10px}.answer-submit{min-height:46px;margin-top:13px;margin-bottom:15px;font-size:13px}.hint-heading{gap:6px;font-size:9px}.hint-heading .text-button{font-size:9px}.math-footer{font-size:8px}.math-footer .text-button{font-size:9px}.result-book{padding:28px 23px}.result-book h2{font-size:33px}.result-book>p{font-size:12px}.result-summary{gap:10px;margin:22px 0}.result-emblem{width:63px;height:63px;margin-bottom:20px}.result-emblem .icon{width:31px;height:31px}.pause-book{max-width:380px}.resolution-book{max-width:360px;padding:29px 24px}.resolution-book h2{font-size:32px}}@media (max-width:360px){.status-strip{gap:7px;padding-left:6px}.status-strip strong{font-size:12px}.mission-chip{max-width:calc(100% - 203px)}.mission-chip strong{font-size:11px}.title-content{padding-left:18px;padding-right:18px}.title-links{gap:0}.title-links .text-button{font-size:9px}.title-tagline{font-size:19px}.site-panel{width:228px}.math-book{padding:18px 16px 12px}.math-header h2{font-size:22px}.math-header{gap:7px}.math-school-emblem .icon{width:21px;height:21px}.equation{gap:7px;font-size:26px}.equation input{width:72px;font-size:29px}.spell-consequence{font-size:8px}.check-card{gap:5px;padding:9px 7px;font-size:10px}.operation-symbol{font-size:18px}.codex-entry{gap:12px}.codex-emblem,.creature-insignia{width:38px;height:47px}.book-tabs .tab-button{padding:9px 7px;font-size:10px}}@media (max-height:540px) and (min-width:601px){.title-content{width:43%;min-width:350px;padding-top:24px;padding-bottom:12px}.brand-mark{margin-bottom:9px;font-size:10px}.title-screen h1{margin-bottom:16px;font-size:67px}.title-tagline{margin-bottom:10px;font-size:21px}.title-tagline br{display:none}.title-description{margin-bottom:15px;font-size:10px}.title-actions{flex-direction:row;gap:9px;width:100%;max-width:420px}.title-actions .button{min-height:46px;padding:8px 12px;font-size:11px}.title-actions .quiet .icon{display:none}.title-links{margin-top:12px}.title-links .text-button{min-height:36px;font-size:10px}.title-bottom{margin-top:0;padding-top:5px}.world-caption{font-size:8px;bottom:22px}.world-caption small{font-size:12px}.title-seal{font-size:9px}.spellbook{max-height:100%;padding:20px 25px}.battle-top{top:10px}.mission-chip{padding:5px 11px}.mission-chip strong{font-size:16px}.status-strip{min-height:48px;padding-block:2px}.battle-tools{top:73px}.site-panel,.foundation-list,.wave-notes{max-height:calc(100% - 120px);top:73px}.site-panel{width:260px}.build-card{min-height:91px;padding:7px 3px}.build-rune{width:26px;height:26px;margin-bottom:4px}.build-role{font-size:7px}.build-cost{margin-top:3px}.site-description{margin-bottom:10px;font-size:10px}.battle-bottom{bottom:27px}.planning-label{display:none}.start-wave{min-width:165px;min-height:44px;font-size:12px}.spell-strip{padding:7px 10px}.spell-strip-label{margin-bottom:5px;font-size:9px}.spell-button{min-height:44px;padding:5px 7px}.battle-message{font-size:9px;bottom:6px}.enemy-chip{top:75px}.math-book{grid-template-columns:1fr 1fr;gap:0 23px;max-width:650px;padding:18px 25px;display:grid}.math-header{grid-column:1/-1;margin-bottom:11px;padding-bottom:10px}.math-header h2{font-size:24px}.math-intro{grid-area:2/1;margin-bottom:6px;font-size:11px}.spell-consequence{grid-area:3/1;padding-bottom:4px;font-size:8px}.answer-form{grid-area:2/2/6}.equation{gap:8px;padding:3px 0 5px;font-size:25px}.equation input{width:72px;height:44px;font-size:26px}.math-feedback{min-height:27px;margin:4px 0 7px;font-size:9px}.numeric-keypad{gap:5px}.keypad-key{min-height:38px;font-size:16px}.answer-submit{min-height:40px;margin:10px 0 5px;padding:9px 12px;font-size:11px}.hint-panel{grid-area:4/1;margin:10px 0}.hint-heading{flex-wrap:wrap;gap:7px;font-size:10px}.hint-heading .text-button{min-height:35px;margin-left:23px}.hint-panel>p{margin-top:5px;font-size:11px}.math-footer{flex-wrap:wrap;grid-area:5/1;align-self:end}.result-book{padding:23px 30px}.result-emblem{width:48px;height:48px;margin-bottom:12px}.result-emblem .icon{width:27px;height:27px}.result-book h2{margin:6px 0 13px;font-size:30px}.result-summary{margin:16px 0;padding:10px 0}.result-actions{gap:9px}.result-actions .button{min-height:44px;padding:9px}.result-actions+.fine-print{margin-top:13px}.pause-book .dialog-intro{margin-bottom:17px}.pause-actions{gap:7px}.pause-actions .button{min-height:44px}.pause-actions .text-button{min-height:35px}.pause-book .menu-footer{margin-top:15px}}@media (max-width:600px) and (max-height:620px){.title-content{padding-top:160px}.title-tagline{font-size:18px}.title-description{margin-bottom:12px;font-size:10px}.title-screen h1{font-size:64px}.title-links .text-button{min-height:36px}.math-book{padding-top:16px}.math-intro{margin-bottom:5px;font-size:10px}.math-header{margin-bottom:10px;padding-bottom:11px}.equation{padding:7px 0 3px}.equation input{height:52px}.keypad-key{min-height:44px}.math-feedback{margin:6px 0 7px}.answer-submit{margin:10px 0 12px}.math-footer{margin-top:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{transition:none!important;animation:none!important}@media (forced-colors:active){.spellbook,.floating-panel,.button,.mission-card,.hud-button,.status-strip,.keypad-key,.spell-button{border:1px solid canvastext}.title-vignette{background:canvas}.title-content,.title-screen h1,.title-tagline{color:canvastext}.mission-card.completed{border-left:3px solid highlight}.check-card:has(input:checked){border-color:highlight}.update-status,.fine-print,.eyebrow,p{color:canvastext}}.cast-target-label{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:9px 0 11px;font-size:10px;display:flex}.cast-target-label>.icon{width:15px;height:15px;color:var(--cyan)}.cast-target-label select{width:100%;min-height:44px;color:var(--parchment);border:1px solid var(--line);background:#0e2438;border-radius:4px;max-width:100%;padding:9px;font-size:11px}.math-footer .text-button,.hint-heading .text-button,.result-actions .text-button,.title-links .text-button,.pause-actions .text-button,.keypad-key{min-height:44px}.status-strip .menu-button{width:44px;min-width:44px}.medal-rating{color:var(--gold);justify-content:center;gap:9px;margin:17px 0 -9px;display:flex}.medal-rating .icon{width:23px;height:23px}.medal-rating .unearned{opacity:.25}.title-loading [data-load-retry]{margin-top:12px}.wave-notes .mentor-note{color:#e2dcc7;border-top:1px solid var(--line);padding-top:11px}.settings-content .reset-confirm .button{min-height:44px}@media (max-height:540px) and (min-width:601px){.math-book:has(.cast-target-label){grid-template-columns:1fr 1.1fr}.math-book:has(.cast-target-label) .cast-target-label{grid-area:4/1;margin:3px 0 7px}.math-book:has(.cast-target-label) .hint-panel{grid-row:5;margin:7px 0}.math-book:has(.cast-target-label) .math-footer{grid-row:6}.math-book:has(.cast-target-label) .answer-form{grid-row:2/7}.cast-target-label select{font-size:10px}.math-header{grid-column:1/-1}}.runehold-ui{font-family:Trebuchet MS,Segoe UI,sans-serif}.mission-chip .eyebrow{display:block}.notice-box{border:1px solid #d8bc7c7a;border-left:3px solid var(--gold);text-align:left;pointer-events:auto;background:#a78c4926;border-radius:4px;align-items:flex-start;gap:10px;width:100%;margin:0 0 19px;padding:10px 8px 10px 14px;display:flex}.notice-box p{color:#f0deba;overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:12px;line-height:1.7}.notice-box>.icon-button{flex:none;margin:-7px -3px -7px 0}.notice-box>.icon-button .icon{width:16px;height:16px}.title-content>.notice-box{max-width:350px;font-size:11px}.title-content>.notice-box p{font-size:11px}.spellbook>.notice-box{margin-top:-8px}.notice-box [hidden]{display:none}@media (max-height:540px) and (min-width:601px){.focus-backdrop{padding:10px max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left))}.math-book{width:650px;max-width:100%;padding:12px 22px}.math-header{margin-bottom:8px;padding-bottom:8px}.math-header h2{font-size:23px}.equation{padding:0 0 5px}.math-feedback{min-height:20px;margin:4px 0 5px}.numeric-keypad{grid-template-columns:repeat(4,1fr)}.answer-submit{min-height:44px;margin:10px 0 0}.math-book .hint-panel{margin:8px 0}.math-book:has(.cast-target-label) .cast-target-label{margin:0 0 5px}.math-book:has(.cast-target-label) .hint-panel{margin:5px 0}.math-book .math-footer{margin-top:0}}.runehold-ui{--battle-panel-height:150px;--battle-panel-inset:calc(var(--battle-panel-height) + env(safe-area-inset-bottom))}.battle-panel,.cast-dock{width:100%;height:var(--battle-panel-inset);pointer-events:auto;overscroll-behavior:contain;max-height:none;padding:4px max(12px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));color:var(--parchment);background:linear-gradient(135deg,#203448,#0c1c30 65%);border:0;border-top:1px solid #c9a96b91;border-radius:0;scroll-padding:8px;position:absolute;bottom:0;left:0;right:0;overflow:auto;transform:none;box-shadow:0 -4px 24px #020b1740}.battle-panel{flex-direction:column;justify-content:safe center;align-items:center;gap:6px;display:flex}.battle-panel>*{flex-shrink:0}.battle-panel .battle-bottom,.battle-panel .battle-message{max-width:100%;margin:0;position:static;inset:auto;transform:none}.battle-panel .battle-message{text-align:center;max-width:720px;font-size:11px;line-height:1.4}.battle-panel .planning-controls{align-items:center}.battle-panel .planning-label{text-align:center;max-width:none;font-size:13px;display:block}.battle-panel .start-wave{min-height:44px}.battle-panel .spell-strip{box-shadow:none;background:0 0;border:0;max-width:100%;padding:0}.battle-panel .spell-strip-label{gap:20px;margin-bottom:6px;font-size:11px}.battle-panel .spell-buttons{flex-wrap:wrap;justify-content:center;gap:8px}.battle-panel .spell-button{min-width:94px;max-width:none;min-height:44px;padding:6px 12px}.battle-panel .spell-button span{font-size:11px}.battle-panel .spell-button .icon{width:20px;height:20px}.has-cast-dock .battle-panel{visibility:hidden;pointer-events:none}.has-cast-dock .battle-tools,.has-cast-dock .floating-panel{display:none}.cast-dock{border-top:2px solid var(--school);align-content:start;align-items:start;display:grid}.cast-answer{grid-template-columns:minmax(0,540px) minmax(0,300px);justify-content:center;gap:0 24px}.cast-question{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;min-width:0;display:grid}.cast-heading{align-items:center;gap:6px;min-width:0;min-height:24px;display:flex}.cast-heading h2{overflow-wrap:anywhere;font-size:20px;line-height:1.15}.cast-emblem{color:var(--school);flex:none;align-items:center;display:flex}.cast-emblem .icon{width:21px;height:21px}.cast-step{white-space:nowrap;color:var(--gold);font-size:10px}.cast-equation{color:#fff1d5;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:25px;font-weight:700;line-height:1.2}.cast-equation>span{color:var(--gold)}.answer-orbs{grid-column:1/-1;grid-template-columns:repeat(6,minmax(44px,1fr));justify-items:center;gap:4px;padding:0;display:grid}.answer-orb{color:#fff0d5;background:radial-gradient(circle at 40% 28%,#314759,#122339 70%);border:1px solid #bfa268;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;line-height:1;transition:background .15s,border-color .15s;display:flex;position:relative;box-shadow:inset 0 0 0 3px #050f2538,0 2px 6px #0004}.answer-orb:hover:not(:disabled){border-color:var(--school);background:radial-gradient(circle at 40% 28%,#43596b,#1b3048 70%)}.answer-orb:focus-visible{outline-offset:1px;outline-color:var(--cyan)}.answer-value{font-variant-numeric:tabular-nums;padding-top:0;font-size:18px;font-weight:700}.answer-marker{color:#ffb7a7;min-width:10px;font-size:12px;position:absolute;bottom:1px;right:2px}.answer-orb.is-incorrect{opacity:.75;color:#d9c4bc;background:#352d36;border-color:#cc8b7f}.answer-orb.is-incorrect .answer-value{text-decoration:line-through;text-decoration-thickness:1px}.cast-math-feedback{text-align:center;color:#d5d6c9;grid-column:1/-1;min-height:14px;margin:0;font-size:10px;line-height:1.4}.cast-tools{min-width:0}.cast-utilities{justify-content:space-between;gap:2px;margin:0;display:flex}.cast-utilities .text-button{gap:5px;min-height:44px;padding:5px 7px;font-size:11px}.cast-utilities .icon{width:15px;height:15px}.cast-utilities .text-button:first-child{color:var(--gold)}.cast-hint{border-left:2px solid var(--school);overflow-wrap:anywhere;background:#04152666;margin:3px 0 0;padding:6px 8px;font-size:12px;line-height:1.5}.cast-placement{grid-template-columns:minmax(0,540px) auto;justify-content:center;gap:4px 24px}.cast-aim-status{color:#f0dfbc;overflow-wrap:anywhere;grid-area:2/1;margin:0;font-size:12px;line-height:1.5}.placement-actions{grid-area:1/2/3;align-self:center;display:flex}.placement-actions .text-button{min-height:44px;font-size:12px}.enemy-chip{bottom:calc(var(--battle-panel-inset) + 12px)}.site-panel,.foundation-list,.wave-notes{max-height:calc(100% - var(--battle-panel-inset) - 130px)}.math-book{max-width:620px;padding:20px 16px;display:block}.math-book .math-header{margin-bottom:12px;padding-bottom:12px}.construction-question .equation{margin-bottom:14px;padding:8px 0;font-size:34px}.construction-question .answer-orbs{gap:3px;max-width:440px;margin:0 auto}.construction-question .math-feedback{min-height:18px;margin:8px 0 12px;font-size:12px}.math-book .math-footer{font-size:11px}.math-book .math-footer .text-button{min-height:44px;font-size:11px}@media (max-width:720px){.battle-panel .spell-button{flex:1;min-width:64px;padding:6px 5px}.battle-panel .spell-button span{font-size:10px}.battle-panel .spell-buttons{flex-wrap:nowrap;gap:7px}.cast-answer{grid-template-columns:minmax(0,1fr);gap:0}.cast-heading h2{font-size:19px}.cast-equation{font-size:24px}.cast-step{font-size:9px}.cast-question{gap:2px 6px}.cast-placement{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.cast-placement>.cast-heading{grid-area:1/1}.cast-aim-status{grid-area:2/1}.placement-actions{grid-area:1/2/3}.math-book{padding:16px 8px}.math-book .math-header{gap:8px}.math-book .math-header h2{font-size:23px}.math-book .math-header .eyebrow{font-size:9px}.math-book .math-footer{flex-wrap:wrap;gap:5px}.construction-question .equation{font-size:30px}}@media (max-height:540px) and (orientation:landscape) and (min-width:640px){.runehold-ui{--battle-panel-height:110px}.cast-answer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}.cast-question{gap:2px 8px}.cast-heading h2{font-size:19px}.cast-equation{font-size:24px}.cast-step{font-size:9px}}@media (forced-colors:active){.battle-panel,.cast-dock,.answer-orb,.cast-hint,.aim-button{border:1px solid canvastext}.answer-orb.is-incorrect{color:graytext}.answer-marker,.cast-emblem,.answer-index,.cast-equation>span,.cast-aim-status,.aim-button{color:canvastext}}.wave-launch{border:1px solid var(--line);width:64px;min-width:64px;min-height:48px;color:var(--parchment);isolation:isolate;background:#152a3d;border-radius:4px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;padding:4px;display:flex;position:relative;overflow:hidden}.wave-launch>strong,.wave-launch>small{z-index:1;position:relative}.wave-launch>strong{font-size:11px;line-height:1.2}.wave-launch>small{color:#eee1c8;font-size:9px;line-height:1.2}.wave-fill{z-index:0;transform-origin:0;pointer-events:none;background:#b990493f;position:absolute;inset:0;transform:scaleX(0)}.wave-launch:hover:not(:disabled){border-color:var(--gold);background:#253f51}.wave-launch.final-wave{opacity:1;background:0 0;border-color:#0000}.construction-dock{grid-template-columns:minmax(0,420px) minmax(284px,420px);grid-auto-rows:max-content;justify-content:center;gap:2px 20px}.construction-dock .construction-head{grid-area:1/1;min-height:max-content}.construction-dock .numeric-keypad{grid-area:1/2/4}.construction-dock .construction-feedback{grid-area:2/1}.construction-dock .cast-hint{grid-area:3/1}.construction-head{align-items:center;gap:4px;min-width:0;min-height:44px;display:flex}.construction-summary{flex:1;min-width:0}.construction-equation{color:#fff1d5;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.2}.construction-equation output{min-width:30px;color:var(--gold);border-bottom:1px solid var(--gold);text-align:center;display:inline-block}.construction-cost{color:#dfd3b8;overflow-wrap:anywhere;margin:2px 0 0;font-size:11px;line-height:1.3}.construction-utilities{flex:none;display:flex}.construction-utilities .icon-button{width:44px;min-width:44px;height:44px}.construction-utilities .icon{width:18px;height:18px}.numeric-keypad{grid-template-columns:repeat(6,minmax(44px,1fr));gap:4px;margin:0;display:grid}.numeric-keypad .keypad-key{border-radius:4px;min-width:44px;min-height:44px;padding:3px;font-size:18px}.numeric-keypad .keypad-submit{color:#132439;border-color:var(--gold);overflow-wrap:anywhere;background:#cfad69;font-size:10px;font-weight:700}.construction-feedback{min-height:15px;margin:0;font-size:11px;line-height:1.4}.math-book .numeric-keypad{margin:12px 0}.math-book .construction-feedback{margin:6px 0}.math-book>h2{margin-bottom:12px;font-size:25px}@media (max-width:720px){.construction-dock{grid-template-columns:minmax(0,1fr);gap:2px}.construction-dock .construction-head{grid-area:1/1}.construction-dock .numeric-keypad{grid-area:2/1}.construction-dock .construction-feedback{grid-area:3/1}.construction-dock .cast-hint{grid-area:4/1}.construction-equation{font-size:21px}.construction-cost{font-size:10px}.numeric-keypad{gap:3px}.numeric-keypad .keypad-key{font-size:17px}.numeric-keypad .keypad-submit{font-size:9px}}@media (max-width:600px){.battle-top .mission-chip{flex:1;min-width:0;max-width:none}.battle-top .mission-chip strong{overflow-wrap:anywhere}.status-strip{flex:none;gap:8px}.wave-launch{width:60px;min-width:60px;min-height:46px}.wave-launch>strong{font-size:10px}.wave-launch>small{font-size:8px}}@media (max-height:540px) and (orientation:landscape) and (min-width:640px){.construction-dock{grid-template-columns:minmax(0,1fr) minmax(284px,1fr);gap:2px 20px}.construction-dock .construction-head{grid-area:1/1}.construction-dock .numeric-keypad{grid-area:1/2/4}.construction-dock .construction-feedback{grid-area:2/1}.construction-dock .cast-hint{grid-area:3/1}.construction-equation{font-size:21px}.numeric-keypad{gap:3px}}@media (forced-colors:active){.wave-launch,.numeric-keypad .keypad-key{border:1px solid canvastext}.wave-fill{background:highlight}.construction-equation,.construction-equation output{color:canvastext}}.training-book{width:min(620px,96vw);max-width:620px;padding:24px}.training-book .dialog-header{margin-bottom:16px;padding-bottom:15px}.training-summary{color:var(--gold);justify-content:space-between;align-items:center;gap:16px;margin:0 0 10px;display:flex}.wizard-level{align-items:center;gap:12px;display:flex}.wizard-level>.icon{width:34px;height:34px}.wizard-level>span{gap:2px;display:grid}.wizard-level strong{color:var(--parchment);font-size:18px}.wizard-level small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.skill-token{border:1px solid var(--line);background:#b7913914;border-radius:8px;grid-template-columns:auto auto;align-items:center;gap:0 8px;padding:7px 12px;display:grid}.skill-token>.icon{grid-row:1;width:20px;height:20px}.skill-token strong{font-variant-numeric:tabular-nums;font-size:23px;line-height:1.1}.skill-token small{color:var(--muted);text-align:center;grid-column:1/-1;margin-top:2px;font-size:10px}.training-scope{color:var(--muted);margin:0 0 15px;font-size:11px}.training-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(8em,50% - 6px)),1fr));gap:12px;display:grid}.training-entry{border:1px solid color-mix(in srgb,var(--school) 35%,var(--navy));background:linear-gradient(150deg,color-mix(in srgb,var(--school) 9%,#1b2e40),#102235);border-radius:10px;min-width:0;min-height:154px;padding:0;transition:border-color .15s,background .15s;position:relative}.training-entry.selected{border-color:var(--school);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--school) 30%,transparent),0 0 20px color-mix(in srgb,var(--school) 6%,transparent)}.training-select{text-align:left;width:100%;min-height:154px;color:var(--parchment);background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:15px 16px 10px;display:flex}.training-select:focus-visible{outline-offset:2px}.training-emblem{color:var(--school);border:1px solid color-mix(in srgb,var(--school) 40%,transparent);background:color-mix(in srgb,var(--school) 7%,transparent);border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.training-emblem .icon{width:27px;height:27px}.training-name{font:normal 22px/1.2 var(--serif);overflow-wrap:anywhere;max-width:100%}.rank-pips{gap:5px;padding:3px 0;display:flex}.rank-pips i{border:1px solid color-mix(in srgb,var(--school) 55%,transparent);background:#071522;border-radius:2px;width:15px;height:6px;display:block}.rank-pips i.filled{background:var(--school);box-shadow:0 0 5px color-mix(in srgb,var(--school) 20%,transparent)}.training-gate{color:var(--muted);min-height:15px;padding-right:46px;font-size:10px}.training-upgrade{border:1px solid var(--school);min-width:44px;min-height:44px;color:var(--parchment);background:color-mix(in srgb,var(--school) 16%,#112337);border-radius:7px;justify-content:center;align-items:center;gap:3px;font-weight:700;display:flex;position:absolute;bottom:11px;right:11px}.training-upgrade>span:first-child{font-size:21px}.point-cost{font-size:11px}.training-upgrade:hover:not(:disabled){background:color-mix(in srgb,var(--school) 28%,#112337)}.training-upgrade:disabled{opacity:.45}.unlearned .training-emblem{opacity:.65}.training-detail-toggle{color:var(--school,var(--parchment));justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:12px;font-size:12px;display:flex}.training-detail-toggle .text-button{font-size:12px}.training-details{border-top:1px solid var(--line);min-width:0;padding-top:13px}.training-details>p{margin-bottom:10px;font-size:12px;line-height:1.65}.training-details dl{margin:0;font-size:11px}.training-details dl>div{border-bottom:1px solid #bdbd9816;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:6px 0;display:grid}.training-details dt{color:var(--gold)}.training-details dd{overflow-wrap:anywhere;color:var(--parchment);margin:0}.training-reset{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:8px;padding-top:7px;display:flex}.training-reset .fine-print{margin:0;font-size:11px}.training-reset .text-button{padding-left:0;font-size:12px}.training-book .menu-footer{margin-top:8px;padding-top:5px}.campaign-training{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.campaign-training p{color:var(--gold);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.campaign-training p>.icon{width:16px;height:16px}.mission-introduction{color:var(--gold);align-items:center;gap:5px;margin:9px 0;font-size:10px;line-height:1.4;display:flex}.mission-introduction>.icon{width:15px;height:15px}.wizard-reward{color:var(--gold)}.volume-row{grid-template-columns:minmax(100px,1fr) minmax(90px,1fr) 40px;align-items:center;gap:12px;margin:16px 0;font-size:.85rem;display:grid}.volume-row input{accent-color:#e8bc68;width:100%;min-height:44px}.volume-row output{text-align:right;font-variant-numeric:tabular-nums}@media (max-width:540px){.training-book{padding:18px 14px}.training-grid{gap:9px}.training-select{min-height:148px;padding:12px 11px 10px}.training-name{font-size:20px}.training-upgrade{bottom:8px;right:8px}.campaign-training{align-items:center}.campaign-training .button{padding:8px;font-size:11px}.training-detail-toggle{gap:6px}.training-details dl>div{grid-template-columns:64px minmax(0,1fr)}}.saved-build{color:#b8c8cd;font-size:.8rem}.training-upgrade{width:max(44px,2.5em);height:44px;padding:0;line-height:1;top:15px;bottom:auto}.training-select .rank-pips{flex-shrink:0}@media (max-width:540px){.training-upgrade{top:12px;bottom:auto}}.spell-lock{color:#bdc4c8;font-size:9px;font-weight:400;line-height:1.2;display:block}.title-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 6px;width:min(100%,300px);margin:18px 0 8px;display:grid}.title-links .text-button{justify-content:flex-start;min-height:44px;padding-inline:0}.title-actions{margin-top:4px}.title-content{min-width:0}.title-screen h1{margin-bottom:24px}.title-seal{display:none}.campaign-region{margin-bottom:23px}.region-heading{align-items:center;margin-bottom:12px}.region-heading h3{margin:0}.mission-card{min-height:132px;padding:15px 14px}.mission-card h4{margin-bottom:11px;font-size:21px}.mission-order{margin-bottom:8px}.mission-state{margin-top:10px}.mission-card.completed .mission-state{color:var(--gold)}.dialog-header{margin-bottom:17px;padding-bottom:16px}.settings-content legend{font-size:22px}.settings-content fieldset{margin-bottom:22px}.toggle-row{min-height:49px;padding:10px 0}.operation-grid{margin:12px 0 16px}.settings-content .fine-print{font-size:11px}.site-panel .mini-heading{margin-bottom:9px}.build-card{min-height:102px;padding:10px 6px 8px}.build-rune{margin-bottom:5px}.build-cost{margin-top:5px}.tower-detail{margin:9px 0 12px}.tower-detail h3{font-size:20px}.tower-actions{gap:4px}.battle-panel .planning-controls{gap:5px}.battle-panel .planning-label{font:normal 15px var(--serif);background:0 0;padding:0}.battle-panel .planning-controls .fine-print{margin:0;font-size:11px}.battle-message:empty{display:none}.battle-panel .spell-strip-label{color:var(--muted);gap:40px;margin-bottom:8px}.battle-panel .spell-strip-label>span{color:var(--muted);font-size:10px}.battle-panel .spell-button{isolation:isolate;border:1px solid color-mix(in srgb,var(--school) 45%,#253849);background:linear-gradient(140deg,#243b50,#10243a);border-radius:8px;gap:5px;min-width:104px;min-height:60px;padding:8px 13px;position:relative;overflow:hidden}.battle-panel .spell-button>.icon,.battle-panel .spell-button>.spell-name,.battle-panel .spell-button>.spell-cooldown{z-index:1;position:relative}.battle-panel .spell-button>.icon{width:24px;height:24px;color:var(--school)}.spell-cooldown-fill{transform-origin:0;background:color-mix(in srgb,var(--school) 15%,transparent);z-index:0;pointer-events:none;position:absolute;inset:0}.battle-panel .spell-button>.spell-cooldown{text-align:right;min-width:20px;color:var(--parchment);font-variant-numeric:tabular-nums;font-size:10px;position:absolute;top:4px;right:5px}.battle-panel .spell-button.recharging{opacity:.75}.battle-panel .spell-button:hover:not(:disabled){border-color:var(--school)}.pause-book .dialog-intro{margin-bottom:17px;font-size:12px}.pause-actions{gap:8px}.result-book .result-emblem{width:58px;height:58px;margin-bottom:17px}.result-book>p{font-size:12px}.result-summary{margin:19px 0;padding:13px 0}.result-actions{gap:9px}.result-book .wizard-reward{margin:18px 0 0;font-size:12px}@media (max-width:720px){.battle-panel .spell-buttons{gap:7px}.battle-panel .spell-button{min-width:64px;padding:7px 6px}.battle-panel .spell-button>.spell-name{font-size:10px}.battle-panel .spell-strip-label{gap:24px}.title-links{margin-top:13px}.mission-card{min-height:122px}.training-book .dialog-header h2{font-size:28px}}@media (max-height:540px) and (orientation:landscape) and (min-width:640px){.battle-panel .spell-button{min-height:55px;padding:6px 10px}.battle-panel .spell-strip-label{margin-bottom:4px}.training-book{width:min(620px,96vw)}.training-summary{margin-bottom:8px}.training-scope{margin-bottom:10px}}@media (forced-colors:active){.training-entry,.training-upgrade,.skill-token,.rank-pips i{border:1px solid canvastext}.rank-pips i.filled{background:highlight}.training-entry.selected{outline:1px solid highlight}.spell-cooldown-fill{background:highlight}.training-upgrade:disabled{color:graytext}.training-emblem{color:canvastext}}.status-strip .ward-status>span{flex:0 0 46px;width:46px}.status-strip .points-status>span{flex:0 0 56px;width:56px}.status-strip strong,.status-strip small{white-space:nowrap}@media (max-width:600px){.status-strip .ward-status>span{flex-basis:34px;width:34px}.status-strip .points-status>span{flex-basis:43px;width:43px}}@media (max-width:360px){.status-strip{gap:6px;padding-inline:5px 2px}.status-strip .ward-status>.icon,.status-strip .points-status>.icon{display:none}.battle-top .mission-chip{padding-inline:6px}}.battle-panel .battle-bottom{width:min(100%,980px);min-width:0}.battle-panel:has(.dock-disclosure){justify-content:flex-start;align-items:stretch}.battle-panel:has(.dock-disclosure) .battle-bottom{margin-inline:auto}.battle-panel .site-panel,.battle-panel .foundation-list,.battle-panel .wave-notes,.battle-panel .enemy-chip{width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;pointer-events:auto;background:0 0;border:0;padding:0;position:static;inset:auto;transform:none}.dock-heading{min-height:44px;color:var(--parchment);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.dock-heading>strong{overflow-wrap:anywhere;min-width:0}.dock-heading>.icon-button{flex-shrink:0}.battle-panel .build-grid{overscroll-behavior-x:contain;gap:8px;min-width:0;padding:0 2px 5px;scroll-padding:4px;display:flex;overflow-x:auto}.battle-panel .build-card{text-align:left;border-radius:6px;flex:1 0 120px;grid-template-rows:auto auto;grid-template-columns:25px minmax(0,1fr);align-content:center;gap:0 6px;min-height:73px;padding:6px 8px;display:grid}.battle-panel .build-rune{border:0;grid-row:1/3;width:25px;height:25px;margin:0}.battle-panel .build-rune>.icon{width:23px;height:23px}.battle-panel .build-name{margin:0;font-size:11px;line-height:1.3}.battle-panel .build-cost{margin:3px 0 0;font-size:11px}.tower-dock-actions{align-items:center;gap:12px;min-width:0;display:flex}.tower-stats{flex-wrap:wrap;flex:none;align-items:center;gap:9px;font-size:12px;display:flex}.tower-stats>.icon{color:var(--school)}.tower-stats span{align-items:center;gap:3px;display:flex}.tower-stats span>.icon{width:16px;height:16px}.branch-selected{color:var(--school);font-size:12px}.battle-panel .tower-actions{flex-direction:row;align-items:center;gap:8px;min-width:0;padding:3px;scroll-padding:4px;display:flex;overflow-x:auto}.battle-panel .tower-actions>*{flex-shrink:0}.branch-button{text-align:left;border:1px solid var(--line);background:#142b40;border-radius:5px;align-items:center;gap:8px;min-width:185px;min-height:54px;padding:6px 9px;font-size:12px;display:flex}.branch-button>span:nth-child(2){gap:1px;display:grid}.branch-button small{color:var(--muted);white-space:normal;max-width:190px;font-size:10px}.branch-button>strong{color:var(--gold);white-space:nowrap;font-size:11px}.branch-icon{color:var(--school);font-size:23px}.tower-extra{margin:5px 0;font-size:12px}.battle-panel .site-list{gap:8px;padding:0 2px 5px;scroll-padding:4px;display:flex;overflow-x:auto}.battle-panel .site-button{border:1px solid var(--line);border-radius:5px;flex:none;gap:8px;min-width:150px;min-height:54px;padding:6px 9px;display:flex}.battle-panel .site-button small{font-size:10px}.battle-panel .wave-enemies{flex-direction:row;gap:15px;min-width:0;margin:0;padding:0 2px 7px;display:flex;overflow-x:auto}.battle-panel .wave-enemies .wave-creature{border:0;flex:none;align-items:center;gap:6px;padding:0;font-size:12px;display:flex}.wave-creature>.icon{width:26px;height:26px;color:var(--gold)}.wave-creature small{color:var(--cyan);font-size:11px;display:block}.battle-panel .enemy-chip p{margin:0 0 4px;font-size:12px}.battle-panel .enemy-chip small{font-size:12px}.battle-panel .enemy-chip .icon-button{position:static}.battle-tools{flex-direction:row;gap:4px}.battle-tools>.hud-button{justify-content:center;width:44px;min-width:44px;min-height:44px;padding:5px}.battle-tools>.hud-button>.icon{width:20px;height:20px}.battle-tools .mechanic-button{border-color:#9addd080;position:relative}.mechanic-button>span{align-self:flex-end;font-size:10px;font-weight:700}.has-cast-dock .battle-tools{display:flex}.has-cast-dock .battle-tools>[data-action=toggleSites],.has-cast-dock .battle-tools>[data-action=toggleWave]{display:none}.target-count{color:var(--gold);margin:0;font-size:11px;line-height:1.3}.aiming-lesson{color:var(--gold);align-items:center;gap:5px;margin-top:5px;font-size:11px;display:flex}.aiming-lesson .icon{width:24px;height:16px}.wave-mechanic-note{align-items:center;gap:6px;margin:2px 0;font-size:11px;line-height:1.4;display:flex}.wave-mechanic-note>.icon{width:17px;height:17px;color:var(--gold)}.trait-choices{flex-wrap:wrap;align-items:center;gap:9px;min-width:0;margin-top:12px;display:flex}.trait-button{border:1px solid var(--line);background:#122a3e;border-radius:6px;flex:1;align-items:center;gap:7px;min-width:44px;min-height:44px;padding:7px 11px;font-size:12px;display:flex}.trait-button>span:first-child{color:var(--gold);font-size:24px;line-height:1}.trait-button.selected{border-color:var(--cyan);box-shadow:inset 0 0 0 1px #8ce8e54f}.trait-choices>small{color:var(--muted);font-size:11px}@media (max-width:720px){.tower-dock-actions{flex-direction:column;align-items:flex-start;gap:3px}.battle-panel .tower-actions{width:100%}.tower-stats{gap:10px}.battle-panel .planning-controls{flex-flow:wrap;justify-content:center}.target-count{font-size:10px}.cast-utilities .text-button{padding-inline:5px}}@media (max-height:540px) and (orientation:landscape) and (min-width:640px){.battle-panel .dock-heading{min-height:44px}.battle-panel .build-card{min-height:49px}.tower-dock-actions{flex-direction:row;gap:12px}.battle-panel .tower-actions{width:auto}.branch-button{min-height:44px}.battle-panel .site-button{min-height:46px}.target-count{margin:0}}@media (forced-colors:active){.branch-button,.trait-button,.build-card,.site-button,.mechanic-button{border:1px solid canvastext}.trait-button.selected{outline:2px solid highlight}.branch-icon,.target-count,.aiming-lesson,.wave-creature small{color:canvastext}}.guide-branches{border-top:1px solid var(--line);margin-top:9px;padding-top:7px}.guide-branches p{margin:0 0 7px;font-size:11px;line-height:1.4}.guide-branches small{margin-top:3px;display:block}.mechanic-use{color:var(--gold);border-color:var(--brass)}.mechanic-button[aria-pressed=true]{border-color:var(--cyan)}.construction-summary .construction-feedback{color:#ffd3aa;min-height:0;margin:2px 0 0;font-size:10px;line-height:1.3}.construction-help{min-width:0;height:100%;min-height:0;max-height:calc(var(--battle-panel-height) - 12px);flex-direction:column;grid-area:1/2/4;display:flex}.construction-help .cast-hint{flex:1;grid-area:auto;min-height:0;margin:0;font-size:12px;overflow:auto}.construction-help>div{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.construction-help button{min-height:44px;font-size:11px}.construction-dock.showing-hint{grid-template-rows:minmax(0,1fr)}.construction-dock.showing-hint .construction-help{grid-row:1;align-self:stretch}.construction-dock.showing-hint .construction-head{align-self:start}.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;display:grid}.branch-grid .branch-button{grid-template-columns:20px minmax(0,1fr) auto;align-content:center;gap:1px 4px;width:100%;min-width:0;min-height:64px;padding:5px 6px;display:grid}.branch-grid .branch-title{overflow-wrap:anywhere;font-size:11px;line-height:1.2}.branch-grid .branch-icon{font-size:19px}.branch-grid .branch-button>strong{grid-column:3;font-size:10px}.branch-grid .branch-button>small{overflow-wrap:anywhere;grid-column:1/-1;max-width:none;font-size:10px;line-height:1.25}.branch-dock .tower-stats{min-height:18px;margin:0 0 4px;font-size:11px}.branch-dock .tower-stats>.icon{width:18px;height:18px}.branch-dock .dock-heading{min-height:44px;font-size:11px}.tower-secondary{align-items:center;gap:12px;display:flex}.tower-secondary .text-button{min-height:44px;padding-block:3px;font-size:11px}.battle-tools.inspecting-mechanic>.hud-button:not(.mechanic-button){display:none}.battle-tools.inspecting-mechanic{align-items:stretch;max-width:calc(100% - 24px)}.battle-tools .mechanic-use{border:1px solid var(--gold);text-align:left;background:#142b40;border-radius:4px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:0;min-height:44px;padding:4px 8px;display:flex}.mechanic-use strong{align-items:center;gap:5px;font-size:12px;display:flex}.mechanic-use strong>span{color:var(--parchment);margin-left:8px}.mechanic-use strong .icon{width:16px;height:16px}.mechanic-use small{color:var(--parchment);overflow-wrap:anywhere;font-size:10px;line-height:1.3}.trait-choices{align-items:stretch}.trait-button{text-align:left;flex:calc(50% - 9px);align-items:flex-start;min-width:0}.trait-content{gap:5px;min-width:0;display:grid}.trait-content strong{overflow-wrap:anywhere;font-size:12px}.trait-chips{flex-wrap:wrap;gap:4px;display:flex}.trait-chips small{color:var(--muted);border:1px solid #e9c78133;border-radius:3px;padding:2px 4px;font-size:10px;line-height:1.35}.compact-result{max-width:480px;padding:16px 20px}.result-title{justify-content:center;align-items:center;gap:10px;display:flex}.compact-result .result-emblem{flex-shrink:0;width:36px;height:36px;margin:0}.compact-result .result-emblem .icon{width:23px;height:23px}.compact-result h2{margin:0;font-size:29px;line-height:1.2}.compact-result .medal-rating{margin:7px 0}.compact-result .medal-rating .icon{width:20px;height:20px}.result-reward{color:var(--gold);background:#b9984020;border:1px solid #d6b67570;border-radius:5px;gap:3px;margin:8px 0;padding:8px;font-size:13px;display:grid}.result-reward>small{color:var(--muted);font-size:10px}.result-unlocks{color:var(--parchment);flex-wrap:wrap;justify-content:center;gap:4px 10px;font-size:10px;display:flex}.result-unlocks>span{align-items:center;gap:4px;display:flex}.result-unlocks .icon{width:16px;height:16px}.compact-result .result-battle-line{color:var(--muted);margin:8px 0;font-size:11px}.result-math{border-block:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:8px;display:grid}.result-math>span{gap:2px;display:grid}.result-math strong{color:var(--gold);font-size:22px;line-height:1.1}.result-math small{font-size:10px}.math-breakdown{text-align:left;margin:7px 0;font-size:11px}.math-breakdown summary{cursor:pointer;min-height:44px;color:var(--gold);align-content:center;display:list-item}.math-breakdown table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:10px}.math-breakdown th,.math-breakdown td{overflow-wrap:anywhere;border-bottom:1px solid var(--line);padding:4px 1px}.math-breakdown p{margin:6px 0;font-size:10px;line-height:1.4}.compact-result .result-actions{gap:7px;margin-top:10px}.compact-result .result-actions .button{min-height:44px;padding:8px 10px;font-size:12px}.compact-result .result-actions .text-button{min-height:44px;font-size:11px}@media (max-width:720px){.construction-dock.showing-hint{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.construction-dock.showing-hint .construction-help{grid-area:2/1;max-height:none}}@media (max-height:540px) and (orientation:landscape) and (min-width:640px){.construction-dock.showing-hint{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(284px,1fr)}.construction-dock.showing-hint .construction-help{grid-area:1/2}.branch-dock{grid-template-columns:minmax(250px,1fr) minmax(280px,1fr);gap:0 12px;display:grid}.branch-dock .dock-heading,.branch-dock .tower-stats,.branch-dock .tower-secondary{grid-column:1}.branch-dock .branch-grid{grid-area:1/2/4;align-self:center}.branch-dock .tower-secondary .text-button{min-height:32px}}@media (forced-colors:active){.trait-chips small,.result-reward{border:1px solid canvastext}.construction-summary .construction-feedback{color:canvastext}}.endless-book{max-width:490px}.endless-book h3{margin:0 0 10px}.endless-map{border:1px solid var(--line);border-radius:8px;width:100%;max-height:200px;display:block}.endless-summary{justify-content:space-between;gap:8px;margin:10px 0;font-size:12px;display:flex}.endless-summary strong{color:var(--gold)}.endless-difficulty{gap:6px;display:flex}.endless-difficulty button{flex:1;min-width:0;min-height:44px;padding-inline:6px;font-size:12px}.endless-rules{margin-top:10px;font-size:12px}.endless-rules summary{cursor:pointer;min-height:44px;color:var(--gold);align-content:center}.endless-rules p{font-size:12px;line-height:1.5}.endless-book .result-actions{margin-top:10px}.priority-button{color:#f2dda0;min-height:44px;font:inherit;cursor:pointer;white-space:nowrap;background:#1b3548;border:1px solid #cda85970;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:5px 9px;display:inline-flex}.priority-button svg{width:16px;height:16px}.priority-button:focus-visible{outline-offset:2px;outline:2px solid #f2dda0}.tower-stats{flex-wrap:wrap}.campaign-hub,.compact-training{--sans:Trebuchet MS,Segoe UI,sans-serif}.campaign-hub{max-width:760px;padding:22px 26px}.hub-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.hub-heading .eyebrow{margin:0;font-size:10px}.hub-heading h1{font:normal 43px/1.1 var(--serif);color:var(--parchment);margin:0}.hub-heading>.icon-button{border:1px solid var(--line);flex-shrink:0}.hub-actions{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;margin-bottom:18px;display:grid}.hub-primary{text-align:left;grid-area:1/1;justify-content:flex-start;min-width:0;padding:10px 15px}.hub-endless{grid-area:2/1;justify-content:flex-start;min-height:44px;padding:8px 15px;font-size:13px}.hub-wizard{border:1px solid var(--line);background:#142b40;border-radius:8px;flex-direction:column;grid-area:1/2/3;justify-content:center;align-items:center;gap:3px;min-width:90px;padding:8px 10px;font-size:12px;display:flex;position:relative}.hub-wizard>span:nth-child(2){text-align:center;display:grid}.hub-wizard small{color:var(--muted);font-size:10px}.wizard-portrait{width:47px;height:47px;display:block}.wizard-portrait svg{width:100%;height:100%;display:block}.hub-skill-badge{background:var(--gold);color:#132436;border-radius:12px;align-items:center;gap:2px;min-height:22px;padding:2px 5px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.hub-skill-badge .icon{width:13px;height:13px}.hub-loading{width:100%;margin:0 0 16px}.campaign-hub .campaign-region{margin:0 0 18px}.hub-region-heading{font:normal 20px/1.2 var(--serif);letter-spacing:0;align-items:center;gap:9px;margin:0 0 12px;display:flex}.hub-region-heading>span{color:var(--gold);font:600 11px/1 var(--sans);border:1px solid var(--line);border-radius:4px;padding:5px 7px}.mission-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;position:relative}.mission-path:before{content:"";background:var(--region-accent,var(--brass));opacity:.65;pointer-events:none;height:2px;position:absolute;top:23px;left:16.66%;right:16.66%}.mission-node{text-align:center;background:0 0;border:0;border-radius:5px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:0 3px;line-height:1.25;display:flex;position:relative}.mission-orb{border:2px solid var(--brass);width:48px;height:48px;color:var(--gold);background:#12263a;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;position:relative}.mission-orb>.icon{width:25px;height:25px}.mission-node.completed .mission-orb{border-color:var(--cyan);color:var(--cyan);background:#314f4c}.mission-node.current .mission-orb{background:#4d432e;box-shadow:0 0 0 4px #e7bb6630}.mission-node.locked .mission-orb{color:#81909b;border-color:#536371}.mission-node-name{overflow-wrap:anywhere;color:var(--parchment);font-size:12px}.mission-node-state{color:var(--gold);font-size:10px}.mission-node.locked .mission-node-state{color:var(--muted)}.mission-node:focus-visible .mission-orb{outline:2px solid var(--gold);outline-offset:4px}.compact-training{max-width:650px;padding:20px 24px}.compact-training .dialog-header{margin-bottom:12px;padding-bottom:12px}.compact-training .training-summary{margin:0 0 8px}.compact-training .training-scope{margin:0 0 10px}.compact-training .training-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.compact-training .training-entry{border-radius:7px;min-height:0;padding:0}.compact-training .training-select{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;width:100%;min-height:92px;padding:8px 3px;display:flex}.compact-training .training-emblem{flex:none;width:28px;height:28px}.compact-training .training-emblem>.icon{width:25px;height:25px}.compact-training .training-name{overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.25}.compact-training .rank-pips{gap:4px;margin:0}.compact-training .rank-pips i{width:7px;height:7px}.compact-training .training-gate{overflow-wrap:anywhere;min-height:11px;margin:0;padding-right:0;font-size:9px;line-height:1.2}.selected-training{border-block:1px solid var(--line);padding:12px 0 8px}.training-decision{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.training-decision>div{min-width:0}.training-decision h3{margin:0 0 4px;font-size:19px;line-height:1.25}.training-decision h3 small{font:normal 11px var(--sans);color:var(--muted);white-space:nowrap}.training-next-gain{color:var(--gold);margin:0;font-size:12px;line-height:1.35}.training-reason{margin:4px 0 0;font-size:11px;line-height:1.3}.training-single-upgrade{flex-shrink:0;gap:7px;min-height:44px;padding:8px 10px;font-size:12px}.training-single-upgrade .point-cost{align-items:center;gap:3px;display:flex}.training-single-upgrade .icon{width:15px;height:15px}.compact-training .trait-choices{flex-wrap:nowrap;gap:8px;margin-top:10px}.compact-training .trait-button{align-items:flex-start;gap:5px;padding:7px}.compact-training .trait-content{gap:4px}.compact-training .trait-content strong{font-size:11px}.compact-training .trait-chips small{padding:1px 3px;font-size:10px}.trait-scope{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.4}.compact-training .training-detail-toggle{justify-content:flex-end;margin:0}.compact-training .training-reset{margin-top:6px}.simple-pause .dialog-header{border:0;margin-bottom:12px;padding:0}.simple-pause .pause-actions{flex-direction:column;gap:6px;display:flex}.pause-exits{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;display:flex}@media (max-width:540px){.hub-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.campaign-hub{padding:17px 15px}.hub-heading h1{font-size:36px}.hub-actions{gap:8px}.hub-primary{padding-inline:10px;font-size:13px}.hub-wizard{min-width:80px}.mission-path{gap:5px}.mission-node-name{font-size:11px}.compact-training{padding:16px 13px}.compact-training .training-grid{gap:5px}.compact-training .training-select{min-height:99px}.compact-training .trait-choices{gap:5px}.training-decision{gap:7px}.training-single-upgrade{padding-inline:8px}.compact-training .trait-button>span:first-child{font-size:20px}}@media (forced-colors:active){.mission-orb,.hub-wizard,.training-entry,.hub-skill-badge{border-color:canvastext}.mission-path:before{background:canvastext}.mission-node.current .mission-orb{outline:2px solid highlight}.hub-skill-badge{color:canvastext;background:canvas}.mission-node-name,.mission-node-state,.training-next-gain{color:canvastext}}.runehold-ui{--battle-idle-height:60px}.battle-camera-reserve{width:0;height:calc(var(--battle-idle-height) + env(safe-area-inset-bottom,0px));visibility:hidden;pointer-events:none;position:absolute;bottom:0}.battle-panel[data-panel-state=idle]{height:calc(var(--battle-idle-height) + env(safe-area-inset-bottom,0px));padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));gap:0}.battle-panel[data-preparation=true]{box-shadow:none;pointer-events:none;background:0 0;border:0}.battle-panel[data-panel-state=context]{height:var(--battle-panel-inset);justify-content:flex-start;gap:0}.battle-panel .battle-message:empty{display:none}.battle-panel[data-panel-state=idle] .battle-message:not(:empty){bottom:calc(var(--battle-idle-height) + env(safe-area-inset-bottom,0px) + 5px);background:#102235e8;border-radius:4px;max-width:calc(100% - 24px);padding:4px 9px;position:absolute}.battle-panel .spell-buttons{flex-wrap:nowrap;gap:7px}.battle-panel .spell-button{border-radius:6px;gap:2px;min-width:64px;max-width:110px;min-height:46px;padding:4px 8px}.battle-panel .spell-button>.icon{width:21px;height:21px}.battle-panel .spell-button>.spell-name{font-size:10px}.battle-top{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));gap:10px}.battle-top .mission-chip{max-width:280px;padding:4px 9px}.battle-top .mission-chip strong{font-size:17px}.status-strip{gap:9px;min-height:48px;padding:3px 5px 3px 10px}.wave-actions{flex:none;align-items:center;gap:2px;display:flex}.wave-preview-button{border:1px solid var(--line);background:#142b40;min-height:44px}.wave-preview-button>.icon{width:19px;height:19px}.wave-preview-button[aria-expanded=true]{border-color:var(--cyan);color:var(--cyan)}.status-strip .speed-button{box-shadow:none;background:0 0;border-color:#0000;width:44px;min-width:44px;min-height:44px;padding:3px}.battle-panel .build-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0 2px 5px;display:grid;overflow:visible}.battle-panel .build-card{text-align:center;flex:none;grid-template-rows:25px auto auto;grid-template-columns:minmax(0,1fr);justify-items:center;gap:1px;width:100%;min-width:0;min-height:70px;padding:5px 2px;display:grid}.battle-panel .build-rune{grid-row:auto;width:25px;height:25px}.battle-panel .build-name{overflow-wrap:anywhere;max-width:100%;font-size:11px;line-height:1.3}.battle-panel .build-cost{margin:0;font-size:11px;line-height:1.3}.foundation-title{align-items:center;gap:6px;min-width:0;display:flex}.foundation-title>.icon{color:var(--school);width:22px;height:22px}.tower-rank{flex:none;align-items:center;gap:3px;margin:0;display:inline-flex}.tower-rank i{border:1px solid var(--school);background:0 0;border-radius:50%;width:6px;height:6px;display:block}.tower-rank i.filled{background:var(--school)}.battle-panel .dock-heading{gap:5px;font-size:12px}.battle-panel .priority-button{gap:3px;min-height:44px;padding-inline:6px;font-size:11px}.battle-panel .tower-dock-actions{display:block}.battle-panel .tower-actions{flex-wrap:wrap;gap:4px;padding:0;display:flex;overflow:visible}.battle-panel .tower-actions .button{min-height:44px;padding:7px 12px}.upgrade-arrow{width:17px;height:17px;transform:rotate(-90deg)}.tower-details{border-top:1px solid var(--line);margin-top:4px;padding-top:5px}.tower-details .tower-stats{gap:10px;font-size:11px}.tower-details .tower-extra,.tower-details .damage-budget-note{margin:4px 0;font-size:11px;line-height:1.4}.battle-panel .tower-secondary{align-items:center;gap:6px;display:flex}.battle-panel .branch-grid .branch-button{min-height:58px}.battle-panel .branch-grid .branch-button>small{line-height:1.3}.battle-panel .wave-enemies{flex-wrap:wrap;gap:6px;margin:0;padding:0 0 4px;display:flex;overflow:visible}.battle-panel .wave-enemies .wave-creature,.wave-preview-overlay .wave-creature{background:#10273c;border:1px solid #9fb6c334;border-radius:5px;flex:0 auto;align-items:center;gap:5px;min-width:0;padding:4px 7px;font-size:11px;line-height:1.3;display:flex}.wave-portrait{color:var(--creature);flex:none;place-items:center;display:grid}.wave-portrait>.icon{width:28px;height:28px}.wave-creature strong{color:var(--gold);padding:0;font-size:14px}.wave-creature strong>span{font-size:10px}.wave-creature .wave-creature-name{border:0;padding:0}.wave-creature.elite{border-color:var(--gold)}.wave-creature-name small{color:var(--gold);font-size:10px;display:block}.wave-creature .route-badge{border:1px solid var(--route);color:var(--route);border-radius:50%;flex:none;place-items:center;width:17px;height:17px;padding:0;font-size:10px;display:grid}.route-legend{color:var(--muted);gap:14px;font-size:10px;display:flex}.route-legend>span{align-items:center;gap:4px;display:flex}.route-legend>span:before{content:"";background:var(--route);border-radius:50%;width:7px;height:7px}.wave-preview-overlay{top:max(70px,calc(env(safe-area-inset-top) + 62px));left:max(8px,env(safe-area-inset-left));width:min(420px,100% - 16px);max-height:calc(100% - var(--battle-panel-inset) - 90px);overscroll-behavior:contain;border:1px solid var(--line);background:var(--panel);pointer-events:auto;box-shadow:var(--shadow);z-index:2;border-radius:6px;padding:8px 12px;position:absolute;overflow:auto}.wave-preview-overlay .wave-enemies{flex-wrap:wrap;gap:6px;margin:0;display:flex}.wave-preview-overlay .dock-heading{min-height:25px}@media (max-width:600px){.battle-top{flex-direction:column;align-items:stretch;gap:3px}.battle-top .mission-chip{flex:none;align-items:center;gap:6px;width:100%;max-width:none;padding:2px 7px;display:flex}.battle-top .mission-chip .eyebrow{flex:none;margin:0;font-size:8px}.battle-top .mission-chip strong{font-size:13px;line-height:1.3}.battle-top .status-strip{justify-content:space-between;gap:3px;width:100%;min-width:0;padding:2px 4px}.status-strip>span{gap:2px}.status-strip strong{font-size:12px}.status-strip .ward-status>span{flex-basis:29px;width:29px}.status-strip .points-status>span{flex-basis:25px;width:25px}.status-strip .ward-status>.icon,.status-strip .points-status>.icon{width:12px;height:15px;display:block}.status-strip small{letter-spacing:0;font-size:8px}.status-strip [data-hud-bounty]{display:none}.status-strip .menu-button{margin-left:0}.wave-actions{gap:1px}.wave-launch{width:56px;min-width:56px;min-height:44px}.wave-preview-button{width:44px;min-width:44px;padding:3px}.wave-preview-overlay{top:max(90px,calc(env(safe-area-inset-top) + 82px));max-height:calc(100% - var(--battle-panel-inset) - 105px)}.battle-panel .build-name{font-size:10px}.battle-panel .spell-buttons{gap:5px}.battle-panel .spell-button{padding:4px 5px}}@media (max-height:540px) and (orientation:landscape) and (min-width:640px){.battle-panel .build-card{text-align:left;grid-template-rows:auto auto;grid-template-columns:24px minmax(0,1fr);justify-items:start;gap:0 5px;min-height:55px;padding:4px 6px}.battle-panel .build-rune{grid-row:1/3;align-self:center}.battle-panel .branch-grid .branch-button{min-height:58px}.battle-panel .branch-dock{grid-template-columns:minmax(210px,1fr) minmax(280px,1fr)}}@media (forced-colors:active){.wave-preview-button,.wave-creature,.wave-preview-overlay{border:1px solid canvastext}.wave-portrait,.wave-creature strong,.wave-creature .route-badge{color:canvastext}.tower-rank i{border-color:canvastext}.tower-rank i.filled{background:canvastext}.wave-preview-button[aria-expanded=true]{outline:2px solid highlight}}.world-interactions{pointer-events:none;z-index:2;position:absolute;inset:0}.world-control{color:#ffedb8;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.world-control[hidden]{display:none}.world-control:focus-visible{outline-offset:2px;background:#102a35c9;outline:3px solid #89ebdc}.world-cue{text-shadow:0 1px #000;background:#102a35df;border:1px solid #f1cd78;border-radius:50%;place-items:center;width:25px;height:25px;font:700 24px/1 Arial,sans-serif;display:grid;box-shadow:0 1px 5px #051521b0}.world-site[data-built=true] .world-cue{width:23px;height:23px;box-shadow:none;background:0 0;border:2px solid #f1cd7890}.world-site[data-affordable=false][data-built=false] .world-cue{color:#d1d9d8;background:#173137c9;border-color:#a5bbb0;font-size:23px}.world-site[aria-pressed=true] .world-cue{border-color:#89ebdc;box-shadow:0 0 0 2px #89ebdc70}.world-mechanic .world-cue{color:#c8d1cb;border-color:#758d88;width:auto;min-width:25px;height:25px;padding:0 4px;font-size:12px}.world-mechanic[data-ready=true] .world-cue{color:#f2fce3;border-color:#bcf0a3;box-shadow:0 0 6px #8fe6c79e}.world-mechanic[aria-pressed=true] .world-cue{outline-offset:2px;outline:2px solid #89ebdc}.world-mechanic .world-cue{z-index:1;position:relative}.world-leader{transform-origin:0;pointer-events:none;z-index:0;background:#bcf0a3;height:2px;position:absolute;top:50%;left:50%;box-shadow:0 0 2px #102a35}.world-leader[hidden]{display:none}.world-leader:after{content:"";background:#bcf0a3;border-radius:50%;width:4px;height:4px;position:absolute;top:-1px;right:-2px}.mechanic-context{width:100%;min-width:0}.mechanic-context>.dock-heading{min-height:44px}.mechanic-context>.dock-heading>strong{align-items:center;gap:6px;display:flex}.mechanic-context-action{justify-content:space-between;align-items:center;gap:10px;display:flex}.mechanic-context-action>span{gap:4px;font-size:12px;display:grid}.mechanic-context-action small{font-size:12px}.mechanic-context .mechanic-use{width:auto;min-width:60px;min-height:44px;padding:8px 16px}.battle-tools>.mechanic-context{background:#102538f5;border:1px solid #c9a96b91;border-radius:9px;max-width:min(310px,100vw - 24px);padding:4px 8px 8px}.cast-placement{height:calc(60px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto auto;align-content:center;align-items:center;gap:8px}.cast-placement>.cast-heading{grid-area:1/1}.cast-placement>.cast-aim-status{white-space:nowrap;grid-area:1/2;align-items:center;gap:4px;display:flex}.cast-placement>.placement-actions{grid-area:1/3}.cast-placement .cast-heading h2{font-size:16px}.cast-placement .cast-aim-status .icon{width:18px;height:18px}@media (max-width:380px){.cast-placement .cast-heading h2{font-size:14px}.cast-placement{gap:4px}.cast-placement>.cast-aim-status{font-size:11px}.cast-placement>.cast-heading{gap:3px}}@media (forced-colors:active){.world-cue{color:canvastext;background:canvas;border-color:buttontext}.world-control:focus-visible{outline-color:highlight}.world-control[aria-pressed=true] .world-cue{outline:2px solid highlight}.world-site[data-built=true] .world-cue{border-color:buttontext}.world-leader,.world-leader:after{background:canvastext}}.runehold-ui[data-tray-edge=top] .battle-panel,.runehold-ui[data-tray-edge=top] .cast-dock,.runehold-ui[data-tray-edge=top] .construction-dock{top:var(--battle-tray-top,80px);bottom:auto}.runehold-ui .wave-preview-overlay,.runehold-ui .battle-tools.inspecting-mechanic{top:var(--battle-tray-top,80px)}.runehold-ui[data-tray-edge=top] .wave-preview-overlay,.runehold-ui[data-tray-edge=top] .battle-tools.inspecting-mechanic{top:auto;bottom:calc(68px + env(safe-area-inset-bottom))}
