@media source(none) {
    @layer theme,base,components,utilities;

}

@media source(none) {
    @layer theme {
        @theme default {
            --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(97.1% .013 17.38);
            --color-red-100: oklch(93.6% .032 17.717);
            --color-red-200: oklch(88.5% .062 18.334);
            --color-red-300: oklch(80.8% .114 19.571);
            --color-red-400: oklch(70.4% .191 22.216);
            --color-red-500: oklch(63.7% .237 25.331);
            --color-red-600: oklch(57.7% .245 27.325);
            --color-red-700: oklch(50.5% .213 27.518);
            --color-red-800: oklch(44.4% .177 26.899);
            --color-red-900: oklch(39.6% .141 25.723);
            --color-red-950: oklch(25.8% .092 26.042);
            --color-orange-50: oklch(98% .016 73.684);
            --color-orange-100: oklch(95.4% .038 75.164);
            --color-orange-200: oklch(90.1% .076 70.697);
            --color-orange-300: oklch(83.7% .128 66.29);
            --color-orange-400: oklch(75% .183 55.934);
            --color-orange-500: oklch(70.5% .213 47.604);
            --color-orange-600: oklch(64.6% .222 41.116);
            --color-orange-700: oklch(55.3% .195 38.402);
            --color-orange-800: oklch(47% .157 37.304);
            --color-orange-900: oklch(40.8% .123 38.172);
            --color-orange-950: oklch(26.6% .079 36.259);
            --color-amber-50: oklch(98.7% .022 95.277);
            --color-amber-100: oklch(96.2% .059 95.617);
            --color-amber-200: oklch(92.4% .12 95.746);
            --color-amber-300: oklch(87.9% .169 91.605);
            --color-amber-400: oklch(82.8% .189 84.429);
            --color-amber-500: oklch(76.9% .188 70.08);
            --color-amber-600: oklch(66.6% .179 58.318);
            --color-amber-700: oklch(55.5% .163 48.998);
            --color-amber-800: oklch(47.3% .137 46.201);
            --color-amber-900: oklch(41.4% .112 45.904);
            --color-amber-950: oklch(27.9% .077 45.635);
            --color-yellow-50: oklch(98.7% .026 102.212);
            --color-yellow-100: oklch(97.3% .071 103.193);
            --color-yellow-200: oklch(94.5% .129 101.54);
            --color-yellow-300: oklch(90.5% .182 98.111);
            --color-yellow-400: oklch(85.2% .199 91.936);
            --color-yellow-500: oklch(79.5% .184 86.047);
            --color-yellow-600: oklch(68.1% .162 75.834);
            --color-yellow-700: oklch(55.4% .135 66.442);
            --color-yellow-800: oklch(47.6% .114 61.907);
            --color-yellow-900: oklch(42.1% .095 57.708);
            --color-yellow-950: oklch(28.6% .066 53.813);
            --color-lime-50: oklch(98.6% .031 120.757);
            --color-lime-100: oklch(96.7% .067 122.328);
            --color-lime-200: oklch(93.8% .127 124.321);
            --color-lime-300: oklch(89.7% .196 126.665);
            --color-lime-400: oklch(84.1% .238 128.85);
            --color-lime-500: oklch(76.8% .233 130.85);
            --color-lime-600: oklch(64.8% .2 131.684);
            --color-lime-700: oklch(53.2% .157 131.589);
            --color-lime-800: oklch(45.3% .124 130.933);
            --color-lime-900: oklch(40.5% .101 131.063);
            --color-lime-950: oklch(27.4% .072 132.109);
            --color-green-50: oklch(98.2% .018 155.826);
            --color-green-100: oklch(96.2% .044 156.743);
            --color-green-200: oklch(92.5% .084 155.995);
            --color-green-300: oklch(87.1% .15 154.449);
            --color-green-400: oklch(79.2% .209 151.711);
            --color-green-500: oklch(72.3% .219 149.579);
            --color-green-600: oklch(62.7% .194 149.214);
            --color-green-700: oklch(52.7% .154 150.069);
            --color-green-800: oklch(44.8% .119 151.328);
            --color-green-900: oklch(39.3% .095 152.535);
            --color-green-950: oklch(26.6% .065 152.934);
            --color-emerald-50: oklch(97.9% .021 166.113);
            --color-emerald-100: oklch(95% .052 163.051);
            --color-emerald-200: oklch(90.5% .093 164.15);
            --color-emerald-300: oklch(84.5% .143 164.978);
            --color-emerald-400: oklch(76.5% .177 163.223);
            --color-emerald-500: oklch(69.6% .17 162.48);
            --color-emerald-600: oklch(59.6% .145 163.225);
            --color-emerald-700: oklch(50.8% .118 165.612);
            --color-emerald-800: oklch(43.2% .095 166.913);
            --color-emerald-900: oklch(37.8% .077 168.94);
            --color-emerald-950: oklch(26.2% .051 172.552);
            --color-teal-50: oklch(98.4% .014 180.72);
            --color-teal-100: oklch(95.3% .051 180.801);
            --color-teal-200: oklch(91% .096 180.426);
            --color-teal-300: oklch(85.5% .138 181.071);
            --color-teal-400: oklch(77.7% .152 181.912);
            --color-teal-500: oklch(70.4% .14 182.503);
            --color-teal-600: oklch(60% .118 184.704);
            --color-teal-700: oklch(51.1% .096 186.391);
            --color-teal-800: oklch(43.7% .078 188.216);
            --color-teal-900: oklch(38.6% .063 188.416);
            --color-teal-950: oklch(27.7% .046 192.524);
            --color-cyan-50: oklch(98.4% .019 200.873);
            --color-cyan-100: oklch(95.6% .045 203.388);
            --color-cyan-200: oklch(91.7% .08 205.041);
            --color-cyan-300: oklch(86.5% .127 207.078);
            --color-cyan-400: oklch(78.9% .154 211.53);
            --color-cyan-500: oklch(71.5% .143 215.221);
            --color-cyan-600: oklch(60.9% .126 221.723);
            --color-cyan-700: oklch(52% .105 223.128);
            --color-cyan-800: oklch(45% .085 224.283);
            --color-cyan-900: oklch(39.8% .07 227.392);
            --color-cyan-950: oklch(30.2% .056 229.695);
            --color-sky-50: oklch(97.7% .013 236.62);
            --color-sky-100: oklch(95.1% .026 236.824);
            --color-sky-200: oklch(90.1% .058 230.902);
            --color-sky-300: oklch(82.8% .111 230.318);
            --color-sky-400: oklch(74.6% .16 232.661);
            --color-sky-500: oklch(68.5% .169 237.323);
            --color-sky-600: oklch(58.8% .158 241.966);
            --color-sky-700: oklch(50% .134 242.749);
            --color-sky-800: oklch(44.3% .11 240.79);
            --color-sky-900: oklch(39.1% .09 240.876);
            --color-sky-950: oklch(29.3% .066 243.157);
            --color-blue-50: oklch(97% .014 254.604);
            --color-blue-100: oklch(93.2% .032 255.585);
            --color-blue-200: oklch(88.2% .059 254.128);
            --color-blue-300: oklch(80.9% .105 251.813);
            --color-blue-400: oklch(70.7% .165 254.624);
            --color-blue-500: oklch(62.3% .214 259.815);
            --color-blue-600: oklch(54.6% .245 262.881);
            --color-blue-700: oklch(48.8% .243 264.376);
            --color-blue-800: oklch(42.4% .199 265.638);
            --color-blue-900: oklch(37.9% .146 265.522);
            --color-blue-950: oklch(28.2% .091 267.935);
            --color-indigo-50: oklch(96.2% .018 272.314);
            --color-indigo-100: oklch(93% .034 272.788);
            --color-indigo-200: oklch(87% .065 274.039);
            --color-indigo-300: oklch(78.5% .115 274.713);
            --color-indigo-400: oklch(67.3% .182 276.935);
            --color-indigo-500: oklch(58.5% .233 277.117);
            --color-indigo-600: oklch(51.1% .262 276.966);
            --color-indigo-700: oklch(45.7% .24 277.023);
            --color-indigo-800: oklch(39.8% .195 277.366);
            --color-indigo-900: oklch(35.9% .144 278.697);
            --color-indigo-950: oklch(25.7% .09 281.288);
            --color-violet-50: oklch(96.9% .016 293.756);
            --color-violet-100: oklch(94.3% .029 294.588);
            --color-violet-200: oklch(89.4% .057 293.283);
            --color-violet-300: oklch(81.1% .111 293.571);
            --color-violet-400: oklch(70.2% .183 293.541);
            --color-violet-500: oklch(60.6% .25 292.717);
            --color-violet-600: oklch(54.1% .281 293.009);
            --color-violet-700: oklch(49.1% .27 292.581);
            --color-violet-800: oklch(43.2% .232 292.759);
            --color-violet-900: oklch(38% .189 293.745);
            --color-violet-950: oklch(28.3% .141 291.089);
            --color-purple-50: oklch(97.7% .014 308.299);
            --color-purple-100: oklch(94.6% .033 307.174);
            --color-purple-200: oklch(90.2% .063 306.703);
            --color-purple-300: oklch(82.7% .119 306.383);
            --color-purple-400: oklch(71.4% .203 305.504);
            --color-purple-500: oklch(62.7% .265 303.9);
            --color-purple-600: oklch(55.8% .288 302.321);
            --color-purple-700: oklch(49.6% .265 301.924);
            --color-purple-800: oklch(43.8% .218 303.724);
            --color-purple-900: oklch(38.1% .176 304.987);
            --color-purple-950: oklch(29.1% .149 302.717);
            --color-fuchsia-50: oklch(97.7% .017 320.058);
            --color-fuchsia-100: oklch(95.2% .037 318.852);
            --color-fuchsia-200: oklch(90.3% .076 319.62);
            --color-fuchsia-300: oklch(83.3% .145 321.434);
            --color-fuchsia-400: oklch(74% .238 322.16);
            --color-fuchsia-500: oklch(66.7% .295 322.15);
            --color-fuchsia-600: oklch(59.1% .293 322.896);
            --color-fuchsia-700: oklch(51.8% .253 323.949);
            --color-fuchsia-800: oklch(45.2% .211 324.591);
            --color-fuchsia-900: oklch(40.1% .17 325.612);
            --color-fuchsia-950: oklch(29.3% .136 325.661);
            --color-pink-50: oklch(97.1% .014 343.198);
            --color-pink-100: oklch(94.8% .028 342.258);
            --color-pink-200: oklch(89.9% .061 343.231);
            --color-pink-300: oklch(82.3% .12 346.018);
            --color-pink-400: oklch(71.8% .202 349.761);
            --color-pink-500: oklch(65.6% .241 354.308);
            --color-pink-600: oklch(59.2% .249 .584);
            --color-pink-700: oklch(52.5% .223 3.958);
            --color-pink-800: oklch(45.9% .187 3.815);
            --color-pink-900: oklch(40.8% .153 2.432);
            --color-pink-950: oklch(28.4% .109 3.907);
            --color-rose-50: oklch(96.9% .015 12.422);
            --color-rose-100: oklch(94.1% .03 12.58);
            --color-rose-200: oklch(89.2% .058 10.001);
            --color-rose-300: oklch(81% .117 11.638);
            --color-rose-400: oklch(71.2% .194 13.428);
            --color-rose-500: oklch(64.5% .246 16.439);
            --color-rose-600: oklch(58.6% .253 17.585);
            --color-rose-700: oklch(51.4% .222 16.935);
            --color-rose-800: oklch(45.5% .188 13.697);
            --color-rose-900: oklch(41% .159 10.272);
            --color-rose-950: oklch(27.1% .105 12.094);
            --color-slate-50: oklch(98.4% .003 247.858);
            --color-slate-100: oklch(96.8% .007 247.896);
            --color-slate-200: oklch(92.9% .013 255.508);
            --color-slate-300: oklch(86.9% .022 252.894);
            --color-slate-400: oklch(70.4% .04 256.788);
            --color-slate-500: oklch(55.4% .046 257.417);
            --color-slate-600: oklch(44.6% .043 257.281);
            --color-slate-700: oklch(37.2% .044 257.287);
            --color-slate-800: oklch(27.9% .041 260.031);
            --color-slate-900: oklch(20.8% .042 265.755);
            --color-slate-950: oklch(12.9% .042 264.695);
            --color-gray-50: oklch(98.5% .002 247.839);
            --color-gray-100: oklch(96.7% .003 264.542);
            --color-gray-200: oklch(92.8% .006 264.531);
            --color-gray-300: oklch(87.2% .01 258.338);
            --color-gray-400: oklch(70.7% .022 261.325);
            --color-gray-500: oklch(55.1% .027 264.364);
            --color-gray-600: oklch(44.6% .03 256.802);
            --color-gray-700: oklch(37.3% .034 259.733);
            --color-gray-800: oklch(27.8% .033 256.848);
            --color-gray-900: oklch(21% .034 264.665);
            --color-gray-950: oklch(13% .028 261.692);
            --color-zinc-50: oklch(98.5% 0 0);
            --color-zinc-100: oklch(96.7% .001 286.375);
            --color-zinc-200: oklch(92% .004 286.32);
            --color-zinc-300: oklch(87.1% .006 286.286);
            --color-zinc-400: oklch(70.5% .015 286.067);
            --color-zinc-500: oklch(55.2% .016 285.938);
            --color-zinc-600: oklch(44.2% .017 285.786);
            --color-zinc-700: oklch(37% .013 285.805);
            --color-zinc-800: oklch(27.4% .006 286.033);
            --color-zinc-900: oklch(21% .006 285.885);
            --color-zinc-950: oklch(14.1% .005 285.823);
            --color-neutral-50: oklch(98.5% 0 0);
            --color-neutral-100: oklch(97% 0 0);
            --color-neutral-200: oklch(92.2% 0 0);
            --color-neutral-300: oklch(87% 0 0);
            --color-neutral-400: oklch(70.8% 0 0);
            --color-neutral-500: oklch(55.6% 0 0);
            --color-neutral-600: oklch(43.9% 0 0);
            --color-neutral-700: oklch(37.1% 0 0);
            --color-neutral-800: oklch(26.9% 0 0);
            --color-neutral-900: oklch(20.5% 0 0);
            --color-neutral-950: oklch(14.5% 0 0);
            --color-stone-50: oklch(98.5% .001 106.423);
            --color-stone-100: oklch(97% .001 106.424);
            --color-stone-200: oklch(92.3% .003 48.717);
            --color-stone-300: oklch(86.9% .005 56.366);
            --color-stone-400: oklch(70.9% .01 56.259);
            --color-stone-500: oklch(55.3% .013 58.071);
            --color-stone-600: oklch(44.4% .011 73.639);
            --color-stone-700: oklch(37.4% .01 67.558);
            --color-stone-800: oklch(26.8% .007 34.298);
            --color-stone-900: oklch(21.6% .006 56.043);
            --color-stone-950: oklch(14.7% .004 49.25);
            --color-mauve-50: oklch(98.5% 0 0);
            --color-mauve-100: oklch(96% .003 325.6);
            --color-mauve-200: oklch(92.2% .005 325.62);
            --color-mauve-300: oklch(86.5% .012 325.68);
            --color-mauve-400: oklch(71.1% .019 323.02);
            --color-mauve-500: oklch(54.2% .034 322.5);
            --color-mauve-600: oklch(43.5% .029 321.78);
            --color-mauve-700: oklch(36.4% .029 323.89);
            --color-mauve-800: oklch(26.3% .024 320.12);
            --color-mauve-900: oklch(21.2% .019 322.12);
            --color-mauve-950: oklch(14.5% .008 326);
            --color-olive-50: oklch(98.8% .003 106.5);
            --color-olive-100: oklch(96.6% .005 106.5);
            --color-olive-200: oklch(93% .007 106.5);
            --color-olive-300: oklch(88% .011 106.6);
            --color-olive-400: oklch(73.7% .021 106.9);
            --color-olive-500: oklch(58% .031 107.3);
            --color-olive-600: oklch(46.6% .025 107.3);
            --color-olive-700: oklch(39.4% .023 107.4);
            --color-olive-800: oklch(28.6% .016 107.4);
            --color-olive-900: oklch(22.8% .013 107.4);
            --color-olive-950: oklch(15.3% .006 107.1);
            --color-mist-50: oklch(98.7% .002 197.1);
            --color-mist-100: oklch(96.3% .002 197.1);
            --color-mist-200: oklch(92.5% .005 214.3);
            --color-mist-300: oklch(87.2% .007 219.6);
            --color-mist-400: oklch(72.3% .014 214.4);
            --color-mist-500: oklch(56% .021 213.5);
            --color-mist-600: oklch(45% .017 213.2);
            --color-mist-700: oklch(37.8% .015 216);
            --color-mist-800: oklch(27.5% .011 216.9);
            --color-mist-900: oklch(21.8% .008 223.9);
            --color-mist-950: oklch(14.8% .004 228.8);
            --color-taupe-50: oklch(98.6% .002 67.8);
            --color-taupe-100: oklch(96% .002 17.2);
            --color-taupe-200: oklch(92.2% .005 34.3);
            --color-taupe-300: oklch(86.8% .007 39.5);
            --color-taupe-400: oklch(71.4% .014 41.2);
            --color-taupe-500: oklch(54.7% .021 43.1);
            --color-taupe-600: oklch(43.8% .017 39.3);
            --color-taupe-700: oklch(36.7% .016 35.7);
            --color-taupe-800: oklch(26.8% .011 36.5);
            --color-taupe-900: oklch(21.4% .009 43.1);
            --color-taupe-950: oklch(14.7% .004 49.3);
            --color-black: #000;
            --color-white: #fff;
            --spacing: .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: .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: 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: -.05em;
            --tracking-tight: -.025em;
            --tracking-normal: 0em;
            --tracking-wide: .025em;
            --tracking-wider: .05em;
            --tracking-widest: .1em;
            --leading-tight: 1.25;
            --leading-snug: 1.375;
            --leading-normal: 1.5;
            --leading-relaxed: 1.625;
            --leading-loose: 2;
            --radius-xs: .125rem;
            --radius-sm: .25rem;
            --radius-md: .375rem;
            --radius-lg: .5rem;
            --radius-xl: .75rem;
            --radius-2xl: 1rem;
            --radius-3xl: 1.5rem;
            --radius-4xl: 2rem;
            --shadow-2xs: 0 1px rgb(0 0 0 / .05);
            --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);
            --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
            --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
            --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
            --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
            --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);
            --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05);
            --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05);
            --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05);
            --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05);
            --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15);
            --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12);
            --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15);
            --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1);
            --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15);
            --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15);
            --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2);
            --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075);
            --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1);
            --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1);
            --ease-in: cubic-bezier(.4, 0, 1, 1);
            --ease-out: cubic-bezier(0, 0, .2, 1);
            --ease-in-out: cubic-bezier(.4, 0, .2, 1);
            --animate-spin: spin 1s linear infinite;
            --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
            --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
            --animate-bounce: bounce 1s infinite;
            @keyframes spin {
                to {
                    transform: rotate(360deg);

                }
            }

            @keyframes ping {
                75%, 100% {
                    transform: scale(2);
                    opacity: 0;

                }
            }

            @keyframes pulse {
                50% {
                    opacity: .5;

                }
            }

            @keyframes bounce {
                0%, 100% {
                    transform: translateY(-25%);
                    animation-timing-function: cubic-bezier(.8, 0, 1, 1);

                }

                50% {
                    transform: none;
                    animation-timing-function: cubic-bezier(0, 0, .2, 1);

                }
            }

            --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: .15s;
            --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
            --default-font-family: --theme(--font-sans, initial);
            --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial );
            --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial );
            --default-mono-font-family: --theme(--font-mono, initial);
            --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial );
            --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial );

        }

        @theme default inline reference {
            --blur: 8px;
            --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
            --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);
            --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06);
            --radius: .25rem;
            --max-width-prose: 65ch;

        }
    }

    @layer base {
        *,:after,:before,::backdrop,::file-selector-button {
            box-sizing:border-box;
            margin:0;
            padding:0;
            border:0 solid
        }

        html,:host {
            line-height:1.5;
            -webkit-text-size-adjust:100%;
            tab-size:4;
            font-family:--theme(--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:--theme(--default-font-feature-settings,normal);
            font-variation-settings:--theme(--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;
            text-decoration:inherit
        }

        b,strong {
            font-weight:bolder
        }

        code,kbd,samp,pre {
            font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);
            font-feature-settings:--theme(--default-mono-font-feature-settings,normal);
            font-variation-settings:--theme(--default-mono-font-variation-settings,normal);
            font-size:1em
        }

        small {
            font-size:80%
        }

        sub,sup {
            font-size:75%;
            line-height:0;
            position:relative;
            vertical-align:baseline
        }

        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 {
            display:block;
            vertical-align:middle
        }

        img,video {
            max-width:100%;
            height:auto
        }

        button,input,select,optgroup,textarea,::file-selector-button {
            font:inherit;
            font-feature-settings:inherit;
            font-variation-settings:inherit;
            letter-spacing:inherit;
            color:inherit;
            border-radius:0;
            background-color:transparent;
            opacity:1
        }

        :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: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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button {
            appearance:button
        }

        ::-webkit-inner-spin-button,::-webkit-outer-spin-button {
            height:auto
        }

        [hidden]:where(:not([hidden=until-found])) {
            display:none!important
        }
    }

    @layer utilities {
        @tailwind utilities;

    }
}

