/*! tailwindcss v4.0.6 | 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-serif:
            ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
        --font-mono:
            ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
            "Liberation Mono", "Courier New", monospace;
        --color-red-50: oklch(0.971 0.013 17.38);
        --color-red-100: oklch(0.936 0.032 17.717);
        --color-red-200: oklch(0.885 0.062 18.334);
        --color-red-300: oklch(0.808 0.114 19.571);
        --color-red-400: oklch(0.704 0.191 22.216);
        --color-red-500: oklch(0.637 0.237 25.331);
        --color-red-600: oklch(0.577 0.245 27.325);
        --color-red-700: oklch(0.505 0.213 27.518);
        --color-red-800: oklch(0.444 0.177 26.899);
        --color-red-900: oklch(0.396 0.141 25.723);
        --color-red-950: oklch(0.258 0.092 26.042);
        --color-orange-50: oklch(0.98 0.016 73.684);
        --color-orange-100: oklch(0.954 0.038 75.164);
        --color-orange-200: oklch(0.901 0.076 70.697);
        --color-orange-300: oklch(0.837 0.128 66.29);
        --color-orange-400: oklch(0.75 0.183 55.934);
        --color-orange-500: oklch(0.705 0.213 47.604);
        --color-orange-600: oklch(0.646 0.222 41.116);
        --color-orange-700: oklch(0.553 0.195 38.402);
        --color-orange-800: oklch(0.47 0.157 37.304);
        --color-orange-900: oklch(0.408 0.123 38.172);
        --color-orange-950: oklch(0.266 0.079 36.259);
        --color-amber-50: oklch(0.987 0.022 95.277);
        --color-amber-100: oklch(0.962 0.059 95.617);
        --color-amber-200: oklch(0.924 0.12 95.746);
        --color-amber-300: oklch(0.879 0.169 91.605);
        --color-amber-400: oklch(0.828 0.189 84.429);
        --color-amber-500: oklch(0.769 0.188 70.08);
        --color-amber-600: oklch(0.666 0.179 58.318);
        --color-amber-700: oklch(0.555 0.163 48.998);
        --color-amber-800: oklch(0.473 0.137 46.201);
        --color-amber-900: oklch(0.414 0.112 45.904);
        --color-amber-950: oklch(0.279 0.077 45.635);
        --color-yellow-50: oklch(0.987 0.026 102.212);
        --color-yellow-100: oklch(0.973 0.071 103.193);
        --color-yellow-200: oklch(0.945 0.129 101.54);
        --color-yellow-300: oklch(0.905 0.182 98.111);
        --color-yellow-400: oklch(0.852 0.199 91.936);
        --color-yellow-500: oklch(0.795 0.184 86.047);
        --color-yellow-600: oklch(0.681 0.162 75.834);
        --color-yellow-700: oklch(0.554 0.135 66.442);
        --color-yellow-800: oklch(0.476 0.114 61.907);
        --color-yellow-900: oklch(0.421 0.095 57.708);
        --color-yellow-950: oklch(0.286 0.066 53.813);
        --color-lime-50: oklch(0.986 0.031 120.757);
        --color-lime-100: oklch(0.967 0.067 122.328);
        --color-lime-200: oklch(0.938 0.127 124.321);
        --color-lime-300: oklch(0.897 0.196 126.665);
        --color-lime-400: oklch(0.841 0.238 128.85);
        --color-lime-500: oklch(0.768 0.233 130.85);
        --color-lime-600: oklch(0.648 0.2 131.684);
        --color-lime-700: oklch(0.532 0.157 131.589);
        --color-lime-800: oklch(0.453 0.124 130.933);
        --color-lime-900: oklch(0.405 0.101 131.063);
        --color-lime-950: oklch(0.274 0.072 132.109);
        --color-green-50: oklch(0.982 0.018 155.826);
        --color-green-100: oklch(0.962 0.044 156.743);
        --color-green-200: oklch(0.925 0.084 155.995);
        --color-green-300: oklch(0.871 0.15 154.449);
        --color-green-400: oklch(0.792 0.209 151.711);
        --color-green-500: oklch(0.723 0.219 149.579);
        --color-green-600: oklch(0.627 0.194 149.214);
        --color-green-700: oklch(0.527 0.154 150.069);
        --color-green-800: oklch(0.448 0.119 151.328);
        --color-green-900: oklch(0.393 0.095 152.535);
        --color-green-950: oklch(0.266 0.065 152.934);
        --color-emerald-50: oklch(0.979 0.021 166.113);
        --color-emerald-100: oklch(0.95 0.052 163.051);
        --color-emerald-200: oklch(0.905 0.093 164.15);
        --color-emerald-300: oklch(0.845 0.143 164.978);
        --color-emerald-400: oklch(0.765 0.177 163.223);
        --color-emerald-500: oklch(0.696 0.17 162.48);
        --color-emerald-600: oklch(0.596 0.145 163.225);
        --color-emerald-700: oklch(0.508 0.118 165.612);
        --color-emerald-800: oklch(0.432 0.095 166.913);
        --color-emerald-900: oklch(0.378 0.077 168.94);
        --color-emerald-950: oklch(0.262 0.051 172.552);
        --color-teal-50: oklch(0.984 0.014 180.72);
        --color-teal-100: oklch(0.953 0.051 180.801);
        --color-teal-200: oklch(0.91 0.096 180.426);
        --color-teal-300: oklch(0.855 0.138 181.071);
        --color-teal-400: oklch(0.777 0.152 181.912);
        --color-teal-500: oklch(0.704 0.14 182.503);
        --color-teal-600: oklch(0.6 0.118 184.704);
        --color-teal-700: oklch(0.511 0.096 186.391);
        --color-teal-800: oklch(0.437 0.078 188.216);
        --color-teal-900: oklch(0.386 0.063 188.416);
        --color-teal-950: oklch(0.277 0.046 192.524);
        --color-cyan-50: oklch(0.984 0.019 200.873);
        --color-cyan-100: oklch(0.956 0.045 203.388);
        --color-cyan-200: oklch(0.917 0.08 205.041);
        --color-cyan-300: oklch(0.865 0.127 207.078);
        --color-cyan-400: oklch(0.789 0.154 211.53);
        --color-cyan-500: oklch(0.715 0.143 215.221);
        --color-cyan-600: oklch(0.609 0.126 221.723);
        --color-cyan-700: oklch(0.52 0.105 223.128);
        --color-cyan-800: oklch(0.45 0.085 224.283);
        --color-cyan-900: oklch(0.398 0.07 227.392);
        --color-cyan-950: oklch(0.302 0.056 229.695);
        --color-sky-50: oklch(0.977 0.013 236.62);
        --color-sky-100: oklch(0.951 0.026 236.824);
        --color-sky-200: oklch(0.901 0.058 230.902);
        --color-sky-300: oklch(0.828 0.111 230.318);
        --color-sky-400: oklch(0.746 0.16 232.661);
        --color-sky-500: oklch(0.685 0.169 237.323);
        --color-sky-600: oklch(0.588 0.158 241.966);
        --color-sky-700: oklch(0.5 0.134 242.749);
        --color-sky-800: oklch(0.443 0.11 240.79);
        --color-sky-900: oklch(0.391 0.09 240.876);
        --color-sky-950: oklch(0.293 0.066 243.157);
        --color-blue-50: oklch(0.97 0.014 254.604);
        --color-blue-100: oklch(0.932 0.032 255.585);
        --color-blue-200: oklch(0.882 0.059 254.128);
        --color-blue-300: oklch(0.809 0.105 251.813);
        --color-blue-400: oklch(0.707 0.165 254.624);
        --color-blue-500: oklch(0.623 0.214 259.815);
        --color-blue-600: oklch(0.546 0.245 262.881);
        --color-blue-700: oklch(0.488 0.243 264.376);
        --color-blue-800: oklch(0.424 0.199 265.638);
        --color-blue-900: oklch(0.379 0.146 265.522);
        --color-blue-950: oklch(0.282 0.091 267.935);
        --color-indigo-50: oklch(0.962 0.018 272.314);
        --color-indigo-100: oklch(0.93 0.034 272.788);
        --color-indigo-200: oklch(0.87 0.065 274.039);
        --color-indigo-300: oklch(0.785 0.115 274.713);
        --color-indigo-400: oklch(0.673 0.182 276.935);
        --color-indigo-500: oklch(0.585 0.233 277.117);
        --color-indigo-600: oklch(0.511 0.262 276.966);
        --color-indigo-700: oklch(0.457 0.24 277.023);
        --color-indigo-800: oklch(0.398 0.195 277.366);
        --color-indigo-900: oklch(0.359 0.144 278.697);
        --color-indigo-950: oklch(0.257 0.09 281.288);
        --color-violet-50: oklch(0.969 0.016 293.756);
        --color-violet-100: oklch(0.943 0.029 294.588);
        --color-violet-200: oklch(0.894 0.057 293.283);
        --color-violet-300: oklch(0.811 0.111 293.571);
        --color-violet-400: oklch(0.702 0.183 293.541);
        --color-violet-500: oklch(0.606 0.25 292.717);
        --color-violet-600: oklch(0.541 0.281 293.009);
        --color-violet-700: oklch(0.491 0.27 292.581);
        --color-violet-800: oklch(0.432 0.232 292.759);
        --color-violet-900: oklch(0.38 0.189 293.745);
        --color-violet-950: oklch(0.283 0.141 291.089);
        --color-purple-50: oklch(0.977 0.014 308.299);
        --color-purple-100: oklch(0.946 0.033 307.174);
        --color-purple-200: oklch(0.902 0.063 306.703);
        --color-purple-300: oklch(0.827 0.119 306.383);
        --color-purple-400: oklch(0.714 0.203 305.504);
        --color-purple-500: oklch(0.627 0.265 303.9);
        --color-purple-600: oklch(0.558 0.288 302.321);
        --color-purple-700: oklch(0.496 0.265 301.924);
        --color-purple-800: oklch(0.438 0.218 303.724);
        --color-purple-900: oklch(0.381 0.176 304.987);
        --color-purple-950: oklch(0.291 0.149 302.717);
        --color-fuchsia-50: oklch(0.977 0.017 320.058);
        --color-fuchsia-100: oklch(0.952 0.037 318.852);
        --color-fuchsia-200: oklch(0.903 0.076 319.62);
        --color-fuchsia-300: oklch(0.833 0.145 321.434);
        --color-fuchsia-400: oklch(0.74 0.238 322.16);
        --color-fuchsia-500: oklch(0.667 0.295 322.15);
        --color-fuchsia-600: oklch(0.591 0.293 322.896);
        --color-fuchsia-700: oklch(0.518 0.253 323.949);
        --color-fuchsia-800: oklch(0.452 0.211 324.591);
        --color-fuchsia-900: oklch(0.401 0.17 325.612);
        --color-fuchsia-950: oklch(0.293 0.136 325.661);
        --color-pink-50: oklch(0.971 0.014 343.198);
        --color-pink-100: oklch(0.948 0.028 342.258);
        --color-pink-200: oklch(0.899 0.061 343.231);
        --color-pink-300: oklch(0.823 0.12 346.018);
        --color-pink-400: oklch(0.718 0.202 349.761);
        --color-pink-500: oklch(0.656 0.241 354.308);
        --color-pink-600: oklch(0.592 0.249 0.584);
        --color-pink-700: oklch(0.525 0.223 3.958);
        --color-pink-800: oklch(0.459 0.187 3.815);
        --color-pink-900: oklch(0.408 0.153 2.432);
        --color-pink-950: oklch(0.284 0.109 3.907);
        --color-rose-50: oklch(0.969 0.015 12.422);
        --color-rose-100: oklch(0.941 0.03 12.58);
        --color-rose-200: oklch(0.892 0.058 10.001);
        --color-rose-300: oklch(0.81 0.117 11.638);
        --color-rose-400: oklch(0.712 0.194 13.428);
        --color-rose-500: oklch(0.645 0.246 16.439);
        --color-rose-600: oklch(0.586 0.253 17.585);
        --color-rose-700: oklch(0.514 0.222 16.935);
        --color-rose-800: oklch(0.455 0.188 13.697);
        --color-rose-900: oklch(0.41 0.159 10.272);
        --color-rose-950: oklch(0.271 0.105 12.094);
        --color-slate-50: oklch(0.984 0.003 247.858);
        --color-slate-100: oklch(0.968 0.007 247.896);
        --color-slate-200: oklch(0.929 0.013 255.508);
        --color-slate-300: oklch(0.869 0.022 252.894);
        --color-slate-400: oklch(0.704 0.04 256.788);
        --color-slate-500: oklch(0.554 0.046 257.417);
        --color-slate-600: oklch(0.446 0.043 257.281);
        --color-slate-700: oklch(0.372 0.044 257.287);
        --color-slate-800: oklch(0.279 0.041 260.031);
        --color-slate-900: oklch(0.208 0.042 265.755);
        --color-slate-950: oklch(0.129 0.042 264.695);
        --color-gray-50: oklch(0.985 0.002 247.839);
        --color-gray-100: oklch(0.967 0.003 264.542);
        --color-gray-200: oklch(0.928 0.006 264.531);
        --color-gray-300: oklch(0.872 0.01 258.338);
        --color-gray-400: oklch(0.707 0.022 261.325);
        --color-gray-500: oklch(0.551 0.027 264.364);
        --color-gray-600: oklch(0.446 0.03 256.802);
        --color-gray-700: oklch(0.373 0.034 259.733);
        --color-gray-800: oklch(0.278 0.033 256.848);
        --color-gray-900: oklch(0.21 0.034 264.665);
        --color-gray-950: oklch(0.13 0.028 261.692);
        --color-zinc-50: oklch(0.985 0 0);
        --color-zinc-100: oklch(0.967 0.001 286.375);
        --color-zinc-200: oklch(0.92 0.004 286.32);
        --color-zinc-300: oklch(0.871 0.006 286.286);
        --color-zinc-400: oklch(0.705 0.015 286.067);
        --color-zinc-500: oklch(0.552 0.016 285.938);
        --color-zinc-600: oklch(0.442 0.017 285.786);
        --color-zinc-700: oklch(0.37 0.013 285.805);
        --color-zinc-800: oklch(0.274 0.006 286.033);
        --color-zinc-900: oklch(0.21 0.006 285.885);
        --color-zinc-950: oklch(0.141 0.005 285.823);
        --color-neutral-50: oklch(0.985 0 0);
        --color-neutral-100: oklch(0.97 0 0);
        --color-neutral-200: oklch(0.922 0 0);
        --color-neutral-300: oklch(0.87 0 0);
        --color-neutral-400: oklch(0.708 0 0);
        --color-neutral-500: oklch(0.556 0 0);
        --color-neutral-600: oklch(0.439 0 0);
        --color-neutral-700: oklch(0.371 0 0);
        --color-neutral-800: oklch(0.269 0 0);
        --color-neutral-900: oklch(0.205 0 0);
        --color-neutral-950: oklch(0.145 0 0);
        --color-stone-50: oklch(0.985 0.001 106.423);
        --color-stone-100: oklch(0.97 0.001 106.424);
        --color-stone-200: oklch(0.923 0.003 48.717);
        --color-stone-300: oklch(0.869 0.005 56.366);
        --color-stone-400: oklch(0.709 0.01 56.259);
        --color-stone-500: oklch(0.553 0.013 58.071);
        --color-stone-600: oklch(0.444 0.011 73.639);
        --color-stone-700: oklch(0.374 0.01 67.558);
        --color-stone-800: oklch(0.268 0.007 34.298);
        --color-stone-900: oklch(0.216 0.006 56.043);
        --color-stone-950: oklch(0.147 0.004 49.25);
        --color-black: #000;
        --color-white: #fff;
        --spacing: 0.25rem;
        --breakpoint-sm: 40rem;
        --breakpoint-md: 48rem;
        --breakpoint-lg: 64rem;
        --breakpoint-xl: 80rem;
        --breakpoint-2xl: 96rem;
        --container-3xs: 16rem;
        --container-2xs: 18rem;
        --container-xs: 20rem;
        --container-sm: 24rem;
        --container-md: 28rem;
        --container-lg: 32rem;
        --container-xl: 36rem;
        --container-2xl: 42rem;
        --container-3xl: 48rem;
        --container-4xl: 56rem;
        --container-5xl: 64rem;
        --container-6xl: 72rem;
        --container-7xl: 80rem;
        --text-xs: 0.75rem;
        --text-xs--line-height: calc(1 / 0.75);
        --text-sm: 0.875rem;
        --text-sm--line-height: calc(1.25 / 0.875);
        --text-base: 1rem;
        --text-base--line-height: 1.5;
        --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: 1.2;
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5 / 2.25);
        --text-5xl: 3rem;
        --text-5xl--line-height: 1;
        --text-6xl: 3.75rem;
        --text-6xl--line-height: 1;
        --text-7xl: 4.5rem;
        --text-7xl--line-height: 1;
        --text-8xl: 6rem;
        --text-8xl--line-height: 1;
        --text-9xl: 8rem;
        --text-9xl--line-height: 1;
        --font-weight-thin: 100;
        --font-weight-extralight: 200;
        --font-weight-light: 300;
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --font-weight-extrabold: 800;
        --font-weight-black: 900;
        --tracking-tighter: -0.05em;
        --tracking-tight: -0.025em;
        --tracking-normal: 0em;
        --tracking-wide: 0.025em;
        --tracking-wider: 0.05em;
        --tracking-widest: 0.1em;
        --leading-tight: 1.25;
        --leading-snug: 1.375;
        --leading-normal: 1.5;
        --leading-relaxed: 1.625;
        --leading-loose: 2;
        --radius-xs: 0.125rem;
        --radius-sm: 0.25rem;
        --radius-md: 0.375rem;
        --radius-lg: 0.5rem;
        --radius-xl: 0.75rem;
        --radius-2xl: 1rem;
        --radius-3xl: 1.5rem;
        --radius-4xl: 2rem;
        --shadow-2xs: 0 1px #0000000d;
        --shadow-xs: 0 1px 2px 0 #0000000d;
        --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
        --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
        --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
        --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
        --shadow-2xl: 0 25px 50px -12px #00000040;
        --inset-shadow-2xs: inset 0 1px #0000000d;
        --inset-shadow-xs: inset 0 1px 1px #0000000d;
        --inset-shadow-sm: inset 0 2px 4px #0000000d;
        --drop-shadow-xs: 0 1px 1px #0000000d;
        --drop-shadow-sm: 0 1px 2px #00000026;
        --drop-shadow-md: 0 3px 3px #0000001f;
        --drop-shadow-lg: 0 4px 4px #00000026;
        --drop-shadow-xl: 0 9px 7px #0000001a;
        --drop-shadow-2xl: 0 25px 25px #00000026;
        --ease-in: cubic-bezier(0.4, 0, 1, 1);
        --ease-out: cubic-bezier(0, 0, 0.2, 1);
        --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
        --animate-spin: spin 1s linear infinite;
        --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
        --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        --animate-bounce: bounce 1s infinite;
        --blur-xs: 4px;
        --blur-sm: 8px;
        --blur-md: 12px;
        --blur-lg: 16px;
        --blur-xl: 24px;
        --blur-2xl: 40px;
        --blur-3xl: 64px;
        --perspective-dramatic: 100px;
        --perspective-near: 300px;
        --perspective-normal: 500px;
        --perspective-midrange: 800px;
        --perspective-distant: 1200px;
        --aspect-video: 16 / 9;
        --default-transition-duration: 0.15s;
        --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        --default-font-family: var(--font-sans);
        --default-font-feature-settings: var(
            --font-sans--font-feature-settings
        );
        --default-font-variation-settings: var(
            --font-sans--font-variation-settings
        );
        --default-mono-font-family: var(--font-mono);
        --default-mono-font-feature-settings: var(
            --font-mono--font-feature-settings
        );
        --default-mono-font-variation-settings: var(
            --font-mono--font-variation-settings
        );
    }
}
@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%;
        -moz-tab-size: 4;
        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;
    }
    body {
        line-height: inherit;
    }
    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;
        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: -0.25em;
    }
    sup {
        top: -0.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;
        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;
    }
    :-moz-ui-invalid {
        box-shadow: none;
    }
    button,
    input:where([type="button"], [type="reset"], [type="submit"]) {
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
    }
    ::file-selector-button {
        -webkit-appearance: button;
        -moz-appearance: 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 {
    .collapse {
        visibility: collapse;
    }
    .invisible {
        visibility: hidden;
    }
    .visible {
        visibility: visible;
    }
    .absolute {
        position: absolute;
    }
    .fixed {
        position: fixed;
    }
    .relative {
        position: relative;
    }
    .static {
        position: static;
    }
    .top-1\/2 {
        top: 50%;
    }
    .left-3 {
        left: calc(var(--spacing) * 3);
    }
    .container {
        width: 100%;
    }
    @media (width >= 40rem) {
        .container {
            max-width: 40rem;
        }
    }
    @media (width >= 48rem) {
        .container {
            max-width: 48rem;
        }
    }
    @media (width >= 64rem) {
        .container {
            max-width: 64rem;
        }
    }
    @media (width >= 80rem) {
        .container {
            max-width: 80rem;
        }
    }
    @media (width >= 96rem) {
        .container {
            max-width: 96rem;
        }
    }
    .mb-1 {
        margin-bottom: calc(var(--spacing) * 1);
    }
    .mb-4 {
        margin-bottom: calc(var(--spacing) * 4);
    }
    .block {
        display: block;
    }
    .contents {
        display: contents;
    }
    .flex {
        display: flex;
    }
    .hidden {
        display: none;
    }
    .inline {
        display: inline;
    }
    .inline-block {
        display: inline-block;
    }
    .table {
        display: table;
    }
    .h-4 {
        height: calc(var(--spacing) * 4);
    }
    .h-5 {
        height: calc(var(--spacing) * 5);
    }
    .w-4 {
        width: calc(var(--spacing) * 4);
    }
    .w-5 {
        width: calc(var(--spacing) * 5);
    }
    .w-full {
        width: 100%;
    }
    .max-w-5xl {
        max-width: var(--container-5xl);
    }
    .flex-1 {
        flex: 1;
    }
    .shrink {
        flex-shrink: 1;
    }
    .-translate-y-1\/2 {
        --tw-translate-y: -50%;
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .scale-3d {
        scale: var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z);
    }
    .\!transform {
        transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z)
            var(--tw-skew-x) var(--tw-skew-y) !important;
    }
    .transform {
        transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z)
            var(--tw-skew-x) var(--tw-skew-y);
    }
    .resize {
        resize: both;
    }
    .columns-2 {
        columns: 2;
    }
    .columns-3 {
        columns: 3;
    }
    .columns-4 {
        columns: 4;
    }
    .flex-col {
        flex-direction: column;
    }
    .flex-wrap {
        flex-wrap: wrap;
    }
    .items-center {
        align-items: center;
    }
    .items-end {
        align-items: flex-end;
    }
    .justify-between {
        justify-content: space-between;
    }
    .gap-2 {
        gap: calc(var(--spacing) * 2);
    }
    .gap-4 {
        gap: calc(var(--spacing) * 4);
    }
    :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-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-x-4 > :not(:last-child)) {
        --tw-space-x-reverse: 0;
        margin-inline-start: calc(
            calc(var(--spacing) * 4) *
            var(--tw-space-x-reverse)
        );
        margin-inline-end: calc(
            calc(var(--spacing) * 4) *
            calc(1 - var(--tw-space-x-reverse))
        );
    }
    .overflow-hidden {
        overflow: hidden;
    }
    .rounded {
        border-radius: 0.25rem;
    }
    .rounded-full {
        border-radius: 3.40282e38px;
    }
    .rounded-md {
        border-radius: var(--radius-md);
    }
    .border {
        border-style: var(--tw-border-style);
        border-width: 1px;
    }
    .border-gray-300 {
        border-color: var(--color-gray-300);
    }
    .bg-\[\#3b82f6\] {
        background-color: #3b82f6;
    }
    .bg-black {
        background-color: var(--color-black);
    }
    .bg-blue-100 {
        background-color: var(--color-blue-100);
    }
    .p-1 {
        padding: calc(var(--spacing) * 1);
    }
    .p-2 {
        padding: calc(var(--spacing) * 2);
    }
    .p-4 {
        padding: calc(var(--spacing) * 4);
    }
    .px-3 {
        padding-inline: calc(var(--spacing) * 3);
    }
    .px-4 {
        padding-inline: calc(var(--spacing) * 4);
    }
    .py-1 {
        padding-block: calc(var(--spacing) * 1);
    }
    .py-2 {
        padding-block: calc(var(--spacing) * 2);
    }
    .pr-4 {
        padding-right: calc(var(--spacing) * 4);
    }
    .pl-10 {
        padding-left: calc(var(--spacing) * 10);
    }
    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
    }
    .text-blue-800 {
        color: var(--color-blue-800);
    }
    .text-gray-400 {
        color: var(--color-gray-400);
    }
    .text-white {
        color: var(--color-white);
    }
    .lowercase {
        text-transform: lowercase;
    }
    .uppercase {
        text-transform: uppercase;
    }
    .italic {
        font-style: italic;
    }
    .underline {
        text-decoration-line: underline;
    }
    .shadow {
        --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);
    }
    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px;
    }
    .blur {
        --tw-blur: blur(8px);
        filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)
    }
    .drop-shadow {
        --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a)
            drop-shadow(0 1px 1px #0000000f);
        filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)
    }
    .invert {
        --tw-invert: invert(100%);
        filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)
    }
    .\!filter {
        filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important
    }
    .filter {
        filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)
    }
    .transition {
        transition-property:
            color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
        transition-timing-function: var(
            --tw-ease,
            var(--default-transition-timing-function)
        );
        transition-duration: var(
            --tw-duration,
            var(--default-transition-duration)
        );
    }
    .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)
        );
    }
    .duration-300 {
        --tw-duration: 0.3s;
        transition-duration: 0.3s;
    }
    .ease-in {
        --tw-ease: var(--ease-in);
        transition-timing-function: var(--ease-in);
    }
    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out);
    }
    .ease-out {
        --tw-ease: var(--ease-out);
        transition-timing-function: var(--ease-out);
    }
    @media (hover: hover) {
        .hover\:translate-y-\[-1px\]:hover {
            --tw-translate-y: -1px;
            translate: var(--tw-translate-x) var(--tw-translate-y);
        }
        .hover\:cursor-pointer:hover {
            cursor: pointer;
        }
        .hover\:cursor-progress:hover {
            cursor: progress;
        }
        .hover\:bg-\[\#2563eb\]:hover {
            background-color: #2563eb;
        }
        .hover\:bg-blue-200:hover {
            background-color: var(--color-blue-200);
        }
    }
    .focus\:border-blue-500:focus {
        border-color: var(--color-blue-500);
    }
    .focus\:ring-blue-500:focus {
        --tw-ring-color: var(--color-blue-500);
    }
    .disabled\:cursor-not-allowed:disabled {
        cursor: not-allowed;
    }
    .disabled\:bg-black\/50:disabled {
        background-color: color-mix(
            in oklab,
            var(--color-black) 50%,
            transparent
        );
    }
    @media (width >= 48rem) {
        .md\:block {
            display: block;
        }
        .md\:hidden {
            display: none;
        }
        .md\:text-9xl {
            font-size: var(--text-9xl);
            line-height: var(--tw-leading, var(--text-9xl--line-height));
        }
    }
}
:root {
    --back: 0, 0, 0;
}
body {
    background-color: #2b2626;
    width: 100%;
    height: 100vh;
    font-family: Montserrat, sans-serif;
    overflow-x: hidden;
}
.logo {
    font-size: 1.5rem;
}
.loading,
.loading h2 {
    text-align: center;
    color: #f4f4f4;
    z-index: 1000;
    font-size: 2.5rem;
}
.root {
    width: 100vw;
    height: 100vh;
}
.next-class {
    z-index: 1000;
    text-align: center;
    color: #fff;
    margin-top: 10vh;
    position: relative;
}
header {
    text-shadow: 0 2px 4px #0009;
    color: #f4f4f4;
    background-color: #0006 ffff;
    z-index: 1000;
    width: 100vw;
    padding: 1rem;
    position: fixed;
    box-shadow: 0 2px 4px #0000;
}
.status-container {
    background-color: #0006;
    border-radius: 20px;
    max-width: 70vw;
    margin: 3.688rem auto;
    padding: 1.25rem;
}
.next-class-display > .status-container {
    background-color: #0006;
    border-radius: 20px;
    max-width: 70vw;
    margin: 1rem auto;
    padding: 1.25rem;
}
.status-container p {
    z-index: 2;
    font-size: 1rem;
    position: relative;
}
p {
    margin: 0.625rem 0;
}
.status-message {
    color: #28a745;
    font-weight: 700;
}
.available {
    z-index: 2;
    background-color: #0000001a;
    border-radius: 20px;
    max-width: 100vw;
    margin-top: 1.25rem;
    padding: 1.25rem;
    position: relative;
    box-shadow: 0 2px 5px #0000001a;
}
.available h2 {
    text-align: center;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0.625rem;
}
.available-grid {
    grid-gap: 1.25rem;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    margin-top: 1.25rem;
    padding: 1.25rem;
    display: grid;
    position: relative;
}
.location {
    text-align: center;
    color: #fff;
    background-color: #0006;
    border-radius: 1.25rem;
    padding: 1.25rem;
}
nav {
    justify-content: space-between;
    align-items: center;
    padding: 0 10%;
    display: flex;
}
.nav-links {
    list-style: none;
}
.nav-links li {
    padding: 0 1.25rem;
    display: inline;
}
.nav-links a {
    color: #dadada;
    font-weight: 500;
    text-decoration: none;
}
footer {
    text-align: center;
    z-index: 1000;
    background-color: #0006;
    width: 100vw;
    padding: 0.5rem 0;
    position: fixed;
    bottom: 0;
    box-shadow: 0 -2px 4px #0000001a;
}
footer p {
    color: #f8f5f5;
}
main {
    color: #f8f5f5;
    min-height: 100vh;
    padding: 60px 10% 80px;
}
.search-container > select {
    text-align: center;
    width: 100%;
    height: 30%;
    font-size: 16px;
}
.intro,
.team-intro,
.search-container,
.team-members,
.status {
    background-color: #0000001a;
    border-radius: 20px;
    margin-top: 1.25rem;
    padding: 1.25rem;
    box-shadow: 0 2px 5px #0000001a;
}
.steps {
    text-align: center;
    background-color: #0000004d;
    border-radius: 20px;
    margin-top: 0;
    margin-bottom: 0;
    padding: 2.5rem;
    box-shadow: 0 2px 5px #0000001a;
}
.steps h1 {
    text-decoration-color: #dc143c;
}
.steps ol {
    text-align: center;
    border-radius: 20px;
    margin-top: 0;
    margin-bottom: 0;
    padding: 10px;
    box-shadow: 0 2px 5px #0000001a;
}
.team-members {
    align-items: center;
    display: flex;
}
.team-members .member {
    text-align: center;
    margin: 2.5rem;
}
.team-photo {
    border-radius: 50%;
    width: 120px;
    height: 120px;
    margin-bottom: 5px;
}
.search-container select,
.search-container button {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 10px;
    display: inline-block;
}
.search-container button {
    color: #fff;
    cursor: pointer;
    background-color: #007bff;
    border: none;
    height: 30%;
    font-size: 16px;
}
.search-container button:hover {
    background-color: #0056b3;
}
.home,
.status-page,
.free-time-main {
    background:
        url(/\'s_Archer_Cornfield_Courtyard.jpg) 50% / cover no-repeat fixed;
    width: 100vw;
    position: relative;
}
.status {
    z-index: 2;
}
.home:after,
.status-page:after {
    content: "";
    z-index: 1;
    background-color: #0006;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.home h1,
.home p,
.search-container,
.status h1,
.indicator,
.course-name {
    color: #fff;
    z-index: 2;
    text-align: center;
    position: relative;
}
.disclaimer {
    border-radius: 50%;
    font-weight: 700;
    animation: 1.5s infinite pulse;
    color: red !important;
}
.status {
    flex-direction: column;
    display: flex;
}
.back-button {
    z-index: 1000;
    text-decoration: none;
    position: relative;
}
.back-button:hover,
.state-button:hover {
    cursor: pointer;
    background-color: #91c6ff;
}
.state-buttons {
    z-index: 1000;
    justify-content: space-between;
    align-self: center;
    width: 20vw;
    margin: 0.5rem;
    display: flex;
}
.state-button,
.back-button {
    color: #fff;
    background-color: #007bff;
    border: none;
    border-radius: 0.5rem;
    margin: 0 1rem;
    padding: 0.4rem 0.5rem;
}
.state-button:disabled {
    color: #fff;
    background-color: #6c757d;
}
.indicator,
.available-text {
    color: #28d841;
}
.indicator {
    margin-top: 5vh;
    font-size: 1.25rem;
}
.status-indicator {
    text-align: center;
    font-size: 1.2rem;
}
.how-it-works {
    background: url(../how_it_works_bg.png) 50% / cover no-repeat fixed;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative;
}
.how-it-works:after {
    content: "";
    z-index: 1;
    background-color: #0006;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s ease-in-out;
    position: absolute;
    top: 0;
    left: 0;
}
.how-it-works h1 {
    color: #fff;
    z-index: 2;
    text-align: center;
    position: relative;
}
.how-it-works ol strong {
    text-shadow: #1f1b1b;
    color: #f00f0f;
    z-index: 2;
    text-align: center;
    line-height: 5;
    position: relative;
}
.how-it-works ol p {
    color: #fff;
    z-index: 2;
    text-align: center;
    line-height: 2;
    position: relative;
}
.meet-the-team {
    background: url(../team_bg.png) 50% / cover no-repeat fixed;
}
@keyframes pulse {
    50% {
        opacity: 0.5;
    }
}
@media only screen and (width <= 768px) {
    h1 {
        font-size: 1.5rem;
    }
    p {
        font-size: 0.8rem;
    }
    header {
        padding: 0.5rem 0;
        font-size: 0.8rem;
    }
    nav {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .logo {
        padding-left: 0.5rem;
        font-size: 1rem;
    }
    .nav-links li {
        padding: 0 0.5rem;
    }
    .nav-links {
        flex-direction: row;
        align-self: center;
        align-items: center;
        min-width: fit-content;
        display: flex;
    }
    .available {
        flex-direction: column;
        align-items: center;
        max-width: 100vw;
        display: flex;
    }
    .available-grid {
        flex-direction: column;
        min-width: 60vw;
        max-width: 90vw;
        display: flex;
        position: relative;
    }
    .location {
        min-width: 70%;
    }
    .steps {
        padding: 2rem;
    }
    .team-members {
        flex-direction: column;
        display: flex;
    }
    .team-members .member {
        margin: 1rem;
    }
    .team-intro p {
        font-size: 0.9rem;
    }
    .location-name {
        font-size: 1.5rem;
    }
    .status-indicator {
        font-size: 1rem;
    }
    .course-name {
        font-size: 1.2rem;
    }
    .status-container {
        max-width: 70vw;
        margin: 3.688rem auto;
        padding: 1.25rem;
    }
    .status-container p {
        font-size: 0.9rem;
    }
    .state-buttons {
        width: 65vw;
    }
    .state-button {
        padding: 0.3rem 0.6rem;
    }
    .back-button {
        margin: 1rem auto;
        padding: 0.2rem 0.4rem;
    }
    .intro,
    .team-intro,
    .search-container,
    .team-members,
    .status {
        background-color: #0000001a;
        border-radius: 20px;
        margin-top: 1rem;
        padding: 1rem;
        box-shadow: 0 2px 5px #0000001a;
    }
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
@keyframes ping {
    75%,
    to {
        opacity: 0;
        transform: scale(2);
    }
}
@keyframes bounce {
    0%,
    to {
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
        transform: translateY(-25%);
    }
    50% {
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
        transform: none;
    }
}
@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;
}
@property --tw-scale-x {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}
@property --tw-scale-y {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}
@property --tw-scale-z {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}
@property --tw-rotate-x {
    syntax: "*";
    inherits: false;
    initial-value: rotateX(0);
}
@property --tw-rotate-y {
    syntax: "*";
    inherits: false;
    initial-value: rotateY(0);
}
@property --tw-rotate-z {
    syntax: "*";
    inherits: false;
    initial-value: rotateZ(0);
}
@property --tw-skew-x {
    syntax: "*";
    inherits: false;
    initial-value: skewX(0);
}
@property --tw-skew-y {
    syntax: "*";
    inherits: false;
    initial-value: skewY(0);
}
@property --tw-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}
@property --tw-space-x-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}
@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid;
}
@property --tw-font-weight {
    syntax: "*";
    inherits: false;
}
@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
    syntax: "*";
    inherits: false;
}
@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false;
}
@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-blur {
    syntax: "*";
    inherits: false;
}
@property --tw-brightness {
    syntax: "*";
    inherits: false;
}
@property --tw-contrast {
    syntax: "*";
    inherits: false;
}
@property --tw-grayscale {
    syntax: "*";
    inherits: false;
}
@property --tw-hue-rotate {
    syntax: "*";
    inherits: false;
}
@property --tw-invert {
    syntax: "*";
    inherits: false;
}
@property --tw-opacity {
    syntax: "*";
    inherits: false;
}
@property --tw-saturate {
    syntax: "*";
    inherits: false;
}
@property --tw-sepia {
    syntax: "*";
    inherits: false;
}
@property --tw-duration {
    syntax: "*";
    inherits: false;
}
@property --tw-ease {
    syntax: "*";
    inherits: false;
}
.home {
    min-height: 100vh;
    background:
        linear-gradient(#0000001a, #0000001a),
        url(./Ashesi\'s_Archer_Cornfield_Courtyard.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 4rem 2rem;
    color: #fff;
}
.intro {
    max-width: 1200px;
    margin: 0 auto 2rem;
    text-align: center;
}
.intro h1 {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    -webkit-background-clip: text;
    background-clip: text;
}
.intro p {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #e5e7eb;
    margin-bottom: 2rem;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}
.disclaimer {
    background: #ffffff1a;
    padding: 1rem;
    border-radius: 8px;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 0.9rem;
    color: #fbbf24;
}
.search-container {
    max-width: 600px;
    margin: 0 auto 4rem;
    padding: 2rem;
    background-color: rgba(var(--back) 0.4);
    border-radius: 16px;
    box-shadow: 0 8px 32px #0000001a;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}
.search-button {
    width: 100%;
    margin-top: 1rem;
    padding: 1rem;
    background: linear-gradient(to right, #4f46e5, #06b6d4);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.search-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px #4f46e54d;
}
.available {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    background: rgba(var(--back), 0.4);
    border-radius: 16px;
    box-shadow: 0 8px 32px #0000001a;
}
.available-text {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 2rem;
    text-align: center;
    color: #fff;
    position: relative;
}
.available-text:after {
    content: "";
    display: block;
    width: 60px;
    height: 4px;
    background: linear-gradient(to right, #4f46e5, #06b6d4);
    margin: 0.5rem auto;
    border-radius: 2px;
}
.available-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.5rem;
    padding: 1rem;
}
.location {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(var(--back), 0.3);
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 6px #0000000d;
    transition: all 0.3s ease;
}
.location:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px #0000001a;
}
.location h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.5rem;
}
.no-results {
    text-align: center;
    padding: 3rem;
    color: #6b7280;
    font-size: 1.2rem;
}
@media (max-width: 768px) {
    .home {
        padding: 2rem 1rem;
    }
    .intro h1 {
        font-size: 2.5rem;
    }
    .intro p {
        font-size: 1.1rem;
    }
    .search-container {
        margin: 0 1rem 2rem;
        padding: 1.5rem;
    }
    .available {
        margin: 0 1rem;
        padding: 1.5rem;
    }
    .available-text {
        font-size: 1.75rem;
    }
    .available-grid {
        grid-template-columns: 1fr;
    }
}
.how-it-works {
    min-height: 100vh;
    padding: 4rem 2rem;
    background:
        linear-gradient(#0000001a, #0000001a), url(../how_it_works_bg.png);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: #fff;
    text-align: center;
}
.how-it-works h1 {
    font-size: 3rem;
    margin-bottom: 3rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
.steps-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    padding: 2rem;
}
.step-card {
    background: #fffffff2;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 4px 6px #0000001a;
    color: #1a1a1a;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.step-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}
.step-card h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #2563eb;
}
.step-card p {
    color: #4b5563;
    line-height: 1.6;
}
@media (max-width: 768px) {
    .how-it-works {
        padding: 2rem 1rem;
    }
    .how-it-works h1 {
        font-size: 2rem;
        margin-bottom: 2rem;
    }
    .steps-container {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 1rem;
    }
}
.status-page {
    transition: all 0.5s ease;
}
.search-page-container {
    min-height: 100vh;
    background:
        linear-gradient(#0006, #0006),
        url(./Ashesi\'s_Archer_Cornfield_Courtyard.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 5rem 2rem;
    color: #b3a7a7;
}
.search-page-container .search-header {
    text-align: center;
    margin-bottom: 3rem;
}
.search-page-container .search-header h1 {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
.search-page-container .search-form {
    background: rgba(var(--back), 0.3);
    max-width: 600px;
    margin: 0 auto 3rem;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 4px 6px #0000001a;
}
.search-page-container .time-input-container {
    margin-bottom: 1.5rem;
}
.search-page-container .time-input-container label {
    display: block;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    color: #fff;
    font-weight: 500;
}
.search-page-container .time-input {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}
.search-page-container .time-input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f64d;
    outline: none;
}
.search-page-container .search-button {
    width: 100%;
    padding: 1rem;
    background-color: #3b82f6;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.search-page-container .search-button:hover {
    background-color: #2563eb;
    transform: translateY(-1px);
}
.search-page-container .search-button:disabled {
    background-color: #93c5fd;
    cursor: not-allowed;
    transform: none;
}
.search-page-container .results-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    background: rgba(var(--back), 0.4);
    border-radius: 15px;
    box-shadow: 0 4px 6px #0000001a;
}
.search-page-container .space-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    padding: 1rem;
}
.search-page-container .space-card {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(var(--back), 0.3);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px #0000001a;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.search-page-container .space-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 12px #00000026;
}
.search-page-container .space-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1.5rem;
}
.search-page-container .space-name {
    font-size: 1.5rem;
    text-align: center;
    padding-bottom: 1rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.5rem;
}
.search-page-container .space-capacity {
    color: #4b5563;
    margin-bottom: 1rem;
    font-size: 1.1rem;
}
.search-page-container .feature-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}
.search-page-container .feature-tag {
    background-color: #e0f2fe;
    color: #0369a1;
    padding: 0.4rem 0.8rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
}
.search-page-container .book-button {
    width: 100%;
    padding: 0.75rem;
    background-color: #10b981;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.search-page-container .book-button:hover {
    background-color: #059669;
}
.search-page-container .no-results {
    text-align: center;
    padding: 3rem;
    color: #6b7280;
    font-size: 1.2rem;
}
@media (max-width: 768px) {
    .search-page-container {
        padding: 2rem 1rem;
    }
    .search-page-container .search-header h1 {
        font-size: 2rem;
    }
    .search-page-container .search-form {
        margin: 0 1rem 2rem;
    }
    .search-page-container .space-grid .search-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 2rem;
    }
    .search-page-container .space-grid .time-selector {
        margin-bottom: 2rem;
    }
    .search-page-container .space-grid .space-card {
        transition: transform 0.2s ease-in-out;
    }
    .search-page-container .space-grid .space-card:hover {
        transform: translateY(-4px);
    }
    .search-page-container .space-grid .feature-tag {
        display: inline-block;
        margin-right: 0.5rem;
        margin-bottom: 0.5rem;
        padding: 0.25rem 0.75rem;
        border-radius: 9999px;
        font-size: 0.875rem;
        line-height: 1.25rem;
        background-color: #e0f2fe;
        color: #0369a1;
    }
}
.free-time-page-container {
    min-height: 100vh;
    background:
        linear-gradient(#0006, #0006),
        url(./Ashesi\'s_Archer_Cornfield_Courtyard.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 5rem 2rem;
    color: #b3a7a7;
}
.free-time-page-container .free-time-header {
    text-align: center;
    margin-bottom: 3rem;
}
.free-time-page-container .free-time-header h1 {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
.free-time-page-container .free-time-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(var(--back), 0.3);
    max-width: 90%;
    min-width: 70%;
    margin: 0 auto 3rem;
    color: #fff;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 4px 6px #0000001a;
}
.free-time-page-container .time-input-container {
    margin-bottom: 1.5rem;
}
.free-time-page-container .time-input-container label {
    display: block;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    color: #fff;
    font-weight: 500;
}
.free-time-page-container .time-input {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}
.free-time-page-container .time-input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f64d;
    outline: none;
}
.free-time-page-container .free-time-button {
    width: 100%;
    padding: 1rem;
    background-color: #3b82f6;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.free-time-page-container .free-time-button:hover {
    background-color: #2563eb;
    transform: translateY(-1px);
}
.free-time-page-container .free-time-button:disabled {
    background-color: #93c5fd;
    cursor: not-allowed;
    transform: none;
}
.free-time-page-container .results-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    background: rgba(var(--back), 0.4);
    border-radius: 15px;
    box-shadow: 0 4px 6px #0000001a;
}
.free-time-page-container .space-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    padding: 1rem;
}
.free-time-page-container .space-card {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(var(--back), 0.3);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px #0000001a;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.free-time-page-container .space-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 12px #00000026;
}
.free-time-page-container .space-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1.5rem;
}
.free-time-page-container .space-name {
    font-size: 1.5rem;
    text-align: center;
    padding-bottom: 1rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.5rem;
}
.free-time-page-container .space-capacity {
    color: #4b5563;
    margin-bottom: 1rem;
    font-size: 1.1rem;
}
.free-time-page-container .feature-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}
.free-time-page-container .feature-tag {
    background-color: #e0f2fe;
    color: #0369a1;
    padding: 0.4rem 0.8rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
}
.free-time-page-container .book-button {
    width: 100%;
    padding: 0.75rem;
    background-color: #10b981;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.free-time-page-container .book-button:hover {
    background-color: #059669;
}
.free-time-page-container .no-results {
    text-align: center;
    padding: 3rem;
    color: #6b7280;
    font-size: 1.2rem;
}
@media (max-width: 768px) {
    .free-time-page-container {
        padding: 2rem 1rem;
    }
    .free-time-page-container .free-time-header h1 {
        font-size: 2rem;
    }
    .free-time-page-container .free-time-form {
        margin: 0 1rem 2rem;
    }
    .free-time-page-container .space-grid .free-time-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 2rem;
    }
    .free-time-page-container .space-grid .time-selector {
        margin-bottom: 2rem;
    }
    .free-time-page-container .space-grid .space-card {
        transition: transform 0.2s ease-in-out;
    }
    .free-time-page-container .space-grid .space-card:hover {
        transform: translateY(-4px);
    }
    .free-time-page-container .space-grid .feature-tag {
        display: inline-block;
        margin-right: 0.5rem;
        margin-bottom: 0.5rem;
        padding: 0.25rem 0.75rem;
        border-radius: 9999px;
        font-size: 0.875rem;
        line-height: 1.25rem;
        background-color: #e0f2fe;
        color: #0369a1;
    }
}
