:root{color:#e8dfc7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--gold:#d0aa62;--gold-light:#f0d79c;--bronze:#76603e;--line:#b18b4b55;--muted:#b3b7a2;--stone:#1c221e;--ink:#101510;--serif:"Palatino Linotype",Palatino,Georgia,serif;--deck:244px;--bar:72px;background:#101713;font-family:Segoe UI,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,label{font:inherit}button{cursor:pointer}button,a,label{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.4}a{color:inherit;text-decoration:none}[hidden]{display:none!important}button{color:#e8dfc7;text-shadow:0 1px 2px #000;background:linear-gradient(#3c4434,#222b22 45%,#1a211b);border:1px solid #897047;border-radius:2px;transition:filter .15s,border-color .15s,transform .15s;position:relative;box-shadow:inset 0 1px #e9d2a02b,inset 0 -2px #0008,0 2px 5px #0004}button:hover:not(:disabled){filter:brightness(1.2);border-color:#d0aa62}button:active:not(:disabled){filter:brightness(.95);transform:translateY(1px)}button:focus-visible,label:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #f4d18a}#scene{background:#131d16;position:absolute;inset:0}#scene canvas{outline:none;width:100%;height:100%;display:block}.topbar{height:var(--bar);z-index:10;background:linear-gradient(90deg,#141a18e8,#212721f5 45%,#141a18f5),url(/art/ancient-road.webp) 50%/420px;border-bottom:3px solid #78613b;align-items:center;gap:24px;padding:0 28px;display:flex;position:relative;box-shadow:0 3px #111b13,0 5px #51452e,0 10px 24px #0008,inset 0 -1px #dfbf7540}.topbar:after,.command-deck:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#c19c5e70,#0000);height:1px;position:absolute;left:12px;right:12px}.topbar:after{top:5px}.brand{font-family:var(--serif);letter-spacing:4px;color:#dfc890;text-shadow:0 2px 2px #000,0 -1px #fff3;white-space:nowrap;align-items:center;gap:13px;font-size:27px;font-weight:700;display:flex}.brand-mark{color:#80c58d;filter:drop-shadow(0 0 6px #57b88944);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(135deg,#bc9a57,#34352a 48%,#d3ae62);place-items:center;width:40px;height:44px;font:42px/1 Georgia,serif;display:grid}.brand-mark:before{content:"";width:30px;height:32px;clip-path:inherit;background:#182c20;position:absolute}.brand small{letter-spacing:4px;color:#9caa8e;text-align:center;margin-top:3px;font-family:Segoe UI,sans-serif;font-size:7px;display:block}.map-label{letter-spacing:1px;text-transform:uppercase;color:#c1c4af;border-left:1px solid var(--line);align-items:center;gap:9px;padding-left:24px;font-size:10px;display:flex}.status-dot{background:#8bb98b;width:6px;height:6px;transform:rotate(45deg);box-shadow:0 0 8px #79c18977}.topbar nav{align-items:center;gap:8px;margin-left:auto;display:flex}.quiet,.icon-button{padding:8px 13px;font-size:11px}.icon-button{padding:5px 11px;font-size:20px;line-height:1}.resources{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);background:#0d1511a8;border:1px solid #685b3c88;gap:25px;margin-left:auto;padding:8px 23px;display:flex;box-shadow:inset 0 2px 6px #0009}.resources>span{grid-template-columns:auto 1fr;align-items:center;column-gap:9px;min-width:55px;display:grid}.resources b{filter:drop-shadow(0 2px 1px #000);grid-row:1/3;font-size:24px}.resources strong{font-size:18px;font-family:var(--serif);font-variant-numeric:tabular-nums;color:#f1e2ba;font-weight:700}.resources small{letter-spacing:1.6px;color:#a7ad96;margin-top:2px;font-size:7px}.gold-icon{color:#f2bc4f}.life-icon{color:#d58b62}.wave-icon{color:#8ac5a0}.landing{height:calc(100dvh - var(--bar));isolation:isolate;border:12px solid #101811;border-top:0;align-items:center;padding:52px max(7vw,36px);display:flex;position:relative;box-shadow:inset 0 0 0 1px #826a3855}.landing:before{content:"";z-index:-2;filter:saturate(.92);background:url(/art/forest-citadel-menu.webp) 65%/cover no-repeat;position:absolute;inset:0}.landing:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0b1512f5 0%,#0c1712d9 22%,#0b17136b 44%,#0000 72%),linear-gradient(#0b151333,#0000 18% 78%,#0a1712bd);position:absolute;inset:0}.hero-copy{z-index:1;width:48%;max-width:585px;padding:15px 0}.eyebrow{letter-spacing:2.5px;color:#bda778;align-items:center;gap:10px;margin:0 0 19px;font-size:9px;font-weight:600;line-height:1.5;display:flex}.eyebrow>span{background:linear-gradient(90deg,#d5ae65,#0000);width:30px;height:1px;display:block}h1{font-family:var(--serif);letter-spacing:-1.6px;color:#f1e8cd;text-shadow:0 3px 5px #0009;margin:0 0 26px;font-size:clamp(42px,4.4vw,76px);font-weight:700;line-height:1.04}h1 em{color:#d2b471;font-style:normal;font-weight:400}.hero-description{color:#c0c6ae;text-shadow:0 1px 3px #000;max-width:385px;font-size:13px;line-height:1.85}.hero-actions{gap:12px;margin:30px 0 15px;display:flex}.primary,.file-button{white-space:nowrap;border-radius:2px;justify-content:center;align-items:center;gap:25px;padding:15px 22px;font-size:13px;font-weight:600;display:flex}.primary{color:#f7edce;text-shadow:0 1px 3px #000;background:linear-gradient(#688257,#3d5b39 45%,#2b482b);border:1px solid #c8aa65;box-shadow:inset 0 0 0 2px #263526,inset 0 0 0 3px #cbb57540,0 4px 12px #0006}.primary:before,.primary:after{content:"◆";color:#d5ba78;font-size:8px;position:absolute;top:50%;transform:translateY(-50%)}.primary:before{left:5px}.primary:after{right:5px}.file-button{cursor:pointer;color:#d4c7a3;background:linear-gradient(#242d25d9,#151f19f5);border:1px solid #806c44;box-shadow:inset 0 1px #c5b17a20,0 4px 12px #0004}.file-button:hover{background:#2c382b;border-color:#d0aa62}.caption{color:#98a18d;text-shadow:0 1px 2px #000;font-size:10px;line-height:1.85}.hero-meta{border-top:1px solid var(--line);gap:35px;max-width:385px;margin-top:25px;padding-top:20px;display:flex}.hero-meta span{letter-spacing:1.6px;color:#9da58e;font-size:8px}.hero-meta strong{font-family:var(--serif);color:#d7bc7e;letter-spacing:0;margin-bottom:3px;font-size:28px;font-weight:400;display:block}.import-status{color:#edcd88;max-width:410px;font-size:12px;line-height:1.6}.hero-art{pointer-events:none;position:absolute;inset:0}.art-label{text-align:right;color:#d8c79b;font-family:var(--serif);letter-spacing:3px;text-shadow:0 2px 5px #000;font-size:13px;position:absolute;bottom:40px;right:6%}.art-label span{letter-spacing:2px;color:#a1b69a;margin-top:8px;font-family:Segoe UI,sans-serif;font-size:8px;display:block}.field-note{pointer-events:auto;background:linear-gradient(100deg,#131c16ed,#162019d9);border:1px solid #876e435c;border-left:3px solid #b49a61;max-width:290px;padding:16px 20px;position:absolute;top:99px;left:24px;box-shadow:inset 0 1px #cbb2751a,0 6px 25px #0006}.field-note .eyebrow{letter-spacing:1.7px;margin-bottom:8px;font-size:8px}.field-note h2{font-family:var(--serif);color:#e2d3af;margin:0;font-size:23px;font-weight:600}.field-note p:not(.eyebrow){color:#b0bca2;margin:9px 0;font-size:11px;line-height:1.5}.small-button{margin-top:3px;padding:7px 12px;font-size:11px}.camera-help{bottom:calc(var(--deck) + 17px);color:#eee3c5;text-shadow:0 2px 4px #000;font-size:10px;position:absolute;right:28px}.camera-help span{color:#b9c4a7}.command-deck{height:var(--deck);background:linear-gradient(100deg,#151c18f5,#222a21f5 40%,#121b16f7),url(/art/ancient-road.webp) 50%/350px;border-top:5px ridge #8c7346;gap:26px;padding:18px 28px 15px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px #c2a66b55,0 -6px #0f1813,0 -12px 28px #0008,inset 0 2px #d5bb7940}.command-deck:before{top:7px}.command-deck:after{content:"◆";color:#92c896;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);pointer-events:none;background:#263e2b;border:2px solid #a38a4d;place-items:center;width:38px;height:32px;font-size:24px;display:grid;position:absolute;top:-20px;left:50%;transform:translate(-50%)rotate(0);box-shadow:0 0 0 4px #18201a,0 0 0 5px #685d3e}.minimap-wrap{flex:none;width:194px;padding-top:1px}.map-frame{background:linear-gradient(135deg,#64634c,#1a241b 25%,#171e17 75%,#6f6546);border:2px ridge #ae9156;padding:7px;box-shadow:0 0 0 2px #0c130f,inset 0 0 0 1px #080f0b,0 3px 10px #0008}.minimap-wrap canvas{cursor:crosshair;filter:saturate(.7)contrast(1.1);border:1px solid #a58d5877;width:176px;height:176px;display:block}.minimap-wrap>span{letter-spacing:1.4px;color:#c7b583;justify-content:space-between;margin-top:8px;font-size:8px;display:flex}.minimap-wrap i{color:#98a48c;font-size:7px;font-style:normal}.selection-card{border-right:1px solid var(--line);flex:none;width:288px;padding:10px 22px 4px 0;position:relative}.portrait{float:left;color:#0000;background-color:#121a14;background-image:url(/art/citadel-icons.webp);background-position:100% 100%;background-size:400% 200%;border:3px ridge #b09a64;outline:2px solid #10180f;place-items:center;width:86px;height:95px;margin:0 15px 14px 0;font-size:0;display:grid;overflow:hidden;box-shadow:0 3px 7px #0009}.selection-card .eyebrow{letter-spacing:1.4px;margin:3px 0 7px;font-size:8px}.selection-card h3{font-family:var(--serif);color:#eee1bd;margin:0 0 9px;font-size:22px;font-weight:600;line-height:1.15}.selection-card p:not(.eyebrow){color:#adb99f;min-height:51px;margin:0;font-size:11px;line-height:1.7}.selection-card button{margin:0 5px 5px 0;padding:8px 10px;font-size:10px}#selection-actions{clear:both;scrollbar-width:thin;scrollbar-color:#8f7950 #19221b;flex-wrap:wrap;max-height:93px;display:flex;overflow:auto}.build-panel{flex:1;min-width:0;padding-top:5px}.build-heading{border-bottom:1px solid #b0904e33;justify-content:space-between;align-items:center;margin:0 0 13px;padding-bottom:9px;display:flex}.build-heading h3{font-family:var(--serif);color:#d8c595;margin:0;font-size:22px;font-weight:400}.build-heading>span{color:#b0b79e;font-size:9px}.build-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.build-card{text-align:left;background:linear-gradient(#1b251a,#151e16);border:1px solid #665d3d;min-width:0;height:155px;padding:0 0 9px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0c140d,0 3px 5px #0005}.build-card:hover:not(:disabled){filter:brightness(1.18);border-color:#bba16a}.build-card.active{border-color:#eed184;box-shadow:0 0 0 1px #9d8c51,0 0 14px #c5b4723d,inset 0 0 16px #b6ad5222}.build-card .hotkey{z-index:2;color:#f5dfab;width:18px;height:18px;font-family:var(--serif);background:#10170fe6;border:1px solid #a78e52aa;place-items:center;font-size:11px;display:grid;position:absolute;top:4px;right:4px;box-shadow:0 1px 4px #0008}.tower-icon{color:#0000;filter:saturate(.9);background-color:#1b241b;background-image:url(/art/citadel-icons.webp);background-size:400% 200%;border-bottom:2px ridge #b69b5b;width:100%;height:83px;margin:0 0 7px;font-size:0;line-height:0;display:block}.build-card strong{font-family:var(--serif);color:#e4d3a9;white-space:nowrap;text-overflow:ellipsis;padding:0 7px;font-size:12px;font-weight:600;display:block;overflow:hidden}.build-card .price{color:#dbb66e;margin-top:4px;padding:0 7px;font-size:11px;display:block}.build-card .role{color:#a6b297;white-space:nowrap;margin-top:4px;padding:0 7px;font-size:8px;display:block}.family-ward .tower-icon,.portrait[data-family=ward]{background-position:0 0}.family-bolt .tower-icon,.portrait[data-family=bolt]{background-position:33.3333% 0}.family-splash .tower-icon,.portrait[data-family=splash]{background-position:66.6667% 0}.family-air .tower-icon,.portrait[data-family=air]{background-position:100% 0}.family-frost .tower-icon,.portrait[data-family=frost]{background-position:0 100%}.family-ember .tower-icon,.portrait[data-family=ember]{background-position:33.3333% 100%}.family-aura .tower-icon,.portrait[data-family=aura]{background-position:66.6667% 100%}.portrait[data-family=builder]{background-position:100% 100%}.portrait[data-family=enemy]{filter:hue-rotate(130deg)saturate(.4);background-position:100% 100%}.toast{left:50%;bottom:calc(var(--deck) + 25px);color:#eee1ba;opacity:0;pointer-events:none;text-align:center;background:#152117f2;border:1px solid #b39b63;max-width:80vw;padding:12px 22px;font-size:12px;transition:opacity .2s;position:absolute;transform:translate(-50%);box-shadow:0 4px 20px #0008}.toast.visible{opacity:1}.modal-shade{inset:var(--bar) 0 0;z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08100999;place-items:center;display:grid;position:absolute}.dialog{color:#e8dfc7;background:linear-gradient(125deg,#202d21f5,#131e17fb),url(/art/ancient-road.webp) 50%/380px;border:3px ridge #a28b52;border-radius:2px;outline:1px solid #2a321f;width:min(550px,90vw);padding:36px 40px;position:relative;box-shadow:0 0 0 5px #111b13,0 0 0 6px #947f4555,0 30px 90px #000a}.dialog:before{content:"◆";color:#8ec18a;text-shadow:0 0 15px #6ea77c88;background:#223325;border-bottom:1px solid #b49b5a;padding:0 12px;font-size:23px;line-height:25px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.dialog h2{font-family:var(--serif);color:#ead7a7;margin:0 0 22px;font-size:35px;font-weight:600;line-height:1.13}.dialog p:not(.eyebrow),.dialog li{color:#b8c3a8;font-size:12px;line-height:1.9}.dialog b{color:#efdcaa}.dialog ol{margin-bottom:24px;padding-left:18px}.dialog .primary{width:100%;margin-top:24px}.dialog small{color:#92a186;text-align:center;margin-top:15px;font-size:9px;line-height:1.7;display:block}.dialog-close{box-shadow:none;background:0 0;border:0;padding:0 6px;font-size:24px;position:absolute;top:11px;right:12px}.dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#07100ad9}.compatibility{max-height:85dvh;overflow:auto}.compatibility a{color:#dabc7d;margin-top:20px;font-size:11px;display:inline-block}.compatibility pre{white-space:pre-wrap;color:#b1bfa6;max-height:220px;font-size:10px;overflow:auto}.compatibility summary{cursor:pointer;color:#d4c293;font-size:11px}.compatibility .eyebrow{margin-right:20px}@media (width>=1700px){.hero-copy{padding-left:3vw}.hero-description{max-width:420px;font-size:14px}.command-deck{gap:30px}.selection-card{width:330px}.tower-icon{height:87px}.build-card{height:161px}}@media (width<=1250px){:root{--deck:231px;--bar:68px}.topbar{gap:18px;padding:0 20px}.map-label{display:none}.resources{gap:18px}.command-deck{gap:18px;padding:16px 18px 12px}.minimap-wrap{width:174px}.minimap-wrap canvas{width:156px;height:156px}.selection-card{width:246px;padding-right:15px}.portrait{width:70px;height:79px;margin-right:12px}.selection-card h3{font-size:20px}.selection-card p:not(.eyebrow){font-size:10px}.build-grid{gap:6px}.tower-icon{height:77px}.build-card{height:146px}.build-card strong{padding:0 5px;font-size:11px}.build-card .price,.build-card .role{padding:0 5px}.build-heading>span{display:none}.hero-copy{width:52%}.landing{padding:35px 6vw}.field-note{top:91px}}@media (width<=1000px){.brand{letter-spacing:3px;font-size:23px}.brand-mark{width:33px;height:38px}.brand small{font-size:6px}.resources{gap:13px;padding:6px 16px}.resources strong{font-size:15px}.resources small{font-size:6px}.topbar nav{gap:5px}.quiet{padding:7px 8px;font-size:10px}.minimap-wrap{width:150px}.minimap-wrap canvas{width:132px;height:132px}.selection-card{width:210px}.selection-card h3{font-size:18px}.selection-card .eyebrow{font-size:7px}.portrait{width:58px;height:66px;margin-right:10px}.selection-card button{padding:7px;font-size:9px}.build-card strong{font-size:10px}.build-card .role{font-size:7px}.build-heading h3{font-size:20px}.command-deck{gap:14px}.tower-icon{height:72px}.hero-copy{width:58%}.hero-actions{gap:9px}.primary,.file-button{gap:18px;padding:14px 18px;font-size:12px}}@media (width<=850px){:root{--bar:62px;--deck:224px}.topbar{gap:10px;padding:0 13px}.brand{gap:9px;font-size:18px}.brand-mark{width:29px;height:33px;font-size:32px}.brand small{letter-spacing:2px}.resources{gap:9px;padding:5px 12px}.resources>span{column-gap:5px;min-width:35px}.resources b{font-size:17px}.resources strong{font-size:13px}.resources small{font-size:5px}.icon-button{padding:4px 8px;font-size:17px}.quiet{padding:7px 6px;font-size:9px}.landing{border-width:7px;padding:30px}.hero-copy{width:75%;max-width:440px}h1{font-size:50px}.hero-description{max-width:350px;font-size:12px}.hero-meta{display:none}.landing:before{background-position:62%}.landing:after{background:linear-gradient(90deg,#0c1712ef,#0b1712b3 40%,#0b171222)}.art-label{font-size:10px;bottom:28px;right:5%}.art-label span{font-size:7px}.minimap-wrap{display:none}.command-deck{gap:16px;padding:14px}.selection-card{width:206px}.build-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.build-heading{margin:0 0 8px;padding-bottom:5px}.build-card{height:73px;padding:0 0 0 50px;overflow:hidden}.tower-icon{background-size:610% 200%;border:0;border-right:1px solid #9c885b66;width:46px;height:71px;margin:0;position:absolute;top:0;left:0}.build-card strong{margin-top:19px;padding:0 4px;font-size:10px}.build-card .price{margin-top:6px;padding:0 4px;font-size:10px}.build-card .role{display:none}.build-card .hotkey{width:14px;height:14px;font-size:9px;top:2px;right:3px}.field-note{max-width:250px;padding:12px 15px;top:82px;left:18px}.field-note h2{font-size:20px}.field-note .eyebrow{font-size:7px}.camera-help{font-size:8px;right:18px}.dialog{padding:28px 30px}.dialog h2{font-size:31px}}@media (width<=620px){.brand small{display:none}.brand{letter-spacing:2px;font-size:16px}.brand-mark{display:none}.resources{border:0;gap:8px;padding:5px 7px}.resources small{display:none}.resources b{grid-row:auto;font-size:14px}.resources strong{font-size:12px}.topbar nav{gap:4px}.quiet{padding:6px 5px;font-size:8px}.icon-button{padding:5px;font-size:14px}.hero-copy{width:100%}.hero-art{display:none}h1{font-size:43px}.hero-description{max-width:300px}.hero-actions{flex-wrap:wrap}.selection-card{width:165px;padding-right:10px}.portrait{width:45px;height:52px;margin:0 8px 8px 0}.selection-card h3{font-size:16px}.selection-card p:not(.eyebrow){font-size:9px;line-height:1.6}.build-heading h3{font-size:17px}.build-card{height:73px;padding-left:0}.tower-icon{background-size:400% 200%;border:0;border-bottom:1px solid #8a7243;width:100%;height:44px;position:relative}.build-card strong{margin-top:4px;font-size:8px}.build-card .price{background:#111b11d9;margin:0;padding:2px;font-size:8px;position:absolute;top:27px;right:3px}.command-deck{gap:10px;padding:13px 10px}.dialog{padding:25px 24px}.dialog p:not(.eyebrow),.dialog li{font-size:11px}.field-note{max-width:220px}.camera-help{display:none}.toast{padding:10px 14px;font-size:11px}}@media (height<=740px) and (width>=851px){:root{--deck:215px}.landing{padding-top:20px;padding-bottom:20px}h1{margin-bottom:18px;font-size:clamp(38px,4vw,60px)}.hero-actions{margin-top:22px}.hero-meta{margin-top:16px;padding-top:12px}.hero-meta strong{font-size:22px}.hero-description{font-size:12px}.eyebrow{margin-bottom:14px}.minimap-wrap canvas{width:146px;height:146px}.minimap-wrap{width:164px}.tower-icon{height:68px}.build-card{height:137px}.build-heading{margin-bottom:10px}.selection-card{padding-top:6px}.portrait{height:78px}.dialog{padding-top:27px;padding-bottom:25px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.coop-box,.certify-box{background:#0c140fb8;border:1px solid #c6a45f61;border-radius:6px;margin:12px 0;padding:12px 14px}.coop-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.coop-controls input{color:#efe6ce;font:inherit;background:#0c140f;border:1px solid #6f5b34;border-radius:4px;max-width:145px;padding:6px 9px;font-size:12px}.coop-status{color:#d6cca8;margin:8px 0 4px;font-size:12px}.coop-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.coop-row{background:#16221aa6;border:1px solid #8d754152;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}@media (width>=851px){.tower-icon{border-bottom:0;width:90px;max-width:100%;height:90px;margin:0 auto 6px}.build-card strong{border-top:1px solid #8d75413b;padding-top:3px}.portrait{height:86px}}@media (width>=1700px){.tower-icon{width:96px;height:96px}.build-card{height:167px}}@media (width>=1001px) and (width<=1250px){.tower-icon{width:77px;height:77px}.portrait{height:70px}}@media (width>=851px) and (width<=1000px){.tower-icon{width:72px;height:72px}.portrait{height:58px}}@media (width>=621px) and (width<=850px){.tower-icon{background-size:400% 200%;border:0;width:46px;height:46px;top:12px}.portrait{height:58px}}
