/*! tailwindcss v4.3.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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:Inter, ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-2xl:42rem;--container-4xl:56rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground));--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring))}}@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}*{border-color:var(--color-border)}html{scroll-behavior:smooth}body{background-color:var(--color-background);font-family:var(--font-sans);color:var(--color-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{min-height:100vh}::selection{background-color:var(--color-primary);color:var(--color-primary-foreground)}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[16\/9\]{aspect-ratio:16/9}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-44{width:calc(var(--spacing) * 44)}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[92rem\]{max-width:92rem}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-\[720px\]{min-width:720px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-destructive\/50{border-color:color-mix(in srgb, hsl(var(--destructive)) 50%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}.border-input{border-color:var(--color-input)}.border-primary\/30{border-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.bg-accent{background-color:var(--color-accent)}.bg-background{background-color:var(--color-background)}.bg-background\/70{background-color:color-mix(in srgb, hsl(var(--background)) 70%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-background\/70{background-color:color-mix(in oklab, var(--color-background) 70%, transparent)}}.bg-background\/80{background-color:color-mix(in srgb, hsl(var(--background)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--color-background) 80%, transparent)}}.bg-background\/95{background-color:color-mix(in srgb, hsl(var(--background)) 95%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-background\/95{background-color:color-mix(in oklab, var(--color-background) 95%, transparent)}}.bg-card{background-color:var(--color-card)}.bg-card\/90{background-color:color-mix(in srgb, hsl(var(--card)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-card\/90{background-color:color-mix(in oklab, var(--color-card) 90%, transparent)}}.bg-destructive{background-color:var(--color-destructive)}.bg-muted{background-color:var(--color-muted)}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-primary\/10{background-color:color-mix(in srgb, hsl(var(--primary)) 10%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/15{background-color:color-mix(in srgb, hsl(var(--primary)) 15%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/15{background-color:color-mix(in oklab, var(--color-primary) 15%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.68rem\]{font-size:.68rem}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-40{opacity:.4}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.ring-primary{--tw-ring-color:var(--color-primary)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:color-mix(in srgb, hsl(var(--destructive)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--color-destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:color-mix(in srgb, hsl(var(--primary)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:color-mix(in srgb, hsl(var(--secondary)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--color-secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:ring-offset-background:focus{--tw-ring-offset-color:var(--color-background)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-muted:disabled{background-color:var(--color-muted)}.disabled\:opacity-50:disabled{opacity:.5}.aria-\[invalid\=true\]\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-\[invalid\=true\]\:text-destructive[aria-invalid=true]{color:var(--color-destructive)}.data-\[filled\=true\]\:border-primary\/60[data-filled=true]{border-color:color-mix(in srgb, hsl(var(--primary)) 60%, transparent)}@supports (color:color-mix(in lab, red, red)){.data-\[filled\=true\]\:border-primary\/60[data-filled=true]{border-color:color-mix(in oklab, var(--color-primary) 60%, transparent)}}@media (width>=40rem){.sm\:max-w-xs{max-width:var(--container-xs)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:pb-1{padding-bottom:var(--spacing)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:items-end{align-items:flex-end}}@media (width>=64rem){.lg\:min-w-40{min-width:calc(var(--spacing) * 40)}.lg\:grid-cols-\[0\.9fr_1\.35fr_auto\]{grid-template-columns:.9fr 1.35fr auto}.lg\:grid-cols-\[0\.78fr_1\.22fr\]{grid-template-columns:.78fr 1.22fr}.lg\:grid-cols-\[0\.95fr_1\.05fr\]{grid-template-columns:.95fr 1.05fr}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:items-stretch{align-items:stretch}.lg\:justify-between{justify-content:space-between}.lg\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.lg\:border-y-0{border-block-style:var(--tw-border-style);border-block-width:0}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}.lg\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (width>=80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:42 38% 97%;--foreground:224 28% 12%;--card:0 0% 100%;--card-foreground:224 28% 12%;--popover:0 0% 100%;--popover-foreground:224 28% 12%;--primary:24 73% 38%;--primary-foreground:38 45% 96%;--secondary:38 28% 89%;--secondary-foreground:224 28% 16%;--muted:40 24% 91%;--muted-foreground:225 10% 42%;--accent:32 42% 88%;--accent-foreground:224 28% 13%;--destructive:2 62% 43%;--destructive-foreground:38 45% 96%;--border:34 20% 82%;--input:34 20% 82%;--ring:24 73% 38%}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:222 33% 8%;--foreground:42 35% 94%;--card:222 28% 12%;--card-foreground:42 35% 94%;--popover:222 28% 12%;--popover-foreground:42 35% 94%;--primary:28 80% 58%;--primary-foreground:222 35% 10%;--secondary:220 20% 18%;--secondary-foreground:42 35% 94%;--muted:220 18% 18%;--muted-foreground:42 14% 70%;--accent:222 20% 20%;--accent-foreground:42 35% 96%;--destructive:2 68% 58%;--destructive-foreground:42 35% 96%;--border:220 18% 24%;--input:220 18% 24%;--ring:28 80% 58%}.dialog-panel{animation:.2s ease-out dialog-in}.toast-enter{animation:.18s ease-out toast-in}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)translateY(.5rem)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.game-app-bg{isolation:isolate;background:radial-gradient(circle at top left, hsl(var(--primary) / .16), transparent 32rem), radial-gradient(circle at 80% 10%, hsl(var(--accent) / .68), transparent 28rem), linear-gradient(180deg, hsl(var(--background)), hsl(var(--muted) / .55));position:relative}.game-app-bg:before{pointer-events:none;content:"";z-index:-1;opacity:.28;background-image:linear-gradient(hsl(var(--foreground) / .08) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--foreground) / .07) 1px, transparent 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.game-first-shell{gap:.75rem;display:grid}.game-topbar{justify-content:space-between;align-items:end;gap:1rem;display:flex}.game-topbar__actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.compact-copy{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.battle-card{border-color:hsl(var(--primary) / .32);box-shadow:0 22px 70px hsl(var(--foreground) / .12), inset 0 1px 0 hsl(var(--primary-foreground) / .12);position:relative}.battle-card:before{content:"";pointer-events:none;background:linear-gradient(135deg, hsl(var(--primary) / .16), transparent 36%, hsl(var(--secondary) / .28));position:absolute;inset:0}.battle-card>*{position:relative}.battle-card__content{gap:.75rem;padding:.8rem;display:grid}.battle-card-header{border:1px solid hsl(var(--border));background:hsl(var(--card) / .62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .85rem;display:flex}.battlefield-scene,.unit-stage,.mission-card__battlefield{border:1px solid hsl(var(--border));background:linear-gradient(#8dc6ecd1 0%,#f5d598bd 50%,#997c486b 51%,#526742ad 100%);position:relative;overflow:hidden}.dark .battlefield-scene,.dark .unit-stage,.dark .mission-card__battlefield{background:linear-gradient(#1f3051f2 0%,#192138f2 50%,#5a4935ad 51%,#2a3928e6 100%)}.battlefield-scene{min-height:17rem;box-shadow:inset 0 -42px 70px hsl(var(--foreground) / .18);border-radius:1.25rem}.battle-card--wide .battlefield-scene{min-height:clamp(24rem,42vw,35rem);box-shadow:inset 0 -64px 92px hsl(var(--foreground) / .22), 0 18px 42px hsl(var(--foreground) / .12);border-radius:1.15rem}.battle-card--wide .battlefield-combatant{--unit-scale:1.14}.battle-card--wide .home-tower,.battle-card--wide .enemy-tower{width:3.45rem;height:6.4rem}.battlefield-scene:after,.unit-stage:after,.mission-card__battlefield:after{content:"";background:repeating-linear-gradient(-8deg, hsl(var(--foreground) / .12) 0 2px, transparent 2px 16px), linear-gradient(180deg, transparent, hsl(var(--foreground) / .16));height:46%;position:absolute;inset:auto 0 0}.battlefield-sun,.unit-stage__sun{background:#fbc641e0;border-radius:999px;width:3.6rem;height:3.6rem;position:absolute;top:1.4rem;right:18%;box-shadow:0 0 42px #fbc641b8}.battlefield-cloud{background:hsl(var(--card) / .62);filter:blur(.2px);border-radius:999px;width:7rem;height:1.6rem;animation:13s linear infinite cloud-drift;position:absolute;top:2.2rem}.battlefield-cloud:before,.battlefield-cloud:after{content:"";background:inherit;border-radius:999px;width:2rem;height:2rem;position:absolute;bottom:.35rem}.battlefield-cloud:before{left:1.1rem}.battlefield-cloud:after{right:1.2rem}.battlefield-cloud--one{left:14%}.battlefield-cloud--two{opacity:.72;animation-duration:17s;top:4.2rem;left:48%}.battlefield-lane{z-index:1;background:hsl(var(--primary) / .4);border-radius:999px;height:.34rem;position:absolute;left:12%;right:12%;transform:skew(-18deg)}.battlefield-lane--back{opacity:.5;bottom:33%}.battlefield-lane--front{bottom:25%}.home-tower,.enemy-tower,.unit-stage__tower,.mission-card__tower{z-index:2;width:2.9rem;height:5.5rem;color:hsl(var(--foreground));opacity:.9;background:linear-gradient(90deg,#0000 0 14%,currentColor 14% 27%,#0000 27% 37%,currentColor 37% 52%,#0000 52% 63%,currentColor 63% 77%,#0000 77%),linear-gradient(currentColor 0 16%,#0000 16% 25%,currentColor 25% 100%);border-radius:.45rem .45rem .1rem .1rem;position:absolute;bottom:23%}.home-tower{left:4.5%}.enemy-tower{color:hsl(var(--destructive));right:4.5%}.home-tower span,.enemy-tower span{background:currentColor;width:.2rem;height:2rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.home-tower span:after,.enemy-tower span:after{content:"";clip-path:polygon(0 0,100% 18%,100% 82%,0 100%);background:hsl(var(--primary));width:1.7rem;height:1.05rem;position:absolute;top:.1rem;left:.2rem}.enemy-tower span:after{background:hsl(var(--destructive))}.battlefield-unit-slot,.unit-stage__slot{z-index:3;flex-direction:column;align-items:center;animation:1.6s ease-in-out infinite unit-march;display:inline-flex;position:absolute;bottom:23%}.battlefield-unit-slot--enemy{animation-delay:.28s;left:auto;right:22%}.battlefield-unit-count{background:hsl(var(--card) / .88);color:hsl(var(--foreground));box-shadow:0 0 0 1px hsl(var(--border));border-radius:999px;margin-top:-.25rem;padding:.05rem .35rem;font-size:.65rem;font-weight:900}.battlefield-status{z-index:4;border:1px solid hsl(var(--border));background:hsl(var(--card) / .86);color:hsl(var(--muted-foreground));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.9rem;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .85rem;font-size:.78rem;display:flex;position:absolute;bottom:.9rem;left:1rem;right:1rem}.battlefield-status strong{color:hsl(var(--primary));white-space:nowrap}.animated-battlefield{isolation:isolate}.animated-battlefield--active{box-shadow:inset 0 -42px 70px hsl(var(--foreground) / .18), 0 0 0 2px hsl(var(--primary) / .22), 0 0 36px hsl(var(--primary) / .22)}.animated-battlefield--victory{box-shadow:inset 0 -42px 70px hsl(var(--foreground) / .18), 0 0 0 2px #20b65a47, 0 0 42px #20b65a47}.animated-battlefield--defeat{box-shadow:inset 0 -42px 70px hsl(var(--foreground) / .2), 0 0 0 2px hsl(var(--destructive) / .26), 0 0 42px hsl(var(--destructive) / .26)}.tower-health{z-index:5;border:1px solid hsl(var(--border));background:hsl(var(--card) / .84);width:min(40%,13rem);color:hsl(var(--foreground));box-shadow:0 10px 26px hsl(var(--foreground) / .14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.85rem;padding:.45rem .55rem;position:absolute;top:.85rem}.tower-health--home{left:.85rem}.tower-health--enemy{right:.85rem}.tower-health span,.tower-health strong{text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-weight:900;line-height:1;display:inline-block}.tower-health strong{float:right;color:hsl(var(--primary))}.tower-health--enemy strong{color:hsl(var(--destructive))}.tower-health div{clear:both;background:hsl(var(--muted));border-radius:999px;height:.44rem;margin-top:.38rem;overflow:hidden}.tower-health i{border-radius:inherit;background:linear-gradient(90deg,#29bc62,#fac02e);height:100%;transition:width .54s;display:block}.tower-health--enemy i{background:linear-gradient(90deg, hsl(var(--destructive)), #f66e13)}.tower--critical{animation:.38s ease-in-out infinite tower-shake}.animated-battlefield--victory .enemy-tower,.animated-battlefield--defeat .home-tower{opacity:.52;transform:translateY(.25rem)rotate(-5deg)}.battlefield-combatant{z-index:3;flex-direction:column;align-items:center;transition:left .56s cubic-bezier(.2,.9,.22,1),bottom .56s;animation:1.05s ease-in-out infinite unit-march;display:inline-flex;position:absolute}.battlefield-combatant--ally{filter:drop-shadow(0 0 .6rem hsl(var(--primary) / .18))}.battlefield-combatant--enemy{filter:drop-shadow(0 0 .6rem hsl(var(--destructive) / .18))}.battlefield-combatant--enemy .stick-avatar{transform:scaleX(-1)scale(1.1)}.animated-battlefield--skirmish .battlefield-combatant,.animated-battlefield--siege .battlefield-combatant{animation-name:combatant-clash;animation-duration:.62s}.animated-battlefield--victory .battlefield-combatant--ally{animation-name:victory-hop;animation-duration:.84s}.animated-battlefield--defeat .battlefield-combatant--ally{opacity:.72;animation-name:retreat-shiver}.battlefield-projectile{z-index:4;opacity:0;pointer-events:none;border-radius:999px;width:2.1rem;height:.18rem;display:block;position:absolute;top:45%}.battlefield-projectile:after{content:"";border-top:.16rem solid;border-right:.16rem solid;width:.5rem;height:.5rem;position:absolute;top:50%;right:-.16rem;transform:translateY(-50%)rotate(45deg)}.battlefield-projectile--ally{color:hsl(var(--primary));background:currentColor;left:28%}.battlefield-projectile--enemy{color:hsl(var(--destructive));background:currentColor;right:26%;transform:scaleX(-1)}.animated-battlefield--marching .battlefield-projectile--ally,.animated-battlefield--skirmish .battlefield-projectile--ally,.animated-battlefield--siege .battlefield-projectile--ally,.animated-battlefield--victory .battlefield-projectile--ally{animation:.62s ease-out arrow-flight-ally}.animated-battlefield--skirmish .battlefield-projectile--enemy,.animated-battlefield--siege .battlefield-projectile--enemy,.animated-battlefield--defeat .battlefield-projectile--enemy{animation:.62s ease-out arrow-flight-enemy}.battlefield-spark{z-index:4;opacity:0;background:#fac02e;border-radius:999px;width:.8rem;height:.8rem;position:absolute;top:48%;left:50%;box-shadow:0 0 0 .35rem #fac02e40,0 0 1.5rem #fac02ebf}.animated-battlefield--skirmish .battlefield-spark,.animated-battlefield--siege .battlefield-spark,.animated-battlefield--victory .battlefield-spark,.animated-battlefield--defeat .battlefield-spark{animation:.58s ease-out battle-spark}.battlefield-event-card{z-index:5;border:1px solid hsl(var(--primary) / .3);background:hsl(var(--card) / .84);text-align:center;width:min(46%,17rem);box-shadow:0 14px 32px hsl(var(--foreground) / .14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;padding:.7rem .8rem;position:absolute;top:.85rem;left:50%;transform:translate(-50%)}.battlefield-event-card span{letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--primary));font-size:.65rem;font-weight:900;display:block}.battlefield-event-card strong{color:hsl(var(--foreground));margin-top:.1rem;font-size:1rem;display:block}.battlefield-event-card p{color:hsl(var(--muted-foreground));margin:.25rem 0 0;font-size:.72rem;line-height:1.35}.stick-avatar{width:2.4rem;height:4.35rem;color:hsl(var(--foreground));filter:drop-shadow(0 .45rem .3rem hsl(var(--foreground) / .22));display:inline-block;position:relative}.stick-avatar__head,.stick-avatar__body,.stick-avatar__arm,.stick-avatar__leg,.stick-avatar__weapon{background:currentColor;display:block;position:absolute}.stick-avatar__head{background:0 0;border:.2rem solid;border-radius:999px;width:.95rem;height:.95rem;top:.08rem;left:50%;transform:translate(-50%)}.stick-avatar__body{border-radius:999px;width:.2rem;height:1.75rem;top:1.05rem;left:50%;transform:translate(-50%)}.stick-avatar__arm{transform-origin:top;border-radius:999px;width:.18rem;height:1.35rem;top:1.45rem;left:50%}.stick-avatar__arm--left{transform:rotate(52deg)}.stick-avatar__arm--right{transform:rotate(-54deg)}.stick-avatar__leg{transform-origin:top;border-radius:999px;width:.18rem;height:1.55rem;top:2.58rem;left:50%}.stick-avatar__leg--left{transform:rotate(28deg)}.stick-avatar__leg--right{transform:rotate(-28deg)}.stick-avatar__weapon{border-radius:999px;width:.16rem;height:2.45rem;top:1rem;left:78%;transform:rotate(42deg)}.stick-avatar--miner{color:#915f0d}.stick-avatar--miner .stick-avatar__weapon{height:1.5rem;transform:rotate(-62deg)}.stick-avatar--archidon{color:#29653f}.stick-avatar--archidon .stick-avatar__weapon{background:0 0;border:.15rem solid;border-left:0;border-radius:0 999px 999px 0;width:1.1rem;height:1.9rem;transform:rotate(8deg)}.stick-avatar--spearton{color:#295189}.stick-avatar--spearton:after{content:"";background:hsl(var(--card) / .28);border:.16rem solid;border-radius:999px 999px .5rem .5rem;width:.92rem;height:1.28rem;position:absolute;top:1.45rem;left:-.05rem}.stick-avatar--magikill{color:#6b30a6}.stick-avatar--magikill .stick-avatar__weapon{height:3rem;transform:rotate(-8deg);box-shadow:0 -.55rem 0 .22rem #9952e075}.stick-avatar--enemy{color:hsl(var(--destructive));transform:scale(1.1)}.resource-hud-item,.hud-progress,.mission-card,.unit-barracks-card,.command-coach-card{position:relative}.command-coach-card{border-color:hsl(var(--primary) / .24);background:linear-gradient(135deg, hsl(var(--card)), hsl(var(--secondary) / .42)), hsl(var(--card));box-shadow:0 18px 46px hsl(var(--foreground) / .1)}.coach-panel-primary{background:radial-gradient(circle at top left, hsl(var(--primary) / .18), transparent 60%), hsl(var(--card))}.battle-phase-track{border:1px solid hsl(var(--border));background:hsl(var(--background) / .7);border-radius:1rem;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;padding:.6rem;display:grid}.battle-phase-step{min-width:0;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.08em;flex-direction:column;align-items:center;gap:.35rem;font-size:.68rem;font-weight:900;display:flex}.battle-phase-step i{background:hsl(var(--muted));width:100%;height:.36rem;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:999px}.battle-phase-step--complete,.battle-phase-step--active{color:hsl(var(--foreground))}.battle-phase-step--complete i{background:linear-gradient(90deg, #2bb660, hsl(var(--primary)))}.battle-phase-step--active i{background:linear-gradient(90deg, hsl(var(--primary)), #fac02e);box-shadow:0 0 18px hsl(var(--primary) / .38);animation:1.1s ease-in-out infinite phase-pulse}.battle-order-grid{gap:.65rem;display:grid}.battle-order-button{border:1px solid hsl(var(--border));background:hsl(var(--card) / .72);text-align:left;border-radius:.95rem;align-items:center;gap:.65rem;width:100%;padding:.65rem;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:flex}.battle-order-button:not(:disabled):hover{border-color:hsl(var(--primary) / .45);box-shadow:0 12px 26px hsl(var(--foreground) / .1);transform:translateY(-1px)}.battle-order-button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.battle-order-button:disabled{cursor:not-allowed;opacity:.62}.battle-order-button--active{border-color:hsl(var(--primary));background:linear-gradient(135deg, hsl(var(--primary) / .14), hsl(var(--card) / .88));box-shadow:0 0 0 2px hsl(var(--primary) / .18)}.battle-order-button__icon{background:hsl(var(--primary) / .14);color:hsl(var(--primary));border-radius:.8rem;padding:.55rem;display:inline-flex}.battle-order-button__copy{gap:.1rem;min-width:0;display:grid}.battle-order-button__copy strong{color:hsl(var(--foreground));font-size:.9rem}.battle-order-button__copy span{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:700}.battlefield-order-ribbon{z-index:5;border:1px solid hsl(var(--primary) / .32);background:hsl(var(--card) / .82);color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.12em;box-shadow:0 12px 28px hsl(var(--foreground) / .13);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .7rem;font-size:.72rem;font-weight:950;display:inline-flex;position:absolute;bottom:4.45rem;left:50%;transform:translate(-50%)}.battlefield-damage{z-index:6;background:hsl(var(--card) / .88);box-shadow:0 0 0 1px hsl(var(--border)), 0 10px 20px hsl(var(--foreground) / .18);opacity:0;border-radius:999px;padding:.25rem .48rem;font-size:.78rem;font-weight:950;animation:.76s ease-out damage-float;position:absolute}.battlefield-damage--enemy{color:hsl(var(--destructive));top:43%;left:72%}.battlefield-damage--ally{color:hsl(var(--primary));top:47%;left:25%}.hud-progress--ready{background:linear-gradient(90deg, hsl(var(--primary)), #fac02e)}.hud-progress--threat{background:linear-gradient(90deg, #fac02e, hsl(var(--destructive)))}.unit-stage{border-width:0 0 1px;border-radius:0;min-height:8.6rem}.unit-stage__sun{width:2.5rem;height:2.5rem;top:1rem;right:1.4rem}.unit-stage__tower{width:2.05rem;height:3.6rem;color:hsl(var(--foreground) / .72);bottom:31%;right:.9rem}.unit-stage__slot{--unit-scale:.88;bottom:21%;transform:scale(.88)}.unit-stage__role{z-index:4;background:hsl(var(--card) / .82);letter-spacing:.16em;text-transform:uppercase;color:hsl(var(--foreground));box-shadow:0 0 0 1px hsl(var(--border));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:.35rem .7rem;font-size:.72rem;font-weight:900;position:absolute;bottom:1rem;left:1rem}.mission-map-grid{border-color:hsl(var(--primary) / .22)}.mission-card{border:1px solid hsl(var(--border));background:hsl(var(--card));box-shadow:0 12px 30px hsl(var(--foreground) / .08);border-radius:1rem;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden}.mission-card:hover{border-color:hsl(var(--primary) / .36);box-shadow:0 18px 38px hsl(var(--foreground) / .12);transform:translateY(-2px)}.mission-card--selected{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .28), 0 18px 38px hsl(var(--primary) / .14)}.mission-card__battlefield{border-width:0 0 1px;border-radius:0;min-height:4.8rem}.mission-card__tower{width:1.5rem;height:3.2rem;bottom:25%}.mission-card__tower--home{left:1.25rem}.mission-card__tower--enemy{color:hsl(var(--destructive));right:1.25rem}.mission-card__route{z-index:2;background:linear-gradient(90deg, hsl(var(--primary)), hsl(var(--destructive)));opacity:.8;border-radius:999px;height:.25rem;position:absolute;bottom:40%;left:3.25rem;right:3.25rem}.mission-card__threat-bar{background:linear-gradient(90deg, #fac02e, hsl(var(--destructive)))}.mission-card__chance-bar{background:linear-gradient(90deg, #2bb660, hsl(var(--primary)), #fac02e)}@keyframes unit-march{0%,to{transform:translateY(0) scale(var(--unit-scale,1))}50%{transform:translateY(-.28rem) scale(var(--unit-scale,1))}}@keyframes cloud-drift{0%{transform:translate(-.5rem)}to{transform:translate(1.8rem)}}@keyframes combatant-clash{0%,to{transform:translateX(0) translateY(0) scale(var(--unit-scale,1))}45%{transform:translateX(.35rem) translateY(-.22rem) scale(var(--unit-scale,1))}70%{transform:translateX(-.18rem) translateY(.12rem) scale(var(--unit-scale,1))}}@keyframes victory-hop{0%,to{transform:translateY(0) scale(var(--unit-scale,1))}40%{transform:translateY(-.72rem) scale(var(--unit-scale,1.04))}}@keyframes retreat-shiver{0%,to{transform:translateX(0) scale(var(--unit-scale,1))}30%{transform:translateX(-.24rem) scale(var(--unit-scale,1))}65%{transform:translateX(.14rem) scale(var(--unit-scale,1))}}@keyframes arrow-flight-ally{0%{opacity:0;transform:translate(0)translateY(0)}15%{opacity:1}to{opacity:0;transform:translate(14rem)translateY(-.7rem)}}@keyframes arrow-flight-enemy{0%{opacity:0;transform:scaleX(-1)translate(0)translateY(0)}15%{opacity:1}to{opacity:0;transform:scaleX(-1)translate(14rem)translateY(.55rem)}}@keyframes battle-spark{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}35%{opacity:1;transform:translate(-50%,-50%)scale(1.35)}to{opacity:0;transform:translate(-50%,-50%)scale(2.1)}}@keyframes phase-pulse{0%,to{filter:brightness();transform:scaleX(.94)}50%{filter:brightness(1.18);transform:scaleX(1)}}@keyframes damage-float{0%{opacity:0;transform:translateY(.5rem)scale(.86)}25%{opacity:1}to{opacity:0;transform:translateY(-1.5rem)scale(1.08)}}@keyframes tower-shake{0%,to{transform:translate(0)}35%{transform:translate(-.08rem)rotate(-1deg)}70%{transform:translate(.08rem)rotate(1deg)}}@media (width<=640px){.game-topbar{flex-direction:column;align-items:stretch}.game-topbar__actions{justify-content:stretch}.game-topbar__actions>*{flex:1}.battle-card-header{flex-direction:column;align-items:stretch;gap:.75rem}.battle-card-header>button{width:100%}.battlefield-scene,.battle-card--wide .battlefield-scene{min-height:18.5rem}.battlefield-unit-slot,.battlefield-combatant{--unit-scale:.78}.tower-health{width:38%;padding:.4rem;top:.65rem}.tower-health span,.tower-health strong{font-size:.56rem}.battlefield-event-card{width:calc(100% - 2rem);padding:.55rem .65rem;top:3.65rem}.battlefield-event-card p{display:none}.battlefield-status{flex-direction:column;align-items:flex-start;gap:.25rem}.battlefield-order-ribbon{white-space:nowrap;max-width:calc(100% - 2rem);bottom:5.95rem}.battle-phase-track{grid-template-columns:repeat(3,minmax(0,1fr))}.battle-phase-step{font-size:.58rem}}@media (width>=640px){.battle-order-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.battlefield-cloud,.battlefield-unit-slot,.battlefield-combatant,.battlefield-projectile,.battlefield-spark,.battlefield-damage,.battle-phase-step--active i,.tower--critical,.unit-stage__slot,.dialog-panel,.toast-enter{animation:none}.mission-card,button{transition-duration:0s}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
