@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(./cinzel-latin-ext-600-normal-BEFdM_VE.woff2)format("woff2"),url(./cinzel-latin-ext-600-normal-BY9Mq9iK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(./cinzel-latin-600-normal-Dd5YO2UX.woff2)format("woff2"),url(./cinzel-latin-600-normal-CH_LB4su.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-ext-700-normal-C24KFjuG.woff2)format("woff2"),url(./cinzel-latin-ext-700-normal-CORa-yIv.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(./cinzel-latin-700-normal-C-gK7hA8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-sans-cyrillic-ext-400-normal-El6lRT8b.woff2)format("woff2"),url(./nunito-sans-cyrillic-ext-400-normal-fk07B0hk.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-sans-cyrillic-400-normal-DUb-KqT8.woff2)format("woff2"),url(./nunito-sans-cyrillic-400-normal-DDHmqnIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-sans-vietnamese-400-normal-V2dSmW1H.woff2)format("woff2"),url(./nunito-sans-vietnamese-400-normal-D5dwM7ZL.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-sans-latin-ext-400-normal-BoHsJHPR.woff2)format("woff2"),url(./nunito-sans-latin-ext-400-normal-CHwj-NZB.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-sans-latin-400-normal-AkRraKH2.woff2)format("woff2"),url(./nunito-sans-latin-400-normal-DY9yCUyQ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-sans-cyrillic-ext-600-normal-CVjnjZn6.woff2)format("woff2"),url(./nunito-sans-cyrillic-ext-600-normal-DZXkk6dX.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-sans-cyrillic-600-normal-D4TuIAT6.woff2)format("woff2"),url(./nunito-sans-cyrillic-600-normal-CKMyzy87.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-sans-vietnamese-600-normal-DD7cNabE.woff2)format("woff2"),url(./nunito-sans-vietnamese-600-normal-BW3IEr32.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-sans-latin-ext-600-normal-nHO2odcJ.woff2)format("woff2"),url(./nunito-sans-latin-ext-600-normal-DEh-VjuY.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-sans-latin-600-normal-BtVRvDNj.woff2)format("woff2"),url(./nunito-sans-latin-600-normal-DLks-Kj1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-sans-cyrillic-ext-700-normal-GO46tfsI.woff2)format("woff2"),url(./nunito-sans-cyrillic-ext-700-normal-Cqve7k0J.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-sans-cyrillic-700-normal-BJ2iHHyS.woff2)format("woff2"),url(./nunito-sans-cyrillic-700-normal-DG2UZxR9.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-sans-vietnamese-700-normal-CZwaiz_e.woff2)format("woff2"),url(./nunito-sans-vietnamese-700-normal-BwTSkH1V.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-sans-latin-ext-700-normal-DBq_Pukt.woff2)format("woff2"),url(./nunito-sans-latin-ext-700-normal-jHN8vCOt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-sans-latin-700-normal-CICRJDmU.woff2)format("woff2"),url(./nunito-sans-latin-700-normal-CLVG92B9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-sans-cyrillic-ext-800-normal-suUH8DVf.woff2)format("woff2"),url(./nunito-sans-cyrillic-ext-800-normal-DlIrhRQ2.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-sans-cyrillic-800-normal-COys2OwR.woff2)format("woff2"),url(./nunito-sans-cyrillic-800-normal-x7mxdBjZ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-sans-vietnamese-800-normal-CfdX2BhI.woff2)format("woff2"),url(./nunito-sans-vietnamese-800-normal-hO2TqS3m.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-sans-latin-ext-800-normal-DWckPAf3.woff2)format("woff2"),url(./nunito-sans-latin-ext-800-normal-DG0lbXwA.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-sans-latin-800-normal-MgCk9Q3Y.woff2)format("woff2"),url(./nunito-sans-latin-800-normal-DOf_K5Iw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0f1114;--panel:#14171ce6;--panel-solid:#14171c;--panel-raised:#1c2028;--panel-raised-2:#232832;--line:#efe6d217;--line-strong:#efe6d229;--gold-line:#f0c06052;--text:#efe6d2;--text-dim:#b9af9b;--text-faint:#958c7b;--gold:#f0c060;--gold-bright:#ffdf94;--gold-deep:#b98431;--danger:#e5533d;--danger-soft:#ff9b8a;--frost:#7cc8e8;--good:#96d46e;--magic:#b9a2ff;--font-display:"Cinzel", "Trajan Pro", Georgia, serif;--font-body:"Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:12px;--radius-sm:8px;--gap:.6rem;--topbar-h:3.6rem;--side-w:20rem;--ease:cubic-bezier(.2, .8, .2, 1);--shadow:0 12px 32px #0000006b, 0 2px 6px #0000004d}html{background:var(--bg);color:var(--text);font-size:clamp(12.5px,min(.6vw + 5.3px,1.4vh + 3px),24px);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(ellipse at 50% 40%, #171b20, var(--bg) 70%);-webkit-user-select:none;user-select:none;width:100vw;height:100vh;margin:0;overflow:hidden}[hidden]{display:none!important}#game{outline:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:1;position:fixed;inset:0}button{font:inherit;color:inherit}kbd{border:1px solid var(--line-strong);min-width:1.35em;font-family:var(--font-body);text-align:center;color:var(--text-dim);vertical-align:middle;background:#ffffff0d;border-bottom-width:2px;border-radius:4px;padding:.05em .38em;font-size:.7rem;font-weight:800;line-height:1.35;display:inline-block}.glyph{flex:none;width:1.1em;height:1.1em;display:inline-flex}.glyph svg{width:100%;height:100%}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0b, inset 0 0 0 1px #f0c0600a}.hidden{display:none!important}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:linear-gradient(180deg, var(--panel-raised-2), var(--panel-raised));color:var(--text);cursor:pointer;pointer-events:auto;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.9rem;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s,transform 80ms,filter .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff0f,0 2px 4px #00000040}.btn:hover{border-color:var(--gold-line);background:linear-gradient(#2a303b,#20252e)}.btn:active{transform:translateY(1px)}.btn:focus-visible,.menu-btn:focus-visible,.map-card:focus-visible,.seg-btn:focus-visible,.build-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn kbd{margin-left:.15rem}.btn-gold{color:#2b1c06;text-shadow:0 1px #fff0c873;background:linear-gradient(#f7d684,#dba646 60%,#c48d33);border-color:#f9e2a6;box-shadow:inset 0 1px #ffffff80,0 2px 10px #f0c06040}.btn-gold:hover{background:linear-gradient(#ffe39e,#e8b552 60%,#cf983a);border-color:#fff0c4;box-shadow:inset 0 1px #ffffff8c,0 0 18px #f0c06073}.btn-gold kbd{color:#4a3410;background:#ffffff40;border-color:#3c280a59}.btn-danger{color:#ffd8cf;background:linear-gradient(#4b221c,#341815);border-color:#e5533d73}.btn-danger:hover{background:linear-gradient(#5c2820,#3e1b17);border-color:#ff785fcc;box-shadow:0 0 14px #e5533d4d}.btn-ghost{box-shadow:none;color:var(--text-dim);background:0 0;border-color:#0000}.btn-ghost:hover{border-color:var(--line);color:var(--text);background:#ffffff0d}.btn-small{padding:.32rem .7rem;font-size:.78rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-block{justify-content:flex-start;width:100%}.btn-cost{align-items:center;gap:.3rem;margin-left:auto;font-weight:800;display:inline-flex}.btn-sub{opacity:.75;font-size:.78rem;font-weight:600}.btn-gold.unaffordable,.btn-gold.unaffordable:hover{color:var(--text-dim);text-shadow:none;cursor:not-allowed;background:linear-gradient(#2a2c31,#212328);border-color:#f0c06047;box-shadow:inset 0 1px #ffffff0a}.btn-gold.unaffordable kbd{color:var(--text-dim);border-color:var(--line-strong);background:#ffffff0d}.btn.unaffordable .btn-cost,.spec-card.unaffordable .spec-cost,.convert-btn.unaffordable .build-cost{color:#ff8f7d}.btn.unaffordable .coin-dot,.spec-card.unaffordable .coin-dot,.convert-btn.unaffordable .coin-dot,.build-btn.unaffordable .coin-dot{filter:grayscale(.6)}.coin-dot{background:radial-gradient(circle at 35% 30%, #fff1c2, var(--gold) 45%, var(--gold-deep));border-radius:50%;flex:none;width:.62em;height:.62em;display:inline-block;box-shadow:0 0 0 1px #3c280a80}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:linear-gradient(180deg, var(--panel-raised-2), var(--panel-raised));width:2.3rem;height:2.3rem;color:var(--text-dim);cursor:pointer;place-items:center;transition:color .15s,border-color .15s,box-shadow .15s;display:inline-grid}.icon-btn .glyph{width:1.15rem;height:1.15rem}.icon-btn:hover{color:var(--text);border-color:var(--gold-line)}.icon-btn.active{color:var(--gold);border-color:var(--gold-line);box-shadow:inset 0 0 12px #f0c06033}.seg{border-radius:var(--radius-sm);border:1px solid var(--line);background:#00000047;gap:2px;padding:2px;display:inline-flex}.seg-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.36rem .62rem;font-size:.82rem;font-weight:800;transition:background .15s,color .15s}.seg-btn:hover{color:var(--text);background:#ffffff0d}.seg-btn.active{color:#2b1c06;background:linear-gradient(#f3cf7a,#d39e40);box-shadow:inset 0 1px #ffffff73}.seg-wide{display:flex}.seg-wide .seg-btn{flex:auto;padding:.38rem .3rem;font-size:.74rem}.tag{border:1px solid var(--line);color:var(--text-dim);letter-spacing:.02em;background:#ffffff0f;border-radius:99px;padding:.08rem .48rem;font-size:.72rem;font-weight:700;display:inline-block}.tag-physical{color:#f0cf96}.tag-magic{color:var(--magic)}.tag-pure{color:var(--good)}.trait-answer{color:#f0c060;border-color:#f0c06066}.tag-trap{color:#d8dde6;border-color:#c9ced659}.section-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#cfa75a;align-items:center;gap:.35rem;margin:.95rem 0 .45rem;font-size:.72rem;font-weight:700;display:flex}.section-label.boss{color:var(--danger-soft)}.section-label .armed{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--gold-bright);animation:1s ease-in-out infinite pulse-text}.toggle{cursor:pointer;pointer-events:auto;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-ui{border:1px solid var(--line-strong);background:#2a2f38;border-radius:99px;flex:none;width:2.5rem;height:1.35rem;transition:background .2s;position:relative}.toggle-ui:after{content:"";width:.98rem;height:.98rem;transition:transform .2s var(--ease), background .2s;background:#c9c0ad;border-radius:50%;position:absolute;top:50%;left:.16rem;transform:translateY(-50%);box-shadow:0 1px 3px #00000080}.toggle input:checked+.toggle-ui{background:linear-gradient(#d9a646,#a87a2a);border-color:#f2d28a}.toggle input:checked+.toggle-ui:after{background:#fff4d8;transform:translate(1.12rem,-50%)}.toggle input:focus-visible+.toggle-ui{outline:2px solid var(--gold);outline-offset:2px}.toggle-text{flex-direction:column;line-height:1.25;display:flex}.toggle-text b{font-size:.92rem;font-weight:700}.toggle-text small{color:var(--text-faint);font-size:.76rem}input[type=range]{appearance:none;cursor:pointer;pointer-events:auto;background:0 0;flex:1;height:1.4rem}input[type=range]::-webkit-slider-runnable-track{border:1px solid var(--line);background:linear-gradient(90deg,#f0c0608c,#f0c06026);border-radius:99px;height:.32rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:radial-gradient(circle at 35% 30%, #fff4d6, var(--gold) 55%, var(--gold-deep));border:1px solid #fbe3a4;border-radius:50%;width:1rem;height:1rem;margin-top:-.38rem;box-shadow:0 0 8px #f0c06073}input[type=range]::-moz-range-track{background:#f0c0604d;border-radius:99px;height:.32rem}input[type=range]::-moz-range-thumb{background:var(--gold);border:1px solid #fbe3a4;border-radius:50%;width:1rem;height:1rem}.menu-layer{pointer-events:auto;position:fixed;inset:0;overflow:hidden}.menu-bg{filter:saturate(.8)brightness(.8);position:absolute;inset:0}.menu-veil{background:radial-gradient(70% 60% at 50% 42%,#0c0e1240,#0a0b0ecc 72%,#08090bf2),linear-gradient(#0a0c108c,#0a0c1026 40%,#0a0c10a6);position:absolute;inset:0}.menu-content{justify-content:center;align-items:safe center;padding:2.2rem 2rem;display:flex;position:absolute;inset:0;overflow-y:auto}.screen{flex-direction:column;gap:1.2rem;width:min(78rem,100%);display:flex}.screen.enter{animation:screen-in .45s var(--ease) both}.screen-head{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.screen-head>:first-child{justify-self:start}.screen-title{font-family:var(--font-display);letter-spacing:.06em;color:var(--text);text-shadow:0 2px 16px #0009;margin:0;font-size:2rem;font-weight:700}.btn-back{font-size:.95rem}.screen-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:min(36rem,100%);box-shadow:var(--shadow);align-self:center;padding:1.4rem 1.6rem}.screen-main{align-items:center;gap:2.4rem}.title-block{text-align:center}.title-kicker{letter-spacing:.42em;text-transform:uppercase;color:var(--text-dim);text-shadow:0 1px 8px #000c;margin-bottom:.6rem;font-size:.82rem}.title{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(#fff2c9 0%,#f6d27e 38%,#d9a142 62%,#9a6a24 100%);color:#0000;filter:drop-shadow(0 0 22px #f0b45052)drop-shadow(0 4px 2px #0009);-webkit-background-clip:text;background-clip:text;margin:0;padding-left:.12em;font-size:clamp(3.2rem,7.2vw,6.6rem);font-weight:700;line-height:1;animation:5s ease-in-out infinite title-glow}.title-rule{color:var(--gold);justify-content:center;align-items:center;gap:.8rem;width:min(26rem,80%);margin:1rem auto .8rem;display:flex}.title-rule span:not(.glyph){background:linear-gradient(90deg, transparent, var(--gold-line) 40%, #f0c06099);flex:1;height:1px}.title-rule span:not(.glyph):last-child{transform:scaleX(-1)}.title-rule .glyph{filter:drop-shadow(0 0 6px #f0c060b3);width:.9rem;height:.9rem}.title-tag{font-family:var(--font-display);letter-spacing:.08em;color:var(--text);opacity:.86;text-shadow:0 1px 10px #000000e6;font-size:1.05rem}.menu-list{flex-direction:column;gap:.7rem;width:min(21rem,90vw);display:flex}.menu-btn{border-radius:var(--radius);border:1px solid var(--line-strong);cursor:pointer;box-shadow:var(--shadow), inset 0 1px 0 #ffffff0d;transition:transform .18s var(--ease), border-color .18s, box-shadow .18s;background:linear-gradient(#1e222aeb,#14171ceb);flex-direction:column;align-items:center;gap:.15rem;padding:.9rem 1.2rem;display:flex;position:relative}.menu-btn:before{content:"";border-radius:calc(var(--radius) - 3px);pointer-events:none;border:1px solid #f0c06014;position:absolute;inset:3px}.menu-btn:hover{border-color:var(--gold-line);box-shadow:var(--shadow), 0 0 24px #f0c0602e, inset 0 1px 0 #ffffff12;transform:translateY(-2px)}.menu-btn:active{transform:translateY(0)}.menu-btn-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:1.18rem;font-weight:700}.menu-btn-sub{color:var(--text-dim);font-size:.8rem}.menu-continue,.menu-primary{background:linear-gradient(#4c3a1aeb,#261e10f0);border-color:#f0c0608c}.menu-continue .menu-btn-label,.menu-primary .menu-btn-label{color:var(--gold-bright)}.menu-continue .menu-btn-sub{color:#e6d3a6}.menu-foot{color:var(--text-faint);letter-spacing:.04em;font-size:.76rem}.map-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;display:grid}.map-slot{display:flex;position:relative}.map-slot>.map-card{flex:1;min-width:0}.map-reroll{border-radius:var(--radius-sm);border:1px solid var(--gold-line);width:2.1rem;height:2.1rem;color:var(--gold);cursor:pointer;box-shadow:var(--shadow);transition:transform .2s var(--ease), translate .2s var(--ease), color .2s, border-color .2s;background:#14171ce0;place-items:center;display:grid;position:absolute;top:calc(.75rem + 7px);right:calc(.75rem + 7px)}.map-slot:hover .map-reroll{translate:0 -3px}.map-reroll .glyph{width:1.25rem;height:1.25rem}.map-reroll:hover{color:var(--gold-bright);border-color:var(--gold);transform:rotate(-12deg)scale(1.06)}.map-reroll:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.map-roll{color:var(--gold);font-weight:700}.map-card{text-align:left;border-radius:var(--radius);border:1px solid var(--line-strong);box-shadow:var(--shadow);cursor:pointer;transition:transform .2s var(--ease), border-color .2s, box-shadow .2s;background:linear-gradient(#1c2028f0,#12151af0);flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.map-card:hover:not(.locked){border-color:var(--gold-line);transform:translateY(-3px)}.map-card.selected{border-color:var(--gold);box-shadow:var(--shadow), 0 0 0 1px #f0c06080, 0 0 30px #f0c06038}.map-card.locked{cursor:not-allowed;filter:saturate(.4)}.map-preview-wrap{aspect-ratio:28/18;border-radius:var(--radius-sm);background:#0c0e11;border:1px solid #0009;align-items:center;line-height:0;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.map-lock{text-align:center;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1rem;font-size:.86rem;font-weight:700;line-height:1.3;display:flex;position:absolute;inset:0}.map-lock .glyph{width:1.8rem;height:1.8rem;color:var(--gold)}.map-name{font-family:var(--font-display);letter-spacing:.04em;font-size:1.3rem;font-weight:700}.map-card.selected .map-name{color:var(--gold-bright)}.map-desc{color:var(--text-dim);min-height:2.8em;margin-top:.25rem;font-size:.84rem;line-height:1.4}.map-best{border-top:1px solid var(--line);flex-direction:column;gap:.15rem;padding-top:.55rem;display:flex}.best-row{grid-template-columns:4.2rem auto 1fr;align-items:center;gap:.5rem;font-size:.8rem;display:grid}.best-row.empty{opacity:.55}.best-diff{color:var(--text-dim);font-weight:700}.best-wave{color:var(--text-dim);font-variant-numeric:tabular-nums;justify-self:end}.stars{gap:.1rem;display:inline-flex}.stars .glyph{width:.9rem;height:.9rem}.glyph-star.on{color:var(--gold);filter:drop-shadow(0 0 3px #f0c06099)}.glyph-star.off{color:#efe6d226}.map-options{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:flex-end;gap:1.6rem;padding:1rem 1.2rem;display:flex}.map-options .section-label{margin-top:0}.seg-diff .diff-btn{text-align:left;flex-direction:column;align-items:flex-start;gap:.05rem;min-width:9.5rem;padding:.5rem .9rem;display:flex}.diff-name{font-family:var(--font-display);letter-spacing:.04em;font-size:.98rem}.diff-meta{opacity:.85;font-size:.72rem}.diff-blurb{opacity:.7;font-size:.7rem;font-weight:600}.endless-toggle{max-width:17rem}.map-options .btn-lg{flex-direction:column;gap:.05rem;min-width:14rem;margin-left:auto}.settings{flex-direction:column;display:flex}.set-group+.set-group{border-top:1px solid var(--line);margin-top:.4rem}.set-row{pointer-events:auto;align-items:center;gap:.9rem;padding:.3rem 0;display:flex}.set-label{width:7rem;font-size:.9rem;font-weight:700}.slider-val{text-align:right;font-variant-numeric:tabular-nums;width:2.2rem;color:var(--text-dim);font-size:.85rem}.set-note{color:var(--good);font-size:.78rem}.howto-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.howto-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem 1.1rem}.howto-card h3{font-family:var(--font-display);color:var(--gold-bright);letter-spacing:.03em;margin:.85rem 0 .35rem;font-size:1.08rem}.howto-card p{color:var(--text-dim);margin:0;font-size:.86rem;line-height:1.5}.howto-art{border-radius:var(--radius-sm);background:#22362a;border:1px solid #00000080;place-items:center;height:7.6rem;display:grid;overflow:hidden}.howto-illus{width:auto!important;height:100%!important}.howto-art-inner{align-items:center;gap:.6rem;display:flex}.howto-art-inner .tower-icon{width:2.5rem!important;height:2.5rem!important}.howto-enemies{align-items:center;gap:.45rem;margin-right:.6rem;display:flex}.howto-keys-card h3{margin-top:0}.howto-keys{color:var(--text-dim);flex-direction:column;gap:.42rem;margin:.4rem 0 0;padding:0;font-size:.84rem;list-style:none;display:flex}.howto-keys.compact{gap:.3rem;font-size:.76rem}.hud{pointer-events:none;position:absolute;inset:0}.topbar{top:var(--gap);left:var(--gap);right:var(--gap);height:var(--topbar-h);pointer-events:auto;align-items:center;gap:1.1rem;padding:0 .6rem 0 1rem;display:flex;position:absolute}.tb-group{align-items:center;gap:.6rem;min-width:0;display:flex}.tb-spacer{flex:1}.tb-res{gap:1rem}.res{font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:.4rem;min-width:3.6rem;padding:.1rem .3rem;font-size:1.22rem;font-weight:800;display:flex}.res .glyph{width:1.25rem;height:1.25rem}.res-lives .glyph{color:var(--danger);filter:drop-shadow(0 0 4px #e5533d8c)}.res-gold .glyph{color:var(--gold);filter:drop-shadow(0 0 4px #f0c0608c)}.res-gold .res-value{color:var(--gold-bright);min-width:2.6em}.res.hurt{animation:.5s ease-out hurt}.res.gain .res-value{animation:.45s ease-out gain}.res-lives.low .res-value{color:var(--danger-soft);animation:1.1s ease-in-out infinite pulse-text}.tb-wave{border-left:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:.05rem;min-width:9rem;padding-left:1rem}.wave-num{font-family:var(--font-display);letter-spacing:.04em;color:var(--gold-bright);white-space:nowrap;font-size:1.06rem;font-weight:700}.wave-label{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:13rem;font-size:.76rem;overflow:hidden}.tb-preview{border-left:1px solid var(--line);flex:0 auto;padding-left:1rem;overflow:hidden}.preview-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:17rem;font-size:.72rem;font-weight:800;overflow:hidden}.preview-title.boss{color:var(--danger-soft)}.preview-list{gap:.35rem;min-width:0;display:flex}.chip{border:1px solid var(--line);white-space:nowrap;background:#ffffff0d;border-radius:99px;align-items:center;gap:.32rem;padding:.16rem .5rem .16rem .32rem;font-size:.8rem;display:inline-flex}.chip-count{font-variant-numeric:tabular-nums;font-weight:800}.chip-name{color:var(--text-dim);font-size:.74rem}.chip-air{border-color:#7cc8e866}.chip-icon{flex:none;margin:-.12rem 0;width:1.35rem!important;height:1.35rem!important}.chip-leak{color:#ffb3a6;font-size:.72rem;font-weight:800}.chip-leak.boss{color:#fff0ea;background:#7a2418;border-radius:99px;padding:0 .3rem}.chip-boss{background:#e5533d1a;border-color:#e5533d99}@media (width<=1700px){.chip-name{display:none}}.enemy-dot{width:var(--s,12px);height:var(--s,12px);background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--c) 60%, white), var(--c) 55%, color-mix(in srgb, var(--c) 70%, black));border-radius:50%;flex:none;display:inline-block;box-shadow:0 0 0 1.5px #08080ae6}.enemy-dot.flying{box-shadow:0 0 0 1.5px #08080ae6,0 0 0 3px #7cc8e8bf}.enemy-dot.boss{box-shadow:0 0 0 1.5px #08080ae6,0 0 0 3px #e5533dd9,0 0 8px #e5533d99}.tb-flow{gap:.75rem}.tb-tide{--tide:#5cc8d8;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--tide) 35%, transparent);background:color-mix(in srgb, var(--tide) 8%, transparent);gap:.5rem;padding:.2rem .3rem .2rem .55rem}.tb-tide.ebb{--tide:#f0735a}.tide-icon{width:1.15rem;height:1.15rem;color:var(--tide)}.tide-info{flex-direction:column;gap:.2rem;min-width:5.6rem;display:flex}.tide-name{color:var(--tide);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem;font-weight:800}.tide-bar{background:#ffffff1a;border-radius:2px;height:3px;display:block;overflow:hidden}.tide-fill{background:var(--tide);width:0;height:100%;transition:width .2s linear;display:block}.btn-tide{border-color:color-mix(in srgb, var(--tide) 45%, transparent);min-width:4.6rem;padding:.35rem .6rem;font-size:.8rem}.btn-tide:disabled{opacity:.55;cursor:default;font-variant-numeric:tabular-nums}.seg-tide .seg-btn.tide-flood.active{color:#062026;background:#5cc8d8}.seg-tide .seg-btn.tide-ebb.active{color:#2a0c06;background:#f0735a}.tt-turn b{color:var(--gold-bright)}.gate-status.held{color:#f0c060}.status-text{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.84rem}.status-text.urgent{color:var(--gold-bright);animation:.9s ease-in-out infinite pulse-text}.btn-start{padding:.45rem .8rem .45rem .7rem}.btn-start .glyph{width:.95rem;height:.95rem}.start-bonus{color:var(--gold-bright);text-shadow:none;background:#281a06bf;border-radius:99px;padding:.02rem .4rem;font-size:.76rem;font-weight:800}.tb-ctrl{border-left:1px solid var(--line);gap:.4rem;padding-left:.9rem}.board-layer{pointer-events:none;position:absolute;overflow:hidden}.banner{text-align:center;opacity:0;transition:opacity .45s var(--ease), transform .6s var(--ease);white-space:nowrap;background:radial-gradient(#0a0b0eb8,#0a0b0e00 70%);padding:.6rem 3rem .7rem;position:absolute;top:22%;left:50%;transform:translate(-50%,-8px)scale(.96)}.banner.visible{opacity:1;transform:translate(-50%)scale(1)}.banner-title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-bright);text-shadow:0 0 24px #f0b4508c,0 3px 2px #000000b3;font-size:2.7rem;font-weight:700}.banner-sub{font-family:var(--font-display);letter-spacing:.08em;color:var(--text);text-shadow:0 2px 8px #000000e6;margin-top:.2rem;font-size:1.1rem}.banner-boss .banner-title{color:#ff8a6e;text-shadow:0 0 28px #e5533dbf,0 3px 2px #000000b3}.banner-clear .banner-title{color:var(--text);text-shadow:0 0 18px #96d46e66,0 3px 2px #000000b3;font-size:1.9rem}.banner-survived .banner-title{color:#ffd0a8;text-shadow:0 0 18px #ff8a3d73,0 3px 2px #000000b3;font-size:1.9rem}.banner-survived .banner-sub{color:#ffb3a6;font-family:var(--font-body);font-weight:800}.pause-flag{border:1px solid var(--gold-line);white-space:nowrap;background:#0c0e12d1;border-radius:99px;align-items:baseline;gap:.7rem;padding:.35rem .9rem;animation:.2s ease-out both fade-in;display:flex;position:absolute;top:.6rem;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0006}.pause-flag-title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright);font-size:.86rem;font-weight:700}.pause-flag-sub{color:var(--text-dim);font-size:.74rem}.banner-clear .banner-sub{color:var(--gold-bright);font-family:var(--font-body);font-weight:800}.side-panel{right:var(--gap);top:calc(var(--gap) * 2 + var(--topbar-h));bottom:var(--gap);width:var(--side-w);pointer-events:auto;flex-direction:column;display:flex;position:absolute;overflow:hidden}.side-body{scrollbar-width:thin;scrollbar-color:#f0c06040 transparent;flex:1;padding:1rem 1rem .9rem;overflow-y:auto}.sel-head{align-items:center;gap:.7rem;display:flex}.sel-icon{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--c) 30%, transparent));flex:none;width:2.9rem!important;height:2.9rem!important}.sel-title{flex:1;min-width:0}.sel-name{font-family:var(--font-display);letter-spacing:.02em;color:var(--text);font-size:1.16rem;font-weight:700;line-height:1.2}.sel-sub{color:var(--text-dim);margin-top:.1rem;font-size:.76rem}.sel-desc{color:var(--text-dim);margin:.7rem 0 0;font-size:.84rem;line-height:1.45}.pips{align-self:flex-start;gap:.28rem;margin-top:.35rem;display:flex}.pip{background:#0000004d;border:1px solid #f0c06073;width:.52rem;height:.52rem;transform:rotate(45deg)}.pip.on{background:linear-gradient(135deg, #ffe7a8, var(--gold));border-color:#ffe7a8;box-shadow:0 0 6px #f0c06099}.pip.spec.on{background:linear-gradient(135deg, #fff, var(--frost));border-color:#dff4ff;box-shadow:0 0 8px #7cc8e8cc}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.8rem;display:grid}.stat{background:#ffffff09;border:1px solid #ffffff0a;border-radius:7px;flex-direction:column;padding:.34rem .55rem;display:flex}.stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-size:.7rem;font-weight:800}.stat-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;font-weight:800}.stat-extra{margin-left:.3rem;font-size:.72rem;font-weight:800}.stat-extra.buff{color:var(--gold)}.stat-note{color:var(--text-dim);margin-top:.05rem;font-size:.7rem;font-weight:700;line-height:1.25}.stat-wide,.tt .stat-wide{grid-column:1/-1}.sel .tt-tags{margin-top:.6rem}.sel-record{color:var(--text-dim);gap:1.2rem;margin-top:.7rem;font-size:.8rem;display:flex}.sel-record b{color:var(--text);font-variant-numeric:tabular-nums}.sel-section{margin-top:.2rem}.sel-sell{z-index:1;margin-top:1rem;margin-inline:-1rem;background:linear-gradient(180deg, #14171c00 0, var(--panel-solid) .55rem);margin-bottom:-.9rem;padding:.55rem 1rem .9rem;position:sticky;bottom:-.9rem}.sel-sell .btn{flex-wrap:wrap;gap:.3rem .4rem;padding-left:.75rem;padding-right:.75rem}.trap-status{color:var(--text-dim);margin:0 0 .5rem;font-size:.8rem}.trap-status.gnawed{color:#e0a070}.refund-tag{color:var(--good);background:#96d46e26;border:1px solid #96d46e66;border-radius:99px;padding:.02rem .42rem;font-size:.72rem;font-weight:800}.maxed{color:var(--text-dim);border-radius:var(--radius-sm);background:#7cc8e812;border:1px solid #7cc8e838;padding:.55rem .7rem;font-size:.84rem;line-height:1.45}.maxed b{color:var(--frost);font-family:var(--font-display)}.delta-list{flex-direction:column;gap:.12rem;margin:0 0 .55rem;padding:0;list-style:none;display:flex}.delta-list li{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto auto auto;align-items:baseline;gap:.35rem;font-size:.78rem;display:grid}.delta-label{color:var(--text-dim)}.delta-from{color:var(--text-faint);text-align:right}.delta-arrow{color:var(--text-faint)}.delta-to{text-align:right;min-width:2.6em;font-weight:800}.delta-to.up{color:var(--good)}.delta-to.down{color:var(--danger-soft)}.spec-cards{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.spec-card{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--gold-line);cursor:pointer;background:linear-gradient(#f0c0601a,#f0c06005);flex-direction:column;gap:.25rem;padding:.6rem .55rem .5rem;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex;position:relative}.spec-card:hover{border-color:var(--gold);transform:translateY(-1px);box-shadow:0 0 16px #f0c06040}.spec-card.unaffordable,.spec-card.unaffordable:hover{border-color:var(--line-strong);box-shadow:none;cursor:not-allowed;background:#ffffff06;transform:none}.spec-card.unaffordable .spec-name{color:var(--text)}.spec-card.unaffordable .spec-icon{filter:grayscale(.7)brightness(.8)}.spec-card:focus-visible,.convert-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.spec-top{align-items:center;gap:.4rem;padding-right:1.3rem;display:flex}.spec-icon{flex:none;width:1.9rem!important;height:1.9rem!important}.spec-need{white-space:nowrap;color:var(--text-dim);margin-left:auto;font-size:.72rem;font-weight:700}.spec-cards.armed .spec-card{animation:1s ease-in-out infinite armed}.spec-key{position:absolute;top:.4rem;right:.4rem}.spec-cards.armed .spec-key{color:#2b1c06;background:var(--gold);border-color:#ffe7a8}.spec-name{font-family:var(--font-display);color:var(--gold-bright);min-width:0;font-size:.86rem;font-weight:700;line-height:1.15}.spec-desc{color:var(--text-dim);min-height:2.7em;font-size:.72rem;line-height:1.35}.spec-card .delta-list li{gap:.2rem;font-size:.72rem}.spec-card .delta-to{min-width:0}.spec-cost{align-items:center;gap:.3rem;margin-top:auto;font-size:.86rem;font-weight:800;display:flex}.convert-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.convert-btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:linear-gradient(180deg, var(--panel-raised-2), var(--panel-raised));cursor:pointer;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .1rem .3rem;transition:border-color .15s,box-shadow .15s;display:flex}.convert-btn:hover{border-color:color-mix(in srgb, var(--c) 70%, white);box-shadow:0 0 12px color-mix(in srgb, var(--c) 35%, transparent)}.convert-btn .tower-icon{width:2.1rem!important;height:2.1rem!important}.convert-btn.unaffordable{cursor:not-allowed}.convert-btn.unaffordable .tower-icon{filter:grayscale(.8)brightness(.75)}.build-cost{color:var(--gold-bright);font-variant-numeric:tabular-nums;align-items:center;gap:.22rem;font-size:.76rem;font-weight:800;display:inline-flex}.intel-now{border-radius:var(--radius-sm);background:#e5533d12;border:1px solid #e5533d38;margin-bottom:.4rem;padding:.55rem .7rem .6rem}.intel-now .section-label{color:var(--danger-soft);margin-top:0}.intel-left{color:var(--text-dim);font-size:.86rem}.intel-left b{color:var(--text);font-size:1.05rem}.intel>.section-label:first-child{margin-top:0}.intel-title{font-family:var(--font-display);color:var(--text);margin:-.1rem 0 .35rem;font-size:1.1rem;font-weight:700}.intel-title.boss{color:#ff8a6e}.intel-list{margin:0;padding:0;list-style:none}.intel-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:.6rem;padding:.5rem 0;display:flex}.intel-list li .enemy-icon{flex:none;margin-top:.05rem;width:2.1rem!important;height:2.1rem!important}.intel-list li.boss{border-radius:var(--radius-sm);background:#e5533d14;border:1px solid #e5533d73;margin:.2rem -.45rem;padding:.5rem .45rem}.intel-list li.boss .enemy-icon{filter:drop-shadow(0 0 6px #e5533d8c);width:2.6rem!important;height:2.6rem!important}.intel-list li.boss .intel-enemy-head{flex-wrap:wrap}.leak-badge{color:#ffb3a6;white-space:nowrap;font-variant-numeric:tabular-nums;background:#e5533d1f;border:1px solid #e5533d59;border-radius:99px;align-items:center;padding:0 .4rem;font-size:.72rem;font-weight:800;line-height:1.5;display:inline-flex}.leak-badge.heavy{color:#ffc9bf;background:#e5533d38}.leak-badge.boss{color:#fff0ea;background:linear-gradient(#8c2a1d,#5e1a12);border-color:#ff8a6e;font-size:.74rem;box-shadow:0 0 10px #e5533d73}.intel-enemy-head .intel-count{margin-left:auto}.trait-armor{color:#f0cf96;border-color:#f0cf964d}.trait-ward{color:var(--magic);border-color:#b9a2ff4d}.trait-air{color:var(--frost);border-color:#7cc8e859}.intel-note{color:var(--text-dim);margin-top:.45rem;font-size:.7rem}.intel-note .leak-badge{padding:0 .3rem}.howto-keys .muted{color:var(--text-faint);font-style:italic}.upgrade-note{color:var(--text-dim);margin:-.15rem 0 .5rem;font-size:.72rem}.upgrade-note b{color:var(--frost)}.sell-route{color:#ffd0a8;background:#ff8a3d29;border:1px solid #ff8a3d80;border-radius:99px;padding:.02rem .42rem;font-size:.72rem;font-weight:800}.intel-enemy{flex:1;min-width:0}.intel-enemy-head{align-items:center;gap:.4rem;display:flex}.intel-name{font-size:.88rem;font-weight:800}.intel-count{color:var(--gold-bright);font-variant-numeric:tabular-nums;font-weight:800}.intel-desc{color:var(--text-dim);margin-top:.1rem;font-size:.76rem;line-height:1.35}.intel-traits{flex-wrap:wrap;gap:.25rem;margin-top:.3rem;display:flex}.intel-help{margin-top:.4rem}.hint-card{background:radial-gradient(at 0 0,#f0c06033,#f0c06000 70%),linear-gradient(#3c2e16f2,#1e1910f2);border:1px solid #f0c06080;border-radius:10px;margin:0 .7rem .7rem;padding:.75rem .85rem .7rem;box-shadow:0 0 22px #f0c06026,inset 0 1px #fff0c81f}.hint-card.enter{animation:hint-in .45s var(--ease) both}.hint-head{align-items:center;gap:.4rem;display:flex}.hint-glyph{color:var(--gold);text-shadow:0 0 8px #f0c060e6}.hint-title{font-family:var(--font-display);color:var(--gold-bright);font-size:.95rem;font-weight:700}.hint-body{color:var(--text);margin:.35rem 0 .55rem;font-size:.8rem;line-height:1.45}.hint-actions{gap:.3rem;display:flex}.buildbar-wrap{left:var(--gap);right:calc(var(--side-w) + var(--gap) * 2);bottom:var(--gap);pointer-events:none;justify-content:center;display:flex;position:absolute}.buildbar{pointer-events:auto;align-items:stretch;gap:.35rem;padding:.4rem;display:flex}.build-btn{border:1px solid var(--line);cursor:pointer;width:4.1rem;transition:transform .14s var(--ease), border-color .14s, box-shadow .14s, filter .14s;background:linear-gradient(#232832,#181b21);border-radius:9px;flex-direction:column;justify-content:flex-end;align-items:center;gap:.18rem;padding:.5rem .2rem .32rem;display:flex;position:relative}.build-btn .tower-icon{transition:transform .18s var(--ease);width:2.55rem!important;height:2.55rem!important}.build-btn:hover{border-color:color-mix(in srgb, var(--c) 70%, white);box-shadow:0 6px 16px #0006, 0 0 14px color-mix(in srgb, var(--c) 35%, transparent);transform:translateY(-2px)}.build-btn:hover .tower-icon{transform:scale(1.06)}.build-btn.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 0 20px #f0c06059;background:linear-gradient(#3b3220,#221d14)}.build-btn.unaffordable{filter:none}.build-btn.unaffordable .tower-icon{filter:grayscale(.85)brightness(.7)}.build-btn.unaffordable .build-cost{color:#ff8f7d}.build-key{min-width:1.2em;padding:0 .25em;font-size:.64rem;position:absolute;top:.22rem;left:.25rem}.build-btn.active .build-key{color:#2b1c06;background:var(--gold);border-color:#ffe7a8}.build-sep{background:var(--line-strong);width:1px;margin:.3rem .15rem}.cursor-label{border:1px solid var(--line-strong);pointer-events:none;opacity:0;white-space:nowrap;z-index:20;background:#0c0e12e0;border-radius:7px;flex-direction:column;gap:.05rem;padding:.28rem .55rem .3rem;transition:opacity .12s;display:flex;position:fixed;top:0;left:0;box-shadow:0 4px 14px #00000073}.cursor-label.visible{opacity:1}.cl-main{font-size:.9rem;font-weight:800}.cl-main.tone-good{color:var(--good)}.cl-main.tone-bad{color:var(--danger-soft)}.cl-main.tone-neutral{color:var(--text-dim)}.cl-sub{color:var(--gold-bright);font-size:.72rem;font-weight:700}.cl-sub.bad{color:var(--danger-soft)}.cl-skip{color:#ffc38f;white-space:normal;max-width:18rem;font-size:.7rem;font-weight:700}.tooltip{z-index:60;border:1px solid var(--gold-line);pointer-events:none;opacity:0;background:#101217f7;border-radius:10px;width:max-content;max-width:19rem;padding:.8rem .9rem .75rem;transition:opacity .12s;position:fixed;top:0;left:0;box-shadow:0 14px 34px #0000008c,inset 0 1px #ffffff0d}.tooltip.visible{opacity:1}.tt-head{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.tt-name{font-family:var(--font-display);color:color-mix(in srgb, var(--c) 55%, #fff2d6);font-size:1.04rem;font-weight:700}.tt-role{letter-spacing:.1em;text-transform:uppercase;color:#cfa75a;margin-top:.1rem;font-size:.7rem;font-weight:800}.tt-desc{color:var(--text-dim);margin:.4rem 0 0;font-size:.8rem;line-height:1.45}.tt .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.6rem}.tt-tags{flex-wrap:wrap;gap:.3rem;margin-top:.55rem;display:flex}.tt-specials{flex-direction:column;gap:.2rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.tt-specials:empty{display:none}.tt-specials li{padding-left:.85rem;font-size:.78rem;line-height:1.35;position:relative}.tt-specials li:before{content:"";background:var(--gold);width:.32rem;height:.32rem;position:absolute;top:.45em;left:.1rem;transform:rotate(45deg)}.tt-specs{border-top:1px solid var(--line);color:var(--text-dim);margin-top:.55rem;padding-top:.45rem;font-size:.76rem}.tt-specs b{color:var(--frost);font-weight:800}.tt-note{color:var(--good);margin-top:.4rem;font-size:.74rem}.sel>.tt{margin-top:.4rem}.sel>.tt .tt-head,.sel>.tt .tt-role{display:none}.toasts{pointer-events:none;z-index:35;flex-direction:column;align-items:center;gap:.35rem;display:flex;position:fixed;top:1rem;left:0;right:0}.toasts.in-game{align-items:flex-end}.toast{border:1px solid var(--line-strong);border-left:3px solid var(--text-dim);animation:toast-in .25s var(--ease) both;background:#101217f0;border-radius:9px;align-items:center;gap:.5rem;max-width:min(36rem,90%);padding:.45rem .9rem .45rem .8rem;font-size:.86rem;font-weight:700;transition:opacity .3s,transform .3s;display:flex;box-shadow:0 8px 22px #00000073}.toast.out{opacity:0;transform:translateY(-6px)}.toast.bump{animation:bump .25s var(--ease)}.toast-count{color:var(--text-faint);font-size:.76rem}.toast-error{border-left-color:var(--danger);color:#ffd6cd}.toast-warn{color:#ffe0c4;background:#28140ef0;border-left-color:#ff8a3d}.toast-good{border-left-color:var(--gold);color:var(--gold-bright)}.toast-info{border-left-color:var(--frost)}.modal-layer{-webkit-backdrop-filter:blur(3px)saturate(.8);backdrop-filter:blur(3px)saturate(.8);pointer-events:auto;z-index:40;background:radial-gradient(#0a0b0e80,#060709d1);place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.modal-confirm{z-index:45}.modal-layer.enter{animation:.25s ease-out both fade-in}.modal-layer.enter .modal-card{animation:card-in .35s var(--ease) both}.modal-card{border-color:var(--gold-line);background:linear-gradient(#1a1d24fa,#111318fa);width:min(32rem,100%);max-height:100%;padding:1.6rem 1.8rem 1.5rem;overflow-y:auto}.modal-over .modal-card{width:min(42rem,100%)}.modal-title{font-family:var(--font-display);letter-spacing:.08em;text-align:center;color:var(--text);margin:0;font-size:1.8rem;font-weight:700}.modal-sub{text-align:center;color:var(--text-dim);margin:.5rem 0 0;font-size:.9rem;line-height:1.45}.modal-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.4rem;display:flex}.modal-actions.vertical{flex-direction:column;align-items:stretch;width:min(18rem,100%);margin-left:auto;margin-right:auto}.pause-settings .settings{margin-top:1rem}.gameover{text-align:center}.go-kicker{letter-spacing:.32em;text-transform:uppercase;color:var(--text-dim);font-size:.78rem}.go-title{margin-top:.2rem;font-size:3.2rem}.gameover.won .go-title{background:linear-gradient(#fff2c9,#f0c060 50%,#a8752a);color:#0000;filter:drop-shadow(0 0 18px #f0c06066);-webkit-background-clip:text;background-clip:text}.gameover.lost .go-title{color:#ff8a6e;text-shadow:0 0 24px #e5533d80}.go-stars{justify-content:center;gap:.4rem;margin:.4rem 0 .2rem;display:flex}.go-stars .glyph{width:2.5rem;height:2.5rem;animation:star-pop .5s var(--ease) both}.go-stars .s1{animation-delay:.15s;transform:translateY(-.35rem)}.go-stars .s2{animation-delay:.3s}.go-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1.2rem;display:grid}.go-stat{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff09;flex-direction:column;gap:.1rem;padding:.6rem .4rem;display:flex}.go-stat-value{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:800}.go-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:.72rem;font-weight:800}.go-stat-note{color:var(--text-dim);font-size:.7rem;font-weight:700}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}}@keyframes title-glow{0%,to{filter:drop-shadow(0 0 18px #f0b45042)drop-shadow(0 4px 2px #0009)}50%{filter:drop-shadow(0 0 30px #f0b45073)drop-shadow(0 4px 2px #0009)}}@keyframes pulse-text{50%{opacity:.55}}@keyframes hurt{0%{background:#e5533d73;transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}to{background:0 0;transform:translate(0)}}@keyframes gain{0%{text-shadow:0 0 12px #ffdc82;transform:scale(1.12)}to{text-shadow:none;transform:scale(1)}}@keyframes hint-in{0%{opacity:0;transform:translateY(10px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}}@keyframes bump{50%{transform:scale(1.04)}}@keyframes fade-in{0%{opacity:0}}@keyframes card-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes star-pop{0%{opacity:0;scale:.3}70%{scale:1.15}to{opacity:1;scale:1}}@keyframes armed{50%{border-color:var(--gold);box-shadow:0 0 16px #f0c06059}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.reduced-effects .title,.reduced-effects .status-text.urgent,.reduced-effects .res-lives.low .res-value,.reduced-effects .spec-cards.armed .spec-card{animation:none}@media (width<=1100px){.map-cards,.howto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
