@charset "UTF-8";.df-root{--df-text: var(--color-text);--df-text-muted: var(--color-text-muted);--df-primary-text: var(--color-primary-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--text-base--line-height);font-weight:var(--font-weight-regular);color:var(--color-text);background:var(--surface-page, var(--color-bg))}@keyframes df-aurora{0%{background-position:0% 50%}to{background-position:100% 50%}}@media(prefers-reduced-motion:no-preference){.df-root{animation:var(--surface-page-animation, none)}}.df-preview{container:df / inline-size}.df-root,.df-root *,.df-root *:before,.df-root *:after{box-sizing:border-box}.df-h1,.df-h2,.df-h3,.df-h4{margin:0;font-family:var(--font-heading);font-weight:var(--font-weight-strong);color:var(--color-text)}.df-h1{font-size:var(--text-3xl);line-height:var(--text-3xl--line-height)}.df-h2{font-size:var(--text-2xl);line-height:var(--text-2xl--line-height)}.df-h3{font-size:var(--text-xl);line-height:var(--text-xl--line-height)}.df-h4{font-size:var(--text-lg);line-height:var(--text-lg--line-height)}.df-text{margin:0}.df-text--muted{color:var(--color-text-muted)}.df-text--sm{font-size:var(--text-sm);line-height:var(--text-sm--line-height)}.df-link{color:var(--color-primary-text);text-decoration:underline;text-underline-offset:2px}.df-link:hover,.df-link.is-hover{text-decoration-thickness:2px}.df-link:focus-visible,.df-link.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.df-stack{display:flex;flex-direction:column;gap:var(--space-4)}.df-stack--sm{gap:var(--space-2)}.df-container{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.df-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.df-row--between{justify-content:space-between}.df-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--space-20) * 3)),1fr));gap:var(--space-4)}.df-stack--lg{gap:var(--space-6)}.df-stack--align-start{align-items:flex-start}.df-stack--align-center{align-items:center}.df-stack--align-end{align-items:flex-end}.df-row--sm{gap:var(--space-2)}.df-row--lg{gap:var(--space-6)}.df-row--align-start{align-items:flex-start}.df-row--align-end{align-items:flex-end}.df-row--align-stretch{align-items:stretch}.df-row--justify-center{justify-content:center}.df-row--justify-end{justify-content:flex-end}.df-row--nowrap{flex-wrap:nowrap}.df-grid--sm{gap:var(--space-2)}.df-grid--lg{gap:var(--space-6)}.df-grid--12{grid-template-columns:repeat(12,minmax(0,1fr))}.df-grid--12>*{min-width:0}.df-col--1{grid-column:span 1}.df-col--2{grid-column:span 2}.df-col--3{grid-column:span 3}.df-col--4{grid-column:span 4}.df-col--5{grid-column:span 5}.df-col--6{grid-column:span 6}.df-col--7{grid-column:span 7}.df-col--8{grid-column:span 8}.df-col--9{grid-column:span 9}.df-col--10{grid-column:span 10}.df-col--11{grid-column:span 11}.df-col--12{grid-column:span 12}@media(max-width:64rem){.df-col-md--1{grid-column:span 1}.df-col-md--2{grid-column:span 2}.df-col-md--3{grid-column:span 3}.df-col-md--4{grid-column:span 4}.df-col-md--5{grid-column:span 5}.df-col-md--6{grid-column:span 6}.df-col-md--7{grid-column:span 7}.df-col-md--8{grid-column:span 8}.df-col-md--9{grid-column:span 9}.df-col-md--10{grid-column:span 10}.df-col-md--11{grid-column:span 11}.df-col-md--12{grid-column:span 12}.df-shell.df-collapsible.df-menu-at-tablet .df-fold{display:none}.df-shell.df-collapsible.df-menu-at-tablet .df-sidebar{width:auto}.df-shell.df-collapsible.df-menu-at-tablet .df-brand{display:block}.df-shell.df-collapsible.df-menu-at-tablet .df-sidebar>.df-langs{display:flex}.df-shell.df-collapsible.df-menu-at-tablet .df-sidebar>.df-button{display:inline-flex}.df-shell.df-collapsible.df-menu-at-tablet .df-nav__item{padding:var(--space-2) var(--space-3);text-align:inherit}.df-shell.df-collapsible.df-menu-at-tablet .df-nav__initial{display:none}.df-shell.df-collapsible.df-menu-at-tablet .df-nav__label{position:relative;width:auto;height:auto;overflow:visible;clip-path:none}}@container df (max-width: 64rem){.df-col-md--1{grid-column:span 1}.df-col-md--2{grid-column:span 2}.df-col-md--3{grid-column:span 3}.df-col-md--4{grid-column:span 4}.df-col-md--5{grid-column:span 5}.df-col-md--6{grid-column:span 6}.df-col-md--7{grid-column:span 7}.df-col-md--8{grid-column:span 8}.df-col-md--9{grid-column:span 9}.df-col-md--10{grid-column:span 10}.df-col-md--11{grid-column:span 11}.df-col-md--12{grid-column:span 12}.df-shell.df-collapsible.df-menu-at-tablet .df-fold{display:none}.df-shell.df-collapsible.df-menu-at-tablet .df-sidebar{width:auto}.df-shell.df-collapsible.df-menu-at-tablet .df-brand{display:block}.df-shell.df-collapsible.df-menu-at-tablet .df-sidebar>.df-langs{display:flex}.df-shell.df-collapsible.df-menu-at-tablet .df-sidebar>.df-button{display:inline-flex}.df-shell.df-collapsible.df-menu-at-tablet .df-nav__item{padding:var(--space-2) var(--space-3);text-align:inherit}.df-shell.df-collapsible.df-menu-at-tablet .df-nav__initial{display:none}.df-shell.df-collapsible.df-menu-at-tablet .df-nav__label{position:relative;width:auto;height:auto;overflow:visible;clip-path:none}}@media(max-width:40rem){.df-grid--12>*{grid-column:1 / -1}.df-col-sm--1{grid-column:span 1}.df-col-sm--2{grid-column:span 2}.df-col-sm--3{grid-column:span 3}.df-col-sm--4{grid-column:span 4}.df-col-sm--5{grid-column:span 5}.df-col-sm--6{grid-column:span 6}.df-col-sm--7{grid-column:span 7}.df-col-sm--8{grid-column:span 8}.df-col-sm--9{grid-column:span 9}.df-col-sm--10{grid-column:span 10}.df-col-sm--11{grid-column:span 11}.df-col-sm--12{grid-column:span 12}.df-shell.df-collapsible:not(.df-menu-at-never) .df-fold{display:none}.df-shell.df-collapsible:not(.df-menu-at-never) .df-sidebar{width:auto}.df-shell.df-collapsible:not(.df-menu-at-never) .df-brand{display:block}.df-shell.df-collapsible:not(.df-menu-at-never) .df-sidebar>.df-langs{display:flex}.df-shell.df-collapsible:not(.df-menu-at-never) .df-sidebar>.df-button{display:inline-flex}.df-shell.df-collapsible:not(.df-menu-at-never) .df-nav__item{padding:var(--space-2) var(--space-3);text-align:inherit}.df-shell.df-collapsible:not(.df-menu-at-never) .df-nav__initial{display:none}.df-shell.df-collapsible:not(.df-menu-at-never) .df-nav__label{position:relative;width:auto;height:auto;overflow:visible;clip-path:none}}@container df (max-width: 40rem){.df-grid--12>*{grid-column:1 / -1}.df-col-sm--1{grid-column:span 1}.df-col-sm--2{grid-column:span 2}.df-col-sm--3{grid-column:span 3}.df-col-sm--4{grid-column:span 4}.df-col-sm--5{grid-column:span 5}.df-col-sm--6{grid-column:span 6}.df-col-sm--7{grid-column:span 7}.df-col-sm--8{grid-column:span 8}.df-col-sm--9{grid-column:span 9}.df-col-sm--10{grid-column:span 10}.df-col-sm--11{grid-column:span 11}.df-col-sm--12{grid-column:span 12}.df-shell.df-collapsible:not(.df-menu-at-never) .df-fold{display:none}.df-shell.df-collapsible:not(.df-menu-at-never) .df-sidebar{width:auto}.df-shell.df-collapsible:not(.df-menu-at-never) .df-brand{display:block}.df-shell.df-collapsible:not(.df-menu-at-never) .df-sidebar>.df-langs{display:flex}.df-shell.df-collapsible:not(.df-menu-at-never) .df-sidebar>.df-button{display:inline-flex}.df-shell.df-collapsible:not(.df-menu-at-never) .df-nav__item{padding:var(--space-2) var(--space-3);text-align:inherit}.df-shell.df-collapsible:not(.df-menu-at-never) .df-nav__initial{display:none}.df-shell.df-collapsible:not(.df-menu-at-never) .df-nav__label{position:relative;width:auto;height:auto;overflow:visible;clip-path:none}}.df-divider{width:100%;margin:0;border:0;border-top:1px solid var(--color-border)}.df-image{display:block;max-width:100%;height:auto}.df-image--16x9,.df-image--4x3,.df-image--1x1{width:100%;object-fit:cover}.df-image--16x9{aspect-ratio:16 / 9}.df-image--4x3{aspect-ratio:4 / 3}.df-image--1x1{aspect-ratio:1}.df-image--rounded{border-radius:var(--radius-lg)}.df-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--control-padding-x);border:1px solid transparent;border-radius:var(--radius-control);background:var(--color-primary);color:var(--color-on-primary);font:inherit;font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:var(--surface-control-shadow, none);transition:background-color .12s,border-color .12s,color .12s}.df-button:hover,.df-button.is-hover{background:var(--color-primary-hover)}.df-button:active,.df-button.is-active{background:var(--color-primary-active);box-shadow:var(--surface-control-shadow-pressed, none)}.df-button:focus-visible,.df-button.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:2px}.df-button:disabled,.df-button.is-disabled{opacity:.5;box-shadow:none;cursor:not-allowed;pointer-events:none}.df-button--secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.df-button--secondary:hover,.df-button--secondary.is-hover,.df-button--secondary:active,.df-button--secondary.is-active{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-on-primary-subtle)}.df-button--ghost{background:transparent;color:var(--color-primary-text)}.df-button--ghost:hover,.df-button--ghost.is-hover,.df-button--ghost:active,.df-button--ghost.is-active{background:var(--color-primary-subtle);color:var(--color-on-primary-subtle)}.df-button--accent{background:var(--color-accent);color:var(--color-on-accent)}.df-button--accent:hover,.df-button--accent.is-hover{background:var(--color-accent-hover)}.df-button--accent:active,.df-button--accent.is-active{background:var(--color-accent-active)}.df-button--sm{height:calc(var(--control-height) - var(--space-2));padding:0 calc(var(--control-padding-x) - var(--space-1));font-size:var(--text-sm)}.df-button--lg{height:calc(var(--control-height) + var(--space-2));padding:0 calc(var(--control-padding-x) + var(--space-2));font-size:var(--text-lg)}.df-field{display:flex;flex-direction:column;gap:var(--space-1)}.df-label{font-size:var(--text-sm);line-height:var(--text-sm--line-height);font-weight:var(--font-weight-medium);color:var(--color-text)}.df-hint{margin:0;font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--color-text-muted)}.df-error{margin:0;font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--color-danger-text)}.df-error--live{display:none}.df-input:user-invalid,.df-select:user-invalid{border-color:var(--color-danger-text)}.df-input:user-invalid~.df-error--live,.df-select:user-invalid~.df-error--live{display:block}.df-input,.df-select{width:100%;height:var(--control-height);padding:0 var(--control-padding-x);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:inherit;box-shadow:var(--surface-control-shadow, none);transition:border-color .12s,outline-color .12s}.df-input::placeholder{color:var(--color-text-muted);opacity:1}.df-input:hover,.df-input.is-hover,.df-select:hover,.df-select.is-hover{border-color:var(--color-text-muted)}.df-input:focus-visible,.df-input.is-focus,.df-select:focus-visible,.df-select.is-focus{border-color:var(--color-focus-ring);outline:2px solid var(--color-focus-ring);outline-offset:0}.df-input[aria-invalid=true],.df-input.is-invalid,.df-select[aria-invalid=true],.df-select.is-invalid{border-color:var(--color-danger-text)}.df-input:disabled,.df-input.is-disabled,.df-select:disabled,.df-select.is-disabled{border-color:var(--color-border-strong);background:var(--color-bg);opacity:.6;cursor:not-allowed}.df-textarea{height:auto;min-height:calc(var(--control-height) * 2);padding:var(--space-2) var(--control-padding-x);resize:vertical}.df-range{width:100%;margin:0;accent-color:var(--color-primary)}.df-color{width:calc(var(--control-height) * 2);height:var(--control-height);padding:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer}.df-file{width:100%;color:var(--color-text);font:inherit}.df-range:focus-visible,.df-range.is-focus,.df-color:focus-visible,.df-color.is-focus,.df-file:focus-visible,.df-file.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:2px}.df-check{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.df-check input{width:var(--space-5);height:var(--space-5);margin:0;accent-color:var(--color-primary);cursor:inherit}.df-check input:focus-visible,.df-check.is-focus input{outline:2px solid var(--color-focus-ring);outline-offset:2px}.df-check:has(input:disabled),.df-check.is-disabled{color:var(--color-text-muted);cursor:not-allowed}.df-switch{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.df-switch input{position:absolute;width:1px;height:1px;margin:0;opacity:0}.df-switch__track{position:relative;flex:none;width:var(--space-10);height:var(--space-6);border-radius:calc(var(--space-6) / 2);background:var(--color-border-strong);outline:1px solid transparent;outline-offset:-1px;transition:background-color .12s}.df-switch__track:after{content:"";position:absolute;top:2px;left:2px;width:calc(var(--space-6) - 2px - 2px);height:calc(var(--space-6) - 2px - 2px);border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);outline:1px solid transparent;outline-offset:-1px;transition:transform .12s}.df-switch input:checked+.df-switch__track{background:var(--color-primary)}.df-switch input:checked+.df-switch__track:after{background:var(--color-on-primary);transform:translate(var(--space-4))}.df-switch input:focus-visible+.df-switch__track,.df-switch.is-focus .df-switch__track{outline:2px solid var(--color-focus-ring);outline-offset:2px}.df-switch:has(input:disabled),.df-switch.is-disabled{opacity:.5;cursor:not-allowed}.df-badge{display:inline-flex;align-items:center;padding:0 var(--space-2);border-radius:var(--radius-control);background:var(--color-primary-subtle);color:var(--color-on-primary-subtle);font-size:var(--text-sm);line-height:var(--text-sm--line-height);font-weight:var(--font-weight-medium);white-space:nowrap;width:fit-content}.df-badge--neutral{background:var(--color-bg);color:var(--color-text-muted);box-shadow:inset 0 0 0 1px var(--color-border)}.df-badge--accent{background:var(--color-accent-subtle);color:var(--color-on-accent-subtle)}.df-badge--success{background:var(--color-success-subtle);color:var(--color-on-success-subtle)}.df-badge--warning{background:var(--color-warning-subtle);color:var(--color-on-warning-subtle)}.df-badge--danger{background:var(--color-danger-subtle);color:var(--color-on-danger-subtle)}.df-badge--info{background:var(--color-info-subtle);color:var(--color-on-info-subtle)}.df-badge--solid{background:var(--color-primary);color:var(--color-on-primary)}.df-badge--solid.df-badge--accent{background:var(--color-accent);color:var(--color-on-accent)}.df-badge--solid.df-badge--success{background:var(--color-success);color:var(--color-on-success)}.df-badge--solid.df-badge--warning{background:var(--color-warning);color:var(--color-on-warning)}.df-badge--solid.df-badge--danger{background:var(--color-danger);color:var(--color-on-danger)}.df-badge--solid.df-badge--info{background:var(--color-info);color:var(--color-on-info)}.df-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);overflow-x:auto}.df-tab{flex:none;margin:0;padding:var(--space-2) var(--space-3) calc(var(--space-2) + 2px);border:0;background:transparent;color:var(--color-text-muted);font:inherit;font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:color .12s,border-color .12s}.df-tab:hover,.df-tab.is-hover{padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border-strong);color:var(--color-text)}.df-tab:focus-visible,.df-tab.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.df-tab[aria-selected=true],.df-tab[aria-current=page],.df-tab.is-selected{padding-bottom:var(--space-2);border-bottom:2px solid var(--color-primary);color:var(--color-primary-text)}.df-tab:disabled,.df-tab.is-disabled{padding-bottom:calc(var(--space-2) + 2px);border-bottom:0;color:var(--color-text-muted);opacity:.5;cursor:not-allowed}.df-alert{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-subtle);color:var(--color-on-info-subtle)}.df-alert__title{margin:0;font-weight:var(--font-weight-strong)}.df-alert__body{margin:0;font-size:var(--text-sm);line-height:var(--text-sm--line-height)}.df-alert--success{border-color:var(--color-success-border);background:var(--color-success-subtle);color:var(--color-on-success-subtle)}.df-alert--warning{border-color:var(--color-warning-border);background:var(--color-warning-subtle);color:var(--color-on-warning-subtle)}.df-alert--danger{border-color:var(--color-danger-border);background:var(--color-danger-subtle);color:var(--color-on-danger-subtle)}.df-card{padding:var(--card-padding);border:var(--surface-panel-border, 1px solid var(--color-border));border-radius:var(--radius-card);background:var(--surface-panel-bg, var(--color-surface));box-shadow:var(--surface-panel-shadow, var(--shadow-sm));backdrop-filter:var(--surface-panel-blur, none);-webkit-backdrop-filter:var(--surface-panel-blur, none)}.df-card--raised{background:var(--surface-panel-bg, var(--color-surface-raised));box-shadow:var(--surface-panel-shadow, var(--shadow-md))}.df-card--flush{padding:0;overflow:auto}.df-stat__label{margin:0;font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--color-text-muted)}.df-stat__value{margin:0;font-family:var(--font-heading);font-size:var(--text-3xl);line-height:var(--text-3xl--line-height);font-weight:var(--font-weight-strong)}.df-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:var(--text-sm--line-height)}.df-table th,.df-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left}.df-table th{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.df-table tbody tr:last-child td{border-bottom:0}.df-table tbody tr:hover,.df-table tbody tr.is-hover{background:var(--color-bg)}.df-modal-backdrop{display:grid;place-items:center;padding:var(--space-8);background:var(--color-overlay)}.df-modal-backdrop--fixed{position:fixed;inset:0}.df-modal{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:calc(var(--space-24) * 5);padding:var(--card-padding);border:var(--surface-panel-border, 1px solid var(--color-border));border-radius:var(--radius-card);background:var(--surface-panel-bg, var(--color-surface-raised));color:var(--color-text);box-shadow:var(--surface-panel-shadow, var(--shadow-lg));backdrop-filter:var(--surface-panel-blur, none);-webkit-backdrop-filter:var(--surface-panel-blur, none)}.df-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.df-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:var(--surface-panel-border, 1px solid var(--color-border));background:var(--surface-panel-bg, var(--color-surface));box-shadow:var(--surface-panel-shadow, none);backdrop-filter:var(--surface-panel-blur, none);-webkit-backdrop-filter:var(--surface-panel-blur, none)}.df-topbar .df-tabs{border-bottom:0}.df-brand{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-weight-strong);color:var(--color-primary-text)}.df-langs{display:flex;flex:none;align-items:center;gap:var(--space-1)}.df-langs a{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-decoration:none}.df-langs a:hover,.df-langs a.is-hover{color:var(--color-text);text-decoration:underline}.df-langs a:focus-visible,.df-langs a.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:2px}.df-langs a[aria-current=true]{color:var(--color-primary-text);font-weight:var(--font-weight-strong)}.df-page{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6)}.df-shell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start}.df-shell.df-sidebar-right{grid-template-columns:minmax(0,1fr) auto}.df-shell.df-sidebar-right>.df-sidebar{order:1}.df-sidebar{display:flex;flex-direction:column;gap:var(--space-4);min-width:calc(var(--space-20) * 2);padding:var(--space-6) var(--space-4);border:var(--surface-panel-border, none);background:var(--surface-panel-bg, transparent);box-shadow:var(--surface-panel-shadow, none);backdrop-filter:var(--surface-panel-blur, none);-webkit-backdrop-filter:var(--surface-panel-blur, none)}.df-nav{display:flex;flex-direction:column;gap:var(--space-1)}.df-nav__item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-decoration:none}.df-nav__item:hover,.df-nav__item.is-hover{background:var(--color-bg);color:var(--color-text)}.df-nav__item:focus-visible,.df-nav__item.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.df-nav__item[aria-selected=true],.df-nav__item[aria-current=page],.df-nav__item.is-selected{background:var(--color-bg);color:var(--color-primary-text)}.df-fold{display:none}.df-collapsible .df-fold{display:grid;place-items:center;align-self:flex-end;width:calc(var(--space-6) * 1.5);height:calc(var(--space-6) * 1.5);margin:0;border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);cursor:pointer;appearance:none}.df-collapsible .df-fold:before{content:"";width:var(--space-2);height:var(--space-2);border-bottom:2px solid currentColor;border-left:2px solid currentColor;transform:rotate(45deg)}.df-collapsible .df-fold:checked:before,.df-collapsible.df-sidebar-right .df-fold:before{transform:rotate(225deg)}.df-collapsible.df-sidebar-right .df-fold:checked:before{transform:rotate(45deg)}.df-collapsible .df-fold:focus-visible,.df-collapsible .df-fold.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:2px}.df-nav__initial{display:none}:where(.df-shell.df-collapsible:has(.df-fold:checked)) .df-sidebar{min-width:calc(var(--space-6) * 3);width:calc(var(--space-6) * 3);padding-inline:var(--space-2);align-items:center}.df-shell.df-collapsible:has(.df-fold:checked) .df-fold{align-self:center}:where(.df-shell.df-collapsible:has(.df-fold:checked)) .df-brand{display:none}:where(.df-shell.df-collapsible:has(.df-fold:checked)) .df-sidebar>.df-langs,:where(.df-shell.df-collapsible:has(.df-fold:checked)) .df-sidebar>.df-button{display:none}:where(.df-shell.df-collapsible:has(.df-fold:checked)) .df-nav__item{padding:var(--space-1);text-align:center}:where(.df-shell.df-collapsible:has(.df-fold:checked)) .df-nav__initial{display:grid;place-items:center;width:var(--space-8);height:var(--space-8);border:1px solid var(--color-border);border-radius:50%}:where(.df-shell.df-collapsible:has(.df-fold:checked)) .df-nav__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:no-preference){:where(.df-collapsible) .df-sidebar{transition:min-width .3s,width .3s,padding .3s}.df-collapsible .df-fold:before{transition:transform .2s}}.df-menu{display:contents}.df-menu::details-content{display:contents;content-visibility:visible}.df-menu__toggle{display:none;align-items:center;justify-content:center;width:calc(var(--space-6) * 1.5);height:calc(var(--space-6) * 1.5);margin-left:auto;border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);cursor:pointer;list-style:none}.df-menu__toggle::-webkit-details-marker{display:none}.df-menu__toggle:before{content:"";width:var(--space-4);height:2px;background:currentColor;box-shadow:0 calc(var(--space-1) * -1) currentColor,0 var(--space-1) currentColor;transition:transform .2s}.df-menu[open]>.df-menu__toggle:before{transform:rotate(90deg)}.df-menu__toggle:focus-visible,.df-menu__toggle.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:2px}.df-menu-icon-dots .df-menu__toggle:before{width:var(--space-1);height:var(--space-1);border-radius:50%;box-shadow:0 calc(var(--space-2) * -1) currentColor,0 var(--space-2) currentColor}@media(max-width:40rem){.df-shell:not(.df-menu-at-never){grid-template-columns:minmax(0,1fr)}.df-shell:not(.df-menu-at-never) .df-sidebar{order:0;position:relative;z-index:1;flex-direction:row;flex-wrap:wrap;align-items:center;min-width:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.df-topbar:not(.df-menu-at-never){position:relative;z-index:1;flex-wrap:nowrap;padding:var(--space-3) var(--space-4)}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu{display:block;margin-left:auto}.df-shell:not(.df-menu-at-never):not(.df-sidebar-right) .df-menu{order:-1;margin-right:var(--space-3);margin-left:0}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu::details-content{display:block;opacity:1;transition:opacity .2s,content-visibility .2s allow-discrete}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu:not([open])::details-content{opacity:0;content-visibility:hidden}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu__toggle{display:flex}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu>.df-tabs,:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu>.df-nav{position:absolute;top:100%;right:0;left:0;z-index:10;flex-direction:column;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);overflow:visible}}@container df (max-width: 40rem){.df-shell:not(.df-menu-at-never){grid-template-columns:minmax(0,1fr)}.df-shell:not(.df-menu-at-never) .df-sidebar{order:0;position:relative;z-index:1;flex-direction:row;flex-wrap:wrap;align-items:center;min-width:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.df-topbar:not(.df-menu-at-never){position:relative;z-index:1;flex-wrap:nowrap;padding:var(--space-3) var(--space-4)}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu{display:block;margin-left:auto}.df-shell:not(.df-menu-at-never):not(.df-sidebar-right) .df-menu{order:-1;margin-right:var(--space-3);margin-left:0}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu::details-content{display:block;opacity:1;transition:opacity .2s,content-visibility .2s allow-discrete}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu:not([open])::details-content{opacity:0;content-visibility:hidden}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu__toggle{display:flex}:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu>.df-tabs,:is(.df-topbar,.df-shell):not(.df-menu-at-never) .df-menu>.df-nav{position:absolute;top:100%;right:0;left:0;z-index:10;flex-direction:column;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);overflow:visible}}@media(max-width:64rem){.df-shell.df-menu-at-tablet{grid-template-columns:minmax(0,1fr)}.df-shell.df-menu-at-tablet .df-sidebar{order:0;position:relative;flex-direction:row;flex-wrap:wrap;align-items:center;min-width:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.df-topbar.df-menu-at-tablet{position:relative;flex-wrap:nowrap;padding:var(--space-3) var(--space-4)}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu{display:block;margin-left:auto}.df-shell.df-menu-at-tablet:not(.df-sidebar-right) .df-menu{order:-1;margin-right:var(--space-3);margin-left:0}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu::details-content{display:block;opacity:1;transition:opacity .2s,content-visibility .2s allow-discrete}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu:not([open])::details-content{opacity:0;content-visibility:hidden}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu__toggle{display:flex}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu>.df-tabs,:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu>.df-nav{position:absolute;top:100%;right:0;left:0;z-index:10;flex-direction:column;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);overflow:visible}}@container df (max-width: 64rem){.df-shell.df-menu-at-tablet{grid-template-columns:minmax(0,1fr)}.df-shell.df-menu-at-tablet .df-sidebar{order:0;position:relative;flex-direction:row;flex-wrap:wrap;align-items:center;min-width:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.df-topbar.df-menu-at-tablet{position:relative;flex-wrap:nowrap;padding:var(--space-3) var(--space-4)}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu{display:block;margin-left:auto}.df-shell.df-menu-at-tablet:not(.df-sidebar-right) .df-menu{order:-1;margin-right:var(--space-3);margin-left:0}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu::details-content{display:block;opacity:1;transition:opacity .2s,content-visibility .2s allow-discrete}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu:not([open])::details-content{opacity:0;content-visibility:hidden}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu__toggle{display:flex}:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu>.df-tabs,:is(.df-topbar,.df-shell).df-menu-at-tablet .df-menu>.df-nav{position:absolute;top:100%;right:0;left:0;z-index:10;flex-direction:column;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);overflow:visible}}.df-icon{display:inline-flex;flex:none;width:1em;height:1em;font-size:var(--text-2xl)}.df-icon__svg{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.df-icon__svg--solid{fill:currentColor;fill-rule:evenodd;stroke:none}.df-icon-list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.df-icon-list__item{display:flex;align-items:flex-start;gap:var(--space-3)}.df-icon-list__item>.df-icon__svg{flex:none;margin-top:var(--space-1);color:var(--color-primary-text)}.df-testimonial{display:grid;gap:var(--space-4);margin:0}.df-testimonial__quote{margin:0;font-family:var(--font-heading);font-size:var(--text-xl);line-height:var(--text-xl--line-height)}.df-testimonial__by{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3)}.df-testimonial__image{flex:none;width:var(--space-12);height:var(--space-12);border-radius:50%;object-fit:cover}.df-testimonial__name{font-weight:var(--font-weight-strong)}.df-testimonial__role{font-size:var(--text-sm);color:var(--color-text-muted)}.df-counter{display:grid;gap:var(--space-1)}.df-counter__value{margin:0;font-family:var(--font-heading);font-size:var(--text-4xl);line-height:var(--text-4xl--line-height);font-weight:var(--font-weight-strong)}.df-counter__label{margin:0;font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--color-text-muted)}.df-counter__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.df-counter__roll{display:inline;font-variant-numeric:tabular-nums}.df-roll{display:inline-block;height:1lh;overflow:hidden;vertical-align:bottom}.df-roll:before{content:"0\a 1\a 2\a 3\a 4\a 5\a 6\a 7\a 8\a 9";white-space:pre;display:block;line-height:inherit;transform:translateY(calc(var(--df-roll) * -10%))}.df-roll--0{--df-roll: 0}.df-roll--1{--df-roll: 1}.df-roll--2{--df-roll: 2}.df-roll--3{--df-roll: 3}.df-roll--4{--df-roll: 4}.df-roll--5{--df-roll: 5}.df-roll--6{--df-roll: 6}.df-roll--7{--df-roll: 7}.df-roll--8{--df-roll: 8}.df-roll--9{--df-roll: 9}@media(prefers-reduced-motion:no-preference){.df-roll:before{animation:df-roll 1.6s cubic-bezier(.2,.7,.2,1) both}@keyframes df-roll{0%{transform:translateY(0)}}}.df-progress{height:var(--space-3);overflow:hidden;border-radius:var(--radius-lg);background:var(--color-border)}.df-progress__fill{height:100%;border-radius:var(--radius-lg);background:var(--color-primary);transition:width .2s}.df-progress__fill--0{width:0%}.df-progress__fill--1{width:1%}.df-progress__fill--2{width:2%}.df-progress__fill--3{width:3%}.df-progress__fill--4{width:4%}.df-progress__fill--5{width:5%}.df-progress__fill--6{width:6%}.df-progress__fill--7{width:7%}.df-progress__fill--8{width:8%}.df-progress__fill--9{width:9%}.df-progress__fill--10{width:10%}.df-progress__fill--11{width:11%}.df-progress__fill--12{width:12%}.df-progress__fill--13{width:13%}.df-progress__fill--14{width:14%}.df-progress__fill--15{width:15%}.df-progress__fill--16{width:16%}.df-progress__fill--17{width:17%}.df-progress__fill--18{width:18%}.df-progress__fill--19{width:19%}.df-progress__fill--20{width:20%}.df-progress__fill--21{width:21%}.df-progress__fill--22{width:22%}.df-progress__fill--23{width:23%}.df-progress__fill--24{width:24%}.df-progress__fill--25{width:25%}.df-progress__fill--26{width:26%}.df-progress__fill--27{width:27%}.df-progress__fill--28{width:28%}.df-progress__fill--29{width:29%}.df-progress__fill--30{width:30%}.df-progress__fill--31{width:31%}.df-progress__fill--32{width:32%}.df-progress__fill--33{width:33%}.df-progress__fill--34{width:34%}.df-progress__fill--35{width:35%}.df-progress__fill--36{width:36%}.df-progress__fill--37{width:37%}.df-progress__fill--38{width:38%}.df-progress__fill--39{width:39%}.df-progress__fill--40{width:40%}.df-progress__fill--41{width:41%}.df-progress__fill--42{width:42%}.df-progress__fill--43{width:43%}.df-progress__fill--44{width:44%}.df-progress__fill--45{width:45%}.df-progress__fill--46{width:46%}.df-progress__fill--47{width:47%}.df-progress__fill--48{width:48%}.df-progress__fill--49{width:49%}.df-progress__fill--50{width:50%}.df-progress__fill--51{width:51%}.df-progress__fill--52{width:52%}.df-progress__fill--53{width:53%}.df-progress__fill--54{width:54%}.df-progress__fill--55{width:55%}.df-progress__fill--56{width:56%}.df-progress__fill--57{width:57%}.df-progress__fill--58{width:58%}.df-progress__fill--59{width:59%}.df-progress__fill--60{width:60%}.df-progress__fill--61{width:61%}.df-progress__fill--62{width:62%}.df-progress__fill--63{width:63%}.df-progress__fill--64{width:64%}.df-progress__fill--65{width:65%}.df-progress__fill--66{width:66%}.df-progress__fill--67{width:67%}.df-progress__fill--68{width:68%}.df-progress__fill--69{width:69%}.df-progress__fill--70{width:70%}.df-progress__fill--71{width:71%}.df-progress__fill--72{width:72%}.df-progress__fill--73{width:73%}.df-progress__fill--74{width:74%}.df-progress__fill--75{width:75%}.df-progress__fill--76{width:76%}.df-progress__fill--77{width:77%}.df-progress__fill--78{width:78%}.df-progress__fill--79{width:79%}.df-progress__fill--80{width:80%}.df-progress__fill--81{width:81%}.df-progress__fill--82{width:82%}.df-progress__fill--83{width:83%}.df-progress__fill--84{width:84%}.df-progress__fill--85{width:85%}.df-progress__fill--86{width:86%}.df-progress__fill--87{width:87%}.df-progress__fill--88{width:88%}.df-progress__fill--89{width:89%}.df-progress__fill--90{width:90%}.df-progress__fill--91{width:91%}.df-progress__fill--92{width:92%}.df-progress__fill--93{width:93%}.df-progress__fill--94{width:94%}.df-progress__fill--95{width:95%}.df-progress__fill--96{width:96%}.df-progress__fill--97{width:97%}.df-progress__fill--98{width:98%}.df-progress__fill--99{width:99%}.df-progress__fill--100{width:100%}.df-social{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0;padding:0;list-style:none}.df-social__item{display:flex}.df-social__link{display:inline-flex;align-items:center;justify-content:center;width:var(--control-height);height:var(--control-height);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text);text-decoration:none;transition:color .12s,border-color .12s}.df-social__link>.df-icon__svg{width:var(--text-xl);height:var(--text-xl)}.df-social__link:hover,.df-social__link.is-hover{border-color:var(--color-border-strong);color:var(--color-primary-text)}.df-social__link:focus-visible,.df-social__link.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:2px}.df-accordion{display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.df-accordion__item+.df-accordion__item{border-top:1px solid var(--color-border)}.df-accordion__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);font-weight:var(--font-weight-medium);list-style:none;cursor:pointer}.df-accordion__summary::-webkit-details-marker{display:none}.df-accordion__summary:after{content:"+";flex:none;color:var(--color-text-muted)}.df-accordion__item[open]>.df-accordion__summary:after{content:"-"}.df-accordion__summary:hover,.df-accordion__summary.is-hover{background:var(--color-surface-raised)}.df-accordion__summary:focus-visible,.df-accordion__summary.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.df-accordion__body{display:grid;gap:var(--space-4);padding:var(--space-2) var(--space-5) var(--space-5)}.df-tabs-widget{display:flex;flex-wrap:wrap;gap:0 var(--space-1)}.df-tabs-widget__item{display:contents}.df-tabs-widget__summary{order:-1;padding:var(--space-2) var(--space-3) calc(var(--space-2) + 2px);color:var(--color-text-muted);font-weight:var(--font-weight-medium);list-style:none;cursor:pointer}.df-tabs-widget__summary::-webkit-details-marker{display:none}.df-tabs-widget__summary:hover,.df-tabs-widget__summary.is-hover{padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border-strong);color:var(--color-text)}.df-tabs-widget__summary:focus-visible,.df-tabs-widget__summary.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.df-tabs-widget__item[open]>.df-tabs-widget__summary{padding-bottom:var(--space-2);border-bottom:2px solid var(--color-primary);color:var(--color-primary-text)}.df-tabs-widget__body{flex:0 0 100%;display:grid;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-border)}.df-tabs-widget__item::details-content{flex:0 0 100%}.df-carousel{--df-view: 3;--df-gap: var(--space-4);display:flex;gap:var(--df-gap);overflow-x:auto;scroll-snap-type:x mandatory}.df-carousel--1{--df-view: 1}.df-carousel--2{--df-view: 2}.df-carousel--3{--df-view: 3}.df-carousel--4{--df-view: 4}.df-carousel--gap-sm{--df-gap: var(--space-2)}.df-carousel--gap-lg{--df-gap: var(--space-8)}.df-carousel__slide{flex:0 0 calc((100% - var(--df-gap) * (var(--df-view) - 1)) / var(--df-view));min-width:0;scroll-snap-align:start}.df-carousel:focus-visible,.df-carousel.is-focus{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media(max-width:40rem){.df-carousel{--df-view: 1}}@container df (max-width: 40rem){.df-carousel{--df-view: 1}}.df-embed{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-card);background:var(--color-surface)}.df-embed--16x9{aspect-ratio:16 / 9}.df-embed>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.df-pad--sm{padding:var(--space-3)}.df-pad--md{padding:var(--space-6)}.df-pad--lg{padding:var(--space-10)}.df-bg--surface,.df-bg--muted{--color-text: var(--df-text);--color-text-muted: var(--df-text-muted);--color-primary-text: var(--df-primary-text);color:var(--color-text)}.df-bg--surface{background:var(--color-surface)}.df-bg--muted{background:var(--color-bg)}.df-bg--primary-subtle{--color-text: var(--color-on-primary-subtle);--color-text-muted: var(--color-on-primary-subtle);background:var(--color-primary-subtle);color:var(--color-text)}.df-bg--primary{--color-text: var(--color-on-primary);--color-text-muted: var(--color-on-primary);--color-primary-text: var(--color-on-primary);background:var(--color-primary);color:var(--color-text)}.df-bg--accent{--color-text: var(--color-on-accent);--color-text-muted: var(--color-on-accent);--color-primary-text: var(--color-on-accent);background:var(--color-accent);color:var(--color-text)}.df-align--center{text-align:center}.df-align--end{text-align:end}.df-width--narrow,.df-width--medium,.df-width--wide{width:100%;margin-inline:auto}.df-width--narrow{max-width:calc(var(--space-24) * 6)}.df-width--medium{max-width:calc(var(--space-24) * 8)}.df-width--wide{max-width:calc(var(--space-24) * 11)}@media(prefers-reduced-motion:reduce){.df-menu::details-content,.df-menu__toggle:before{transition:none}.df-root *,.df-root *:before,.df-root *:after{transition:none!important}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-opsz-normal-BMWL6UFL.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-opsz-normal-4OJ72WYM.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-opsz-normal-FORL2XKS.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-opsz-normal-VFGTDDXN.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-opsz-normal-ZD5Q774E.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-opsz-normal-B6TL4M5W.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-opsz-normal-KZ4OTMG4.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--ui-background: 0 0% 100%;--ui-foreground: 240 10% 3.9%;--ui-card: 0 0% 100%;--ui-card-foreground: 240 10% 3.9%;--ui-popover: 0 0% 100%;--ui-primary: 240 5.9% 10%;--ui-primary-foreground: 0 0% 98%;--ui-secondary: 240 4.8% 95.9%;--ui-secondary-foreground: 240 5.9% 10%;--ui-muted: 240 4.8% 95.9%;--ui-muted-foreground: 240 3.8% 46.1%;--ui-accent: 240 4.8% 95.9%;--ui-accent-foreground: 240 5.9% 10%;--ui-border: 240 5.9% 90%;--ui-input: 240 5.9% 90%;--ui-ring: 240 5.9% 10%;--ui-destructive: 0 72% 42%;--ui-warning: 26 90% 33%;--ui-success: 142 72% 26%;--ui-info: 224 76% 48%;--ui-selection: 221 83% 53%;--ui-selection-foreground: 0 0% 100%;--ui-shadow: 0 0% 0%;--ui-highlight: 0 0% 100%;--ui-elevation-1: 0 1px 2px hsl(var(--ui-shadow)/.06);--ui-elevation-2: 0 1px 2px hsl(var(--ui-shadow)/.04), 0 4px 12px hsl(var(--ui-shadow)/.08);--ui-elevation-3: 0 2px 4px hsl(var(--ui-shadow)/.04), 0 12px 32px hsl(var(--ui-shadow)/.12);--ui-elevation-4: 0 4px 8px hsl(var(--ui-shadow)/.06), 0 24px 64px hsl(var(--ui-shadow)/.2);--ui-control-h: 2.5rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ui-background: 240 10% 3.9%;--ui-foreground: 0 0% 98%;--ui-card: 240 6% 6.5%;--ui-card-foreground: 0 0% 98%;--ui-popover: 240 5% 9.5%;--ui-primary: 0 0% 98%;--ui-primary-foreground: 240 5.9% 10%;--ui-secondary: 240 3.7% 15.9%;--ui-secondary-foreground: 0 0% 98%;--ui-muted: 240 3.7% 15.9%;--ui-muted-foreground: 240 5% 64.9%;--ui-accent: 240 3.7% 15.9%;--ui-accent-foreground: 0 0% 98%;--ui-border: 240 3.7% 15.9%;--ui-input: 240 3.7% 15.9%;--ui-ring: 240 4.9% 83.9%;--ui-destructive: 0 91% 71%;--ui-warning: 43 96% 56%;--ui-success: 142 69% 58%;--ui-info: 213 94% 68%;--ui-selection: 217 91% 60%;--ui-selection-foreground: 240 10% 3.9%;--ui-shadow: 0 0% 0%;--ui-highlight: 0 0% 100%;--ui-elevation-1: 0 1px 2px hsl(var(--ui-shadow)/.18), inset 0 1px 0 hsl(var(--ui-highlight)/.05);--ui-elevation-2: 0 1px 2px hsl(var(--ui-shadow)/.12), 0 4px 12px hsl(var(--ui-shadow)/.24), inset 0 1px 0 hsl(var(--ui-highlight)/.05);--ui-elevation-3: 0 2px 4px hsl(var(--ui-shadow)/.12), 0 12px 32px hsl(var(--ui-shadow)/.36), inset 0 1px 0 hsl(var(--ui-highlight)/.05);--ui-elevation-4: 0 4px 8px hsl(var(--ui-shadow)/.18), 0 24px 64px hsl(var(--ui-shadow)/.6), inset 0 1px 0 hsl(var(--ui-highlight)/.05)}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--ui-background: 240 10% 3.9%;--ui-foreground: 0 0% 98%;--ui-card: 240 6% 6.5%;--ui-card-foreground: 0 0% 98%;--ui-popover: 240 5% 9.5%;--ui-primary: 0 0% 98%;--ui-primary-foreground: 240 5.9% 10%;--ui-secondary: 240 3.7% 15.9%;--ui-secondary-foreground: 0 0% 98%;--ui-muted: 240 3.7% 15.9%;--ui-muted-foreground: 240 5% 64.9%;--ui-accent: 240 3.7% 15.9%;--ui-accent-foreground: 0 0% 98%;--ui-border: 240 3.7% 15.9%;--ui-input: 240 3.7% 15.9%;--ui-ring: 240 4.9% 83.9%;--ui-destructive: 0 91% 71%;--ui-warning: 43 96% 56%;--ui-success: 142 69% 58%;--ui-info: 213 94% 68%;--ui-selection: 217 91% 60%;--ui-selection-foreground: 240 10% 3.9%;--ui-shadow: 0 0% 0%;--ui-highlight: 0 0% 100%;--ui-elevation-1: 0 1px 2px hsl(var(--ui-shadow)/.18), inset 0 1px 0 hsl(var(--ui-highlight)/.05);--ui-elevation-2: 0 1px 2px hsl(var(--ui-shadow)/.12), 0 4px 12px hsl(var(--ui-shadow)/.24), inset 0 1px 0 hsl(var(--ui-highlight)/.05);--ui-elevation-3: 0 2px 4px hsl(var(--ui-shadow)/.12), 0 12px 32px hsl(var(--ui-shadow)/.36), inset 0 1px 0 hsl(var(--ui-highlight)/.05);--ui-elevation-4: 0 4px 8px hsl(var(--ui-shadow)/.18), 0 24px 64px hsl(var(--ui-shadow)/.6), inset 0 1px 0 hsl(var(--ui-highlight)/.05)}:root.is-theme-switching *,:root.is-theme-switching *:before,:root.is-theme-switching *:after{transition:none!important}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));font-family:Inter Variable,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01","ss03";font-optical-sizing:auto}:where(input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=url],select,textarea):not(:where(.df-root *)){min-height:var(--ui-control-h);padding:0 .75rem;border:1px solid hsl(var(--ui-input));border-radius:6px;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));font:inherit;font-size:.8125rem}:where(textarea):not(:where(.df-root *)){padding-block:.5rem}:where(h1,h2,h3):not(:where(.df-root *)){margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.2}:where(h1):not(:where(.df-root *)){font-size:1.5rem}:where(h2):not(:where(.df-root *)){font-size:1rem}:where(h3):not(:where(.df-root *)){font-size:.875rem}:where(input[type=number],output,td,.tabular):not(:where(.df-root *)){font-variant-numeric:tabular-nums}:where(button,input,select,textarea,a,label,summary,[tabindex]):focus-visible:not(:where(.df-root *)){outline:2px solid hsl(var(--ui-ring));outline-offset:2px}:where(input,select,textarea)[aria-invalid=true]:not(:where(.df-root *)){border-color:hsl(var(--ui-destructive))}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ui-page{display:grid;align-content:start;gap:2.5rem;max-width:80rem;margin:0 auto;padding:1.5rem 1rem 4rem}@media(min-width:768px){.ui-page{padding:3rem 2.5rem 4rem}}.ui-page--narrow{max-width:42rem}.ui-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid hsl(var(--ui-border))}.ui-label{margin:0 0 .25rem;color:hsl(var(--ui-muted-foreground));font-size:.75rem;font-weight:500}.ui-section{display:grid;gap:1rem}.ui-section>h2{font-size:1rem}.ui-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.5rem;margin:0;padding:0;list-style:none}.ui-button{min-height:var(--ui-control-h);padding:0 .75rem;border:1px solid hsl(var(--ui-input));border-radius:6px;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));font:inherit;font-size:.8125rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1rem;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .12s cubic-bezier(.16,1,.3,1),border-color .12s cubic-bezier(.16,1,.3,1),color .12s cubic-bezier(.16,1,.3,1),opacity .12s cubic-bezier(.16,1,.3,1),box-shadow .12s cubic-bezier(.16,1,.3,1)}.ui-button:hover:not(:disabled){background:hsl(var(--ui-muted))}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button svg{width:1rem;height:1rem;flex:none}.ui-button[aria-pressed=true],.ui-button--primary{border-color:hsl(var(--ui-primary));background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground))}.ui-button[aria-pressed=true]:hover:not(:disabled),.ui-button--primary:hover:not(:disabled){background:hsl(var(--ui-primary));opacity:.9}.ui-button--ghost,.ui-button--quiet{border-color:transparent;background:transparent;color:hsl(var(--ui-muted-foreground))}.ui-button--ghost:hover:not(:disabled),.ui-button--quiet:hover:not(:disabled){color:hsl(var(--ui-foreground))}.ui-button--danger{border-color:hsl(var(--ui-destructive));background:hsl(var(--ui-destructive));color:hsl(var(--ui-background))}.ui-button--danger:hover:not(:disabled){background:hsl(var(--ui-destructive));opacity:.9}.ui-button--sm{min-height:2rem;padding:0 .75rem;font-size:.75rem}.ui-button--icon{width:var(--ui-control-h);padding:0}.ui-button--block{width:100%;justify-content:flex-start;text-align:start;white-space:normal}.ui-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ui-field{display:grid;gap:.375rem;color:hsl(var(--ui-foreground));font-size:.8125rem;font-weight:500}.ui-field :is(input:not([type=checkbox],[type=radio],[type=color]),select,textarea){width:100%;font-weight:400}.ui-field textarea{resize:vertical}.ui-field--inline{display:flex;align-items:center;gap:.5rem}.ui-input{min-height:var(--ui-control-h);padding:0 .75rem;border:1px solid hsl(var(--ui-input));border-radius:6px;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));font:inherit;font-size:.8125rem}.ui-hint{margin:0;color:hsl(var(--ui-muted-foreground));font-size:.8125rem;font-weight:400}.ui-error{margin:0;color:hsl(var(--ui-destructive));font-size:.8125rem;font-weight:400}.ui-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ui-inline-form input{flex:1;min-width:12rem}.ui-card{border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-decoration:none;transition:box-shadow .18s cubic-bezier(.16,1,.3,1),border-color .18s cubic-bezier(.16,1,.3,1),translate .18s cubic-bezier(.16,1,.3,1)}.ui-card--interactive:hover,.ui-card:is(a):hover{border-color:hsl(var(--ui-input));box-shadow:var(--ui-elevation-1)}.ui-card__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--ui-foreground));font-size:.8125rem;font-weight:600;text-decoration:none}.ui-card__meta{color:hsl(var(--ui-muted-foreground));font-size:.75rem}.ui-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:auto;padding-top:.5rem;border-top:1px solid hsl(var(--ui-border))}.ui-panel{border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));display:grid;gap:.75rem;padding:1.5rem}.ui-panel h2{font-size:1rem}.ui-panel--danger{border-color:hsl(var(--ui-destructive)/.3)}.ui-empty{display:grid;justify-items:center;gap:1rem;margin:0;padding:3rem 1.5rem;border:1px dashed hsl(var(--ui-input));border-radius:12px;color:hsl(var(--ui-muted-foreground));font-size:.8125rem;text-align:center}.ui-empty p{max-width:28rem;margin:0}.ui-empty h2{margin:0;color:hsl(var(--ui-foreground));font-size:1.125rem}.ui-empty__art{width:4rem;height:4rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ui-empty__link{color:hsl(var(--ui-muted-foreground));text-decoration:underline;text-underline-offset:.2em}.ui-empty__link:hover{color:hsl(var(--ui-foreground))}.ui-facts{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0;font-size:.8125rem}.ui-facts dt{color:hsl(var(--ui-muted-foreground))}.ui-facts dd{margin:0}.ui-card__actions :is(.ui-button,select){min-height:2rem;padding:0 .625rem;border-color:transparent;background:none;color:hsl(var(--ui-muted-foreground));font-size:.75rem}.ui-card__actions :is(.ui-button,select):hover:not(:disabled){background:hsl(var(--ui-muted));color:hsl(var(--ui-foreground))}.ui-card__actions :is(.ui-button,select).danger:hover:not(:disabled){background:hsl(var(--ui-destructive)/.1);color:hsl(var(--ui-destructive))}.ui-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:.25rem;padding:.125rem .625rem;border:1px solid transparent;border-radius:9999px;background:hsl(var(--ui-muted));color:hsl(var(--ui-foreground));font-size:.75rem;font-weight:500;white-space:nowrap}.ui-badge--destructive{border-color:hsl(var(--ui-destructive)/.2);background:hsl(var(--ui-destructive)/.1);color:hsl(var(--ui-destructive))}.ui-badge--warning{border-color:hsl(var(--ui-warning)/.2);background:hsl(var(--ui-warning)/.1);color:hsl(var(--ui-warning))}.ui-badge--success{border-color:hsl(var(--ui-success)/.2);background:hsl(var(--ui-success)/.1);color:hsl(var(--ui-success))}.ui-badge--info{border-color:hsl(var(--ui-info)/.2);background:hsl(var(--ui-info)/.1);color:hsl(var(--ui-info))}.ui-alert{margin:0;padding:.75rem 1rem;border:1px solid hsl(var(--ui-border));border-radius:12px;font-size:.8125rem}.ui-alert--destructive{border-color:hsl(var(--ui-destructive)/.2);background:hsl(var(--ui-destructive)/.1);color:hsl(var(--ui-destructive))}.ui-alert--warning{border-color:hsl(var(--ui-warning)/.2);background:hsl(var(--ui-warning)/.1);color:hsl(var(--ui-warning))}.ui-alert--success{border-color:hsl(var(--ui-success)/.2);background:hsl(var(--ui-success)/.1);color:hsl(var(--ui-success))}.ui-alert--info{border-color:hsl(var(--ui-info)/.2);background:hsl(var(--ui-info)/.1);color:hsl(var(--ui-info))}.ui-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:0;padding:.5rem 1rem;border-bottom:1px solid hsl(var(--ui-warning)/.2);background:hsl(var(--ui-warning)/.1);color:hsl(var(--ui-warning));font-size:.8125rem}.ui-banner--destructive{border-color:hsl(var(--ui-destructive)/.2);background:hsl(var(--ui-destructive)/.1);color:hsl(var(--ui-destructive))}.ui-banner a{color:inherit;font-weight:600}.ui-dialog{border:1px solid hsl(var(--ui-border));background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));width:min(32rem,100vw - 2rem);max-height:90vh;padding:1.5rem;border-radius:14px;box-shadow:var(--ui-elevation-4);background:hsl(var(--ui-popover))}.ui-dialog[open]{animation:ui-rise .24s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){.ui-dialog[open]{animation:none}}.ui-dialog::backdrop{background:hsl(var(--ui-background)/.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ui-dialog--wide{width:min(68rem,96vw)}.ui-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.ui-dialog__foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.ui-menu{border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));animation:ui-pop .18s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){.ui-menu{animation:none}}.ui-menu{transform-origin:top;display:grid;min-width:10rem;padding:.25rem;box-shadow:var(--ui-elevation-3);background:hsl(var(--ui-popover));font-size:.8125rem}.ui-menu :is(button,a){display:flex;align-items:center;gap:.5rem;min-height:2rem;padding:0 .5rem;border:0;border-radius:4px;background:none;color:hsl(var(--ui-foreground));font:inherit;text-align:start;text-decoration:none;cursor:pointer}.ui-menu :is(button,a):hover:not(:disabled){background:hsl(var(--ui-accent))}.ui-menu :is(button,a):disabled{opacity:.5;cursor:not-allowed}.ui-menu hr{margin:.25rem 0;border:0;border-top:1px solid hsl(var(--ui-border))}.ui-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:3.5rem;padding:.5rem 1rem;border-bottom:1px solid hsl(var(--ui-border));background:hsl(var(--ui-background)/.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:hsl(var(--ui-foreground));font-size:.8125rem}@property --x{syntax: "*"; inherits: false;}@property --y{syntax: "*"; inherits: false;}@property --w{syntax: "*"; inherits: false;}@property --h{syntax: "*"; inherits: false;}.ui-at{position:absolute;left:var(--x, auto);top:var(--y, auto);width:var(--w, auto);height:var(--h, auto)}.ui-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:1rem;background:hsl(var(--ui-background)/.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes ui-pop{0%{opacity:0;transform:scale(.97) translateY(-2px)}}@keyframes ui-rise{0%{opacity:0;transform:translateY(6px) scale(.98)}}.ui-stage{background-color:hsl(var(--ui-muted));background-image:radial-gradient(circle,hsl(var(--ui-foreground)/.12) 1px,transparent 1.5px);background-size:24px 24px}.ui-island{border:1px solid hsl(var(--ui-border));background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));border-radius:12px;box-shadow:var(--ui-elevation-3);background:hsl(var(--ui-popover)/.82);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4)}@supports not (backdrop-filter: blur(1px)){.ui-island{background:hsl(var(--ui-popover))}}.ui-tabs{display:flex;gap:.25rem;padding:.25rem;border-radius:12px;background:hsl(var(--ui-muted))}.ui-tabs>button{flex:1;min-height:2rem;padding:0 .75rem;border:0;border-radius:6px;background:none;color:hsl(var(--ui-muted-foreground));font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}.ui-tabs>button:is([aria-selected=true],[aria-pressed=true],[aria-checked=true]){background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));box-shadow:var(--ui-elevation-1)}.ui-chips{display:flex;flex-wrap:wrap;gap:.375rem}.ui-chip{display:inline-flex;align-items:center;gap:.375rem;min-height:1.75rem;padding:0 .75rem;border:1px solid hsl(var(--ui-border));border-radius:9999px;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));font:inherit;font-size:.75rem;font-weight:500;cursor:pointer}.ui-chip:hover:not(:disabled){background:hsl(var(--ui-muted))}.ui-chip[aria-pressed=true]{border-color:hsl(var(--ui-primary));background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground))}.ui-swatch{display:inline-block;flex:none;width:1.5rem;height:1.5rem;border:1px solid hsl(var(--ui-foreground)/.1);border-radius:4px;background:var(--swatch, hsl(var(--ui-muted)))}.ui-swatch--sm{width:1rem;height:1rem}.ui-swatch-strip{display:flex;height:1.5rem;overflow:hidden;border:1px solid hsl(var(--ui-border));border-radius:4px}.ui-swatch-strip>span{flex:1;background:var(--swatch)}app-select{display:block;min-width:0}app-select.is-compact .ui-select{min-height:2rem;padding-inline:.5rem}.ui-select{min-height:var(--ui-control-h);padding:0 .75rem;border:1px solid hsl(var(--ui-input));border-radius:6px;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));font:inherit;font-size:.8125rem;transition:border-color .18s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:start;cursor:pointer}.ui-select:hover,.ui-select[aria-expanded=true]{border-color:hsl(var(--ui-ring))}.ui-select:focus-visible{outline:2px solid hsl(var(--ui-ring));outline-offset:2px}.ui-select__lead{flex:none}.ui-select__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ui-select__value.is-placeholder{color:hsl(var(--ui-muted-foreground))}.ui-select app-icon{color:hsl(var(--ui-muted-foreground))}.ui-select__list{border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));animation:ui-pop .18s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){.ui-select__list{animation:none}}.ui-select__list{position:fixed;inset:auto;left:var(--x);top:var(--y);min-width:var(--w);max-width:min(24rem,100vw - 1rem);max-height:min(16rem,var(--h));margin:0;padding:.25rem;overflow-y:auto;background:hsl(var(--ui-popover));box-shadow:var(--ui-elevation-3);font-size:.8125rem;transform-origin:top}.ui-select__list.is-up{top:auto;bottom:var(--y);transform-origin:bottom}.ui-select__list:focus-visible{outline:none}.ui-select__heading{padding:.375rem .5rem .25rem;color:hsl(var(--ui-muted-foreground));font-size:.75rem;font-weight:500}.ui-select__option{display:flex;align-items:center;gap:.5rem;min-height:2rem;padding:0 .5rem;border-radius:4px;cursor:pointer}.ui-select__option.is-active{background:hsl(var(--ui-accent))}.ui-select__option[aria-selected=true]{font-weight:500}.ui-select__check{display:inline-flex;flex:none;width:1rem}.ui-icon{display:inline-flex;flex:none;width:1rem;height:1rem}.ui-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ui-icon--lg{width:1.25rem;height:1.25rem}app-style-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;gap:.375rem .75rem;height:5.5rem;padding:.5rem .75rem;overflow:hidden;border:1px solid hsl(var(--ui-border));border-radius:6px;background:var(--bg);color:var(--fg)}app-style-preview .specimen{display:grid;grid-row:1/-1;min-width:0}app-style-preview .aa{font-family:var(--heading-font);font-size:1.875rem;font-weight:600;line-height:1}app-style-preview .face{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;color:var(--muted);font-family:var(--heading-font);font-size:.75rem;line-height:1.2}app-style-preview .face--body{margin-top:0;font-family:var(--body-font)}app-style-preview .ramp{display:flex;align-self:end;gap:.125rem}app-style-preview .ramp i{flex:1;height:1.25rem;border-radius:4px;background:var(--swatch)}app-style-preview .sample{display:flex;align-items:center;gap:.5rem}app-style-preview .pill{padding:0 .5rem;border-radius:var(--radius-control);background:var(--brand);color:var(--on-brand);font-family:var(--body-font);font-size:.75rem;line-height:1.25rem}app-style-preview .tile{flex:1;height:1.25rem;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow)}.df-edit-empty{margin:0;padding:.75rem;border:1px dashed hsl(var(--ui-input));border-radius:6px;color:hsl(var(--ui-muted-foreground));font:.8125rem/1.4 Inter Variable,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-align:center}.df-component{outline:1px dashed hsl(var(--ui-selection)/.4);outline-offset:2px}.df-root .df-mirror{outline:calc(1.5px / var(--z, 1)) solid hsl(var(--ui-selection))}.is-passthrough{pointer-events:none!important}app-shell-layout{display:grid;grid-template-columns:1fr;min-height:100dvh}@media(min-width:768px){app-shell-layout{grid-template-columns:auto 1fr}}app-shell-layout svg{width:1.125rem;height:1.125rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}app-shell-layout .sidebar{position:fixed;inset:0 auto 0 0;z-index:3;display:flex;flex-direction:column;gap:.5rem;width:min(18rem,85vw);height:100dvh;padding:1rem .75rem .75rem;border-right:1px solid hsl(var(--ui-border));background:hsl(var(--ui-background));transform:translate(-100%);transition:transform .24s cubic-bezier(.16,1,.3,1),width .24s cubic-bezier(.16,1,.3,1)}app-shell-layout .sidebar.is-open{transform:none;box-shadow:var(--ui-elevation-4)}@media(min-width:768px){app-shell-layout .sidebar{position:sticky;top:0;width:16.5rem;transform:none}}app-shell-layout .scroll{flex:1;display:grid;align-content:start;gap:1.5rem;padding-top:.75rem;overflow-y:auto;scrollbar-width:thin}app-shell-layout .brand{display:flex;align-items:center;gap:.625rem;min-height:2.25rem;padding-left:.375rem;color:hsl(var(--ui-primary))}app-shell-layout .brand-mark{width:1.625rem;height:1.625rem;stroke:none}app-shell-layout .brand-name{flex:1;color:hsl(var(--ui-foreground));font-size:1rem;font-weight:600;letter-spacing:-.025em}app-shell-layout .group{display:grid;gap:.125rem}app-shell-layout .group .ui-label{padding:0 .75rem .375rem}app-shell-layout .group a{display:flex;align-items:center;gap:.75rem;min-height:2.25rem;padding:0 .75rem;border-radius:6px;color:hsl(var(--ui-muted-foreground));font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .12s cubic-bezier(.16,1,.3,1),color .12s cubic-bezier(.16,1,.3,1)}app-shell-layout .group a:hover{background:hsl(var(--ui-muted));color:hsl(var(--ui-foreground))}app-shell-layout .group a.is-active{background:hsl(var(--ui-muted));color:hsl(var(--ui-foreground))}app-shell-layout .recent{font-weight:400}app-shell-layout .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}app-shell-layout .icon-btn{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:6px;background:none;color:hsl(var(--ui-muted-foreground));cursor:pointer}app-shell-layout .icon-btn svg{width:1rem;height:1rem}app-shell-layout .icon-btn:hover:not(:disabled){background:hsl(var(--ui-muted));color:hsl(var(--ui-foreground))}app-shell-layout .icon-btn:disabled{opacity:.4;cursor:not-allowed}app-shell-layout .foot{display:grid;gap:.5rem}app-shell-layout .legal-links{display:flex;flex-wrap:wrap;gap:.25rem .75rem;padding:0 .25rem;font-size:.75rem}app-shell-layout .legal-links a{color:hsl(var(--ui-muted-foreground));text-decoration:none}app-shell-layout .legal-links a:hover{color:hsl(var(--ui-foreground));text-decoration:underline}app-shell-layout .switcher{padding:.625rem;border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-muted)/.5)}app-shell-layout .switcher-body{display:grid;gap:.5rem}app-shell-layout .avatar,app-shell-layout .ui-select__lead{display:grid;place-items:center;flex:none;width:1.625rem;height:1.625rem;border:0;border-radius:9999px;background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground));font-size:.75rem;font-weight:600}app-shell-layout .avatar--btn{display:none;width:2.25rem;height:2.25rem;margin:auto;font-size:.8125rem;cursor:pointer}app-shell-layout .account{display:grid;gap:.375rem}app-shell-layout app-theme-switch{display:grid;gap:.375rem;padding:.25rem .5rem}app-shell-layout app-theme-switch .ui-label{margin:0}app-shell-layout app-theme-switch .ui-tabs>button{justify-content:center}app-shell-layout .user{display:flex;align-items:center;gap:.625rem;min-height:var(--ui-control-h);padding:0 .5rem;border:1px solid hsl(var(--ui-border));border-radius:6px;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}app-shell-layout .user:hover{background:hsl(var(--ui-muted))}app-shell-layout .who{display:grid;line-height:1.2;text-align:left}app-shell-layout .who small{overflow:hidden;text-overflow:ellipsis;color:hsl(var(--ui-muted-foreground));font-size:.75rem;font-weight:400}app-shell-layout .screen{min-width:0;padding-top:3rem;overflow-y:auto}@media(min-width:768px){app-shell-layout .screen{padding-top:0}}app-shell-layout .menu{position:fixed;top:.625rem;left:.75rem;z-index:2;width:var(--ui-control-h);padding:0;background:hsl(var(--ui-background));box-shadow:var(--ui-elevation-1)}@media(min-width:768px){app-shell-layout .menu{display:none}}app-shell-layout .menu-brand{position:fixed;top:.625rem;left:calc(.75rem + var(--ui-control-h) + .625rem);z-index:2;display:flex;align-items:center;gap:.5rem;height:var(--ui-control-h);color:hsl(var(--ui-primary))}@media(min-width:768px){app-shell-layout .menu-brand{display:none}}app-shell-layout .fold{display:none}@media(min-width:768px){app-shell-layout .fold{display:grid}app-shell-layout .is-collapsed{width:4.5rem}app-shell-layout .is-collapsed .brand{flex-direction:column;height:auto;padding-left:0;gap:.5rem}app-shell-layout .is-collapsed :is(.brand-name,.label,.group .ui-label,.switcher-body,.legal-links,.account .ui-button,.ui-menu,app-theme-switch){display:none}app-shell-layout .is-collapsed .group a{justify-content:center;padding:0}app-shell-layout .is-collapsed .switcher{padding:.25rem;border:0;background:none}app-shell-layout .is-collapsed .avatar--btn{display:grid}app-shell-layout .is-collapsed .scroll{gap:.75rem}app-shell-layout .is-collapsed .user{justify-content:center;padding:0;border:0;background:none}}@media(prefers-reduced-motion:reduce){app-shell-layout .sidebar{transition:none}}:is(app-home-page,app-projects-page,app-project-page,app-plan-page,app-site-page,app-account-page,app-ai-model-page,app-workspace-settings-page,app-no-team-page){display:block}:is(app-home-page,app-projects-page,app-project-page,app-plan-page,app-site-page,app-account-page,app-ai-model-page,app-workspace-settings-page,app-no-team-page) svg{width:1rem;height:1rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}:is(app-home-page,app-projects-page,app-project-page,app-plan-page,app-site-page,app-account-page,app-ai-model-page,app-workspace-settings-page,app-no-team-page) .ui-head .ui-inline-form input{min-width:16rem}.ui-card .thumb{display:block;width:100%;height:5rem;margin-bottom:.25rem;border-radius:6px;object-fit:cover}app-ai-model-page .group{display:grid;gap:1.5rem;min-width:0;margin:0;padding:0;border:0}app-ai-model-page .opt{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}app-plan-page .plan-name{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0}app-plan-page .meter{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;font-size:.8125rem}app-plan-page .meter progress{grid-column:1/-1;width:100%;height:.5rem;accent-color:hsl(var(--ui-primary))}app-plan-page .meter progress.full{accent-color:hsl(var(--ui-destructive))}app-plan-page .count{color:hsl(var(--ui-muted-foreground));font-size:.8125rem}app-plan-page .plans{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}app-plan-page .plans li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border:1px solid hsl(var(--ui-border));border-radius:6px}app-plan-page .confirm{display:grid;gap:.5rem;padding:1rem;border:1px solid hsl(var(--ui-input));border-radius:6px}app-plan-page .confirm p{margin:0}app-plan-page .warn{color:hsl(var(--ui-destructive))}app-site-page .count{padding:0 .375rem;border-radius:9999px;background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground));font-size:.75rem;font-weight:600}app-site-page .item,app-site-page .messages li{display:grid;gap:.5rem;padding:.75rem 1rem;border:1px solid hsl(var(--ui-border));border-radius:6px}app-site-page .item p,app-site-page .messages li p{margin:0}app-site-page .switch{display:flex;align-items:center;gap:.5rem;font-weight:500}app-site-page .messages{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}app-site-page .messages li.unread{border-color:hsl(var(--ui-primary))}app-site-page .messages dl{margin:0;overflow-wrap:anywhere}app-site-page .open{flex-wrap:wrap;justify-content:flex-start;width:100%;text-align:start}app-site-page .chart{width:100%;height:10rem;fill:hsl(var(--ui-primary));stroke:none}app-site-page table{width:100%;border-collapse:collapse;font-size:.8125rem}app-site-page :is(th,td){padding:.5rem;border-bottom:1px solid hsl(var(--ui-border));text-align:start}app-site-page h3{margin-top:.5rem;font-size:.8125rem}app-studio-page{position:relative;display:flex;flex-direction:column;height:100dvh;overflow-y:auto}app-studio-page .canvas{flex:1;min-height:0;overflow:hidden}app-studio-page .canvas.under{position:absolute;inset:0}app-studio-page .canvas.fade-in{position:relative;z-index:1;animation:studio-fade-in .2s ease-out}app-studio-page .canvas.is-leaving{animation:studio-fade-out .2s ease-in forwards}@media(prefers-reduced-motion:reduce){app-studio-page .canvas.fade-in,app-studio-page .canvas.is-leaving{animation:none}}app-studio-page .side{display:flex;flex-direction:column;gap:1rem;min-width:0}app-studio-page .notes{display:grid;gap:.5rem}app-studio-page .notes h2{font-size:.8125rem}app-studio-page .notes :is(p,ul){margin:0;color:hsl(var(--ui-muted-foreground));font-size:.8125rem}app-studio-page .notes ul{padding-left:1rem}app-studio-page .start{gap:1.5rem;width:100%;max-width:56rem}app-studio-page .start .lead{margin:.5rem 0 0;color:hsl(var(--ui-muted-foreground));font-size:1.125rem}app-studio-page .start .name{max-width:24rem}app-studio-page .drop-title{margin:0;color:hsl(var(--ui-foreground));font-weight:600}app-studio-page .reading p{margin:0}app-studio-page .drop{cursor:pointer;transition:border-color .12s cubic-bezier(.16,1,.3,1),background-color .12s cubic-bezier(.16,1,.3,1)}app-studio-page .drop app-icon{color:hsl(var(--ui-muted-foreground));transition:color .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}app-studio-page .drop:hover,app-studio-page .drop.is-dragging{border-color:hsl(var(--ui-primary));background:hsl(var(--ui-muted)/.5)}app-studio-page .drop:hover app-icon,app-studio-page .drop.is-dragging app-icon{color:hsl(var(--ui-primary))}app-studio-page .drop.is-dragging{border-style:solid;background:hsl(var(--ui-primary)/.06)}app-studio-page .drop.is-dragging app-icon{transform:translateY(-.25rem)}app-studio-page .drop:has(:focus-visible){outline:2px solid hsl(var(--ui-ring));outline-offset:2px}@keyframes studio-fade-in{0%{opacity:0}}@keyframes studio-fade-out{to{opacity:0}}app-design-picker{display:block}app-design-picker .picker{display:grid;gap:1rem;padding-top:1.5rem;border-top:1px solid hsl(var(--ui-border))}app-design-picker .picker h2{font-size:1.125rem}app-design-picker .picker input[type=search]{width:100%}app-design-picker .ui-hint a{color:inherit;text-decoration:underline}app-design-picker .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem;margin:0;padding:0;list-style:none}app-design-picker .ui-card{width:100%;height:100%;padding:.75rem;font:inherit;text-align:left;cursor:pointer;transition:box-shadow .12s cubic-bezier(.16,1,.3,1),border-color .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}app-design-picker .ui-card:hover{border-color:hsl(var(--ui-input));box-shadow:var(--ui-elevation-2);transform:translateY(-2px)}app-design-picker .ui-card:focus-visible{outline:2px solid hsl(var(--ui-ring));outline-offset:2px}app-design-picker app-style-preview{height:7.5rem}app-design-picker .desc{display:-webkit-box;overflow:hidden;color:hsl(var(--ui-muted-foreground));font-size:.75rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}:is(app-add-panel,app-advanced-tab,app-assets-panel,app-builder-canvas,app-builder-header,app-check-panel,app-command-search,app-components-panel,app-content-tab,app-context-menu,app-design-panel,app-editor-overlay,app-field-control,app-inspector,app-layers-panel,app-mini-toolbar,app-pages-panel,app-preview-dialog,app-site-panel,app-style-tab){display:contents}:is(app-add-panel,app-assets-panel,app-check-panel,app-components-panel,app-design-panel,app-inspector,app-layers-panel,app-pages-panel,app-site-panel,app-vibe-tray) .heading{margin:0 0 .5rem;font-size:.8125rem}:is(app-add-panel,app-advanced-tab,app-inspector,app-pages-panel,app-site-panel,app-style-tab) .group{margin:.75rem 0 .375rem;color:hsl(var(--ui-muted-foreground));font-size:.75rem;font-weight:500}:is(app-add-panel,app-advanced-tab,app-inspector,app-pages-panel,app-site-panel,app-style-tab) .newpage .group{margin-top:0}:is(app-add-panel,app-advanced-tab,app-inspector,app-pages-panel,app-site-panel,app-style-tab) .globals .group{margin-block:.5rem 0}:is(app-advanced-tab,app-layers-panel) .layer[aria-current=true],:is(app-advanced-tab,app-layers-panel) .step[aria-current=step],:is(app-advanced-tab,app-layers-panel) .css-devices [aria-pressed=true]{background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground))}:is(app-advanced-tab,app-content-tab,app-inspector,app-pages-panel,app-site-panel,app-style-tab) .fields{display:grid;gap:.5rem;margin-block:.75rem}:is(app-advanced-tab,app-content-tab,app-inspector,app-pages-panel,app-site-panel,app-style-tab) .pages li>.fields{margin-inline-start:.5rem;padding-inline-start:.5rem;border-inline-start:2px solid hsl(var(--ui-primary))}:is(app-advanced-tab,app-content-tab,app-inspector,app-pages-panel,app-site-panel,app-style-tab) .newpage input,:is(app-advanced-tab,app-content-tab,app-inspector,app-pages-panel,app-site-panel,app-style-tab) .newpage select,:is(app-advanced-tab,app-content-tab,app-inspector,app-pages-panel,app-site-panel,app-style-tab) .fields select,:is(app-advanced-tab,app-content-tab,app-inspector,app-pages-panel,app-site-panel,app-style-tab) .fields input:not([type=checkbox]){width:100%;font:inherit}:is(app-advanced-tab,app-assets-panel,app-builder-header,app-check-panel,app-components-panel,app-content-tab,app-design-panel,app-field-control,app-inspector,app-layers-panel,app-pages-panel,app-preview-dialog,app-site-panel) .global .ui-button{grid-column:3}:is(app-advanced-tab,app-assets-panel,app-builder-header,app-check-panel,app-components-panel,app-content-tab,app-field-control,app-inspector,app-layers-panel,app-pages-panel,app-preview-dialog,app-site-panel) .problems .ui-button{width:100%;text-align:start;white-space:normal}:is(app-builder-header,app-content-tab,app-site-panel) .warning{margin:0;padding:.5rem .75rem;border-radius:6px;border:1px solid hsl(var(--ui-warning)/.2);background:hsl(var(--ui-warning)/.1);color:hsl(var(--ui-warning));font-size:.8125rem}:is(app-builder-header,app-content-tab,app-pages-panel,app-site-panel) .dot{display:inline-block;min-width:1.25rem;margin-inline-start:.25rem;padding:0 .3rem;border-radius:9999px;background:hsl(var(--ui-destructive));color:hsl(var(--ui-background));font-size:.75rem;text-align:center}:is(app-builder-header,app-content-tab,app-pages-panel,app-site-panel) .dot:empty{min-width:.5rem;width:.5rem;height:.5rem;padding:0;vertical-align:middle}:is(app-builder-header,app-mini-toolbar) .more{position:relative}:is(app-builder-rail,app-editor-overlay,app-mini-toolbar){display:contents}:is(app-builder-rail,app-page-builder) .close{float:inline-end}:is(app-context-menu,app-layers-panel) .layer,:is(app-context-menu,app-layers-panel) .step,:is(app-context-menu,app-layers-panel) .menu-item{border:0;border-radius:4px;background:none;color:hsl(var(--ui-foreground));font:inherit;text-align:left;cursor:pointer}:is(app-design-panel,app-site-panel) .globals{display:grid;gap:.375rem;margin-block-end:1rem}:is(app-design-panel,app-site-panel) .global{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.25rem;align-items:center}:is(app-design-panel,app-site-panel) .global input[type=text],:is(app-design-panel,app-site-panel) .global select{grid-column:1;width:100%;font:inherit}:is(app-design-panel,app-site-panel) .global input[type=color]{grid-column:2}:is(app-prop-value,app-style-panel){display:block;font-size:.8125rem}app-add-panel .search{width:100%;margin-block-end:.5rem}app-add-panel .group-block{border-top:1px solid hsl(var(--ui-border))}app-add-panel .group-block:first-of-type{border-top:0}app-add-panel .group-block>summary{display:flex;align-items:center;gap:.5rem;margin:0;padding:.625rem 0;list-style:none;cursor:pointer}app-add-panel .group-block>summary::-webkit-details-marker{display:none}app-add-panel .group-block>summary:after{content:"";width:.375rem;height:.375rem;margin-inline-start:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .18s cubic-bezier(.16,1,.3,1)}app-add-panel .group-block[open]>summary:after{transform:rotate(45deg)}app-add-panel .count{color:hsl(var(--ui-muted-foreground));font-variant-numeric:tabular-nums;font-weight:400}app-add-panel .tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem;padding-bottom:.75rem}app-add-panel .tile{display:flex;align-items:center;gap:.5rem;min-height:2.25rem;padding:0 .625rem;overflow:hidden;border:1px solid hsl(var(--ui-border));border-radius:6px;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));font:inherit;font-size:.75rem;font-weight:500;text-align:start;cursor:grab;transition:border-color .12s cubic-bezier(.16,1,.3,1),background-color .12s cubic-bezier(.16,1,.3,1),box-shadow .12s cubic-bezier(.16,1,.3,1)}app-add-panel .tile .ui-icon{color:hsl(var(--ui-muted-foreground))}app-add-panel .tile .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}app-add-panel .tile:hover{border-color:hsl(var(--ui-input));background:hsl(var(--ui-muted));box-shadow:var(--ui-elevation-1)}app-add-panel .tile:hover .ui-icon{color:hsl(var(--ui-foreground))}app-add-panel .tile:active{cursor:grabbing}app-add-panel .saved{display:flex;align-items:center;gap:.125rem;min-width:0}app-add-panel .saved .tile{flex:1;min-width:0}app-advanced-tab .css-devices{display:flex;flex-wrap:wrap;gap:.375rem}app-advanced-tab .refused{margin:.25rem 0 0;padding-inline-start:1rem}app-assets-panel .assets{list-style:none;margin:0 0 .5rem;padding:0;display:grid;gap:.5rem}app-assets-panel .asset{display:grid;grid-template-columns:auto 1fr auto;gap:.25rem .5rem;align-items:center}app-assets-panel .asset-pick{padding:0;border:1px solid currentColor;background:none;border-radius:4px;cursor:pointer}app-assets-panel .asset-pick img{display:block;object-fit:cover}app-builder-canvas .sheet{position:relative}app-builder-canvas .surface{max-width:var(--max-w, none);margin-inline:auto;transition:max-width .24s cubic-bezier(.16,1,.3,1);min-height:20rem;padding:1.5rem;margin-block:.5rem;border:1px solid hsl(var(--ui-border));border-radius:12px;box-shadow:var(--ui-elevation-2)}app-builder-canvas .surface ::ng-deep [contenteditable=true]{outline:none;cursor:text}@media(prefers-reduced-motion:reduce){app-builder-canvas .surface{transition:none}}app-builder-canvas .surface ::ng-deep iframe{pointer-events:none}app-design-preview-dialog{display:contents}app-design-preview-dialog .preview-system{height:90vh;padding:0}app-design-preview-dialog .preview-system[open]{display:flex;flex-direction:column}app-design-preview-dialog .bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid hsl(var(--ui-border))}app-design-preview-dialog .body{flex:1;min-height:0;overflow:auto}app-check-dialog .check-dialog{font-size:.8125rem}app-builder-header{position:relative;z-index:30;display:block;grid-column:1/-1}app-builder-header .toolbar{border:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}app-builder-header .toolbar{flex-wrap:nowrap;gap:1rem}app-builder-header .cluster{display:flex;align-items:center;gap:.375rem;min-width:0}app-builder-header .cluster--nav,app-builder-header .cluster--actions{flex:1 1 0}app-builder-header .cluster--actions{justify-content:flex-end}app-builder-header .history{display:flex;gap:.125rem}app-builder-header .more>.ui-button--icon{position:relative}app-builder-header .more>.ui-button--icon .dot{position:absolute;top:0;right:0;margin:0}app-builder-header .editing{align-self:center;font-weight:600}app-builder-header .read-only-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;padding:.5rem .75rem;border-radius:6px;background:hsl(var(--ui-card));border:1px solid hsl(var(--ui-border))}app-builder-header .credits{color:hsl(var(--ui-muted-foreground));font-weight:400}app-builder-header .generated{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;padding:.25rem .75rem;border-radius:6px;background:hsl(var(--ui-card));border:1px solid hsl(var(--ui-border))}app-builder-header .language-switch{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem}app-builder-header .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8125rem;font-weight:600;letter-spacing:0}app-builder-header .title .project{color:hsl(var(--ui-muted-foreground));font-weight:400}app-builder-header .thumbnail{width:1.75rem;height:1.75rem;border:1px solid hsl(var(--ui-border));border-radius:6px;object-fit:cover}app-builder-header .page-select{max-width:12rem}app-builder-header .menu{animation:ui-pop .18s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){app-builder-header .menu{animation:none}}app-builder-header .menu{position:absolute;inset-inline-end:0;top:100%;z-index:20;display:grid;min-width:14rem;margin-top:.25rem;padding:.25rem;border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-popover));box-shadow:var(--ui-elevation-3)}app-builder-header .menu button{padding:.4rem .6rem;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer;border-radius:4px}app-builder-header .menu button:hover:not(:disabled),app-builder-header .menu button:focus-visible{background:hsl(var(--ui-muted))}app-builder-header .menu button:disabled{opacity:.5;cursor:default}app-builder-header .menu a{padding:.4rem .6rem;color:inherit;text-decoration:none;border-radius:4px}app-builder-header .menu a:hover,app-builder-header .menu a:focus-visible{background:hsl(var(--ui-muted))}app-builder-header .device-select{max-width:8rem}app-builder-rail .rail,app-builder-rail .panel{grid-row:2;min-height:0}app-builder-rail .rail{grid-column:1;display:flex;flex-direction:column;gap:.25rem;align-self:start;padding:.5rem .25rem}app-builder-rail .item{display:flex;flex-direction:column;align-items:center;gap:.125rem;width:3.5rem;padding:.375rem .125rem;border:0;border-radius:6px;background:transparent;color:hsl(var(--ui-muted-foreground));font:inherit;font-size:.75rem;cursor:pointer}app-builder-rail .item:hover{background:hsl(var(--ui-muted));color:inherit}app-builder-rail .item[aria-pressed=true]{background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground))}app-builder-rail .item:focus-visible{outline:2px solid hsl(var(--ui-primary));outline-offset:2px}app-builder-rail .panel{grid-column:2;width:16rem;overflow:auto;margin-inline-start:.75rem;padding:.75rem;font-size:.8125rem}@media(max-width:63.99rem){app-builder-rail .panel{grid-column:2/-1;justify-self:start;z-index:10;max-width:100%}}app-check-panel .problems{margin:.5rem 0 0;padding:0;list-style:none;display:grid;gap:.25rem}app-check-panel .count{margin-inline-start:.25rem;padding:0 .4rem;border-radius:9999px;background:hsl(var(--ui-muted));font-weight:400}app-command-search .search{animation:ui-rise .24s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){app-command-search .search{animation:none}}app-command-search .search{width:min(32rem,94vw);max-height:70vh;margin-top:12vh;padding:0;border:1px solid hsl(var(--ui-input));border-radius:12px;background:hsl(var(--ui-popover));color:hsl(var(--ui-foreground));box-shadow:var(--ui-elevation-4)}app-command-search .search::backdrop{background:hsl(var(--ui-shadow)/.3)}app-command-search .list{margin:0;padding:.25rem;max-height:50vh;overflow:auto;list-style:none;font-size:.8125rem}app-command-search .item{padding:.4rem .75rem;border-radius:4px;cursor:pointer}app-command-search .item.is-active{background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground))}app-command-search .item[aria-disabled=true]{color:hsl(var(--ui-muted-foreground));cursor:default}app-command-search .item[aria-disabled=true].is-active{background:none}app-command-search .none{padding:.5rem .75rem;color:hsl(var(--ui-muted-foreground))}:is(app-prop-value) .row{display:grid;gap:.375rem;margin-block:.5rem;padding:.5rem;border:1px solid hsl(var(--ui-border));border-radius:6px}:is(app-prop-value) .bind{display:grid;gap:.25rem;margin-block:.25rem .5rem}:is(app-prop-value) .name,:is(app-prop-value) .bind>span{font-size:.75rem;color:hsl(var(--ui-muted-foreground))}:is(app-prop-value) input:not([type=checkbox]),:is(app-prop-value) select,:is(app-prop-value) textarea{width:100%;box-sizing:border-box}:is(app-prop-value) .code{font-family:ui-monospace,monospace}:is(app-prop-value) .is-refused input[aria-invalid=true]{outline:2px solid hsl(var(--ui-destructive))}app-components-panel .components{display:grid;gap:.75rem;margin:0 0 1rem;padding:0;list-style:none}app-components-panel .components li{display:grid;gap:.375rem}app-components-panel .components input{width:100%;font:inherit}app-components-panel .component-name{font-weight:600}app-context-menu .menu{animation:ui-pop .18s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){app-context-menu .menu{animation:none}}app-context-menu .menu{position:fixed;z-index:100;display:flex;flex-direction:column;min-width:11rem;padding:.25rem;border:1px solid hsl(var(--ui-input));border-radius:6px;background:hsl(var(--ui-popover));box-shadow:var(--ui-elevation-3);font-size:.8125rem}app-context-menu .menu-item{padding:.375rem .5rem}app-context-menu .menu-item:hover:not(:disabled),app-context-menu .menu-item:focus-visible{background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground))}app-context-menu .menu-item:disabled{color:hsl(var(--ui-muted-foreground));cursor:default}app-controls{display:flex;flex-direction:column;gap:1rem}app-controls .group{display:flex;flex-direction:column;gap:.75rem;margin:0;min-width:0;padding:.75rem;border:1px solid hsl(var(--ui-border));border-radius:12px}app-controls .group legend{padding:0 .25rem;font-size:.75rem;font-weight:600;color:hsl(var(--ui-muted-foreground))}app-controls .field-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}app-controls .auto{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;color:hsl(var(--ui-muted-foreground))}app-controls .color{display:flex;gap:.5rem}app-controls .color input[type=color]{flex:none;width:2.5rem;height:2.25rem;padding:2px}app-controls .hex{min-width:0;flex:1;font-family:ui-monospace,Consolas,monospace}app-controls .shared{margin:0 0 .75rem;padding:.5rem .625rem;border-radius:6px;background:hsl(var(--ui-warning)/.12);color:hsl(var(--ui-warning));font-size:.8125rem}app-controls .surfaces{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}app-controls .surface{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border:1px solid hsl(var(--ui-border));border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:.8125rem;text-align:left;cursor:pointer}app-controls .surface[aria-pressed=true]{border-color:currentColor;font-weight:600}app-controls .swatch{flex:none;width:1.5rem;height:1.5rem;border-radius:6px;background:linear-gradient(135deg,#6366f1,#ec4899)}app-controls .swatch-none{background:transparent;border:1px dashed hsl(var(--ui-border))}app-controls .swatch-glass{background:linear-gradient(135deg,#6366f1,#ec4899);box-shadow:inset 0 0 0 1px #fff9,inset 0 0 0 .5rem #ffffff59}app-controls .swatch-neumorphism{background:#e4e8ee;box-shadow:2px 2px 4px #b8bec9,-2px -2px 4px #fff}app-controls .swatch-claymorphism{background:#fbc7d4;border-radius:12px;box-shadow:inset -2px -3px 4px hsl(var(--ui-shadow)/.15),inset 2px 2px 4px #ffffffb3,0 2px 4px hsl(var(--ui-shadow)/.15)}app-controls .swatch-aurora{background:linear-gradient(120deg,#22d3ee,#a78bfa 50%,#f472b6)}app-controls .confirm{width:min(24rem,96vw);padding:1rem;border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-muted));color:inherit}app-controls .confirm h2{margin:0 0 .5rem;font-size:1rem}app-controls .confirm p{margin:0 0 1rem;font-size:.8125rem}app-design-panel .group{margin:.5rem 0 0;font-size:.75rem;color:hsl(var(--ui-muted-foreground))}app-editor-overlay .overlay{position:absolute;inset:0;z-index:11;cursor:default}app-editor-overlay .overlay.is-typing{pointer-events:none}app-editor-overlay .typing-hint{position:absolute;top:100%;left:0;margin-top:4px;padding:0 .25rem;border-radius:4px;background:hsl(var(--ui-selection));color:hsl(var(--ui-selection-foreground));font-size:.7rem;line-height:1.2;white-space:nowrap}app-editor-overlay .frame{position:absolute;pointer-events:none;outline:2px solid hsl(var(--ui-selection));outline-offset:1px}app-editor-overlay .handle{position:absolute;top:0;right:-6px;width:12px;height:100%;padding:0;border:0;background:hsl(var(--ui-selection));opacity:.6;cursor:ew-resize;touch-action:none;pointer-events:auto}app-editor-overlay .handle:hover,app-editor-overlay .handle:focus-visible{opacity:1}app-editor-overlay .track,app-editor-overlay .track-gap,app-editor-overlay .track-handle{position:absolute}app-editor-overlay .track{pointer-events:none;outline:1px solid hsl(var(--ui-selection));outline-offset:-1px;background:hsl(var(--ui-selection)/.08)}app-editor-overlay .track-gap{pointer-events:none;background:repeating-linear-gradient(45deg,hsl(var(--ui-selection)/.35) 0 2px,transparent 2px 6px)}app-editor-overlay .track-handle{width:8px;padding:0;border:0;background:hsl(var(--ui-selection));opacity:.5;cursor:col-resize;touch-action:none;pointer-events:auto}app-editor-overlay .track-handle:hover,app-editor-overlay .track-handle:focus-visible{opacity:1}app-editor-overlay .track-handle:focus-visible{outline:2px solid hsl(var(--ui-selection));outline-offset:2px}app-editor-overlay .mark{position:absolute;pointer-events:none;background:hsl(var(--ui-selection));opacity:.35}app-editor-overlay .guide{position:absolute;pointer-events:none;background:hsl(var(--ui-selection))}app-editor-overlay .guide-x{top:0;bottom:0;width:1px}app-editor-overlay .guide-y{left:0;right:0;height:1px}app-editor-overlay .gap{position:absolute;pointer-events:none;height:1px;background:hsl(var(--ui-selection))}app-editor-overlay .gap-y{width:1px;height:var(--h, auto)}app-editor-overlay .gap span,app-editor-overlay .badge{position:absolute;padding:0 .25rem;border-radius:4px;background:hsl(var(--ui-selection));color:hsl(var(--ui-selection-foreground));font-size:.7rem;line-height:1.2;white-space:nowrap;pointer-events:none}app-editor-overlay .gap span{left:50%;top:0;transform:translate(-50%,-50%)}app-editor-overlay .badge{transform:translate(.5rem)}app-editor-overlay .overlay:focus-visible{outline:2px solid hsl(var(--ui-selection));outline-offset:-2px}app-field-control .icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(2rem,1fr));gap:.25rem}app-field-control .icon-choice{height:2rem;padding:0}app-field-control .icon-choice[aria-pressed=true]{outline:2px solid currentColor}app-inspector .message{margin:0 0 .5rem;padding:.5rem .75rem;border-radius:6px;background:hsl(var(--ui-warning)/.12);color:hsl(var(--ui-warning))}app-inspector .tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-block:.75rem .5rem;border-bottom:1px solid hsl(var(--ui-border))}app-inspector .tab{padding:.375rem .25rem;border:0;border-bottom:2px solid transparent;background:none;color:hsl(var(--ui-muted-foreground));font:inherit;cursor:pointer}app-inspector .tab[aria-selected=true]{border-bottom-color:hsl(var(--ui-primary));color:hsl(var(--ui-foreground));font-weight:600}app-inspector .tab:focus-visible{outline:2px solid hsl(var(--ui-primary));outline-offset:-2px}app-inspector .crumbs{display:flex;flex-wrap:wrap;align-items:center;margin:0 0 .375rem;padding:0;list-style:none;font-size:.75rem}app-inspector .crumbs li+li:before{content:"\203a";margin-inline:.25rem;color:hsl(var(--ui-muted-foreground))}app-inspector .crumb{padding:.125rem .25rem;border:0;border-radius:4px;background:none;color:hsl(var(--ui-muted-foreground));font:inherit;cursor:pointer}app-inspector .crumb:hover{color:hsl(var(--ui-foreground));background:hsl(var(--ui-muted))}app-inspector .crumb:focus-visible{outline:2px solid hsl(var(--ui-primary))}app-inspector .crumbs [aria-current]{padding:.125rem .25rem;font-weight:600}app-inspector .link{background:none;border:0;padding:0;font:inherit;color:hsl(var(--ui-primary));text-decoration:underline;cursor:pointer}app-layers-panel .layers{margin:0;padding:0;list-style:none}app-layers-panel .layer{display:flex;gap:.5rem;align-items:baseline;width:100%;padding-block:.25rem;padding-inline-end:.5rem;padding-inline-start:calc(.5rem + var(--depth, 0) * 1rem)}app-layers-panel .layer.is-before{box-shadow:inset 0 2px hsl(var(--ui-selection))}app-layers-panel .layer.is-after{box-shadow:inset 0 -2px hsl(var(--ui-selection))}app-layers-panel .layer.is-inside{outline:2px solid hsl(var(--ui-selection))}app-layers-panel .layer-hint{min-width:0;overflow:hidden;color:hsl(var(--ui-muted-foreground));text-overflow:ellipsis;white-space:nowrap}app-layers-panel .layer[aria-current=true] .layer-hint{color:inherit;opacity:.8}app-layers-panel .history{margin-block-start:.75rem}app-layers-panel .history summary{cursor:pointer}app-layers-panel .steps{margin:0;padding:0;list-style:none}app-layers-panel .step{width:100%;padding:.25rem .5rem}app-layers-panel .layer-item{display:flex;align-items:center;gap:.125rem}app-layers-panel .layer-rename{margin-inline-start:calc(.5rem + var(--depth, 0) * 1rem)}app-layers-panel .layer-item .layer,app-layers-panel .layer-rename{flex:1;min-width:0}app-layers-panel .layer-tool{border:0;background:none;cursor:pointer;padding:.125rem .25rem;opacity:.55}app-layers-panel .layer-tool[aria-pressed=true],app-layers-panel .layer-tool:hover{opacity:1}app-layers-panel .layer.is-off{opacity:.5;text-decoration:line-through}app-layers-panel .layer-search{display:flex;gap:.25rem;margin-block-end:.5rem}app-layers-panel .layer-search input{flex:1;min-width:0}app-layers-panel .layer-dot{flex:none;width:8px;height:8px;margin-inline-start:auto;border-radius:9999px;background:currentcolor}app-mini-toolbar .bar{position:absolute;z-index:12;display:flex;gap:2px;padding:3px;border:1px solid hsl(var(--ui-input));border-radius:6px;background:hsl(var(--ui-popover));box-shadow:var(--ui-elevation-2);font-size:.75rem;white-space:nowrap}app-mini-toolbar .bar button{padding:.25rem .5rem;border:0;border-radius:4px;background:none;color:hsl(var(--ui-foreground));font:inherit;cursor:pointer}app-mini-toolbar .bar button:hover:not(:disabled),app-mini-toolbar .bar button:focus-visible{background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground))}app-mini-toolbar .bar button:disabled{opacity:.5;cursor:default}app-mini-toolbar .menu{animation:ui-pop .18s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){app-mini-toolbar .menu{animation:none}}app-mini-toolbar .menu{position:absolute;inset-inline-end:0;top:100%;display:grid;min-width:9rem;margin-top:4px;padding:.25rem;border:1px solid hsl(var(--ui-border));border-radius:6px;background:hsl(var(--ui-popover));box-shadow:var(--ui-elevation-3)}app-mini-toolbar .menu button{text-align:start}app-mini-toolbar .name{position:absolute;top:100%;inset-inline-start:0;display:flex;gap:2px;margin-top:4px;padding:3px;border:1px solid hsl(var(--ui-border));border-radius:6px;background:hsl(var(--ui-popover));box-shadow:var(--ui-elevation-3)}app-mini-toolbar .name input{width:9rem;font:inherit}app-page-builder{--ui-control-h: 2rem;display:grid;grid-template-columns:auto auto minmax(0,1fr) 17rem;grid-template-rows:auto minmax(0,1fr);gap:.75rem 0;padding:.75rem;height:100%;min-height:0}app-page-builder .inspector,app-page-builder .stage{min-height:0;overflow:auto}app-page-builder .inspector{padding:.75rem;font-size:.8125rem;grid-column:4;grid-row:2}app-page-builder .stage{isolation:isolate;grid-column:3;grid-row:2;padding:.5rem .75rem}app-page-builder :is(.stage,.inspector){margin-inline-start:.75rem}@media(max-width:63.99rem){app-page-builder{grid-template-columns:auto minmax(0,1fr)}}@media(max-width:63.99rem){app-page-builder .stage{grid-column:2}}@media(max-width:63.99rem){app-page-builder .inspector{grid-column:2;justify-self:end;z-index:10;width:min(20rem,100%)}}@media(max-width:63.99rem){app-page-builder .inspector.empty{display:none}}app-pages-panel .pages{margin:0 0 .5rem;padding:0;list-style:none}app-pages-panel .page{display:flex;flex-direction:column;width:100%;padding:.375rem .5rem;border:0;border-bottom:1px solid hsl(var(--ui-border));background:none;color:hsl(var(--ui-foreground));font:inherit;text-align:left;cursor:pointer}app-pages-panel .page:hover{background:hsl(var(--ui-muted))}app-pages-panel .page[aria-current=page]{background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground))}app-pages-panel .page-path{font-size:.75rem;color:hsl(var(--ui-muted-foreground))}app-pages-panel .page[aria-current=page] .page-path{color:hsl(var(--ui-primary-foreground));opacity:.8}app-pages-panel .newpage{display:flex;flex-direction:column;gap:.375rem;margin:.75rem 0 1rem;padding-top:.75rem;border-top:1px solid hsl(var(--ui-border))}app-pages-panel .check{display:flex;gap:.5rem;align-items:center}app-pages-panel .settings{margin-block:.25rem}app-pages-panel .settings>summary{cursor:pointer;font-weight:600}app-preview-dialog .preview-dialog{position:relative;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:hsl(var(--ui-foreground));font-size:.8125rem}app-preview-dialog .preview-dialog[open]{display:flex;flex-direction:column}app-preview-dialog .preview-top{position:absolute;inset:.75rem 0 auto;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}app-preview-dialog .preview-top>*{pointer-events:auto}app-preview-dialog .preview-bar,app-preview-dialog .preview-share{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:calc(100% - 1.5rem);padding:.375rem .75rem}app-preview-dialog .preview-bar label{display:flex;align-items:center;gap:.5rem}app-preview-dialog .preview-bar app-select{min-width:8rem}app-preview-dialog .preview-bar .viewing{color:hsl(var(--ui-muted-foreground))}app-preview-dialog .preview-sheet{display:flex;flex:1;flex-direction:column;overflow:auto;padding:5rem .75rem .75rem}app-preview-dialog .preview-frame{display:contents}app-preview-dialog .preview-strip{display:none}app-preview-dialog .preview-surface{width:100%;max-width:var(--max-w, none);margin:0 auto;overflow:hidden}app-preview-dialog .preview-sheet[data-device=desktop] .preview-frame{display:flex;flex:1 0 auto;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--ui-border));border-radius:14px;box-shadow:var(--ui-elevation-4)}app-preview-dialog .preview-sheet[data-device=desktop] .preview-frame .preview-strip{display:flex;flex:none;justify-content:center;padding:.5rem;border-bottom:1px solid hsl(var(--ui-border));background:hsl(var(--ui-card))}app-preview-dialog .preview-sheet[data-device=desktop] .preview-frame .preview-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:24rem;padding:0 .75rem;border-radius:9999px;background:hsl(var(--ui-muted)/.6);color:hsl(var(--ui-muted-foreground));font-size:.75rem;line-height:1.25rem}app-preview-dialog .preview-sheet[data-device=desktop] .preview-frame .preview-surface{flex:1 0 auto}app-preview-dialog .preview-sheet:not([data-device=desktop]) .preview-surface{min-height:0;border-radius:20px;box-shadow:0 0 0 10px hsl(var(--ui-shadow)/.88),var(--ui-elevation-4)}app-preview-dialog .preview-sheet[data-device=phone] .preview-surface{border-radius:28px}app-site-panel .languages{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}app-site-panel .languages li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}:is(app-style-panel,app-style-tab) .section{border-top:1px solid hsl(var(--ui-border))}:is(app-style-panel,app-style-tab) .section>summary{display:flex;align-items:center;padding-block:.625rem;font-size:.8125rem;font-weight:500;list-style:none;cursor:pointer}:is(app-style-panel,app-style-tab) .section>summary::-webkit-details-marker{display:none}:is(app-style-panel,app-style-tab) .section>summary:after{content:"";width:.375rem;height:.375rem;margin-inline-start:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .18s cubic-bezier(.16,1,.3,1)}:is(app-style-panel,app-style-tab) .section[open]>summary:after{transform:rotate(45deg)}app-style-panel .devices{display:grid;grid-template-columns:repeat(auto-fit,minmax(4.5rem,1fr));gap:.25rem}app-style-panel .screens{display:grid;justify-items:start;gap:.5rem;margin-block-end:.5rem}app-style-panel .screens .devices{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(0,1fr);justify-self:stretch}app-style-panel .screens .devices>button{min-width:0;padding-inline:.25rem}app-style-panel .prop{display:flex;flex-direction:column;gap:.25rem;margin-block-end:.625rem}app-style-panel .prop-head{display:flex;justify-content:space-between;align-items:baseline}app-style-panel .reset{padding:0;border:0;background:none;color:hsl(var(--ui-primary));font:inherit;text-decoration:underline;cursor:pointer}app-style-panel .row{display:flex;gap:.25rem;min-width:0}app-style-panel .row>input[type=number],app-style-panel .row>input[type=text]{flex:1 1 0;min-width:0}app-style-panel .row>app-select{flex:0 0 4.5rem}app-style-panel .well{position:relative;flex:0 0 2rem;height:1.75rem}app-style-panel .preview{background:var(--swatch, transparent);display:block;width:100%;height:100%;border:1px solid hsl(var(--ui-input));border-radius:4px;box-sizing:border-box}app-style-panel .well>input[type=color]{position:absolute;inset:0;width:100%;height:100%;padding:0;opacity:0;cursor:pointer}app-style-panel .well:focus-within .preview{outline:2px solid hsl(var(--ui-primary));outline-offset:2px}app-style-panel input,app-style-panel select{font:inherit}app-style-panel select{max-width:100%}app-style-panel .swatches{display:flex;flex-wrap:wrap;gap:.25rem}app-style-panel .swatch{background:var(--swatch);width:1rem;height:1rem;padding:0;border:1px solid hsl(var(--ui-input));border-radius:4px;cursor:pointer}app-style-panel .swatch.is-selected{outline:2px solid hsl(var(--ui-primary));outline-offset:1px}app-style-panel .filter{display:grid;gap:.25rem}app-style-panel .slider{display:flex;flex-direction:column}app-style-panel .inherited{margin:0;color:hsl(var(--ui-muted-foreground));font-style:italic}app-style-panel .is-refused :is(input,select,.ui-select){outline:2px solid hsl(var(--ui-destructive));outline-offset:0}app-style-panel :is(button,summary):focus-visible{outline:2px solid hsl(var(--ui-primary));outline-offset:2px}app-style-panel .reset-device{width:100%;margin-block-end:.5rem}app-style-panel .count{margin-inline-start:.375rem;padding:0 .375rem;border-radius:9999px;background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground));font-size:.75rem}app-style-panel .dot{display:inline-block;box-sizing:border-box;width:8px;height:8px;margin-inline-end:.375rem;border-radius:9999px;vertical-align:middle}app-style-panel .dot.is-own{background:hsl(var(--ui-primary))}app-style-panel .dot.is-inherited{background:hsl(var(--ui-primary)/.4)}app-style-panel .dot.is-class{border:1.5px solid hsl(var(--ui-primary))}app-style-panel .classes{display:flex;flex-direction:column;gap:.375rem;margin-block-end:.5rem}app-style-panel .chip{display:inline-flex;border:1px solid hsl(var(--ui-border));border-radius:9999px;overflow:hidden}app-style-panel .chip.is-target{border-color:hsl(var(--ui-primary))}app-style-panel .chip button{padding:.125rem .5rem;border:0;background:none;color:inherit;font:inherit;cursor:pointer}app-style-panel .menu{display:flex;flex-direction:column;gap:.25rem;padding:.375rem;border:1px solid hsl(var(--ui-border));border-radius:6px}app-style-panel .menu ul{display:flex;flex-direction:column;gap:.125rem;max-height:8rem;margin:0;padding:0;overflow:auto;list-style:none}app-style-tab .size-hint{margin:0;font-size:.75rem;color:hsl(var(--ui-muted-foreground))}app-suggestions .head{display:flex;align-items:center;justify-content:space-between}app-suggestions h2{margin:0;font-size:.8125rem}app-suggestions h3{margin:.75rem 0 .25rem;font-size:.75rem;color:hsl(var(--ui-muted-foreground))}app-suggestions .empty,app-suggestions .item p{margin:0;font-size:.8125rem;color:hsl(var(--ui-muted-foreground))}app-suggestions .list{display:flex;flex-direction:column;gap:.5rem;margin:.25rem 0 0;padding:0;list-style:none}app-suggestions .item{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;padding:.5rem;border:1px solid hsl(var(--ui-border));border-radius:6px}app-suggestions .swatches{display:flex;gap:.25rem}app-vibe-tray{display:block}app-vibe-tray .cards{display:grid;gap:.5rem;margin:.5rem 0;padding:0;list-style:none}app-vibe-tray .ui-card{padding:.75rem}app-canvas{position:relative;display:block;height:100%;overflow:hidden;background:hsl(var(--ui-muted));color:hsl(var(--ui-foreground));font-size:.8125rem;line-height:1.4;--ui-control-h: 2rem}app-canvas.is-pending{visibility:hidden}app-canvas .cv-surface{position:absolute;inset:0;overflow:hidden;cursor:default;touch-action:none;--dot-alpha: calc(.14*clamp(0, (var(--z, 1) - .15) * 6.67, 1)) ;--dot-step: max(16px, calc(32px * var(--z, 1)));background-image:radial-gradient(circle,hsl(var(--ui-foreground)/var(--dot-alpha)) 1px,transparent 1.5px);background-size:var(--dot-step) var(--dot-step);background-position:var(--px) var(--py)}app-canvas .cv-surface.is-hand{cursor:grab}app-canvas .cv-surface.is-panning{cursor:grabbing}app-canvas .cv-world{position:absolute;top:0;left:0;transform:translate(var(--px, 0),var(--py, 0)) scale(var(--z, 1));transform-origin:0 0}app-canvas .cv-edit{position:absolute;left:var(--x);top:var(--y);z-index:3;width:var(--w);height:var(--h);pointer-events:none}app-canvas .cv-edit.is-moving{visibility:hidden}app-canvas .cv-edit :is(.overlay:not(.is-typing),.bar){pointer-events:auto}app-canvas .cv-menu{border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));box-shadow:var(--ui-elevation-3);background:hsl(var(--ui-popover))}app-canvas .cv-island{position:absolute;display:flex;align-items:center;gap:.25rem;padding:.25rem}app-canvas .cv-top-left,app-canvas .cv-top-right{z-index:7}app-canvas .cv-top-left{top:1rem;left:1rem}app-canvas .cv-top-right{top:1rem;right:1rem}app-canvas .cv-tools{top:50%;right:1rem;flex-direction:column;transform:translateY(-50%)}app-canvas .cv-zoom{right:1rem;bottom:1rem}app-canvas .cv-island :is(button,a),app-canvas .cv-bar button,app-canvas .cv-menu :is(button,a){display:inline-flex;align-items:center;justify-content:center;min-width:var(--ui-control-h);min-height:var(--ui-control-h);padding:0 .625rem;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-weight:500;text-decoration:none;cursor:pointer}app-canvas .cv-island :is(button,a):hover,app-canvas .cv-bar button:hover,app-canvas .cv-menu :is(button,a):hover{background:hsl(var(--ui-muted))}app-canvas .cv-island button[aria-pressed=true]{background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground))}app-canvas .cv-island .cv-primary{background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground));font-weight:600}app-canvas .cv-island .cv-primary:hover{background:hsl(var(--ui-primary));opacity:.9}app-canvas .cv-island .cv-devices{display:inline-flex;gap:.125rem;margin-right:.125rem;padding-right:.375rem;border-right:1px solid hsl(var(--ui-border))}app-canvas .cv-pct{min-width:3rem;color:hsl(var(--ui-muted-foreground));font-variant-numeric:tabular-nums;text-align:center}app-canvas .cv-menu{animation:ui-pop .18s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){app-canvas .cv-menu{animation:none}}app-canvas .cv-menu{position:absolute;top:calc(100% + .375rem);left:0;z-index:5;display:flex;flex-direction:column;min-width:11rem;padding:.25rem}app-canvas .cv-menu :is(button,a),app-canvas .cv-island .cv-menu :is(button,a){justify-content:flex-start;text-align:left}app-canvas .cv-top-right .cv-menu{right:0;left:auto}app-canvas .cv-bar{position:absolute;left:var(--x);top:var(--y);z-index:4;display:flex;gap:.125rem;padding:.25rem}app-canvas .cv-ctx{left:var(--x);top:var(--y);z-index:6}app-canvas .cv-drop{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border-radius:4px;background:hsl(var(--ui-selection));pointer-events:none}app-canvas .cv-guides{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}app-canvas .cv-guide{position:absolute;top:var(--y, 0);left:0;right:0;height:1px;background:hsl(var(--ui-selection))}app-canvas .cv-guide.cv-guide-x{top:0;bottom:0;left:var(--x, 0);right:auto;width:1px;height:auto}app-canvas .cv-rename{position:absolute;left:var(--x);top:var(--y);z-index:4;width:var(--w);height:var(--h);padding:0 .375rem;border:2px solid hsl(var(--ui-selection));border-radius:6px;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground));font-family:inherit;font-size:var(--size);font-weight:600}app-canvas .cv-scrim{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:hsl(var(--ui-background)/.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}app-canvas .cv-confirm{border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));animation:ui-rise .24s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){app-canvas .cv-confirm{animation:none}}app-canvas .cv-confirm{min-width:20rem;padding:1.5rem;box-shadow:var(--ui-elevation-4);background:hsl(var(--ui-popover))}app-canvas .cv-confirm p{margin:0 0 .375rem}app-canvas .cv-confirm .cv-row{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}app-artboard{position:absolute;left:var(--x);top:var(--y);display:block;width:var(--w);height:var(--h);border-radius:6px;outline:none;contain:layout paint}app-artboard .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;height:var(--band);color:hsl(var(--ui-muted-foreground));font:500 clamp(28px,12px / var(--z, 1),56px)/1 "Inter Variable","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}app-artboard.is-selected .title{color:hsl(var(--ui-selection))}app-artboard.is-selected .doc{outline:calc(1.5px / var(--z, 1)) solid hsl(var(--ui-selection))}app-artboard:focus-visible .doc{outline:calc(2px / var(--z, 1)) solid hsl(var(--ui-selection));outline-offset:calc(4px / var(--z, 1))}app-artboard .doc{overflow:hidden;border-radius:6px;pointer-events:none;-webkit-user-select:none;user-select:none}app-artboard.is-editing .doc{pointer-events:auto}app-artboard .skeleton,app-artboard .placeholder{height:calc(100% - var(--band));background:hsl(var(--ui-background))}app-artboard .skeleton{display:flex;flex-direction:column;gap:24px;padding:24px;border:1px solid hsl(var(--ui-border))}app-artboard .block{flex:1;min-height:80px;max-height:320px;padding:16px;border-radius:12px;background:hsl(var(--ui-muted));color:hsl(var(--ui-muted-foreground));font:500 32px/1 Inter Variable,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}app-artboard .placeholder.add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:4px dashed hsl(var(--ui-input));background:transparent;color:hsl(var(--ui-muted-foreground));font:400 120px/1 Inter Variable,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}app-artboard .placeholder.add span{font-size:32px}app-artboard .placeholder.add .ui-icon{width:120px;height:120px}app-canvas-islands{display:contents}app-canvas-islands .island{border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));position:absolute;top:4.5rem;z-index:4;max-height:calc(100% - 9rem);overflow:hidden;box-shadow:var(--ui-elevation-3);background:hsl(var(--ui-popover))}app-canvas-islands .rail-island{left:1rem;display:grid;grid-template-columns:auto auto;grid-template-rows:0 auto}app-canvas-islands .rail-island :is(.rail,.panel){border:0}app-canvas-islands .rail-island .panel{max-height:calc(100vh - 10rem);border-left:1px solid hsl(var(--ui-border))}app-canvas-islands .where{margin:0 0 .5rem;color:hsl(var(--ui-muted-foreground));font-weight:600}app-canvas-islands .inspector-island{right:4.5rem;width:min(17rem,90vw);padding:.75rem;overflow:auto;font-size:.8125rem}app-canvas-prompt{position:absolute;left:50%;bottom:1rem;z-index:3;display:flex;flex-direction:column;align-items:stretch;gap:.5rem;width:min(40rem,100% - 22.5rem);transform:translate(-50%);font-size:.8125rem;line-height:1.4}app-canvas-prompt .bar,app-canvas-prompt .note{border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));background:hsl(var(--ui-popover)/.82);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);display:flex;align-items:flex-end;gap:.5rem;padding:.375rem .5rem;box-shadow:var(--ui-elevation-3);background:hsl(var(--ui-popover))}app-canvas-prompt .note{align-items:center;align-self:center;margin:0;padding:.375rem .75rem}app-canvas-prompt .note button{min-width:0;min-height:0;padding:.125rem .375rem;text-decoration:underline}app-canvas-prompt .err{border-color:hsl(var(--ui-destructive)/.2);background:hsl(var(--ui-destructive)/.1);color:hsl(var(--ui-destructive))}app-canvas-prompt textarea{flex:1;min-width:0;min-height:0;max-height:4lh;padding:.375rem;border:0;background:transparent;color:inherit;font:inherit;resize:none;outline:none;field-sizing:content}app-canvas-prompt textarea::placeholder{color:hsl(var(--ui-muted-foreground))}app-canvas-prompt button{min-width:var(--ui-control-h);min-height:var(--ui-control-h);padding:0 .625rem;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer}app-canvas-prompt .send{background:hsl(var(--ui-primary));color:hsl(var(--ui-primary-foreground));font-weight:600}app-canvas-prompt .send:disabled{opacity:.4;cursor:default}app-canvas-prompt :is(.count,.status){align-self:center;color:hsl(var(--ui-muted-foreground));font-variant-numeric:tabular-nums}app-canvas-prompt a{margin-left:.375rem;color:inherit;font-weight:600}app-canvas-dialogs{display:contents}app-canvas-dialogs .design-island{border:1px solid hsl(var(--ui-border));border-radius:12px;background:hsl(var(--ui-card));color:hsl(var(--ui-card-foreground));position:fixed;top:4.5rem;right:4.5rem;bottom:4.5rem;z-index:5;width:min(22rem,90vw);padding:1rem;overflow:auto;box-shadow:var(--ui-elevation-3);background:hsl(var(--ui-popover));font-size:.8125rem}app-canvas-dialogs .close{position:absolute;top:.5rem;right:.5rem}app-canvas-dialogs form{display:grid;gap:1rem}:is(app-export-dialog,app-generate-dialog,app-versions-dialog,app-collections-dialog) .ui-dialog__head h2{font-size:1.25rem}:is(app-export-dialog,app-generate-dialog,app-versions-dialog,app-collections-dialog) .ui-tabs{margin:1rem 0}app-export-dialog .dialog{width:min(52rem,100vw - 2rem)}app-export-dialog .formats{flex-wrap:wrap}app-export-dialog .formats>button{flex:none}app-export-dialog .file{display:grid;gap:.5rem;margin-bottom:1rem}app-export-dialog .file-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}app-export-dialog .file-head h3{font-family:ui-monospace,Consolas,monospace;font-size:.8125rem}app-export-dialog textarea{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:.8125rem;resize:vertical}app-export-dialog .status{min-height:1.25rem;margin:0;color:hsl(var(--ui-muted-foreground));font-size:.8125rem}app-generate-dialog{display:contents}app-generate-dialog .dialog{width:min(36rem,100vw - 2rem)}app-generate-dialog :is(.count,.status){margin:0 0 .5rem;color:hsl(var(--ui-muted-foreground));font-size:.8125rem}app-generate-dialog .count{text-align:end}app-generate-dialog .count.is-over{color:hsl(var(--ui-destructive))}app-generate-dialog :is(.where,.progress){display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0}app-generate-dialog .where{gap:1rem}app-generate-dialog .prompt{width:100%;resize:vertical}app-versions-dialog{font-size:.8125rem}app-versions-dialog .versions{width:min(45rem,96vw)}app-versions-dialog .save{display:flex;gap:.5rem;margin-block:.5rem}app-versions-dialog .save input{flex:1}app-versions-dialog .list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}app-versions-dialog .list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border:1px solid hsl(var(--ui-border));border-radius:6px}app-versions-dialog .what{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}app-versions-dialog .date{color:hsl(var(--ui-muted-foreground))}app-versions-dialog .note{margin:.25rem 0}app-collections-dialog{font-size:.8125rem}app-collections-dialog h3{margin:.5rem 0}app-collections-dialog .tabs{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}app-collections-dialog .newone{display:flex;gap:.25rem}app-collections-dialog .row{display:flex;flex-wrap:wrap;align-items:end;gap:.375rem;margin-block:.375rem}app-collections-dialog .scroll{overflow-x:auto}app-collections-dialog .items{width:100%;border-collapse:collapse}app-collections-dialog .items :is(th,td){padding:.25rem;border:1px solid hsl(var(--ui-border));text-align:left;vertical-align:top}app-collections-dialog .items td app-prop-value{display:block;min-width:9rem}app-collections-dialog .items td :is(input[type=date],input[type=number]){min-width:8rem}app-collections-dialog .slug{color:hsl(var(--ui-muted-foreground))}app-collections-dialog code{font-family:ui-monospace,Consolas,monospace}app-collections-dialog .ui-alert{margin:.25rem 0}app-sign-up-page{display:block;min-height:100dvh;background:hsl(var(--ui-muted))}app-sign-up-page .wrap{display:grid;place-items:start center;padding:3rem 1rem}app-sign-up-page .card{gap:1rem;width:min(26rem,100%);padding:1.5rem}app-sign-up-page .card h1{font-size:1.5rem}app-sign-up-page .check{align-items:flex-start;font-weight:400}app-sign-up-page .field-error{margin-top:-.375rem}app-sign-up-page .link{padding:0;border:0;background:none;color:hsl(var(--ui-foreground));font:inherit;text-decoration:underline;cursor:pointer}app-sign-up-page .legal-links{margin-top:1rem;color:hsl(var(--ui-muted-foreground));font-size:.8125rem;text-align:center}app-preview{display:block}app-preview .preview{min-height:100%}app-legal-page{display:block;min-height:100dvh;background:hsl(var(--ui-background));color:hsl(var(--ui-foreground))}app-legal-page .legal{max-width:65ch;margin:0 auto;padding:3rem 1rem 4rem;line-height:1.7}app-legal-page .legal :is(h1,h2,h3){margin-top:1.5em}app-legal-page .legal blockquote{margin:1em 0;padding:.75rem 1rem;border:1px solid hsl(var(--ui-warning)/.2);border-radius:12px;background:hsl(var(--ui-warning)/.1);color:hsl(var(--ui-warning))}app-not-found .not-found{justify-items:start;gap:1rem}