@source "../src";
@custom-variant dark (&:is(.dark *));
:root {
    --rood: #c8102e;
    --rood-donker: #8a0a1f;
    --goud: #d4a017;
    --wit: #ffffff;
    --creme: #fff8ec;
    --tekst: #2a1a0d;
    --grijs: #6b6b6b;
    --rand: #e9d8b9;
    --groen: #2f7a3a
}

* {
    box-sizing:border-box
}

html,body {
    margin:0;
    padding:0
}

body {
    font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;
    background:linear-gradient(160deg,var(--creme) 0%,#fff 100%);
    color:var(--tekst);
    min-height:100vh
}

.topbar {
    display:flex;
    flex-direction:column;
    padding:1rem 2rem;
    background:var(--rood);
    color:var(--wit);
    border-bottom:4px solid var(--goud);
    gap:.6rem
}

.topbar-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%
}

.topbar .brand {
    font-size:1.2rem
}

.topbar nav {
    display:flex;
    align-items:center;
    gap:.5rem;
    flex-wrap:wrap;
    flex:1;
    justify-content:flex-end
}

.topbar nav a {
    color:var(--wit);
    text-decoration:none;
    padding:.4rem .8rem;
    border-radius:.4rem
}

.topbar nav a:hover {
    background:#ffffff26
}

