@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/SpaceGrotesk-600-latin.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Inter-var-latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400-latin.woff2)format("woff2")}body{font-family:var(--td-font-ui);background:#06070f;margin:0}button,input,select,textarea{font:inherit}:root{--td-bg:#06070f;--td-grid:#f2f4f8;--td-accent-a:#00d4ff;--td-accent-b:#ffa200;--td-accent-c:#fff;--td-tower:#00d4ff;--td-enemy:#00d4ff;--td-core:#00d4ff;--td-wall:#ffa200;--td-text:#e6e6f0;--td-font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--td-font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--td-font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}:focus{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible{outline:2px solid var(--td-accent-a);outline-offset:2px;border-radius:6px}.td-skip-link{z-index:1000;background:var(--td-bg);color:var(--td-accent-a);border:2px solid var(--td-accent-a);border-radius:8px;padding:.6rem 1rem;font-size:.9rem;font-weight:700;position:absolute;top:auto;left:-9999px}.td-skip-link:focus,.td-skip-link:focus-visible{outline:2px solid var(--td-accent-a);outline-offset:2px;top:1rem;left:1rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}button:active,a:active,[role=button]:active{transform:none!important}}.no-double-tap,.no-double-tap *{touch-action:none}html,body{overscroll-behavior-y:none}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.touch-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.td-panel{border:1px solid color-mix(in srgb, var(--td-accent-a) 50%, transparent);box-shadow:0 0 12px color-mix(in srgb, var(--td-accent-a) 20%, transparent), inset 0 0 8px color-mix(in srgb, var(--td-accent-a) 10%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.25);backdrop-filter:blur(14px)saturate(1.25);background:color-mix(in srgb, var(--td-bg) 55%, transparent);border-radius:10px;position:relative}.td-panel:before,.td-panel:after{content:"";pointer-events:none;width:10px;height:10px;position:absolute}.td-panel:before{border-top:2px solid var(--td-accent-a);border-left:2px solid var(--td-accent-a);top:-1px;left:-1px}.td-panel:after{border-bottom:2px solid var(--td-accent-a);border-right:2px solid var(--td-accent-a);bottom:-1px;right:-1px}.td-scanlines{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px 3px)}@keyframes td-pulse{0%,to{opacity:1}50%{opacity:.5}}.td-resource-fill{transition:width .42s cubic-bezier(.22,1,.36,1)}@keyframes td-wave-tick{0%{filter:brightness(1.8);transform:scale(1.35)}to{filter:brightness();transform:scale(1)}}.td-wave-tick{animation:.36s ease-out td-wave-tick;display:inline-block}button,a,[role=button],input[type=button],input[type=submit],select,summary{transition:transform 90ms ease-out,filter .12s ease-out}button:hover,a:hover,[role=button]:hover,input[type=button]:hover,input[type=submit]:hover,select:hover{filter:brightness(1.08)}button:active,a:active,[role=button]:active,input[type=button]:active,input[type=submit]:active{filter:brightness(.94);transform:scale(.97)}button:disabled,button[aria-disabled=true],a[aria-disabled=true]{filter:none;transform:none}@keyframes td-wave-banner{0%{opacity:0;filter:brightness(2);transform:translate(-50%)scale(.72)}22%{opacity:1;transform:translate(-50%)scale(1.04)}32%{transform:translate(-50%)scale(1)}78%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(1.06)}}.td-wave-banner{animation:2.2s ease-out both td-wave-banner}@keyframes td-core-vignette{0%{box-shadow:inset 0 0 120px 40px color-mix(in srgb, var(--td-accent-b) 55%, transparent);opacity:1}to{box-shadow:inset 0 0 120px 40px color-mix(in srgb, var(--td-accent-b) 55%, transparent);opacity:0}}.td-core-vignette{animation:.6s ease-out both td-core-vignette}@keyframes td-panel-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.td-panel-enter{animation:.26s cubic-bezier(.22,1,.36,1) both td-panel-enter}
