:focus{outline:none}:focus-visible,button:focus-visible,a:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=link]:focus-visible,[role=menuitem]:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}:root,[data-theme=light]{--bg:oklch(98.6% .004 250);--surface:#fff;--surface-raised:oklch(98.2% .004 250);--surface-sunken:oklch(95.8% .006 250);--surface-input:oklch(97.5% .005 250);--surface-hover:oklch(95% .006 250);--border-subtle:oklch(93% .008 250);--border:oklch(88% .01 250);--border-strong:oklch(80% .012 250);--text:oklch(20% .012 252);--text-muted:oklch(48% .012 252);--text-subtle:oklch(62% .008 252);--text-faint:oklch(76% .006 252);--text-on-accent:#fff;--accent:oklch(58% .18 252);--accent-hover:oklch(53% .19 252);--accent-soft:oklch(94% .04 252);--accent-soft-fg:oklch(40% .18 252);--accent-fg:oklch(58% .18 252);--accent-ring:oklch(58% .18 252/.3);--success:oklch(58% .14 152);--success-soft:oklch(94% .04 152);--success-soft-fg:oklch(40% .14 152);--warning:oklch(70% .15 75);--warning-soft:oklch(94% .04 75);--warning-soft-fg:oklch(45% .15 75);--danger:oklch(60% .2 24);--danger-soft:oklch(94% .04 24);--danger-soft-fg:oklch(42% .2 24);--info:oklch(62% .14 230);--info-soft:oklch(94% .04 230);--info-soft-fg:oklch(42% .14 230);--shadow-xs:0 1px 0 oklch(0% 0 0/.04);--shadow-sm:0 1px 2px oklch(0% 0 0/.05), 0 0 0 .5px oklch(0% 0 0/.04);--shadow-md:0 4px 12px oklch(0% 0 0/.06), 0 0 0 .5px oklch(0% 0 0/.04);--shadow-lg:0 12px 32px oklch(0% 0 0/.1), 0 0 0 .5px oklch(0% 0 0/.05);--shadow-xl:0 24px 64px oklch(0% 0 0/.18), 0 0 0 .5px oklch(0% 0 0/.05)}[data-theme=dark]{--bg:oklch(15% .012 250);--surface:oklch(19% .012 250);--surface-raised:oklch(22% .012 250);--surface-sunken:oklch(17% .012 250);--surface-input:oklch(20% .012 250);--surface-hover:oklch(25% .014 250);--border-subtle:oklch(25% .012 250);--border:oklch(32% .014 250);--border-strong:oklch(42% .016 250);--text:oklch(94% .005 250);--text-muted:oklch(74% .008 250);--text-subtle:oklch(60% .008 250);--text-faint:oklch(46% .008 250);--text-on-accent:#fff;--accent:oklch(64% .14 252);--accent-hover:oklch(70% .14 252);--accent-soft:oklch(28% .05 252);--accent-soft-fg:oklch(78% .12 252);--accent-fg:oklch(72% .14 252);--accent-ring:oklch(64% .14 252/.35);--success:oklch(66% .12 152);--success-soft:oklch(28% .04 152);--success-soft-fg:oklch(78% .12 152);--warning:oklch(76% .13 75);--warning-soft:oklch(28% .04 75);--warning-soft-fg:oklch(82% .13 75);--danger:oklch(66% .17 24);--danger-soft:oklch(28% .05 24);--danger-soft-fg:oklch(78% .17 24);--info:oklch(68% .12 230);--info-soft:oklch(28% .04 230);--info-soft-fg:oklch(78% .12 230);--shadow-xs:0 1px 0 oklch(0% 0 0/.4);--shadow-sm:0 1px 2px oklch(0% 0 0/.4), 0 0 0 .5px oklch(100% 0 0/.04);--shadow-md:0 4px 12px oklch(0% 0 0/.45), 0 0 0 .5px oklch(100% 0 0/.05);--shadow-lg:0 12px 32px oklch(0% 0 0/.55), 0 0 0 .5px oklch(100% 0 0/.06);--shadow-xl:0 24px 64px oklch(0% 0 0/.65), 0 0 0 .5px oklch(100% 0 0/.08)}[data-accent=ember]{--accent:oklch(64% .18 35);--accent-hover:oklch(59% .19 35);--accent-soft:oklch(94% .04 35);--accent-soft-fg:oklch(45% .18 35);--accent-fg:oklch(60% .18 35);--accent-ring:oklch(64% .18 35/.3)}[data-theme=dark][data-accent=ember]{--accent:oklch(70% .14 35);--accent-hover:oklch(75% .14 35);--accent-soft:oklch(28% .05 35);--accent-soft-fg:oklch(80% .14 35);--accent-fg:oklch(76% .14 35);--accent-ring:oklch(70% .14 35/.35)}[data-accent=pine]{--accent:oklch(50% .13 165);--accent-hover:oklch(45% .14 165);--accent-soft:oklch(94% .04 165);--accent-soft-fg:oklch(36% .13 165);--accent-fg:oklch(48% .13 165);--accent-ring:oklch(50% .13 165/.3)}[data-theme=dark][data-accent=pine]{--accent:oklch(62% .11 165);--accent-hover:oklch(68% .11 165);--accent-soft:oklch(26% .04 165);--accent-soft-fg:oklch(76% .11 165);--accent-fg:oklch(70% .11 165);--accent-ring:oklch(62% .11 165/.35)}[data-accent=plum]{--accent:oklch(54% .16 320);--accent-hover:oklch(48% .17 320);--accent-soft:oklch(94% .04 320);--accent-soft-fg:oklch(40% .17 320);--accent-fg:oklch(54% .16 320);--accent-ring:oklch(54% .16 320/.3)}[data-theme=dark][data-accent=plum]{--accent:oklch(64% .13 320);--accent-hover:oklch(70% .13 320);--accent-soft:oklch(28% .05 320);--accent-soft-fg:oklch(78% .13 320);--accent-fg:oklch(74% .13 320);--accent-ring:oklch(64% .13 320/.35)}[data-density=comfortable],:root{--row-h:44px;--row-pad-x:16px;--cell-pad-y:12px;--gap-tile:16px;--gap-section:32px;--card-pad:20px;--font-body:14px}[data-density=compact]{--row-h:32px;--row-pad-x:12px;--cell-pad-y:6px;--gap-tile:10px;--gap-section:20px;--card-pad:14px;--font-body:13px}html,body{background:var(--bg);color:var(--text);font-family:Geist,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--font-body);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,kbd,samp,pre,.font-mono{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace}.tabular-nums,.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.focus-ring:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 2px var(--accent-ring);outline:none}@keyframes atelier-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--surface-sunken) 0%, var(--surface-hover) 50%, var(--surface-sunken) 100%);background-size:200% 100%;border-radius:8px;animation:1.4s linear infinite atelier-shimmer}@keyframes atelier-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes atelier-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.atelier-fade-in{animation:.2s ease-out atelier-fade-in}.atelier-scale-in{animation:.2s ease-out atelier-scale-in}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}