.topbar nav a.admin-link {
    background:var(--goud);
    color:var(--rood-donker);
    font-weight:700
}

.topbar .who {
    margin-left:.5rem;
    opacity:.9;
    font-size:.9rem
}

.logout-btn {
    background:var(--rood-donker);
    color:var(--wit);
    border:none;
    padding:.4rem .8rem;
    border-radius:.4rem;
    cursor:pointer;
    font-family:inherit;
    margin:0
}

.logout-btn:hover {
    background:#5e0715
}

.hamburger {
    display:none;
    background:transparent;
    color:var(--wit);
    border:1px solid rgba(255,255,255,.4);
    padding:.35rem .7rem;
    border-radius:.4rem;
    font-size:1.3rem;
    line-height:1;
    margin:0;
    cursor:pointer
}

@media(min-width:901px) {
    .topbar {
        flex-direction:row;
        align-items:center;
        flex-wrap:wrap
    }

    .topbar-row {
        width:auto
    }
}

@media(max-width:900px) {
    .topbar {
        padding:.8rem 1rem
    }

    .hamburger {
        display:inline-block
    }

    .topbar nav {
        display:none;
        flex-direction:column;
        align-items:stretch;
        width:100%;
        gap:.3rem
    }

    .topbar nav.open {
        display:flex
    }

    .topbar nav a,.topbar nav .who,.topbar nav .logout-btn {
        width:100%;
        text-align:left
    }

    .topbar nav .who {
        margin:.2rem 0
    }
}

