/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@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)}.end{inset-inline-end:var(--spacing)}.table{display:table}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--ink:#172a27;--cream:#f6e8bd;--paper:#ead9a6;--gold:#eab54d;--green:#365f4a;--rust:#b95f35}*{box-sizing:border-box}html,body{min-height:100%;color:var(--cream);background:#172a27;margin:0;font-family:Trebuchet MS,Avenir Next,system-ui,sans-serif}button{font:inherit}.app-shell{background:#172a27;min-height:100vh;overflow:hidden}.eyebrow{letter-spacing:.2em;color:#e8be65;font-size:11px;font-weight:900}.menu-screen{isolation:isolate;flex-direction:column;min-height:100vh;padding:clamp(26px,5vw,72px);display:flex;position:relative}.menu-art{z-index:-3;background:url(/art/clockwork-orchard-keyart.png) 50%/cover no-repeat;animation:18s ease-in-out infinite alternate slow-pan;position:absolute;inset:0}.menu-scrim{z-index:-2;background:linear-gradient(90deg,#11221ff2 0%,#11221fb8 35%,#11221f0d 72%),linear-gradient(#0000 65%,#11221fc7);position:absolute;inset:0}@keyframes slow-pan{to{transform:scale(1.035)}}.brand{max-width:680px}.brand-kicker{letter-spacing:.21em;color:#ffd873;background:#162d288c;border:1px solid #ffe8a959;border-radius:20px;padding:8px 14px;font-size:11px;font-weight:900;display:inline-block}.brand h1{letter-spacing:-.075em;text-shadow:0 4px #30211466;margin:28px 0 22px;font-family:Georgia,serif;font-size:clamp(56px,7.5vw,112px);line-height:.76}.brand h1 em{color:#f4ba4e;letter-spacing:-.04em;font-size:.82em;font-style:normal}.brand p{color:#efe3c3;max-width:500px;margin:0;font-family:Georgia,serif;font-size:clamp(17px,2vw,24px);line-height:1.35}.main-actions{align-items:stretch;gap:14px;margin-top:auto;display:flex}.main-actions button{color:var(--cream);cursor:pointer;border:1px solid #ffe9b440;transition:transform .2s,background .2s}.main-actions button:hover{transform:translateY(-3px)}.big-play{text-align:left;background:linear-gradient(135deg,#d17a36,#a84829);align-items:center;gap:18px;min-width:300px;padding:18px 26px;display:flex;box-shadow:0 8px #6f3527,0 16px 35px #00000047;border-radius:14px!important}.big-play .play-mark{color:#8a3c27;background:#ffe495;border-radius:50%;place-items:center;width:52px;height:52px;padding-left:4px;font-size:22px;display:grid}.big-play b{letter-spacing:.08em;font-size:25px;display:block}.big-play small,.secondary-actions small{letter-spacing:.1em;opacity:.75;margin-top:3px;font-size:10px;display:block}.secondary-actions{gap:10px;display:flex}.secondary-actions button{letter-spacing:.05em;background:#18302ad1;border-radius:14px;min-width:180px;padding:16px 20px;font-weight:900}.secondary-actions button>span{color:#efc65b;margin-bottom:5px;font-size:23px;display:block}.menu-footer{letter-spacing:.14em;color:#ffeec499;justify-content:space-between;align-items:center;margin-top:34px;font-size:10px;font-weight:900;display:flex}.menu-footer button{color:#f6d57e;letter-spacing:.1em;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:900}.panel-screen{background:radial-gradient(circle at 50% 0,#3e6c55 0,#1d3932 50%,#132b29 100%);min-height:100vh;padding-bottom:50px}.panel-top{background:#0d201d80;border-bottom:1px solid #ffe6a626;grid-template-columns:1fr auto 1fr;align-items:center;height:82px;padding:0 clamp(20px,4vw,58px);display:grid}.panel-top button{color:#f1d895;letter-spacing:.15em;cursor:pointer;background:0 0;border:0;justify-self:start;font-size:11px;font-weight:900}.panel-top h1{letter-spacing:.08em;margin:0;font-family:Georgia,serif;font-size:24px}.panel-top>:last-child{justify-self:end}.seed-count{color:#f1c865;background:#294b3d;border:1px solid #ffe08940;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:900}.select-wrap{grid-template-columns:minmax(0,1fr) 380px;gap:38px;max-width:1450px;margin:0 auto;padding:clamp(24px,4vw,55px);display:grid}.track-grid{grid-template-columns:repeat(2,minmax(230px,1fr));gap:18px;display:grid}.track-card{text-align:left;color:var(--cream);cursor:pointer;background:#244238;border:1px solid #ffeab524;border-radius:18px;padding:0 20px 20px;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 12px 30px #0003}.track-card:hover,.track-card.active{border-color:var(--tone);box-shadow:0 0 0 3px var(--tone),0 18px 35px #00000047;transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.track-card:hover,.track-card.active{box-shadow:0 0 0 3px color-mix(in srgb,var(--tone),transparent 70%),0 18px 35px #00000047}}.track-card h2{margin:10px 0 4px;font-family:Georgia,serif;font-size:22px}.track-card p{color:#c9d3bb;margin:0 0 18px;font-size:13px;line-height:1.45}.track-card>small{letter-spacing:.13em;color:#e4c675;font-size:9px;font-weight:900}.difficulty-tag{color:var(--tone);letter-spacing:.15em;margin-top:15px;font-size:9px;font-weight:900;display:inline-block}.track-mini{background:linear-gradient(145deg,var(--tone),#3f6952);height:145px;margin:0 -20px;position:relative;overflow:hidden}.track-mini:before,.track-mini:after,.track-mini span,.track-mini i{content:"";border:13px solid #ead7a1;border-radius:50%;width:210px;height:100px;position:absolute;top:34px;left:-30px;transform:rotate(-12deg);box-shadow:0 0 0 7px #29372d59}.track-mini:after{top:10px;left:180px;transform:rotate(24deg)}.track-mini i{top:85px;left:70px;transform:rotate(7deg)}.track-mini b{background:radial-gradient(circle at 20% 25%,#fff4b673 0 3px,#0000 4px) 0 0/32px 32px;position:absolute;inset:0}.map-cider:before{border-radius:5px;transform:rotate(0)}.map-cider:after{border-radius:5px}.map-mill{filter:saturate(.65)}.map-rootbound:before{transform:rotate(35deg)}.difficulty-panel{color:#243a33;background:#efe2b9;border-radius:18px;align-self:start;padding:28px;position:sticky;top:24px;box-shadow:0 14px 35px #0000004d}.difficulty-panel h2{margin:6px 0 20px;font-family:Georgia,serif;font-size:31px}.difficulty-panel>button:not(.launch){color:#31463e;text-align:left;cursor:pointer;background:#e2d3a7;border:1px solid #c9b988;border-radius:12px;align-items:center;gap:13px;width:100%;margin-bottom:9px;padding:14px;display:flex}.difficulty-panel>button.selected{color:#fff1c6;background:#355f4b;border-color:#355f4b;box-shadow:0 5px #244236}.difficulty-panel button span:nth-child(2){flex:1}.difficulty-panel button b,.difficulty-panel button small{display:block}.difficulty-panel button small{opacity:.72;margin-top:3px;font-size:10px}.difficulty-panel button strong{color:#c07b2d;font-size:11px}.difficulty-panel button.selected strong{color:#ffd777}.diff-gem{background:#69a867;border:2px solid #ffffff8c;width:16px;height:16px;transform:rotate(45deg)}.diff-gem.standard{background:#dd9b3e}.diff-gem.tempest{background:#b7503e}.launch{color:#fff3c9;letter-spacing:.07em;cursor:pointer;background:#bd6035;border:0;border-radius:12px;width:100%;margin-top:18px;padding:18px;font-weight:900;box-shadow:0 6px #7e3b2a}.launch span{float:right}.knowledge-intro{text-align:center;max-width:720px;margin:48px auto 34px;padding:0 24px}.knowledge-intro h2{margin:8px 0;font-family:Georgia,serif;font-size:36px}.knowledge-intro p{color:#bdcbb7;line-height:1.6}.knowledge-tree{grid-template-columns:repeat(4,1fr);gap:18px;max-width:1100px;margin:0 auto;padding:0 30px;display:grid;position:relative}.knowledge-tree button{text-align:center;color:#f4e7bb;cursor:pointer;background:#24453a;border:1px solid #ffe29a2e;border-radius:50% 50% 18px 18px;flex-direction:column;align-items:center;min-height:230px;padding:25px 18px 18px;transition:all .2s;display:flex}.knowledge-tree button:hover{border-color:#e9bd5d;transform:translateY(-4px)}.knowledge-tree button.learned{background:linear-gradient(#6c7445,#355c44);border-color:#f1ca6a;box-shadow:0 0 28px #ebba4433}.node-icon{color:#f5d77c;background:#18352e;border:3px solid #c18a3c;border-radius:50%;place-items:center;width:65px;height:65px;margin-bottom:12px;font-size:26px;display:grid}.knowledge-tree i{letter-spacing:.15em;color:#bea75f;font-size:8px;font-style:normal}.knowledge-tree b{margin:5px 0;font-family:Georgia,serif;font-size:18px}.knowledge-tree small{color:#c4cfb9;font-size:11px;line-height:1.4}.knowledge-tree em{letter-spacing:.1em;color:#eab64f;margin-top:auto;font-size:10px;font-style:normal;font-weight:900}.guide-wrap{grid-template-columns:1.25fr .75fr;gap:38px;max-width:1300px;margin:40px auto;padding:0 30px;display:grid}.guide-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.guide-grid article,.enemy-list article{background:#24443a;border:1px solid #ffecb61f;border-radius:12px;align-items:center;gap:14px;padding:13px;display:flex}.guide-grid article>div{flex:1}.guide-grid h3,.enemy-list h3{margin:0;font-size:15px}.guide-grid p,.enemy-list p{color:#b9c9b8;margin:3px 0;font-size:11px}.guide-grid small{color:#deb65c;font-size:9px}.guide-grid article>b{color:#789383;font-size:10px}.enemy-list{gap:8px;margin-top:14px;display:grid}.enemy-list article>span{color:#fff0b9;border:3px solid #1b312b;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.game-screen{background:#172a27;flex-direction:column;height:100vh;min-height:650px;display:flex}.game-top{background:linear-gradient(#1f3c34,#162d29);border-bottom:1px solid #ffe7a72e;flex:0 0 72px;align-items:center;gap:14px;height:72px;padding:0 18px;display:flex}.round-button{color:#f4d98b;cursor:pointer;background:#29483d;border:1px solid #ffedbe38;border-radius:50%;width:40px;height:40px}.run-title{margin-right:auto}.run-title span,.run-title small{display:block}.run-title span{font-family:Georgia,serif;font-weight:800}.run-title small{letter-spacing:.15em;color:#9eb5a8;margin-top:3px;font-size:8px}.resource{background:#102521;border:1px solid #ffffff17;border-radius:10px;align-items:center;gap:8px;min-width:92px;padding:8px 13px;display:flex}.resource i{color:#f2bc4d;font-style:normal}.resource.lives i{color:#e26b57}.wave-readout{text-align:center;border-left:1px solid #ffffff1f;border-right:1px solid #ffffff1f;padding:0 16px}.wave-readout small{letter-spacing:.18em;color:#9fb0a5;font-size:8px;display:block}.wave-readout b{font-size:20px}.wave-readout i{color:#9fb0a5;font-size:11px;font-style:normal}.time-controls{gap:5px;display:flex}.time-controls button{color:#ecd78f;cursor:pointer;background:#29483d;border:1px solid #ffedbe29;border-radius:8px;min-width:39px;height:36px;font-size:11px;font-weight:900}.time-controls button.active{color:#fff;background:#bd6638}.game-body{flex:1;grid-template-columns:minmax(0,1fr) 335px;min-height:0;display:grid}.canvas-wrap{background:#101f1d;place-items:center;display:grid;position:relative;overflow:hidden}.canvas-wrap canvas{object-fit:contain;touch-action:none;cursor:crosshair;background:#385b49;width:100%;height:100%;display:block}.canvas-tip{letter-spacing:.06em;color:#ddcda0;pointer-events:none;background:#0f221ec7;border:1px solid #ffe8a626;border-radius:8px;padding:8px 11px;font-size:9px;position:absolute;bottom:12px;left:14px}.toast{color:#3c3928;background:#f0d995;border-radius:10px;padding:11px 18px;font-size:12px;font-weight:900;animation:.2s toast-in;position:absolute;top:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #00000059}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}}.start-wave{color:#fff0c6;letter-spacing:.08em;cursor:pointer;background:#c96937;border:0;border-radius:12px;padding:8px 8px 8px 16px;font-size:11px;font-weight:900;position:absolute;bottom:18px;right:18px;box-shadow:0 5px #773828}.start-wave i{color:#944426;background:#ffe28a;border-radius:8px;place-items:center;width:34px;height:34px;margin-left:10px;font-style:normal;display:inline-grid}.tower-dock{color:#213a32;background:#eadcad;border-left:4px solid #a47239;padding:16px;overflow:auto}.dock-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dock-heading b{color:#7b7455;font-size:9px}.tower-grid{gap:7px;display:grid}.tower-grid>button{text-align:left;color:#263e35;cursor:pointer;background:#ddcfa2;border:1px solid #cbbd8c;border-radius:11px;align-items:center;gap:11px;padding:9px;transition:all .15s;display:flex;position:relative}.tower-grid>button:hover,.tower-grid>button.active{background:#f6e8b9;border-color:#a95b36;transform:translate(-3px)}.tower-grid>button:disabled{filter:grayscale(.8);opacity:.46;cursor:not-allowed}.tower-grid>button>span:nth-child(2){flex:1}.tower-grid b,.tower-grid small,.tower-grid em{display:block}.tower-grid b{font-size:13px}.tower-grid small{color:#687360;font-size:9px}.tower-grid em{color:#9c5b29;margin-top:2px;font-size:10px;font-style:normal;font-weight:900}.tower-grid kbd{color:#7f785c;font-size:8px;position:absolute;top:6px;right:7px}.tower-badge{--body:#777;--accent:#fff;background:var(--body);border:4px solid #284037;border-radius:50%;flex:0 0 45px;width:45px;height:45px;position:relative;box-shadow:inset 0 0 0 3px #ffffff29;display:block!important}.tower-badge i,.tower-badge b,.tower-badge em{background:var(--accent);display:block;position:absolute}.tower-badge i{width:7px;height:7px;box-shadow:15px 0 0 var(--accent);border-radius:50%;top:13px;left:9px}.tower-badge b{border-radius:4px;width:24px;height:6px;top:18px;right:-9px}.tower-badge em{border-radius:50%;width:15px;height:5px;bottom:5px;left:11px}.tower-frost b{border:4px solid var(--accent);background:0 0;border-radius:50%;width:17px;height:17px;top:10px;right:10px}.tower-sun b{width:22px;height:22px;box-shadow:0 0 10px var(--accent);border-radius:50%;top:8px;right:8px}.tower-hive b{width:7px;height:7px;box-shadow:9px -6px 0 var(--accent),12px 7px 0 var(--accent)}.tower-root b{width:21px;transform:rotate(-20deg)}.tower-lantern{box-shadow:inset 0 0 0 3px #ffffff29,0 0 12px var(--accent)}.dock-note{border-top:1px solid #c3b482;margin-top:16px;padding-top:14px}.dock-note b{letter-spacing:.12em;color:#a26336;font-size:9px}.dock-note p{color:#625d45;font-family:Georgia,serif;font-size:12px;line-height:1.45}.back-workshop{color:#8b6035;letter-spacing:.12em;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:900}.selected-hero{background:#d8c895;border-radius:12px;align-items:center;gap:14px;margin:15px 0;padding:14px;display:flex}.selected-hero h2{margin:2px 0;font-family:Georgia,serif;font-size:21px}.selected-hero span,.selected-hero small{color:#6b705c;font-size:9px;display:block}.stat-bars{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-bars span{color:#786f50;font-size:7px;font-weight:900}.stat-bars i{background:#c3b683;border-radius:5px;height:5px;margin-top:3px;display:block;overflow:hidden}.stat-bars i b{background:#bd6335;height:100%;display:block}.target-row{align-items:center;gap:4px;margin:14px 0;display:flex}.target-row span{color:#746c51;margin-right:auto;font-size:8px;font-weight:900}.target-row button{color:#5d604d;cursor:pointer;background:#dfd09f;border:1px solid #bdb080;border-radius:6px;padding:6px;font-size:7px;font-weight:900}.target-row button.active{color:#f7e8b8;background:#3e674f}.upgrade-paths{gap:8px;display:grid}.upgrade-paths>button{text-align:left;color:#293f36;cursor:pointer;background:#d9ca98;border:1px solid #bdad78;border-radius:10px;align-items:center;min-height:68px;padding:11px;display:flex;position:relative}.upgrade-paths>button.maxed{color:#fae9b9;opacity:1;background:#466a51}.upgrade-paths span{flex:1}.upgrade-paths i,.upgrade-paths b,.upgrade-paths small{display:block}.upgrade-paths span i{letter-spacing:.12em;color:#9d6737;font-size:7px;font-style:normal}.upgrade-paths b{font-family:Georgia,serif;font-size:14px}.upgrade-paths small{color:#74745b;margin-top:3px;font-size:9px}.upgrade-paths em{color:#9b5e2e;font-size:9px;font-style:normal;font-weight:900}.tier-pips{gap:3px;display:flex;position:absolute;bottom:8px;right:10px}.tier-pips i{background:#b2a575;width:12px;height:3px}.sell{color:#8b633c;cursor:pointer;background:0 0;border:1px solid #b9a978;border-radius:8px;width:100%;margin-top:13px;padding:10px;font-size:9px;font-weight:900}.result-screen{background:radial-gradient(circle,#426b50,#172d29 68%);place-items:center;min-height:100vh;padding:30px;display:grid}.result-screen.defeat{background:radial-gradient(circle,#5a4635,#242b29 68%)}.result-card{color:#273d35;text-align:center;background:#eee0b2;border:6px solid #bc8740;border-radius:22px;width:min(620px,100%);padding:45px;box-shadow:0 25px 70px #00000073}.result-sigil{color:#ffe891;background:#c87737;border:6px solid #f5dfa0;border-radius:50%;place-items:center;width:80px;height:80px;margin:-86px auto 25px;font-size:38px;display:grid}.result-card h1{margin:8px 0;font-family:Georgia,serif;font-size:46px}.result-card>p{color:#68705e;font-family:Georgia,serif;line-height:1.5}.result-stats{border-top:1px solid #c6b786;border-bottom:1px solid #c6b786;grid-template-columns:repeat(3,1fr);margin:25px 0;padding:17px 0;display:grid}.result-stats small,.result-stats b{display:block}.result-stats small{letter-spacing:.14em;color:#81785c;font-size:8px}.result-stats b{margin-top:4px;font-size:24px}.result-actions{justify-content:center;gap:8px;display:flex}.result-actions button{color:#33483f;letter-spacing:.08em;cursor:pointer;background:#d9c996;border:1px solid #aa996a;border-radius:9px;padding:11px 15px;font-size:9px;font-weight:900}.result-actions button:first-child{color:#fff0c5;background:#b85c35}.modal-backdrop{z-index:20;background:#081412c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.how-modal{color:#2b4038;background:#eee1b5;border-radius:20px;width:min(620px,100%);padding:38px;position:relative;box-shadow:0 25px 70px #00000080}.modal-close{color:#7d6140;cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:14px;right:18px}.how-modal h2{margin:8px 0 22px;font-family:Georgia,serif;font-size:30px}.how-modal ol{counter-reset:steps;padding:0;list-style:none}.how-modal li{counter-increment:steps;grid-template-columns:36px 1fr;column-gap:10px;margin:13px 0;display:grid}.how-modal li:before{content:counter(steps);color:#f6dc91;background:#3e6751;border-radius:50%;grid-row:1/3;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.how-modal li b,.how-modal li span{display:block}.how-modal li span{color:#68705e;margin-top:2px;font-size:12px}.key-help{letter-spacing:.08em;border-top:1px solid #c7b887;margin-top:22px;padding-top:16px;font-size:9px;font-weight:900}.key-help kbd{background:#d5c492;border-radius:5px;margin-right:5px;padding:5px 7px}@media (width<=900px){.menu-screen{padding:28px}.menu-scrim{background:linear-gradient(90deg,#11221ff2,#11221f73),linear-gradient(#0000,#11221fcc)}.main-actions{flex-direction:column;max-width:470px}.secondary-actions{flex-wrap:wrap}.secondary-actions button{flex:1}.select-wrap{grid-template-columns:1fr}.difficulty-panel{position:static}.knowledge-tree{grid-template-columns:repeat(2,1fr)}.guide-wrap{grid-template-columns:1fr}.game-screen{height:auto;min-height:100vh}.game-body{grid-template-columns:1fr}.canvas-wrap{height:58vw;min-height:410px}.tower-dock{border-top:4px solid #a47239;border-left:0;max-height:none}.tower-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.brand h1{font-size:54px}.brand p{font-size:16px}.big-play{width:100%;min-width:0}.secondary-actions button{min-width:130px;padding:12px}.menu-footer>span{display:none}.track-grid{grid-template-columns:1fr}.panel-top{grid-template-columns:80px 1fr 80px}.panel-top h1{text-align:center;font-size:16px}.knowledge-tree{grid-template-columns:1fr 1fr;gap:9px;padding:0 14px}.knowledge-tree button{min-height:205px;padding:18px 10px}.knowledge-intro h2{font-size:28px}.guide-grid{grid-template-columns:1fr}.game-top{gap:5px;padding:0 7px}.run-title{display:none}.resource{min-width:64px;padding:7px}.wave-readout{padding:0 7px}.time-controls{gap:2px}.time-controls button{min-width:34px}.game-body{display:block}.canvas-wrap{height:62vw;min-height:330px}.tower-grid{grid-template-columns:1fr}.canvas-tip{display:none}.start-wave{bottom:10px;right:10px}.result-card{padding:30px 18px}.result-card h1{font-size:36px}.result-actions{flex-wrap:wrap}.result-stats b{font-size:18px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}.track-mini{aspect-ratio:1000/620;background:#253f36;border-bottom:1px solid #ffe6a62e;width:calc(100% + 40px);height:auto;margin:0 -20px;display:block;position:relative;overflow:hidden}.track-mini:before,.track-mini:after,.track-mini span,.track-mini i,.track-mini b{content:none!important;display:none!important}.track-mini canvas{object-fit:contain;filter:saturate(.92)contrast(1.04);width:100%;height:100%;transition:transform .45s,filter .3s;display:block}.track-card:hover .track-mini canvas,.track-card.active .track-mini canvas{filter:saturate(1.08)contrast(1.05);transform:scale(1.035)}.track-card{background:linear-gradient(165deg,#294a3e,#1d3731);border-color:#ecc46b2e;box-shadow:0 16px 34px #07141152,inset 0 1px #ffffff0f}.track-card.active{background:linear-gradient(165deg,#335848,#203e35)}.track-card h2{color:#f5e5ba;text-shadow:0 2px #00000040;font-size:24px}.track-card p{color:#b9cdbd;min-height:38px}.difficulty-tag{background:var(--tone);border-radius:4px;padding:5px 8px}@supports (color:color-mix(in lab, red, red)){.difficulty-tag{background:color-mix(in srgb,var(--tone),transparent 78%)}}.difficulty-tag{border:1px solid var(--tone)}@supports (color:color-mix(in lab, red, red)){.difficulty-tag{border:1px solid color-mix(in srgb,var(--tone),transparent 50%)}}.game-screen{background:#0c1c19}.game-top{z-index:3;background:linear-gradient(#29483d 0%,#19332d 68%,#112722 100%);border-bottom:3px solid #9f7139;flex-basis:78px;height:78px;box-shadow:0 6px 20px #0000005c}.game-top:after{content:"";opacity:.75;background:linear-gradient(90deg,#0000,#efbd5d 18%,#8d5b2e 50%,#efbd5d 82%,#0000);height:2px;position:absolute;top:73px;left:0;right:0}.round-button,.time-controls button{background:linear-gradient(#3c6251,#213f35);border:1px solid #a77b42;box-shadow:inset 0 1px #ffefbe29,0 3px #0e211d}.resource{background:linear-gradient(#182f29,#0f2420);border:1px solid #725b3b;box-shadow:inset 0 1px #ffffff0d}.wave-readout{background:#08191542;border:1px solid #e9bb5b33;border-radius:9px;padding:7px 17px}.game-body{background:#0d201c;grid-template-columns:minmax(0,1fr) 370px}.canvas-wrap{background:linear-gradient(135deg,#101f1c,#273d31);padding:12px;box-shadow:inset -5px 0 #6f4b2c,inset -8px 0 #d2a04e}.canvas-wrap:before{content:"";pointer-events:none;z-index:2;border:2px solid #ba8843;border-radius:16px;position:absolute;inset:6px;box-shadow:inset 0 0 0 3px #2a3e33,0 0 20px #0000006b}.canvas-wrap canvas{cursor:crosshair;border-radius:11px;width:100%;height:100%;box-shadow:0 15px 35px #0000005c}.canvas-tip{color:#eedcae;background:linear-gradient(90deg,#0c1f1af0,#142d25db);border:1px solid #a77d40;bottom:21px;left:24px;box-shadow:0 5px 15px #00000040}.start-wave{background:linear-gradient(145deg,#dc7b3d,#a94e2d);border:1px solid #f1b45d;bottom:26px;right:28px;box-shadow:0 6px #632c24,0 12px 24px #00000047}.tower-dock{color:#f1e0b1;scrollbar-color:#9e7040 #132822;background:linear-gradient(155deg,#203b33 0%,#142c27 57%,#10241f 100%);border-left:4px solid #bd8844;padding:18px;position:relative;box-shadow:inset 8px 0 22px #0003}.tower-dock:before{content:"";pointer-events:none;border:1px solid #e2b45629;border-radius:12px;position:absolute;inset:7px}.dock-heading{border-bottom:1px solid #ebc46c2e;padding:4px 3px 12px;position:relative}.dock-heading b{color:#8fac99}.tower-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:11px;display:grid;position:relative}.tower-grid>button{color:#f2dfad;background:linear-gradient(145deg,#315347,#203c34);border:1px solid #e5bc6038;border-radius:11px;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;min-height:112px;padding:8px 9px 9px;display:flex;box-shadow:inset 0 1px #ffffff0f,0 4px 10px #0000002e}.tower-grid>button:hover,.tower-grid>button.active{background:linear-gradient(145deg,#426c58,#294c3f);border-color:#e1aa4f;transform:translateY(-2px);box-shadow:0 0 0 2px #ebb85024,0 8px 15px #00000040}.tower-grid>button:disabled{filter:grayscale(.72);opacity:.42}.tower-grid>button>span:nth-child(2){width:100%;padding:0 2px}.tower-grid b{color:#fae8b7;white-space:nowrap;font-family:Georgia,serif;font-size:13px}.tower-grid small{text-overflow:ellipsis;white-space:nowrap;color:#95ad9e;max-width:100%;font-size:8px;overflow:hidden}.tower-grid em{color:#edb957;margin-top:4px;font-size:9px}.tower-grid kbd{color:#ccb77c;background:#1a312a;border:1px solid #eeca7e3d;border-radius:4px;place-items:center;width:17px;height:17px;display:grid;top:8px;right:8px}.tower-badge{object-fit:contain;background:radial-gradient(circle at 42% 35%,#3d6552,#132a25 72%)!important;border:0!important;border-radius:9px!important;flex:0 0 62px!important;width:62px!important;height:54px!important;display:block!important;box-shadow:inset 0 0 0 1px #f1cb7c29,0 4px 9px #00000042!important}.selected-hero .tower-badge{flex-basis:82px!important;width:82px!important;height:72px!important}.dock-note{border-top:1px solid #e2b75c2b;position:relative}.dock-note b{color:#e3ad55}.dock-note p{color:#9fb4a5}.back-workshop{color:#e7bb66;position:relative}.selected-hero{color:#f6e4b3;background:linear-gradient(145deg,#315344,#1d382f);border:1px solid #e5b75940;position:relative;box-shadow:0 8px 18px #0000002e}.selected-hero h2{color:#f8e4ac}.selected-hero span,.selected-hero small{color:#9fb5a7}.stat-bars span,.target-row span{color:#aaad8a}.stat-bars i{background:#10241f}.stat-bars i b{background:linear-gradient(90deg,#c16b35,#f0c45e)}.target-row button{color:#aebaa5;background:#253f36;border-color:#5d674c}.target-row button.active{color:#fff0c5;background:#b76938;border-color:#e8b35c}.upgrade-paths>button{color:#f3dfaa;background:linear-gradient(145deg,#2c4a3f,#1c352e);border-color:#e2b45638;align-items:flex-start;min-height:104px;padding:12px 10px 24px;box-shadow:0 5px 12px #00000029}.upgrade-paths>button:hover:not(:disabled){background:linear-gradient(145deg,#365b4b,#234137);border-color:#dca44d}.upgrade-paths>button:disabled{opacity:.45}.upgrade-paths>button.maxed{opacity:1;background:linear-gradient(145deg,#7a6b32,#3d5734)}.upgrade-paths>button.locked{opacity:.42;filter:grayscale(.7);background:linear-gradient(145deg,#26362f,#182822);border-color:#4f5141}.upgrade-paths span i{color:#dba34c}.upgrade-paths small{color:#98aa9d}.upgrade-paths em{color:#efbc58}.tier-pips i{background:#102620}.tier-pips i.on{background:#e1ad51}.upgrade-paths span i{margin-bottom:3px}.upgrade-paths b{font-size:15px}.upgrade-paths small{white-space:normal;margin-top:5px;padding-right:48px;line-height:1.35}.tier-pips{bottom:9px;right:10px}.tier-pips i{border-radius:2px;width:15px;height:4px}.sell{color:#bc9c63;background:#0a1b1740;border-color:#6d5b3d}@media (width<=900px){.game-body{grid-template-columns:1fr}.canvas-wrap{padding:10px;box-shadow:inset 0 -5px #6f4b2c,inset 0 -8px #d2a04e}.tower-dock{border-top:4px solid #bd8844;border-left:0}.tower-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=650px){.tower-grid{grid-template-columns:repeat(2,1fr)}.canvas-wrap{padding:8px}.game-top{flex-basis:72px;height:72px}.game-top:after{top:67px}}.canvas-wrap{background:radial-gradient(circle at 50% 44%,#29483b 0,#142923 62%,#0a1b18 100%);justify-content:center;align-items:center;padding:24px 26px;display:flex;overflow:hidden;box-shadow:inset -4px 0 #5d4329}.canvas-wrap:before{content:none}.battlefield-bezel{isolation:isolate;background:radial-gradient(circle at 12px 12px,#f2cf78 0 2px,#684521 3px 5px,#0000 6px),radial-gradient(circle at calc(100% - 12px) 12px,#f2cf78 0 2px,#684521 3px 5px,#0000 6px),radial-gradient(circle at 12px calc(100% - 12px),#f2cf78 0 2px,#684521 3px 5px,#0000 6px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),#f2cf78 0 2px,#684521 3px 5px,#0000 6px),repeating-linear-gradient(96deg,#ffde8b12 0 2px,#0000 2px 13px),linear-gradient(145deg,#8a5d31 0,#4c3424 42%,#261f1a 72%,#6f4928 100%);border:1px solid #d7a652;border-radius:26px;width:min(100%,161.29vh - 298.71px);padding:32px 20px 34px;position:relative;box-shadow:0 24px 55px #0000007a,inset 0 0 0 5px #2b2922,inset 0 0 0 7px #c88d3f}.battlefield-bezel:before{content:"";pointer-events:none;z-index:3;border:1px solid #ffde9138;border-radius:18px;position:absolute;inset:7px;box-shadow:inset 0 0 18px #00000073}.battlefield-bezel:after{content:"";pointer-events:none;z-index:3;border:3px solid #152b25;border-radius:15px;position:absolute;inset:29px 17px 31px;box-shadow:0 0 0 1px #d0a253,inset 0 0 18px #00000080}.battlefield-bezel canvas{z-index:1;aspect-ratio:50/31;object-fit:fill;width:100%;height:auto;box-shadow:none;touch-action:none;background:#385b49;border-radius:11px;display:block;position:relative}.field-plaque{z-index:4;white-space:nowrap;color:#f5e2ab;text-shadow:0 1px #1d1711;align-items:baseline;gap:9px;display:flex;position:absolute;top:4px;left:50%;transform:translate(-50%)}.field-plaque span{letter-spacing:.04em;font-family:Georgia,serif;font-size:13px;font-weight:800}.field-plaque small{letter-spacing:.14em;color:#dcad57;font-size:7px;font-weight:900}.battlefield-bezel .canvas-tip{z-index:4;box-shadow:none;color:#e4c98b;background:0 0;border:0;padding:0;bottom:8px;left:26px}.battlefield-bezel .toast{z-index:5;top:45px}.battlefield-bezel .start-wave{z-index:5;bottom:50px;right:36px}@media (width<=900px){.canvas-wrap{height:auto;min-height:0;padding:22px 18px 28px}.battlefield-bezel{border-radius:22px;width:100%;padding:28px 14px 31px}.battlefield-bezel:after{inset:25px 11px 28px}.battlefield-bezel .start-wave{bottom:44px;right:27px}.battlefield-bezel .canvas-tip{bottom:7px;left:20px}}@media (width<=650px){.canvas-wrap{height:auto;min-height:0;padding:14px 10px 20px}.battlefield-bezel{border-radius:18px;padding:25px 9px 28px}.battlefield-bezel:after{border-width:2px;inset:22px 6px 25px}.field-plaque span{font-size:11px}.field-plaque small{display:none}.battlefield-bezel .start-wave{bottom:38px;right:20px}.battlefield-bezel .canvas-tip{display:none}}.tower-badge{filter:drop-shadow(0 3px 3px #04120e73);image-rendering:auto;object-fit:contain!important;object-position:center bottom!important;background-image:var(--tower-sheet)!important;background-color:#19362d!important;background-position:0 0!important;background-repeat:no-repeat!important;background-size:400% 400%!important;padding:2px!important}.diff-gem.clockheart{background:radial-gradient(circle at 35% 30%,#f6e7a0,#7751a7 58%,#302447);box-shadow:0 0 10px #b480eb99}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
