/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#164f52;--cream:#fff5d7}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:#073f43;min-height:100%;margin:0;font-family:Arial Rounded MT Bold,PingFang SC,Arial,sans-serif;overflow:hidden}button{font:inherit}.game-shell{background:radial-gradient(circle at 50% 35%,#1bb8a4,#052f36 76%);place-items:center;min-height:100dvh;display:grid}.game-frame{aspect-ratio:16/9;isolation:isolate;background:#10a894;width:min(100vw,177.778dvh);position:relative;overflow:hidden;box-shadow:0 0 80px #0000006b}canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.hud{pointer-events:none;align-items:center;gap:2.2%;height:9.5%;display:flex;position:absolute;top:2.2%;left:22%;right:17%}.coin-pill,.wave-pill,.round-pill{color:#fff;background:#035b54a8;border:clamp(2px,.22vw,4px) solid #dffff4ab;min-height:50%;box-shadow:0 .35vw .55vw #00433e40,inset 0 .15vw .2vw #ffffff24}.coin-pill{border-radius:999px;align-items:center;gap:.7vw;min-width:13%;padding:.2vw 1.2vw .2vw .25vw;font-size:clamp(16px,2.2vw,40px);display:flex}.coin-mark{aspect-ratio:1;background:radial-gradient(circle at 38% 32%,#fff985 0 8%,#ffcb21 9% 57%,#ec8e00 59% 69%,#ffd52f 71%);border-radius:50%;width:clamp(31px,4.1vw,72px);box-shadow:0 .25vw .25vw #8d6a2355}.wave-pill{border-radius:999px;flex:1;align-items:center;gap:.5vw;height:58%;padding:0 1.1vw 0 .3vw;font-size:clamp(13px,1.65vw,29px);display:flex}.enemy-mark{aspect-ratio:1;background:radial-gradient(circle at 36% 44%,#fff 0 10%,#0000 11%),radial-gradient(circle at 64% 44%,#fff 0 10%,#0000 11%),#eadbc9;border-radius:49% 51% 44% 56%;width:clamp(29px,3.6vw,63px);position:relative}.enemy-mark:before,.enemy-mark:after{content:"";background:#edcbb8;border-radius:60%;width:28%;height:58%;position:absolute;top:-32%}.enemy-mark:before{left:17%;transform:rotate(-8deg)}.enemy-mark:after{right:17%;transform:rotate(8deg)}.wave-track{background:#002f396b;border-radius:99px;flex:1;height:54%;overflow:hidden;box-shadow:inset 0 .15vw .3vw #00000040}.wave-track i{background:linear-gradient(#ffd84e,#ff9b20);height:100%;transition:width .35s;display:block}.round-pill{pointer-events:auto;aspect-ratio:1.65;cursor:pointer;border-radius:999px;height:58%;font-size:clamp(14px,1.55vw,28px);font-weight:900}.round-pill.pause{aspect-ratio:1;font-size:clamp(18px,2vw,36px)}.build-menu{gap:1vw;display:flex;position:absolute;top:12%;right:24%}.tower-card{aspect-ratio:.86;cursor:pointer;color:#956021;background:linear-gradient(#c9ff7f,#65d760 63%,#fff3ce 64%);border:.27vw solid #ffffffe6;border-radius:48% 48% 24% 24%;width:clamp(58px,7.1vw,124px);transition:transform .18s,filter .18s;position:relative;overflow:hidden;box-shadow:0 .4vw .6vw #00554a47}.tower-card:hover,.tower-card.active{filter:brightness(1.08);transform:translateY(-.4vw)scale(1.04)}.tower-card.active{box-shadow:0 0 0 .45vw #fff26d8a,0 .5vw .7vw #00554a4d}.tower-card b{z-index:2;font-size:clamp(11px,1.2vw,22px);position:absolute;bottom:4%;left:0;right:0}.asset-preview{aspect-ratio:1;filter:drop-shadow(0 .16vw .15vw #00473d3d);background-image:url(/assets/sprite-atlas-v2.png);background-repeat:no-repeat;background-size:300% 200%;width:82%;position:absolute;top:39%;left:50%;transform:translate(-50%,-50%)}.pea-asset{background:radial-gradient(at 68% 43%,#d7ff4e 0 7%,#0000 8%),radial-gradient(at 52% 43%,#ffe837 0 14%,#f0a400 15% 18%,#0000 19%),radial-gradient(at 53% 42%,#9ceb14 0 36%,#2a7219 37% 41%,#0000 42%),radial-gradient(at 83% 44%,#8ddb11 0 13%,#2a7219 14% 18%,#0000 19%),radial-gradient(at 50% 70%,#65cff0 0 31%,#176f83 32% 37%,#0000 38%);border-radius:45%}.clover-asset{background-position:50% 0}.life-badge{filter:drop-shadow(0 .3vw .2vw #0003);align-items:center;display:flex;position:absolute;top:54%;right:6.1%}.life-badge span{color:#9a5c25;background:#fff2cc;border-radius:.7vw;padding:.12vw .6vw;font-size:clamp(14px,1.6vw,29px);font-weight:900}.life-badge i{aspect-ratio:1;background:linear-gradient(135deg,#ff8fa2,#f94d70);border:.24vw solid #fff1df;border-radius:50% 50% 50% 12%;width:clamp(30px,4vw,70px);position:relative;transform:rotate(-45deg)}.target-chip{color:#fff;background:#004d4ad1;border:.2vw solid #ffffffb8;border-radius:999px;align-items:center;gap:.65vw;min-width:9vw;padding:.45vw .8vw;display:flex;position:absolute;top:12%;left:4.5%;box-shadow:0 .35vw .7vw #00363440}.target-chip div{flex-direction:column;line-height:1.08;display:flex}.target-chip small{opacity:.7;font-size:clamp(8px,.62vw,12px)}.target-chip strong{font-size:clamp(12px,1vw,19px)}.target-chip b{color:#ffec77;font-size:clamp(11px,.9vw,18px)}.target-ring{aspect-ratio:1;background:radial-gradient(circle,#0000 0 28%,#fff 30% 39%,#f5667e 41% 62%,#fff 64% 73%,#0000 75%);border-radius:50%;width:clamp(24px,2.8vw,48px)}.tower-actions{color:#fff;background:#004848d4;border:.2vw solid #ffffffbf;border-radius:1.25vw;align-items:center;gap:.6vw;padding:.55vw .7vw .55vw 1vw;display:flex;position:absolute;bottom:5%;left:50%;transform:translate(-50%);box-shadow:0 .55vw 1vw #002e2f4d}.tower-actions div{flex-direction:column;min-width:6.5vw;display:flex}.tower-actions small{opacity:.72;font-size:clamp(9px,.72vw,14px)}.tower-actions strong{font-size:clamp(14px,1.15vw,22px)}.tower-actions button,.modal button{color:#70451d;cursor:pointer;background:linear-gradient(#fff27e,#ffc744);border:0;border-radius:.75vw;padding:.65vw 1.1vw;font-size:clamp(11px,.95vw,18px);font-weight:900;box-shadow:inset 0 .14vw #fff8bb,0 .25vw #b57525}.tower-actions button:disabled{filter:grayscale(.8);opacity:.7}.tower-actions .sell{background:linear-gradient(#bff1e8,#70cbb9);box-shadow:inset 0 .14vw #efffff,0 .25vw #397e75}.modal{text-align:center;width:min(34vw,560px);color:var(--ink);z-index:10;background:linear-gradient(#fff9db,#f7ddb1);border:.45vw solid #fff9e6;border-radius:3vw;padding:3.2vw 3vw 2.5vw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1.4vw 3vw #0038397a,inset 0 -.5vw #d9a56d}.modal:before{content:"";z-index:-2;background:#00343775;position:fixed;inset:-100vh -100vw}.modal:after{content:"";background:inherit;border-radius:inherit;z-index:-1;position:absolute;inset:0}.modal h1,.modal h2{margin:.4vw 0 .7vw;font-size:clamp(23px,2.5vw,44px)}.modal p{opacity:.72;margin:0 0 1.5vw;font-size:clamp(12px,1vw,19px)}.modal button{padding:.8vw 2vw;font-size:clamp(14px,1.25vw,23px)}.modal.compact{padding-top:2vw}.result-seal{aspect-ratio:1;background:#ffbd3d;border:.5vw solid #fff7cf;border-radius:50%;width:6vw;min-width:64px;margin:-6vw auto 0;position:relative;box-shadow:0 .45vw #c27624}.result-seal i:before,.result-seal i:after{content:"";background:#fff;border-radius:99px;position:absolute}.result-seal.win i:before{width:18%;height:40%;top:34%;left:31%;transform:rotate(-40deg)}.result-seal.win i:after{width:18%;height:60%;top:20%;left:54%;transform:rotate(38deg)}.result-seal.lose{background:#78b8bf}.result-seal.lose i:before{width:16%;height:55%;top:22%;left:42%;transform:rotate(45deg)}.result-seal.lose i:after{width:16%;height:55%;top:22%;left:42%;transform:rotate(-45deg)}.rotate-note{color:#fff;text-align:center;display:none}.rotate-note strong,.rotate-note span{display:block}.rotate-note span{opacity:.65;margin-top:8px;font-size:13px}@media (orientation:portrait) and (width<=700px){.game-frame{display:none}.rotate-note{display:block}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