.container {
    max-width:1100px;
    margin:2rem auto;
    padding:0 1.5rem
}

h1 {
    color:var(--rood-donker);
    margin-top:0
}

h2 {
    color:var(--rood-donker);
    border-bottom:2px dashed var(--goud);
    padding-bottom:.3rem
}

h3,h4 {
    color:var(--rood-donker)
}

.lead {
    font-size:1.1rem;
    color:var(--grijs)
}

.login-card {
    max-width:420px;
    margin:4rem auto;
    background:var(--wit);
    padding:2rem;
    border-radius:1rem;
    box-shadow:0 10px 40px #c8102e26;
    border-top:6px solid var(--goud)
}

.form label {
    display:block;
    margin:1rem 0 .3rem;
    font-weight:600
}

.form input,textarea,input[type=text],input[type=email],input[type=password] {
    width:100%;
    padding:.6rem .8rem;
    border:1px solid var(--rand);
    border-radius:.5rem;
    font-size:1rem;
    background:var(--wit);
    font-family:inherit
}

textarea.mono {
    font-family:SF Mono,Menlo,monospace;
    font-size:.85rem
}

button {
    margin-top:1rem;
    background:var(--rood);
    color:var(--wit);
    border:none;
    padding:.6rem 1.2rem;
    border-radius:.5rem;
    cursor:pointer;
    font-weight:600;
    font-size:1rem;
    font-family:inherit
}

button:hover {
    background:var(--rood-donker)
}

button.big {
    font-size:1.3rem;
    padding:1rem 2rem
}

button.danger {
    background:var(--grijs)
}

button.danger:hover {
    background:#444
}

button.small {
    padding:.3rem .6rem;
    font-size:.8rem;
    margin-left:.4rem
}

.hint {
    font-size:.85rem;
    color:var(--grijs);
    margin-top:1rem
}

.error {
    background:#fde8e8;
    color:var(--rood-donker);
    padding:.8rem;
    border-radius:.4rem;
    margin-bottom:1rem
}

.success {
    background:#e6f7ea;
    color:var(--groen);
    padding:.8rem;
    border-radius:.4rem;
    margin-bottom:1rem
}

.grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:1rem
}

.card {
    background:var(--wit);
    border:1px solid var(--rand);
    border-radius:.8rem;
    padding:1.2rem;
    box-shadow:0 4px 12px #0000000a;
    margin-bottom:1.5rem
}

.card header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:.5rem
}

.card h3,.card h4 {
    margin:.2rem 0
}

.card .rijk {
    color:var(--grijs);
    font-style:italic;
    margin:0 0 .6rem;
    font-size:.9rem
}

.badge {
    display:inline-block;
    padding:.2rem .6rem;
    border-radius:999px;
    background:var(--goud);
    color:var(--rood-donker);
    font-size:.8rem;
    font-weight:600
}

.badge.done {
    background:var(--groen);
    color:var(--wit)
}

.card.type-attractie {
    border-top:4px solid var(--rood)
}

.card.type-horeca {
    border-top:4px solid var(--goud)
}

.card.type-plein {
    border-top:4px solid #6c4ab0
}

.card.voltooid {
    opacity:.9;
    background:#f4fbf5
}

.score {
    font-size:1.2rem;
    text-align:right;
    margin-top:1.5rem
}

table.klassement,table.users {
    width:100%;
    border-collapse:collapse;
    background:var(--wit);
    border-radius:.8rem;
    overflow:hidden;
    box-shadow:0 4px 12px #0000000d
}

table th,table td {
    padding:.8rem 1rem;
    text-align:left;
    border-bottom:1px solid var(--rand);
    vertical-align:middle
}

