@layer reset{*{box-sizing:border-box;margin:0;padding:0}:before,:after{box-sizing:border-box}}@layer base{body{font:var(--font-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}p.lead{font:var(--font-lead)}figcaption,.caption{font:var(--font-caption)}.text-small{font:var(--font-small)}.text-display{font:var(--font-display);font-weight:700}.text-bold{font-weight:700}.text-muted{color:var(--color-text-muted)}.app{min-height:100dvh}.site-footer{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-muted);font:var(--font-small)}}@layer layout{.grid{grid-template-columns:minmax(var(--margin), 1fr) minmax(0, var(--content-width)) minmax(var(--margin), 1fr);display:grid}.grid>*{grid-column:2}.grid>.full-bleed{grid-column:1/-1}}@layer components{@scope(.btn){:scope{justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}:scope.pill{border-radius:999px}:scope.rounded{border-radius:var(--radius-sm)}:scope.sm{height:var(--space-8);padding-inline:var(--space-3);font-size:var(--text-xs)}:scope.md{height:var(--space-10);padding-inline:var(--space-4);font-size:var(--text-sm)}:scope.lg{height:var(--space-12);padding-inline:var(--space-5);font-size:var(--text-base)}:scope.icon{aspect-ratio:1;padding:0}:scope:has(svg:only-child){aspect-ratio:1;padding:0}:scope.primary{background:var(--color-accent);color:oklch(15% .02 60);border-color:var(--color-accent)}:scope.primary:hover{filter:brightness(1.1)}:scope.primary:active{filter:brightness(.95)}:scope.primary:disabled,:scope.primary[aria-disabled=true]{opacity:.4;cursor:not-allowed;filter:none}:scope.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}:scope.secondary:hover{background:color-mix(in srgb, var(--color-surface), var(--color-text) 5%)}:scope.secondary:active{background:var(--color-elevated)}:scope.secondary:disabled,:scope.secondary[aria-disabled=true]{opacity:.4;cursor:not-allowed}:scope.ghost{color:var(--color-text);background:0 0;border-color:#0000}:scope.ghost:hover{background:color-mix(in srgb, var(--color-surface), var(--color-text) 5%)}:scope.ghost:active{background:var(--color-border)}:scope.ghost:disabled,:scope.ghost[aria-disabled=true]{opacity:.4;cursor:not-allowed}:scope.frosted{background:color-mix(in srgb, var(--zinc-50) 15%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-text);border:none}:scope.frosted:hover{background:color-mix(in srgb, var(--zinc-50) 25%, transparent)}:scope.frosted:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (prefers-color-scheme:light){:scope.frosted{background:color-mix(in srgb, var(--zinc-100) 75%, transparent)}:scope.frosted:hover{background:color-mix(in srgb, var(--zinc-100) 90%, transparent)}}:scope.frosted-dark{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:oklch(0% 0 0/.5);border:none}:scope.frosted-dark:hover{background:oklch(0% 0 0/.65)}:scope.frosted-dark:focus-visible{box-shadow:var(--focus-ring);outline:none}:scope.destructive{color:var(--color-destructive);border-color:color-mix(in srgb, var(--color-destructive) 40%, transparent);background:0 0}:scope.destructive:hover{background:var(--color-destructive);color:oklch(98% 0 0)}:scope.destructive:active{filter:brightness(.95)}:scope.destructive:disabled,:scope.destructive[aria-disabled=true]{opacity:.4;cursor:not-allowed;filter:none}:scope:focus-visible{box-shadow:var(--focus-ring);outline:none}}@scope(.field){:scope{gap:var(--space-2);flex-direction:column;display:flex}.label{color:var(--color-text);font-weight:500}.hint{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.4}.error{font-size:var(--text-xs);color:var(--color-destructive);line-height:1.4}}@scope(.input){:scope{width:100%;height:40px;padding:0 var(--space-3);background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-base);font-family:var(--font-sans);box-sizing:border-box;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);line-height:1.5;display:block}:scope::placeholder{color:var(--color-text-muted);opacity:.6}:scope:hover{border-color:var(--color-input-border-hover)}:scope:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px oklch(from var(--color-accent) l c h / .25);outline:none}:scope:disabled,:scope[aria-disabled=true]{opacity:.5;cursor:not-allowed;background:var(--color-bg)}:scope.error{border-color:var(--color-destructive)}:scope.error:focus{border-color:var(--color-destructive);box-shadow:0 0 0 3px oklch(from var(--color-destructive) l c h / .25)}:scope.pill{border-radius:999px}:scope.sm{height:var(--space-8);padding-inline:var(--space-3);font-size:var(--text-sm)}:scope.md{height:var(--space-10);padding-inline:var(--space-4)}:scope.lg{height:var(--space-12);padding-inline:var(--space-5)}:scope.textarea{height:auto;min-height:6rem;padding-block:var(--space-2);resize:vertical}:scope.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888'%3E%3Cpath d='M6 8.5L1.5 4h9z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}}@media (prefers-color-scheme:dark){.btn.primary{color:var(--color-bg)}}@scope(.checkbox){:scope{align-items:center;gap:var(--space-3);cursor:pointer;display:flex}input[type=checkbox]{appearance:none;border:1.5px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface);width:1.125rem;height:1.125rem;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);flex-shrink:0}input[type=checkbox]:hover{border-color:var(--color-text-muted)}input[type=checkbox]:checked{background:var(--color-accent);border-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23000'%3E%3Cpath d='M10 3.5L4.7 9 2 6.3l1-1L4.7 7l4.3-4.5z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat}input[type=checkbox]:focus-visible{box-shadow:var(--focus-ring);outline:none}input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}.label{font-size:var(--text-sm);color:var(--color-text)}}@scope(.radio){:scope{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}input[type=radio]{appearance:none;border:1.5px solid var(--color-border);background:var(--color-surface);width:1rem;height:1rem;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);border-radius:50%;flex-shrink:0}input[type=radio]:hover{border-color:var(--color-text-muted)}input[type=radio]:checked{border-color:var(--color-accent);background:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Ccircle cx='4' cy='4' r='4' fill='%23000'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat}input[type=radio]:focus-visible{box-shadow:var(--focus-ring);outline:none}input[type=radio]:disabled{opacity:.4;cursor:not-allowed}.label{font-size:var(--text-sm);color:var(--color-text)}}@scope(.radio-group){:scope{gap:var(--space-2);flex-direction:column;display:flex}:scope.row{gap:var(--space-4);flex-direction:row}}.form-row{gap:var(--space-4);display:flex}.form-row>*{flex:1}@scope(.form-actions){:scope{gap:var(--space-3);padding-top:var(--space-8);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.spacer{flex:1}}@scope(.form-section){:scope{gap:var(--space-6);flex-direction:column;display:flex}:scope+.form-section{padding-top:var(--space-8);margin-top:var(--space-8);border-top:1px solid var(--color-border)}.title{font:var(--font-heading-2);margin-bottom:var(--space-1);font-weight:600}.description{font:var(--font-small);color:var(--color-text-muted);margin-bottom:var(--space-6)}.fields{gap:var(--space-4);flex-direction:column;display:flex}}@scope(.badge){:scope{align-items:center;gap:var(--space-1);font-size:var(--text-xs);text-transform:capitalize;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:500;line-height:1;display:inline-flex}:scope.default{background:var(--color-bg-invert);color:var(--color-bg)}:scope.success{background:color-mix(in srgb, var(--color-success) 12%, transparent);color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 30%, transparent)}:scope.warning{background:color-mix(in srgb, var(--color-warning) 12%, transparent);color:var(--color-warning);border-color:color-mix(in srgb, var(--color-warning) 30%, transparent)}:scope.accent{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 30%, transparent)}:scope.destructive{background:color-mix(in srgb, var(--color-destructive) 12%, transparent);color:var(--color-destructive);border-color:color-mix(in srgb, var(--color-destructive) 30%, transparent)}:scope.sm{padding:2px var(--space-1);font-size:10px}.dot{background:currentColor;border-radius:50%;width:6px;height:6px}}}@layer utilities{.cq{container-type:inline-size}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.mb-2{margin-bottom:var(--space-2)}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mt-4{margin-top:var(--space-4)}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}}:root{--zinc-50:oklch(98.5% 0 0);--zinc-100:oklch(96.7% .001 286.375);--zinc-200:oklch(92% .004 286.32);--zinc-300:oklch(87.1% .006 286.286);--zinc-400:oklch(70.5% .015 286.067);--zinc-500:oklch(55.2% .016 285.938);--zinc-600:oklch(44.2% .017 285.786);--zinc-700:oklch(37% .013 285.805);--zinc-800:oklch(27.4% .006 286.033);--zinc-900:oklch(21% .006 285.885);--zinc-950:oklch(14.1% .005 285.823);--red-50:oklch(97.1% .013 17.38);--red-100:oklch(93.6% .032 17.717);--red-200:oklch(88.5% .062 18.334);--red-300:oklch(80.8% .114 19.571);--red-400:oklch(70.4% .191 22.216);--red-500:oklch(63.7% .237 25.331);--red-600:oklch(57.7% .245 27.325);--red-700:oklch(50.5% .213 27.518);--red-800:oklch(44.4% .177 26.899);--red-900:oklch(39.6% .141 25.723);--red-950:oklch(25.8% .092 26.042);--orange-50:oklch(98% .016 73.684);--orange-100:oklch(95.4% .038 75.164);--orange-200:oklch(90.1% .076 70.697);--orange-300:oklch(83.7% .128 66.29);--orange-400:oklch(75% .183 55.934);--orange-500:oklch(70.5% .213 47.604);--orange-600:oklch(64.6% .222 41.116);--orange-700:oklch(55.3% .195 38.402);--orange-800:oklch(47% .157 37.304);--orange-900:oklch(40.8% .123 38.172);--orange-950:oklch(26.6% .079 36.259);--amber-50:oklch(98.7% .022 95.277);--amber-100:oklch(96.2% .059 95.617);--amber-200:oklch(92.4% .12 95.746);--amber-300:oklch(87.9% .169 91.605);--amber-400:oklch(82.8% .189 84.429);--amber-500:oklch(76.9% .188 70.08);--amber-600:oklch(66.6% .179 58.318);--amber-700:oklch(55.5% .163 48.998);--amber-800:oklch(47.3% .137 46.201);--amber-900:oklch(41.4% .112 45.904);--amber-950:oklch(27.9% .077 45.635);--emerald-50:oklch(97.9% .021 166.113);--emerald-100:oklch(95% .052 163.051);--emerald-200:oklch(90.5% .093 164.15);--emerald-300:oklch(84.5% .143 164.978);--emerald-400:oklch(76.5% .177 163.223);--emerald-500:oklch(69.6% .17 162.48);--emerald-600:oklch(59.6% .145 163.225);--emerald-700:oklch(50.8% .118 165.612);--emerald-800:oklch(43.2% .095 166.913);--emerald-900:oklch(37.8% .077 168.94);--emerald-950:oklch(26.2% .051 172.552);--color-bg:var(--zinc-950);--color-bg-invert:var(--zinc-300);--color-surface:var(--zinc-900);--color-border:var(--zinc-800);--color-overlay:color-mix(in oklch, var(--zinc-50) 25%, transparent);--color-elevated:var(--zinc-700);--color-text:var(--zinc-50);--color-text-muted:var(--zinc-400);--color-accent:var(--amber-400);--color-error:var(--red-400);--font-sans:"Inter", system-ui, sans-serif;font-feature-settings:"liga" 1, "calt" 1;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-4xl:1.875rem;--text-6xl:2.5rem;--font-caption:var(--text-xs) / 1.5 var(--font-sans);--font-small:var(--text-sm) / 1.5 var(--font-sans);--font-body:var(--text-base) / 1.6 var(--font-sans);--font-lead:var(--text-lg) / 1.6 var(--font-sans);--font-heading-3:var(--text-xl) / 1.3 var(--font-sans);--font-heading-2:var(--text-2xl) / 1.3 var(--font-sans);--font-heading-1:var(--text-4xl) / 1.2 var(--font-sans);--font-display:var(--text-6xl) / 1.1 var(--font-sans);--space-025:.0625rem;--space-05:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--space-36:9rem;--space-40:10rem;--space-44:11rem;--space-48:12rem;--space-52:13rem;--space-56:14rem;--space-60:15rem;--space-64:16rem;--space-n1:-.25rem;--space-n2:-.5rem;--space-n3:-.75rem;--space-n4:-1rem;--space-n5:-1.25rem;--space-n6:-1.5rem;--space-n7:-1.75rem;--space-n8:-2rem;--space-n10:-2.5rem;--space-n12:-3rem;--space-n16:-4rem;--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-4);--space-lg:var(--space-6);--space-xl:var(--space-8);--space-2xl:var(--space-12);--space-3xl:var(--space-16);--space-4xl:var(--space-24);--content-width:860px;--margin:clamp(1rem, 5vw, 4rem);--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.25rem;--duration-fast:.1s;--duration-base:.18s;--duration-slow:.3s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--focus-ring:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-accent);--focus-ring-offset:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-text-muted);--color-success:var(--emerald-400);--color-warning:var(--orange-400);--color-destructive:var(--red-500);--color-focus:var(--color-accent);--color-hover-overlay:oklch(0% 0 0/.08);--color-input-bg:var(--zinc-900);--color-input-border:var(--zinc-700);--color-input-border-hover:var(--zinc-600);--shadow-sm:0 1px 2px oklch(0% 0 0/.12);--shadow-md:0 2px 8px oklch(0% 0 0/.16);--shadow-lg:0 8px 24px oklch(0% 0 0/.2);--admin-sidebar-width:240px;--admin-header-height:56px;--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}@media (prefers-color-scheme:light){:root{--color-bg:var(--zinc-50);--color-bg-invert:var(--zinc-800);--color-surface:var(--zinc-100);--color-border:var(--zinc-200);--color-overlay:color-mix(in oklch, var(--zinc-950) 40%, transparent);--color-elevated:var(--zinc-200);--color-text:var(--zinc-950);--color-text-muted:var(--zinc-500);--color-accent:var(--amber-400);--color-error:var(--red-600);--color-success:var(--emerald-600);--color-warning:var(--orange-600);--color-destructive:var(--red-700);--color-input-bg:var(--zinc-50);--color-input-border:var(--zinc-300);--color-input-border-hover:var(--zinc-400);--focus-ring:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-accent);--focus-ring-offset:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-text-muted);--shadow-sm:0 1px 2px oklch(0% 0 0/.06);--shadow-md:0 2px 8px oklch(0% 0 0/.08);--shadow-lg:0 8px 24px oklch(0% 0 0/.1)}@supports (font-variation-settings:normal){:root{--font-sans:"InterVariable", "Inter", system-ui, sans-serif}}}
