:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e4e2c9;background:#0a1a17;font-synthesis:none;font-weight:400;--gold:#e5bf72;--ink:#0b211a;--muted:#91a49a;--line:rgba(181,173,115,.23);--panel:#102a23;--serif:Georgia,"Times New Roman",serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 0 30%,#1d352b77,transparent 50%),radial-gradient(ellipse at 100% 90%,#263f2b44,transparent 40%),#0a1a17}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #ffe3a5;outline-offset:4px}button{transition:background .15s,border-color .15s,color .15s}button svg{flex-shrink:0}button:not(:disabled):active{transform:translateY(1px)}h1,h2,h3,p{margin:0}kbd{display:inline-block;border:1px solid #82947e55;border-bottom-width:2px;padding:2px 5px;border-radius:3px;font:10px ui-monospace,monospace;line-height:1.1;color:#9eac98;min-width:18px;text-align:center}::selection{background:#e5bf7244;color:#fff6d4}.app-shell{max-width:1620px;margin:auto;padding:0 34px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;color:#ebd59f;font:20px var(--serif);letter-spacing:4px}.brand small{display:block;color:#8ca296;letter-spacing:1.3px;font:9px ui-sans-serif,sans-serif;margin-top:5px;text-transform:uppercase}.brand-mark{width:40px;height:46px;background:linear-gradient(155deg,#2a4f3e,#162e25);color:#efc16d;display:grid;place-items:center;border:1px solid #b4a05a99;border-radius:14px 14px 5px 5px;box-shadow:inset 0 0 0 3px #11291d,0 0 15px #d3a3440c}.topbar-right{display:flex;align-items:center;gap:22px}.preview-badge{font-size:9px;letter-spacing:2px;color:#9bb5a4;padding:6px 9px;background:#243c2b88;border:1px solid #4b6a4f77;border-radius:2px}.text-button{display:flex;gap:8px;align-items:center;border:0;background:transparent;color:#cfcead;font-size:12px;padding:9px 0}.text-button:hover{color:#ffe2a3}.title-row{padding:24px 0 23px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:2.2px;line-height:1.5;font-weight:650;text-transform:uppercase;color:#9fb2a1}h1{font:42px/1.14 var(--serif);letter-spacing:-1px;color:#f0e1b9;margin-top:5px}.title-star{color:#b59b5a;font-size:30px;vertical-align:middle;margin-left:16px}.title-row>p{text-align:right;color:#99ad9e;font:italic 14px/1.6 var(--serif);padding-right:2px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:20px;align-items:start}.battle-section{min-width:0;border:1px solid #a59b6155;background:#0c231d;box-shadow:0 20px 40px #0003}.battle-hud{display:flex;height:70px;align-items:center;padding:0 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#193328,#112920);gap:30px}.hud-stat{display:flex;align-items:center;gap:10px}.hud-stat>svg{color:#c7b278;stroke-width:1.5}.hud-stat strong{font:22px var(--serif);color:#f1dfa9;font-variant-numeric:tabular-nums}.hud-stat i{font:12px ui-sans-serif,sans-serif;color:#92a690}.hud-stat small{font-size:8px;letter-spacing:1.3px;display:block;color:#9fb39f;margin-top:3px}.phase{margin-left:auto;font:italic 12px var(--serif);color:#a8b5a1;display:flex;align-items:center;gap:7px}.phase>span{background:#a1b878;width:5px;height:5px;border-radius:50%}.phase.running>span{background:#edc575;box-shadow:0 0 9px #efc46477}.board-wrap{aspect-ratio:10/7;position:relative;overflow:hidden;background:#0e3028;isolation:isolate}.board-wrap canvas{display:block;width:100%;height:100%}.placement-grid{position:absolute;inset:0;outline:0;cursor:pointer}.placement-grid.building{cursor:crosshair}.placement-grid:focus-visible{box-shadow:inset 0 0 0 2px #e7cd86}.tower-target{position:absolute;border:0;background:transparent;border-radius:3px;padding:0;cursor:pointer}.tower-target:focus-visible{outline:2px solid #ffe2a6;outline-offset:-2px;background:#efbe531f}.tower-target:not(:disabled):active{transform:none}.placement-grid.building .tower-target{pointer-events:none}.placement-bar{min-height:28px;padding:6px 14px;display:flex;justify-content:space-between;gap:12px;font-size:9px;line-height:1.4;color:#a4b59b;background:#122b21;border-bottom:1px solid var(--line)}.placement-bar strong{color:#e3cb92}.placement-bar>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placement-bar>span+span{color:#809c87;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pause-chip{position:absolute;top:16px;left:50%;transform:translate(-50%);border:1px solid #c8b37388;background:#0c241beb;border-radius:30px;padding:9px 16px;font-size:11px;color:#e3d4aa;display:flex;align-items:center;gap:7px;pointer-events:none;white-space:nowrap}.battle-controls{display:flex;align-items:center;gap:10px;padding:17px 20px 15px;background:linear-gradient(0deg,#132d24,#10281f);border-top:1px solid var(--line)}.wave-preview{margin-right:auto}.wave-preview .eyebrow{font-size:8px;letter-spacing:1.7px}.wave-preview strong{display:block;font:17px var(--serif);color:#e1d9b1;margin:3px 0 4px}.wave-preview small{font-size:10px;color:#8d9e8c}.gold-button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d3ac67;background:linear-gradient(145deg,#e4c681,#b99b56);color:#152a21;border-radius:3px;font-size:12px;font-weight:750;padding:11px 17px;box-shadow:inset 0 1px #fff1c670,0 2px 5px #0002}.gold-button:hover:not(:disabled){background:linear-gradient(135deg,#f4dda5,#d6b970);border-color:#ffe0a0}.gold-button:disabled{opacity:.5}.wave-button{min-width:145px}.speed-button{height:42px;width:45px;border:1px solid #9d975a77;background:#203b2c;color:#ddcca2;border-radius:3px;font-size:14px;font-variant-numeric:tabular-nums}.speed-button:hover{background:#304a34}.status-line{min-height:39px;display:flex;align-items:center;gap:8px;padding:9px 18px;font-size:10px;line-height:1.5;color:#a3b49c;border-top:1px solid #73836828;background:#0b211a}.status-star{color:#cdb476;font-size:16px}.tower-panel{background:linear-gradient(120deg,#153329,#10271f);border:1px solid var(--line);box-shadow:0 12px 28px #0002}.panel-heading{padding:19px 18px 16px;display:flex;align-items:center;justify-content:space-between}.panel-heading h2{font:20px var(--serif);color:#e3d6ad;margin-top:5px;letter-spacing:-.3px}.panel-heading .eyebrow{font-size:8px;letter-spacing:1.7px}.panel-heading>span{font:10px ui-monospace,monospace;color:#80967e;border:1px solid #6f83513d;border-radius:30px;padding:5px 7px;white-space:nowrap}.tower-list{padding:0 10px 13px;display:grid;gap:6px}.tower-card{display:flex;align-items:center;position:relative;width:100%;text-align:left;background:#08221966;border:1px solid #687f463d;border-radius:3px;padding:6px 10px 6px 5px;gap:8px;min-height:74px}.tower-card:hover:not(:disabled){border-color:#b09a5f;background:#2c443044}.tower-card.chosen{background:linear-gradient(100deg,#384a2c99,#243a2466);border-color:#c1aa69;box-shadow:inset 3px 0 #d1b56c}.tower-portrait{width:54px;height:58px;display:block;flex-shrink:0;position:relative;overflow:hidden;color:#8c9687}.tower-portrait.mage{display:grid;place-items:center;opacity:.6}.tower-portrait.large{width:85px;height:100px}.tower-card-copy{min-width:0}.tower-card-copy strong{font:16px var(--serif);display:block;color:#ebddb5}.tower-card-copy small{font-size:9px;color:#9bb09b;display:block;margin-top:5px;white-space:nowrap}.tower-price{margin-left:auto;color:#e1c587;font-size:12px;font-weight:650;text-align:right;white-space:nowrap}.tower-price svg{vertical-align:-2px;stroke-width:1.5}.tower-price kbd{display:block;margin:6px 0 0 auto;width:18px;color:#a1ad8d;font-size:8px;border-color:#84906c4f}.tower-card.locked{opacity:1;min-height:59px;border-color:transparent;background:#0b201773}.tower-card.locked strong{color:#728876}.tower-card.locked small{color:#6f8370}.tower-card.locked>svg{margin-left:auto;color:#697d68}.tower-inspector{border-top:1px solid var(--line);padding:15px 18px 16px;min-height:300px;background:#0a211a66}.inspector-heading{display:flex;justify-content:space-between;align-items:center;height:20px}.inspector-heading .eyebrow{font-size:8px;letter-spacing:1.7px}.mini-label{font-size:8px;color:#899f86;letter-spacing:1px}.icon-button{border:0;background:none;padding:2px;color:#9bac94;display:grid;place-items:center}.icon-button:hover{color:#ffdf97}.inspector-title{display:flex;align-items:center;justify-content:space-between;margin-top:9px}.inspector-title h3{font:20px var(--serif);color:#e5d8ad}.levels{display:flex;gap:3px}.levels>span{display:grid;place-items:center;width:21px;height:22px;font:10px var(--serif);border:1px solid #61784c66;color:#718265;background:#0d231b}.levels>span.lit{border-color:#aa9453;background:#8a753026;color:#e2c47c}.tower-description{font-size:11px;line-height:1.7;color:#a6b5a0;margin:11px 0 14px;min-height:38px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:14px 10px;padding-bottom:14px;border-bottom:1px solid #81925833}.stat-grid dt{font-size:9px;letter-spacing:.35px;color:#9bac95;margin-bottom:3px}.stat-grid dd{margin:0;font:21px var(--serif);color:#e7dcb4;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-grid em{font:9px ui-sans-serif,sans-serif;color:#9cae94;margin-left:3px}.stat-grid small{font:11px ui-sans-serif,sans-serif;color:#a9cf96;margin-left:7px}.tower-rule{font-size:10px;line-height:1.6;color:#b5b996;margin:12px 0;min-height:26px}.ricochet-strip{display:flex;margin:12px 0 11px;justify-content:space-between;gap:4px}.ricochet-strip>span{font:13px var(--serif);color:#4c6352;text-align:center;padding:4px 2px}.ricochet-strip>span.active{color:#e3ce97}.ricochet-strip small{display:block;font:6px ui-sans-serif,sans-serif;letter-spacing:.5px;margin-bottom:5px;white-space:nowrap}.build-instruction{color:#bcbd8d;font-size:10px;padding-top:4px;line-height:1.6;display:flex;align-items:center;gap:7px}.instruction-dot{width:5px;height:5px;background:#c8b66f;border-radius:50%;flex-shrink:0}.upgrade-button{width:100%;justify-content:space-between;min-height:39px;font-size:11px}.upgrade-button>span{display:flex;align-items:center;gap:5px}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0 22px;font-size:9px;color:#6f887b}.game-footer>div{display:flex;align-items:center;gap:6px}.game-footer kbd{font-size:8px;color:#879987;border-color:#65765955}.game-footer .text-button{font-size:10px;color:#94a18a;padding:0}.game-footer>span{font-style:italic}.end-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:#071b17e8;color:#e4c477;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.end-overlay h2{font:37px var(--serif);color:#ede0ba}.end-overlay p{color:#a2b59a;font-size:13px}.end-overlay .gold-button{margin-top:8px}.end-overlay .eyebrow{color:#cfb871}.guide-dialog{color:#d9debf;background:radial-gradient(ellipse at 0 0,#274b34,#112d24 65%);border:1px solid #c3ac6a88;border-radius:4px;max-width:610px;width:calc(100% - 60px);padding:35px;box-shadow:0 20px 100px #0008;max-height:85vh;overflow:auto}.guide-dialog::backdrop{background:#020e0abf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.guide-dialog h2{font:31px var(--serif);color:#efdeb1;margin:8px 0 15px}.guide-dialog p{font-size:12px;line-height:1.8;color:#b8c5ac}.close-guide{position:absolute;right:18px;top:17px}.guide-steps{padding-left:18px;margin:20px 0;color:#b7c4ab;font-size:12px;line-height:1.9}.guide-steps li{padding-left:7px;margin-bottom:10px}.guide-steps strong{color:#e3d4a7}.guide-table{border:1px solid #77926066;background:#0b241c77;margin:20px 0}.guide-table>div{display:grid;grid-template-columns:1fr 1fr 1fr;padding:9px 14px;font-size:11px;text-align:center;border-top:1px solid #77926033}.guide-table>div:first-child{border-top:0;font-size:10px;letter-spacing:.5px;color:#e0cd97;background:#4a663033}.guide-dialog .guide-note{font-size:11px;margin:12px 0;line-height:1.8}.guide-note strong{color:#ecd6a1;font-weight:550}.keyboard-guide{display:flex;flex-wrap:wrap;gap:12px 18px;padding:14px 0;color:#b7c4aa;font-size:10px;border-top:1px solid #68834a55;border-bottom:1px solid #68834a55;margin:18px 0}.keyboard-guide kbd{margin-right:4px}.guide-dialog>.gold-button{margin-top:22px;width:100%}.reset-dialog{max-width:425px}.dialog-actions{display:flex;gap:25px;justify-content:flex-end;margin-top:26px}.desktop-gate{display:flex;min-height:100svh;align-items:center;justify-content:center;flex-direction:column;padding:40px 28px;text-align:center;gap:24px;background:radial-gradient(ellipse at center,#244735,#091b16 75%)}.desktop-gate>svg{color:#b2b178;stroke-width:1.2}.desktop-gate .brand-mark{margin-bottom:7px}.desktop-gate h1{font-size:32px;line-height:1.25}.desktop-gate p{max-width:355px;font-size:14px;line-height:1.8;color:#a7b69d}.desktop-gate .gate-note{font:italic 16px var(--serif);color:#cfbc87}@media(min-width:1450px){.app-shell{padding:0 46px}.game-layout{grid-template-columns:minmax(0,1fr) 330px;gap:24px}.tower-card{min-height:80px}.tower-portrait{width:61px;height:64px}.tower-card-copy strong{font-size:17px}.tower-card-copy small{font-size:10px}.tower-description{font-size:12px}.tower-inspector{padding:18px 22px}.tower-panel .panel-heading{padding:22px}.tower-list{padding:0 12px 16px}}@media(max-width:1200px){.app-shell{padding:0 20px}.game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.topbar{height:70px}.title-row{padding:20px 0}h1{font-size:36px}.battle-hud{gap:20px;padding:0 16px;height:64px}.phase{font-size:0;gap:0}.phase>span{width:6px;height:6px}.hud-stat strong{font-size:21px}.hud-stat>svg{width:17px}.hud-stat small{font-size:7px}.tower-card{gap:5px;padding-right:8px}.tower-card-copy strong{font-size:15px}.tower-card-copy small{font-size:8px}.tower-portrait{width:47px;height:53px}.panel-heading h2{font-size:18px}.tower-inspector{padding:14px}.tower-description{font-size:10px}.battle-controls{padding:14px;gap:7px}.wave-button{min-width:125px;padding:10px;font-size:11px}.wave-preview strong{font-size:15px}.wave-preview small,.status-line{font-size:9px}.game-footer>span{display:none}}@media(prefers-reduced-motion:reduce){button{transition:none}.end-overlay,.guide-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(max-height:850px)and (min-width:960px){.app-shell{max-width:calc((100svh - 350px)*1.42857 + 340px);padding:0 14px;min-width:900px}.topbar{height:54px}.brand{font-size:17px;letter-spacing:3px}.brand-mark{width:31px;height:36px}.brand small{font-size:8px;letter-spacing:1px}.preview-badge{font-size:8px}.title-row{padding:11px 0 12px}.title-row .eyebrow{font-size:7px;letter-spacing:1.5px}.title-row h1{font-size:27px;margin-top:2px}.title-star{font-size:22px;margin-left:10px}.title-row>p{font-size:11px;line-height:1.4}.game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:15px}.battle-hud{height:51px;padding:0 14px;gap:23px}.hud-stat strong{font-size:19px}.hud-stat small{font-size:7px}.hud-stat>svg{width:16px}.phase{font-size:0;gap:0}.phase>span{width:5px;height:5px}.battle-controls{padding:10px 12px;gap:8px}.wave-preview strong{font-size:14px;margin:2px 0}.wave-preview .eyebrow{font-size:9px}.wave-preview small{font-size:10px}.gold-button{min-height:36px;padding:9px 13px;font-size:11px}.wave-button{min-width:126px}.speed-button{width:36px;height:36px}.status-line{min-height:32px;font-size:9px;padding:7px 12px}.placement-bar{font-size:8px;padding:6px 10px}.placement-bar>span+span{display:none}.tower-panel{max-height:calc(100svh - 154px);overflow:auto;scrollbar-width:thin;scrollbar-color:#647751 #11291e}.panel-heading{padding:12px 14px}.panel-heading h2{font-size:17px}.panel-heading .eyebrow{font-size:7px}.panel-heading>span{font-size:8px}.tower-list{gap:4px;padding:0 8px 9px}.tower-card{min-height:58px;padding:4px 8px 4px 4px;gap:6px}.tower-card-copy strong{font-size:14px}.tower-card-copy small{font-size:8px;margin-top:4px}.tower-portrait{width:42px;height:47px}.tower-price{font-size:10px}.tower-price kbd{font-size:7px;margin-top:4px}.tower-card.locked{min-height:43px}.tower-card.locked .tower-portrait{height:32px}.tower-inspector{padding:12px 14px;min-height:0}.inspector-title{margin-top:5px}.inspector-title h3{font-size:18px}.levels>span{width:18px;height:19px;font-size:8px}.tower-description{font-size:10px;margin:7px 0 10px;min-height:0;line-height:1.55}.stat-grid{gap:10px;padding-bottom:10px}.stat-grid dt{font-size:8px}.stat-grid dd{font-size:18px}.tower-rule{font-size:9px;min-height:0;margin:10px 0}.ricochet-strip{margin:8px 0}.build-instruction{font-size:9px}.game-footer{padding:10px 0;font-size:8px}.game-footer>span{display:none}.game-footer .text-button{font-size:9px}}@media(max-height:850px)and (min-width:960px){.battle-controls{height:64px;padding:9px 12px}.status-line{min-height:29px;padding:6px 12px}.status-star{font-size:14px;line-height:1}.game-footer{height:30px;padding:7px 0}}@media(max-height:760px)and (min-width:960px){.panel-heading{padding:10px 14px}.tower-list{gap:3px;padding-bottom:7px}.tower-card{min-height:51px}.tower-portrait{height:40px}.tower-card.locked{min-height:34px}.tower-card.locked .tower-portrait{height:27px}.tower-description{margin:6px 0 8px;font-size:9px;line-height:1.45}.stat-grid{gap:8px;padding-bottom:8px}.ricochet-strip{margin:6px 0}.tower-inspector{padding:10px 14px}}.range-stat dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 3px;white-space:normal}.range-stat dd small{white-space:nowrap;margin-left:3px}.range-hint{display:block;font-size:8px;line-height:1.5;color:#a7b699;margin:0 0 6px}.upgrade-preview:focus-visible{outline:1px solid #dfc37b;outline-offset:4px}@media(min-height:851px)and (min-width:960px){.app-shell{max-width:min(1620px,calc((100svh - 490px)*1.42857 + 394px));min-width:900px}.tower-panel{max-height:calc(100svh - 270px);overflow:auto;scrollbar-width:thin;scrollbar-color:#647751 #11291e}}.difficulty-picker{width:310px;text-align:right}.difficulty-buttons{display:flex;justify-content:flex-end;gap:6px}.difficulty-buttons button{min-width:84px;min-height:34px;border:1px solid #687f4666;border-radius:3px;background:#10271f;color:#a9b99f;font-size:11px;padding:7px 14px}.difficulty-buttons button:hover{background:#243c2b;border-color:#b49b60}.difficulty-buttons button[aria-pressed=true]{background:#394c2d;color:#f4d998;border-color:#c5a866;box-shadow:inset 0 -2px #d9b969}.difficulty-buttons button[data-difficulty=hard][aria-pressed=true]{background:#49362b;color:#f4d1a6;border-color:#ba875e;box-shadow:inset 0 -2px #ba875e}.difficulty-picker p{font-size:10px;line-height:1.5;color:#a8b7a1;margin-top:7px}.wave-preview .guardian-warning{color:#ebc287}.interest-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 18px;padding:5px 14px;border-bottom:1px solid var(--line);background:#12291f;color:#b5c4a7;font-size:10px;line-height:1.5;font-variant-numeric:tabular-nums}.interest-strip strong{color:#e5cb8e;font-weight:650;margin:0 2px}.interest-strip>span{white-space:nowrap}.guide-difficulties{padding:12px 15px;border:1px solid #77926055;background:#0b241c77;margin:18px 0}.guide-difficulties p+p{margin-top:9px}.guide-difficulties strong{color:#e3d4a7}.map-notes-button{flex-shrink:0;display:flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:#b4c5a8;font-size:9px;line-height:14px}.map-notes-button[aria-pressed=true]{color:#f0d398}.map-notes-button:hover{color:#ffe4ab}.wave-details-button{padding:0;border:0;background:transparent;display:flex;align-items:center;gap:7px;text-align:left;color:#a2b496}.wave-details-button:hover strong{color:#ffe3a5}.wave-details-button svg{flex-shrink:0;opacity:.85}.wave-dialog{max-width:535px}.wave-facts{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;margin:22px 0;padding:15px 0;border-block:1px solid var(--line)}.wave-facts dt{font-size:10px;color:#9eb097;margin-bottom:5px}.wave-facts dd{font:19px var(--serif);color:#ecd7a4;margin:0}.enemy-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.enemy-table caption{text-align:left;font-size:11px;color:#b5c1a9;margin-bottom:12px}.enemy-table th{font-size:10px;font-weight:600;color:#9fb299}.enemy-table td,.enemy-table th{padding:10px 12px;border-bottom:1px solid var(--line)}.enemy-table td:not(:first-child),.enemy-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.enemy-table .guardian-row{color:#f2ce8b;background:#a9782415}.enemy-table small{font-size:9px;color:#9fb299;white-space:nowrap}.guide-wave-types{margin:22px 0;padding:16px;border:1px solid var(--line);background:#0b241c66}.guide-wave-types h3{font:19px var(--serif);color:#e9d8ad;margin:0 0 14px}.guide-wave-types>div+div{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.guide-wave-types strong{font-size:12px;color:#e3d4a7}.guide-wave-types strong span{font-size:10px;color:#b0bea5;font-weight:400}.guide-wave-types p{font-size:11px;margin:4px 0 0}.guide-dialog .guardian-objective{margin:16px 0 0;padding:12px 14px;color:#f1d1a0;background:#6f462e30;border-left:2px solid #be965d;font-size:12px}.guide-map-notes{margin:22px 0;padding:16px;border:1px solid var(--line);background:#0b241c66}.guide-map-notes h3{font:19px var(--serif);color:#e9d8ad}.guide-map-notes dl{margin:12px 0 0}.guide-map-notes dl>div+div{margin-top:12px}.guide-map-notes dt{font-size:11px;color:#d9ca9e;font-weight:600}.guide-map-notes dd{margin:4px 0 0;font-size:11px;line-height:1.7;color:#acbca3}@media(max-height:850px)and (min-width:960px){.difficulty-picker{width:290px}.difficulty-buttons button{min-width:78px;min-height:28px;padding:5px 12px;font-size:10px}.difficulty-picker p{font-size:9px;margin-top:5px}}.tower-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:end}.tower-actions .upgrade-preview{min-width:0}.tower-actions .upgrade-button,.sell-button{width:100%;min-height:48px;flex-direction:column;justify-content:center;gap:4px;padding:7px 5px;font-size:11px;line-height:1.25;text-align:center}.sell-button{display:flex;align-items:center;border:1px solid #b8a267;background:#263f30;color:#f0d59b;border-radius:3px}.sell-button strong{font-size:11px;font-weight:700}.sell-button span{display:flex;align-items:center;gap:4px;font-size:10px;font-variant-numeric:tabular-nums}.sell-button:hover:not(:disabled){background:#3d5033;border-color:#e8cb88;color:#ffe5af}.sell-button:focus-visible{outline:2px solid #f4d894;outline-offset:3px}.sell-button:disabled{opacity:.5}.sell-refund-note{margin:7px 0 4px;color:#b7c6a7;font-size:9px;line-height:1.4}.tower-performance{display:block;color:#8da389;font-size:8px;line-height:1.4}.mage-card .tower-portrait.mage{opacity:1;color:#b7c78e}.mage-card.chosen{border-color:#b9aa6f;box-shadow:inset 3px 0 #b9aa6f;background:linear-gradient(100deg,#4d5b3655,#243a2466)}.mage-preview-label{margin-left:auto;text-align:right;font-size:9px;color:#c8c596}.mage-preview-label kbd{display:block;width:18px;margin:6px 0 0 auto;font-size:8px}.mage-inspector .inspector-title h3,.mage-inspector .eyebrow{color:#d5d4a4}.mage-arrangement{display:flex;align-items:center;gap:14px;margin:13px 0}.mage-neighbor-diagram{display:grid;grid-template-columns:repeat(3,26px);gap:3px;flex-shrink:0;color:#a7ba89}.mage-neighbor-diagram>span{display:grid;place-items:center;height:26px;border:1px dashed #8fa36b6b;background:#93a46e10;font-size:14px}.mage-neighbor-diagram>.mage-center{border:1px solid #bdba7c;background:#536b3c66;color:#e3dfb1}.mage-arrangement>div+div strong{display:block;font:23px var(--serif);color:#ded5a5}.mage-arrangement>div+div span{display:block;font-size:10px;line-height:1.5;margin-top:3px;color:#c2c9b7}.mage-arrangement>div+div small{display:block;font-size:9px;line-height:1.5;margin-top:5px;color:#9eae98}.mage-legend{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:8px;color:#bac6b1}.mage-legend>span{display:flex;align-items:center;gap:5px}.mage-legend i{width:8px;height:8px;border:1px dashed #acb779;background:#91a26819}.mage-legend .eligible{border:1px solid #a6d59b;background:#7bbb6b44}.mage-legend .blocked{border:1px solid #9a9385;background:repeating-linear-gradient(135deg,transparent 0 2px,#9a938577 2px 3px)}.mage-preview-state{font-size:10px;line-height:1.5;color:#bbcbb1;margin:10px 0;min-height:30px}.mage-pending{font-size:10px;line-height:1.65;color:#aab99f;padding:10px 0;border-top:1px solid var(--line)}.mage-pending strong{display:block;color:#cfd09b;font-weight:550}@media(max-height:850px)and (min-width:960px){.mage-card{min-height:48px}.mage-card .tower-portrait{height:37px}.mage-arrangement{gap:11px;margin:8px 0}.mage-neighbor-diagram{grid-template-columns:repeat(3,22px)}.mage-neighbor-diagram>span{height:22px;font-size:12px}.mage-arrangement>div+div strong{font-size:20px}.mage-preview-state{font-size:9px;margin:6px 0;min-height:15px}.mage-pending{font-size:9px;padding:6px 0}.mage-inspector .build-instruction{font-size:9px;line-height:1.4;padding-top:2px}}.mage-element-picker{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0 7px}.mage-element-picker button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px;border:1px solid #71836c66;border-radius:3px;background:#10251e;color:var(--element-color);font-size:10px}.mage-element-picker button.chosen{border-color:var(--element-color);background:#344136;box-shadow:inset 0 -2px var(--element-color)}.mage-element-picker button:disabled{opacity:.4}.element-unlock-note{font-size:9px;line-height:1.5;color:#a3b69c;margin-bottom:12px}.element-unlock-note button{border:0;padding:0;background:none;color:#e6cc88;text-decoration:underline;font-size:inherit}.mage-inspector .inspector-title h3{color:var(--element-color,#d5d4a4)}.mage-inspector .inspector-title{gap:10px;align-items:flex-start}.mage-inspector .inspector-title h3{min-width:0;font-size:19px;line-height:1.2}.mage-inspector .levels{flex-shrink:0;padding-top:2px}.mage-card .tower-card-copy small{white-space:normal;line-height:1.4}.mage-card .tower-card-copy strong{line-height:1.2}.mage-inspector .mage-center{color:var(--element-color,#e3dfb1);border-color:var(--element-color,#bdba7c);background:#3d4d384d}.mage-effect-details{padding:9px 10px;border-left:2px solid var(--element-color,#acb779);background:#071c1755;margin:10px 0}.mage-effect-details strong{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1px;color:var(--element-color,#d5d4a4)}.mage-effect-details p{font-size:10px;line-height:1.5;color:#ccd5bf;margin-top:4px}.mage-effect-details p+strong{margin-top:9px}.mage-stacking-note{font-size:9px;line-height:1.5;color:#a8b99f;border-top:1px solid var(--line);margin:10px 0;padding-top:8px}.tower-elemental-support{margin:-4px 0 11px}.tower-support-count{font-size:10px;line-height:1.5;color:#c3d3b6;margin:0 0 6px}.tower-buff-badges{display:flex;flex-wrap:wrap;gap:5px}.tower-buff-badges>span{display:flex;align-items:center;gap:4px;color:var(--element-color);border:1px solid #6d82635c;background:#0b211c;padding:4px 6px;border-radius:3px;font-size:9px}.element-choice-dialog{max-width:690px}.element-choice-dialog h2{max-width:540px}.element-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.element-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:9px;padding:18px;border:1px solid #71876899;border-radius:4px;background:linear-gradient(130deg,#243a2c,#0f261f);color:#bdcbb2}.element-choice:hover{border-color:var(--element-color);background:linear-gradient(130deg,#314c38,#183026)}.element-choice>svg,.element-choice>strong{color:var(--element-color)}.element-choice>strong{font:24px var(--serif)}.element-choice>span{font-size:12px;line-height:1.5}.element-choice>small{font-size:10px;line-height:1.5;color:#a6b79e}.element-choice>b{display:flex;justify-content:space-between;width:100%;font-size:11px;color:var(--element-color);margin-top:auto;padding-top:10px}.guide-elements{display:grid;gap:9px;margin:18px 0}.guide-elements>div{padding:10px 12px;background:#0c251d;border-left:2px solid var(--element-color)}.guide-elements strong{font:17px var(--serif);color:var(--element-color)}.guide-elements p{font-size:10px;margin-top:6px}@media(max-height:850px)and (min-width:960px){.mage-element-picker{margin-top:7px;gap:4px}.mage-element-picker button{min-height:27px;font-size:9px}.mage-effect-details{padding:7px 9px;margin:8px 0}.mage-effect-details p{font-size:9px}.element-choice-dialog{padding:25px;max-width:650px}.element-choice-dialog h2{font-size:27px}.element-choice-grid{gap:10px;margin:16px 0}.element-choice{padding:14px;gap:7px}.element-choice>strong{font-size:21px}.element-choice>span{font-size:11px}}.tower-control-note{font-size:10px;line-height:1.5;color:#b8c8ac;margin:0 0 12px}.spirit-portrait{display:block;flex-shrink:0;overflow:hidden}.choice-spirit-portrait{width:56px;height:52px}.picker-spirit-portrait{width:24px;height:24px}@media(max-height:850px){.choice-spirit-portrait{width:46px;height:42px}.picker-spirit-portrait{width:20px;height:20px}}.battlefield-first.app-shell{isolation:isolate;width:100%;max-width:1920px;min-width:0;padding:0 clamp(28px,6vw,112px) 142px}.forest-page-background{position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:#0a1a17;background-image:linear-gradient(180deg,#04110f29,#04110f0a 55%,#04110f38),url(/lantern-watch/art/forest-outburst/lantern-forest-background-v1.webp);background-size:cover;background-position:center}.battlefield-first .topbar{position:sticky;top:0;z-index:25;height:62px;gap:24px;border-bottom:0;background:linear-gradient(90deg,#091d17f5,#091d17de);padding-inline:13px}.watch-identity{display:flex;align-items:center;gap:11px}.watch-identity .brand-mark{width:31px;height:37px}.watch-identity .eyebrow{font-size:8px;letter-spacing:1.5px}.battlefield-first h1{font-size:27px;line-height:1.12;margin-top:2px}.battlefield-first .topbar-right{gap:24px}.battlefield-first .topbar-right .text-button{font-size:12px;min-height:36px}.map-size-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 10px;font-size:11px;color:#c7c8ac;border:1px solid #8e986559;background:#142d23;border-radius:3px}.map-size-button:hover{border-color:#cbb26c;background:#293c2b}.battlefield-first .game-layout{display:block}.battlefield-first .battle-section{width:100%;margin-inline:auto}.battlefield-first .battle-hud{position:sticky;top:62px;z-index:24;height:48px;padding:0 18px;gap:30px}.battlefield-first .hud-stat{gap:8px}.battlefield-first .hud-stat strong{font-size:23px}.battlefield-first .hud-stat small{display:inline;margin-left:7px;font-size:10px;letter-spacing:0;text-transform:none}.battlefield-first .hud-stat>svg{width:17px}.interest-hint{font-size:10px;color:#9bb29c;border-left:1px solid var(--line);padding-left:12px;margin-left:5px;white-space:nowrap}.battlefield-first .phase{font:11px ui-sans-serif,sans-serif;gap:7px}.battlefield-first .phase small{font-size:10px;color:#91a58e}.battlefield-first .phase>span{width:5px;height:5px}.battlefield-first .map-notes-button{font-size:10px;min-height:30px;gap:6px;padding-left:14px;border-left:1px solid var(--line)}.battlefield-first .board-wrap{width:100%;aspect-ratio:10/7}.battlefield-first.fit-map .battle-section{max-width:min(100%,calc((100svh - 258px)*10/7))}.battlefield-first.fit-map .battle-hud{gap:19px;padding-inline:12px}.battlefield-first.fit-map .interest-hint{display:none}.battlefield-first.fit-map .hud-stat small{font-size:9px}.battlefield-first.fit-map .phase{font-size:0;gap:0}.battlefield-first.fit-map .phase small{display:none}.battlefield-first .watch-dock{position:fixed;z-index:30;left:16px;right:16px;bottom:12px;max-width:1808px;margin-inline:auto;border:1px solid #a99b626e;border-radius:5px;background:#102a23;box-shadow:0 -5px 26px #03141080,0 6px 22px #0005}.command-context{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:37px;padding:6px 13px;border-bottom:1px solid var(--line);background:#0b211bc9;border-radius:5px 5px 0 0}.context-copy{display:flex;gap:12px;align-items:center;min-width:0;font-size:11px;line-height:1.5;color:#a9bba1}.context-copy strong{font-size:11px;font-weight:650;color:#eddaaa;white-space:nowrap}.context-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-copy .invalid-placement{color:#e9ba96}.context-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}.context-actions .text-button{font-size:10px;padding:3px 0;gap:6px}.context-actions .text-button[aria-expanded=true]{color:#f2d68c}.context-actions .cancel-placement{color:#a8b89f}.built-count{font-size:10px;color:#819b85}.dock-main{display:flex;align-items:stretch;gap:16px;padding:9px}.dock-build{display:flex;align-items:stretch;min-width:0;flex:1}.battlefield-first .watch-dock .tower-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0;flex:1;min-width:0}.battlefield-first .watch-dock .tower-card{min-height:59px;padding:5px 9px 5px 4px;gap:8px}.battlefield-first .watch-dock .tower-portrait{width:37px;height:45px}.battlefield-first .watch-dock .tower-card-copy strong{font-size:15px;line-height:1.12}.battlefield-first .watch-dock .tower-card-copy small{font-size:9px;line-height:1.3;margin-top:5px;white-space:normal}.battlefield-first .watch-dock .tower-price{font-size:12px}.battlefield-first .watch-dock .tower-price svg{display:none}.battlefield-first .watch-dock .tower-price kbd{font-size:8px;margin-top:4px}.battlefield-first .watch-dock .unaffordable .tower-price{color:#b3967b}.battlefield-first .watch-dock .unaffordable .tower-card-copy small{color:#c3a78b}.battlefield-first .watch-dock .unaffordable .tower-portrait{opacity:.6}.battlefield-first .watch-dock .battle-controls{border-top:0;border-left:1px solid var(--line);background:none;flex:0 0 316px;padding:0 0 0 14px;gap:10px;height:auto}.battlefield-first .watch-dock .wave-preview{min-width:0;flex:1;align-self:stretch;align-items:center;padding:2px 0}.battlefield-first .watch-dock .wave-preview .eyebrow{font-size:8px;letter-spacing:1px}.battlefield-first .watch-dock .wave-preview strong{display:flex;align-items:center;gap:7px;font-size:16px;line-height:1.2;margin:4px 0}.battlefield-first .watch-dock .wave-preview small{font-size:10px;line-height:1.25;display:block}.battlefield-first .watch-dock .wave-button{min-width:126px;min-height:48px;padding:8px 10px;font-size:12px;gap:7px}.battlefield-first .watch-dock .speed-button{width:35px;height:48px;flex-shrink:0;font-size:13px}.battlefield-first .tower-panel{position:fixed;z-index:35;right:18px;bottom:142px;width:320px;max-height:calc(100svh - 216px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#647751 #11291e;border:1px solid #b4a16a99;border-radius:5px;background:#122e24;box-shadow:0 12px 45px #0008}.battlefield-first .tower-panel[hidden]{display:none}.battlefield-first .panel-heading{position:sticky;top:0;z-index:1;padding:7px 15px;background:#153428;border-bottom:1px solid var(--line)}.battlefield-first .panel-heading .eyebrow{font-size:8px}.battlefield-first .hide-inspector{width:26px;height:26px}.battlefield-first .tower-inspector{border-top:0;padding:13px 16px;min-height:0}.battlefield-first .inspector-title{margin:0;gap:8px}.battlefield-first .inspector-title h3{font-size:22px}.battlefield-first .levels>span{width:20px;height:21px;font-size:10px}.tower-role{font-size:11px;line-height:1.5;color:#a9b9a0;margin:6px 0 13px}.battlefield-first .tower-actions{margin:12px 0 5px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.battlefield-first .tower-actions .upgrade-button,.battlefield-first .tower-actions .sell-button{min-height:49px;font-size:11px}.action-help{font-size:10px;line-height:1.5;color:#aab99c;margin:7px 0 12px}.battlefield-first .tower-elemental-support{margin:12px 0}.quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.quick-stats small{display:block;font-size:10px;color:#93aa94;margin-bottom:4px}.quick-stats strong{font:23px var(--serif);color:#e5d8b2}.quick-stats em{font:12px ui-sans-serif,sans-serif;color:#b6c59e;font-style:normal}.inspector-reference{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:11px}.inspector-reference>summary,.options-reference>summary{cursor:pointer;color:#c9d0ae;padding:3px 0;font-size:11px;line-height:1.6}summary:focus-visible{outline:2px solid #ffe3a5;outline-offset:3px}.inspector-reference[open]>summary{margin-bottom:13px;color:#efd49c}.battlefield-first .tower-description{font-size:11px;line-height:1.6;margin:8px 0 13px;min-height:0}.battlefield-first .stat-grid{gap:13px 10px;padding-bottom:12px}.battlefield-first .stat-grid dt{font-size:10px;letter-spacing:0}.battlefield-first .stat-grid dd{font-size:21px}.battlefield-first .tower-rule,.battlefield-first .tower-control-note{font-size:10px;line-height:1.6}.battlefield-first .tower-panel .build-instruction{font-size:11px;line-height:1.6;margin-top:12px}.battlefield-first .tower-performance{font-size:10px;line-height:1.6;margin-top:10px}.mage-support-summary{font-size:11px;line-height:1.6;color:#b2c6a6;margin:12px 0}.mage-support-summary strong{color:#e4d4a5}.battlefield-first .mage-effect-details p{font-size:11px}.battlefield-first .mage-effect-details strong{font-size:9px}.battlefield-first .mage-element-picker{margin:0 0 8px}.battlefield-first .mage-element-picker button{min-height:35px;font-size:11px}.watch-options-dialog{max-width:510px}.watch-options-dialog>section{margin:22px 0}.watch-options-dialog h3{font:20px var(--serif);color:#e4d5ae;margin-bottom:12px}.watch-options-dialog .difficulty-buttons{justify-content:flex-start}.watch-options-dialog .difficulty-buttons button{min-height:36px;font-size:12px;flex:1}.watch-options-dialog p{font-size:12px;line-height:1.7;margin-top:12px}.options-reference{border-top:1px solid var(--line);padding:12px 0}.options-reference>summary{font-size:13px}.process-link{display:flex;gap:10px;align-items:center;border-block:1px solid var(--line);padding:17px 0;color:#d7ca9e;text-decoration:none;font-size:13px}.process-link small{display:block;font-size:11px;color:#9eb19b;margin-top:4px}.process-link:hover{color:#f3dda7}.watch-options-dialog .dialog-actions{justify-content:space-between;margin-top:22px}.watch-options-dialog .options-pause-note{color:#9ab092;font-size:11px}@media(min-width:1450px){.battlefield-first .watch-dock .battle-controls{flex-basis:355px}.battlefield-first .watch-dock .tower-portrait{width:44px;height:49px}.battlefield-first .watch-dock .tower-card-copy strong{font-size:17px}.battlefield-first .watch-dock .wave-button{min-width:145px}}@media(max-width:1200px){.battlefield-first .watch-dock .tower-card{gap:5px;padding-right:6px}.battlefield-first .watch-dock .tower-card-copy strong{font-size:14px}.battlefield-first .watch-dock .tower-card-copy small{font-size:8px}.battlefield-first .watch-dock .tower-portrait{width:29px;height:39px}.battlefield-first .watch-dock .battle-controls{flex-basis:293px;padding-left:10px;gap:8px}.battlefield-first .watch-dock .wave-button{min-width:116px;font-size:11px}.battlefield-first .watch-dock .wave-preview strong{font-size:14px}.battlefield-first .battle-hud{gap:23px}.dock-main{gap:10px}}@media(max-width:1050px){.battlefield-first .watch-dock .tower-card-copy small{font-size:8px}.battlefield-first .watch-dock .tower-price kbd{display:none}.battlefield-first .watch-dock .tower-portrait{width:25px;height:35px}.battlefield-first .watch-dock .tower-price{font-size:11px}.battlefield-first .watch-dock .tower-card-copy strong{font-size:13px}.battlefield-first .battle-hud{gap:18px}.interest-hint{padding-left:7px;margin-left:0;font-size:9px}.battlefield-first .hud-stat small{font-size:9px}}.workshop-return{text-decoration:none;white-space:nowrap}.battlefield-first .topbar-right .workshop-return{border-right:1px solid var(--line);padding-right:17px}@media(max-width:1100px){.battlefield-first .topbar-right{gap:15px}.battlefield-first .topbar-right .workshop-return{font-size:11px;padding-right:13px}}