table th {
    background:var(--rood);
    color:var(--wit)
}

table tr.leider {
    background:#fff8d8;
    font-weight:600
}

table input {
    width:auto;
    min-width:140px
}

code {
    background:#f3eedb;
    padding:.1rem .3rem;
    border-radius:.2rem;
    font-size:.9em
}

.tabs,.mode-switch {
    display:flex;
    gap:.4rem;
    flex-wrap:wrap;
    margin:.8rem 0
}

.tab {
    background:var(--wit);
    color:var(--rood-donker);
    border:1px solid var(--rand);
    padding:.4rem .8rem;
    border-radius:.4rem;
    cursor:pointer;
    font-weight:600;
    margin:0
}

.tab:hover {
    background:var(--creme)
}

.tab.active {
    background:var(--rood);
    color:var(--wit);
    border-color:var(--rood)
}

.quiz {
    display:flex;
    flex-direction:column;
    gap:.8rem
}

.vraag {
    background:var(--creme);
    border:1px solid var(--rand);
    border-radius:.5rem;
    padding:.7rem
}

.vraag-head {
    display:flex;
    align-items:center;
    gap:.5rem;
    margin-bottom:.4rem;
    flex-wrap:wrap
}

.vraag-head select {
    padding:.2rem .4rem;
    border-radius:.3rem;
    border:1px solid var(--rand)
}

.vraag textarea {
    margin-top:.3rem
}

.mc {
    display:flex;
    flex-direction:column;
    gap:.3rem;
    margin-top:.4rem
}

.mc-rij {
    display:flex;
    align-items:center;
    gap:.4rem
}

.mc-rij input[type=text] {
    flex:1
}

.mc-rij input[type=radio] {
    width:auto;
    accent-color:var(--groen);
    transform:scale(1.25)
}

.beoordeling {
    display:flex;
    gap:.3rem;
    margin-top:.5rem;
    flex-wrap:wrap;
    align-items:center
}

.beoordeling .tab {
    font-size:.8rem;
    padding:.3rem .6rem
}

.gps-btn {
    background:var(--wit);
    color:var(--tekst);
    border:1px solid var(--rand);
    padding:.4rem .8rem;
    border-radius:.4rem;
    cursor:pointer;
    font-weight:600;
    margin:0
}

.gps-btn.on {
    background:var(--groen);
    color:var(--wit);
    border-color:var(--groen)
}

.legenda {
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
    margin:.5rem 0 1rem;
    font-size:.9rem
}

.lg {
    font-weight:600
}

.lg-attr {
    color:var(--rood)
}

.lg-hor {
    color:#b88500
}

.lg-pln {
    color:#6c4ab0
}

.lg-mij {
    color:var(--goud)
}

.lg-me {
    color:#1976d2
}

.parkmap-wrap {
    position:relative;
    width:100%;
    max-width:1100px;
    border-radius:.8rem;
    overflow:hidden;
    box-shadow:0 6px 24px #00000026;
    background:#000;
    height:70vh
}

.parkmap-scroll {
    position:absolute;
    inset:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    cursor:grab;
    touch-action:pan-x pan-y
}

.parkmap-scroll.is-grabbing {
    cursor:grabbing
}

.parkmap-tools {
    position:absolute;
    top:.6rem;
    right:.6rem;
    z-index:30;
    display:flex;
    gap:.4rem
}

.parkmap-tools .gps-btn {
    box-shadow:0 2px 8px #0006;
    min-width:2.4rem
}

.parkmap-wrap.is-fullscreen {
    position:fixed;
    inset:0;
    max-width:none;
    height:100vh;
    width:100vw;
    border-radius:0;
    z-index:2000;
    margin:0
}

.parkmap-inner {
    position:relative;
    display:block
}

.parkmap-img {
    display:block;
    width:100%;
    height:100%;
    -webkit-user-select:none;
    user-select:none;
    -webkit-user-drag:none;
    pointer-events:none
}

.parkmap-out {
    position:absolute;
    bottom:1rem;
    left:50%;
    transform:translate(-50%);
    background:#000000b3;
    color:#fff;
    padding:.5rem 1rem;
    border-radius:.4rem;
    z-index:25
}

.pin {
    position:absolute;
    transform:translate(-50%,-50%);
    width:18px;
    height:18px;
    display:block;
    background:transparent;
    border:none;
    padding:0;
    margin:0;
    cursor:pointer;
    font:inherit;
    color:inherit;
    z-index:5
}

.pin-dot {
    width:14px;
    height:14px;
    border-radius:50%;
    border:2px solid #fff;
    box-shadow:0 2px 6px #00000080;
    display:block;
    margin:2px auto
}

.pin-attractie .pin-dot {
    background:var(--rood)
}

.pin-horeca .pin-dot {
    background:var(--goud)
}

.pin-plein .pin-dot {
    background:#6c4ab0
}

.pin-mij .pin-dot {
    width:22px;
    height:22px;
    margin:-2px auto;
    box-shadow:0 0 0 4px #d4a01766,0 2px 6px #00000080
}

.pin-me {
    width:22px;
    height:22px
}

.pin-me .pin-dot {
    background:#1976d2;
    width:18px;
    height:18px;
    box-shadow:0 0 0 6px #1976d24d,0 2px 6px #00000080
}

.pin-label {
    position:absolute;
    left:50%;
    bottom:calc(100% + 4px);
    transform:translate(-50%);
    font-size:.72rem;
    background:#fffffff5;
    color:var(--tekst);
    padding:2px 6px;
    border-radius:4px;
    white-space:nowrap;
    opacity:0;
    transition:opacity .12s;
    pointer-events:none;
    box-shadow:0 2px 6px #00000040;
    z-index:6
}

.pin:hover .pin-label,.pin:focus-visible .pin-label,.pin.is-open .pin-label,.pin-me .pin-label {
    opacity:1
}

.pin.is-open .pin-dot {
    outline:3px solid var(--goud);
    outline-offset:2px
}

.pin-hero {
    position:absolute;
    left:50%;
    bottom:calc(100% + 2px);
    transform:translate(-50%);
    width:44px;
    height:44px;
    border-radius:50% 50% 50% 0;
    rotate:-45deg;
    background:linear-gradient(135deg,#fff8ec,#fff);
    border:3px solid var(--goud);
    box-shadow:0 4px 12px #00000073,0 0 0 2px #fff6 inset;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:7;
    pointer-events:none;
    animation:pin-hero-pop .22s ease-out
}

.pin-hero-icon {
    rotate:45deg;
    font-size:1.2rem;
    line-height:1;
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))
}

.pin-attractie.is-open .pin-hero {
    border-color:var(--rood)
}

.pin-horeca.is-open .pin-hero {
    border-color:var(--goud)
}

.pin-plein.is-open .pin-hero {
    border-color:#6c4ab0
}

.pin-mij.is-open .pin-hero {
    border-color:var(--goud);
    background:linear-gradient(135deg,#fff3c4,#fff8ec)
}

@keyframes pin-hero-pop {
    0% {
        transform:translate(-50%) scale(.4);
        opacity:0
    }

    to {
        transform:translate(-50%) scale(1);
        opacity:1
    }
}

.pin.is-open .pin-label {
    bottom:calc(100% + 52px)
}

.gmap {
    width:100%;
    height:600px;
    border-radius:.8rem;
    box-shadow:0 6px 24px #00000026
}

.badge.fout {
    background:#c8102e;
    color:#fff
}

.opdracht-tekst {
    white-space:pre-wrap;
    padding:.6rem .8rem;
    background:#faf6ef;
    border-left:3px solid #c8102e;
    border-radius:.3rem;
    margin:.5rem 0
}

.vraag-tekst {
    font-weight:600;
    margin:.2rem 0 .4rem
}

.mc-rij.speler {
    cursor:pointer;
    padding:.3rem .5rem;
    border-radius:.3rem
}

.mc-rij.speler:hover {
    background:#f5efe2
}

.mc-rij.speler input[type=radio] {
    margin-right:.4rem
}

button.small.active {
    background:#2e7d32;
    color:#fff
}

.mc-rij.locked {
    opacity:.75;
    cursor:not-allowed
}

.mc-rij.locked:hover {
    background:transparent
}

.gmap-label {
    text-shadow:0 0 3px #000,0 0 3px #000,0 1px 2px #000;
    transform:translateY(-22px)
}

.loc-foto {
    width:100%;
    height:140px;
    object-fit:cover;
    border-radius:.5rem;
    margin-bottom:.5rem;
    background:#eee
}

.loc-foto.placeholder {
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:3rem;
    color:#fff
}

.loc-foto.placeholder.type-attractie {
    background:linear-gradient(135deg,#c8102e,#6c4ab0)
}

.loc-foto.placeholder.type-horeca {
    background:linear-gradient(135deg,#d4a017,#c8102e)
}

.loc-foto.placeholder.type-plein {
    background:linear-gradient(135deg,#6c4ab0,#1976d2)
}

.beschrijving {
    color:#555;
    font-size:.9rem;
    margin:.3rem 0 .6rem;
    line-height:1.4
}

.spelerlijst {
    list-style:none;
    padding:0;
    margin:.4rem 0
}

.spelerlijst li {
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:.6rem;
    align-items:center;
    padding:.35rem .5rem;
    border-bottom:1px solid #eee
}

.spelerlijst .status {
    font-size:.85rem;
    color:#666
}

.modal-backdrop {
    position:fixed;
    inset:0;
    background:#00000080;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:1000;
    padding:1rem
}

.modal {
    background:#fff;
    border-radius:.8rem;
    padding:1.2rem;
    max-width:560px;
    width:100%;
    max-height:90vh;
    overflow:auto;
    box-shadow:0 12px 40px #0000004d
}

.modal>header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:1rem;
    gap:1rem
}

.modal>header h3 {
    margin:0
}

.modal-row {
    display:flex;
    align-items:center;
    gap:.8rem;
    margin:.8rem 0
}

.modal-vragen {
    margin-top:1rem
}

.modal-vraag {
    padding:.6rem .8rem;
    background:#faf6ef;
    border-radius:.4rem;
    margin-bottom:.6rem
}

.modal-vraag p {
    margin:0 0 .4rem
}

.oordeel-knoppen {
    display:flex;
    gap:.4rem;
    align-items:center;
    flex-wrap:wrap
}

.toon-rij {
    margin:.4rem 0 .6rem
}

.toon-rij .small {
    margin-left:0
}

.loc-popup {
    display:flex;
    width:320px;
    max-width:92vw;
    background:var(--wit);
    border-radius:.6rem;
    overflow:hidden;
    border:1px solid var(--rand);
    font-family:Segoe UI,system-ui,sans-serif;
    color:var(--tekst)
}

.loc-popup .lp-img {
    position:relative;
    flex:0 0 110px;
    width:110px;
    background:linear-gradient(135deg,var(--rood),var(--rood-donker));
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden
}

.loc-popup .lp-img img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}

.loc-popup.type-horeca .lp-img {
    background:linear-gradient(135deg,var(--goud),#b88500)
}

.loc-popup.type-plein .lp-img {
    background:linear-gradient(135deg,#6c4ab0,#4a2f80)
}

.loc-popup.is-fallback .lp-img:before {
    content:attr(data-fallback-icon);
    font-size:2.4rem;
    color:#fff
}

.loc-popup .lp-ribbon {
    position:absolute;
    top:0;
    left:0;
    background:var(--goud);
    color:var(--rood-donker);
    font-size:.7rem;
    font-weight:700;
    padding:.2rem .5rem;
    border-bottom-right-radius:.4rem;
    letter-spacing:.02em;
    box-shadow:0 2px 4px #00000040;
    z-index:2
}

.loc-popup .lp-body {
    flex:1;
    padding:.6rem .8rem;
    min-width:0
}

.loc-popup .lp-title {
    margin:0 0 .3rem;
    font-size:1rem;
    color:var(--rood-donker);
    line-height:1.2
}

.loc-popup .lp-meta {
    display:flex;
    gap:.4rem;
    align-items:center;
    flex-wrap:wrap;
    margin-bottom:.4rem
}

.loc-popup .lp-rijk {
    font-size:.8rem;
    color:var(--grijs);
    font-style:italic
}

.loc-popup .lp-type {
    font-size:.7rem;
    padding:.15rem .5rem
}

.loc-popup .lp-desc {
    margin:0;
    font-size:.8rem;
    color:#333;
    line-height:1.4;
    max-height:6.5em;
    overflow:hidden
}

@media(max-width:600px) {
    .loc-popup {
        flex-direction:column;
        width:280px
    }

    .loc-popup .lp-img {
        flex:0 0 140px;
        width:100%;
        height:140px
    }

    .loc-popup .lp-desc {
        max-height:none
    }
}

.gm-style .gm-style-iw-c {
    padding:0!important;
    border-radius:.6rem!important;
    overflow:visible!important;
    max-width:none!important
}

.gm-style .gm-style-iw-d {
    overflow:hidden!important;
    padding:0!important;
    max-height:none!important
}

.gm-style .gm-style-iw-c .loc-popup {
    border:none
}

.gm-style .gm-style-iw-chr {
    position:absolute!important;
    top:0;
    right:0;
    padding:0!important;
    height:0!important
}

.gm-style .gm-ui-hover-effect {
    position:absolute!important;
    top:4px!important;
    right:4px!important;
    width:26px!important;
    height:26px!important;
    background:var(--rood)!important;
    border-radius:50%!important;
    opacity:1!important;
    z-index:5;
    box-shadow:0 2px 4px #0000004d
}

.gm-style .gm-ui-hover-effect>span {
    background-color:#fff!important;
    margin:6px!important;
    width:14px!important;
    height:14px!important
}

.parkmap-popup {
    position:absolute;
    z-index:40;
    transform:translate(-50%,calc(-100% - 60px));
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))
}

@media(max-width:600px) {
    .parkmap-popup {
        transform:translate(-50%,calc(-100% - 56px))
    }
}

.parkmap-popup .lp-close {
    position:absolute;
    top:-10px;
    right:-10px;
    width:26px;
    height:26px;
    border-radius:50%;
    background:var(--rood);
    color:#fff;
    border:2px solid #fff;
    padding:0;
    margin:0;
    cursor:pointer;
    font-size:.8rem;
    line-height:1;
    z-index:50
}

.parkmap-popup .lp-close:hover {
    background:var(--rood-donker)
}

.deelnemerlijst li {
    grid-template-columns:1fr auto auto;
    gap:1rem;
    padding:.6rem .5rem
}

@media(max-width:600px) {
    .deelnemerlijst li {
        grid-template-columns:1fr auto;
        grid-template-areas:"naam beheer" "status beheer"
    }

    .deelnemerlijst li>:nth-child(1) {
        grid-area:naam
    }

    .deelnemerlijst li>.status {
        grid-area:status
    }

    .deelnemerlijst li>button {
        grid-area:beheer;
        align-self:center
    }
}

body {
    background:radial-gradient(circle at 12% 8%,rgba(212,160,23,.1),transparent 45%),radial-gradient(circle at 88% 92%,rgba(200,16,46,.1),transparent 45%),linear-gradient(160deg,var(--creme) 0%,#fff 100%);
    background-attachment:fixed
}

.topbar {
    background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1),transparent 50%),linear-gradient(135deg,var(--rood-donker) 0%,var(--rood) 55%,#a30a25 100%);
    box-shadow:0 4px 16px #8a0a1f40
}

.topbar .brand {
    font-family:Fraunces,Georgia,Times New Roman,serif;
    font-weight:700;
    letter-spacing:.015em;
    text-shadow:0 2px 4px rgba(0,0,0,.25)
}

.topbar .brand:before {
    content:"✦ ";
    color:var(--goud)
}

.topbar .brand:after {
    content:" ✦";
    color:var(--goud)
}

h1,h2,h3,h4 {
    font-family:Fraunces,Georgia,Times New Roman,serif;
    font-weight:600;
    letter-spacing:.005em;
    font-optical-sizing:auto
}

h1 {
    text-shadow:0 1px 0 rgba(212,160,23,.25);
    font-weight:700
}

h2 {
    background:linear-gradient(90deg,transparent,rgba(212,160,23,.18),transparent);
    padding:.35rem .6rem;
    border-radius:.4rem;
    border-bottom:2px dashed var(--goud);
    font-weight:700
}

.card {
    background:linear-gradient(180deg,#fffdf7 0%,var(--wit) 100%);
    border:1px solid var(--rand);
    box-shadow:0 4px 14px #8a0a1f0f,0 1px #fff9 inset;
    position:relative
}

.card.type-attractie:after,.card.type-horeca:after,.card.type-plein:after {
    content:"";
    position:absolute;
    top:6px;
    right:10px;
    font-family:Georgia,serif;
    font-size:1.1rem;
    opacity:.35
}

.card.type-attractie:after {
    content:"🎢"
}

.card.type-horeca:after {
    content:"🍽"
}

.card.type-plein:after {
    content:"✦";
    color:var(--goud);
    opacity:.6
}

.login-card {
    background:radial-gradient(circle at 50% -20%,rgba(212,160,23,.18),transparent 60%),var(--wit);
    border:1px solid var(--rand)
}

.login-card h1:before {
    content:"🎠 "
}

button {
    box-shadow:0 2px 6px #8a0a1f40,0 1px #fff3 inset;
    transition:transform .08s ease,background .15s ease,box-shadow .15s ease
}

button:hover {
    transform:translateY(-1px);
    box-shadow:0 4px 10px #8a0a1f4d
}

button:active {
    transform:translateY(0)
}

.badge {
    background:linear-gradient(180deg,#efc24a,var(--goud));
    box-shadow:0 1px #ffffff80 inset,0 1px 3px #00000026
}

.tab {
    box-shadow:0 1px 3px #0000000f
}

.tab.active {
    box-shadow:0 2px 8px #c8102e59
}

table th {
    background:linear-gradient(180deg,var(--rood) 0%,var(--rood-donker) 100%);
    letter-spacing:.03em
}

table tr.leider {
    background:linear-gradient(90deg,#fff3c4,#fff8d8)
}

.legenda {
    background:#fff9;
    border:1px dashed var(--rand);
    padding:.5rem .8rem;
    border-radius:.5rem
}

.opdracht-tekst {
    background:linear-gradient(180deg,#fff8ec,#faf0db);
    border-left:4px solid var(--rood);
    box-shadow:0 1px 2px #0000000a
}

.setting-toggle {
    display:flex;
    align-items:center;
    gap:1rem;
    padding:1rem 1.1rem;
    border-radius:.8rem;
    background:linear-gradient(135deg,#fff8ec,#ffe9c8);
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 2px 6px #0000000d;
    cursor:pointer;
    -webkit-user-select:none;
    user-select:none;
    transition:box-shadow .15s ease,transform .15s ease
}

.setting-toggle:hover {
    box-shadow:0 4px 14px #0000001a
}

.setting-toggle input[type=checkbox] {
    position:absolute;
    opacity:0;
    width:0;
    height:0;
    pointer-events:none
}

.setting-switch {
    position:relative;
    flex-shrink:0;
    width:52px;
    height:30px;
    border-radius:999px;
    background:#cbd0d6;
    transition:background .2s ease;
    box-shadow:inset 0 1px 3px #0003
}

.setting-knob {
    position:absolute;
    top:3px;
    left:3px;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 4px #0000004d;
    transition:left .2s ease
}

.setting-toggle input:checked+.setting-switch {
    background:linear-gradient(135deg,var(--groen, #2e8b3a),#4caf50)
}

.setting-toggle input:checked+.setting-switch .setting-knob {
    left:25px
}

.setting-toggle input:focus-visible+.setting-switch {
    outline:2px solid var(--rood);
    outline-offset:2px
}

.setting-text {
    display:flex;
    flex-direction:column;
    gap:.15rem
}

.setting-text small {
    color:#6b5d4a;
    font-size:.85rem
}

/* ==========================================================
   Efteling Speurtocht - template pop-up fix
   ----------------------------------------------------------
   Bootstrap/thema CSS gebruikt ook .modal en kan deze op
   display:none zetten. Deze regels zijn bewust gescoped op
   de Efteling-template, zodat normale WordPress/Bootstrap
   modals op andere pagina's niet worden geraakt.
   ========================================================== */

body.efteling-speurtocht-template .modal-backdrop,
body.no-theme-header-footer .modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.5) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 999999 !important;
    padding: 1rem !important;
    overflow-y: auto !important;
}

body.efteling-speurtocht-template .modal,
body.no-theme-header-footer .modal {
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: 560px !important;
    max-height: 90vh !important;
    overflow: auto !important;
    background: #fff !important;
    border-radius: 0.8rem !important;
    padding: 1.2rem !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3) !important;
    outline: none !important;
    pointer-events: auto !important;
}

body.efteling-speurtocht-template .modal > header,
body.no-theme-header-footer .modal > header {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 1rem !important;
    gap: 1rem !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.efteling-speurtocht-template .modal > header h3,
body.no-theme-header-footer .modal > header h3 {
    margin: 0 !important;
}

/* =========================================================
   Efteling JSON kaart-editor
   ========================================================= */
.eft-json-original-hidden {
    display: none !important;
}

.eft-json-card-editor {
    padding: 1.4rem;
    background:
        radial-gradient(circle at 15% -10%, rgba(212, 160, 23, .22), transparent 42%),
        linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
    border: 1px solid var(--rand);
    box-shadow: 0 10px 28px rgba(138, 10, 31, .12), 0 1px rgba(255, 255, 255, .9) inset;
}

.eft-json-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.eft-json-header h2,
.eft-points-card h3,
.eft-location-card h3 {
    margin: 0;
}

.eft-json-eyebrow {
    margin: 0 0 .25rem;
    color: var(--goud);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .74rem;
}

.eft-json-header-actions {
    display: flex;
    align-items: center;
    gap: .8rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.eft-json-status {
    display: inline-flex;
    min-height: 1.4rem;
    align-items: center;
    color: var(--grijs);
    font-size: .9rem;
    font-weight: 700;
}

.eft-json-status[data-type="success"] {
    color: var(--groen);
}

.eft-json-status[data-type="error"] {
    color: var(--rood-donker);
}

.eft-json-status[data-type="saving"] {
    color: var(--goud);
}

.eft-points-card {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.4fr) auto;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1.4rem;
    padding: 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(212, 160, 23, .42);
    background: linear-gradient(135deg, #fff8ec 0%, #fff 100%);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
}

.eft-points-copy p {
    margin: .35rem 0 0;
    color: var(--grijs);
}

.eft-points-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.eft-point-field,
.eft-form-field {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    font-weight: 800;
    color: var(--rood-donker);
}

.eft-point-field input,
.eft-form-field input,
.eft-form-field select,
.eft-form-field textarea {
    width: 100%;
    min-height: 42px;
    padding: .6rem .75rem;
    border: 1px solid var(--rand);
    border-radius: .55rem;
    background: #fffdf8;
    color: var(--tekst);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04) inset;
}

.eft-form-field textarea {
    resize: vertical;
    min-height: 86px;
}

.eft-point-field input:focus,
.eft-form-field input:focus,
.eft-form-field select:focus,
.eft-form-field textarea:focus {
    outline: 2px solid rgba(212, 160, 23, .6);
    border-color: var(--goud);
}

.eft-location-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.1rem;
}

.eft-location-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    border-radius: 1.05rem;
    background: #fff;
    border: 2px solid rgba(212, 160, 23, .42);
    box-shadow: 0 12px 25px rgba(42, 26, 13, .13);
    transition: transform .16s ease, box-shadow .16s ease;
}

.eft-location-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 34px rgba(42, 26, 13, .18);
}

.eft-location-card::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(212, 160, 23, .35);
    border-radius: .78rem;
    pointer-events: none;
    z-index: 3;
}

.eft-location-card::after {
    content: "✦";
    position: absolute;
    top: .65rem;
    right: .75rem;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 248, 236, .94);
    color: var(--goud);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
    z-index: 4;
}

.eft-location-image {
    position: relative;
    height: 180px;
    background: linear-gradient(135deg, var(--rood-donker), var(--rood));
    overflow: hidden;
}

.eft-location-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .28s ease;
}

.eft-location-card:hover .eft-location-image img {
    transform: scale(1.04);
}

.eft-card-image-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 4rem;
    background: radial-gradient(circle at 40% 30%, rgba(255, 255, 255, .28), transparent 36%), linear-gradient(135deg, var(--rood), var(--rood-donker));
}

.eft-type-horeca .eft-card-image-fallback {
    background: radial-gradient(circle at 40% 30%, rgba(255, 255, 255, .28), transparent 36%), linear-gradient(135deg, var(--goud), #b88500);
}

.eft-type-plein .eft-card-image-fallback {
    background: radial-gradient(circle at 40% 30%, rgba(255, 255, 255, .28), transparent 36%), linear-gradient(135deg, #6c4ab0, #4a2f80);
}

.eft-location-content {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    flex: 1;
    padding: 1rem;
    background: linear-gradient(180deg, #fffdf7, #ffffff);
}

.eft-location-heading {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
}

.eft-location-card h3 {
    color: var(--rood-donker);
    font-size: 1.25rem;
    line-height: 1.15;
}

.eft-location-badges {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
    margin-top: .45rem;
}

.eft-rijk-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: .18rem .55rem;
    border-radius: 999px;
    background: #fff8ec;
    color: var(--rood-donker);
    border: 1px solid var(--rand);
    font-weight: 800;
    font-size: .78rem;
}

.eft-location-desc {
    margin: 0;
    color: #4d3d2c;
    line-height: 1.45;
    min-height: 3.8em;
}

.eft-location-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    margin: .15rem 0 0;
}

.eft-location-meta div {
    padding: .45rem .55rem;
    border-radius: .5rem;
    background: #faf3e6;
    border: 1px solid rgba(233, 216, 185, .8);
}

.eft-location-meta dt {
    margin: 0;
    color: var(--grijs);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.eft-location-meta dd {
    margin: .12rem 0 0;
    color: var(--tekst);
    font-weight: 800;
    font-size: .85rem;
    word-break: break-word;
}

.eft-card-button {
    align-self: flex-start;
    margin-top: auto;
    background: var(--rood);
}

.eft-card-button::after {
    content: " →";
}

.eft-json-modal-backdrop {
    z-index: 999999 !important;
}

.eft-json-modal {
    max-width: 760px !important;
    border: 2px solid var(--goud) !important;
    background: radial-gradient(circle at 12% -10%, rgba(212, 160, 23, .16), transparent 36%), #fff !important;
}

.eft-json-modal > header {
    border-bottom: 1px dashed var(--rand);
    padding-bottom: .8rem;
}

.eft-json-modal > header h3 {
    color: var(--rood-donker);
}

.eft-location-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.eft-form-field-full,
.eft-location-form .eft-modal-actions {
    grid-column: 1 / -1;
}

.eft-form-grid-2 {
    display: contents;
}

.eft-modal-actions {
    display: flex;
    align-items: center;
    gap: .7rem;
    flex-wrap: wrap;
    margin-top: .35rem;
    border-top: 1px dashed var(--rand);
    padding-top: .85rem;
}

.eft-modal-close {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 1.3rem !important;
    line-height: 1 !important;
}

@media (max-width: 900px) {
    .eft-json-header,
    .eft-points-card {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .eft-json-header-actions {
        justify-content: flex-start;
    }

    .eft-points-fields {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .eft-json-card-editor {
        padding: 1rem;
    }

    .eft-location-grid {
        grid-template-columns: 1fr;
    }

    .eft-location-form {
        grid-template-columns: 1fr;
    }

    .eft-location-image {
        height: 160px;
    }
}
