@layer json-pdf-designer{:where(.jpd-designer,.jpd-modal__panel,.jpd-card,.jpd-page,.jpd-field),:where(.jpd-designer,.jpd-modal__panel,.jpd-card,.jpd-page,.jpd-field) *,:where(.jpd-designer,.jpd-modal__panel,.jpd-card,.jpd-page,.jpd-field) :before,:where(.jpd-designer,.jpd-modal__panel,.jpd-card,.jpd-page,.jpd-field) :after{box-sizing:border-box}.jpd-btn,.jpd-iconbtn,.jpd-linkbtn,.jpd-input,.jpd-select,.jpd-textarea,.jpd-tab,.jpd-tabs__btn,.jpd-menuitem,.jpd-addlink,.jpd-rowname,.jpd-tab__pin{font:inherit;font-family:var(--jpd-font-sans,inherit);letter-spacing:inherit;color:inherit;background-color:#0000;margin:0}.jpd-btn,.jpd-iconbtn,.jpd-linkbtn,.jpd-tab,.jpd-tabs__btn,.jpd-menuitem,.jpd-addlink,.jpd-rowname,.jpd-tab__pin{appearance:button;cursor:pointer;border:0 solid}:where(.jpd-designer,.jpd-modal__panel,.jpd-card,.jpd-page) :is(button,input,select,textarea,optgroup):not([class]){font:inherit;font-family:var(--jpd-font-sans,inherit);letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border:0 solid;border-radius:0;margin:0}:where(.jpd-designer,.jpd-modal__panel,.jpd-card,.jpd-page) :is(button):not([class]){appearance:button}.jpd-hint,.jpd-hint--md,.jpd-meta,.jpd-error,.jpd-card__title,.jpd-modal__title,.jpd-sectionhead,.jpd-grouplabel{margin:0}.jpd-card__title,.jpd-modal__title,.jpd-sectionhead{font-size:inherit;font-weight:inherit}.jpd-list{margin:0;padding:0;list-style:none}.jpd-code{font-family:var(--jpd-font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:1em}.jpd-icon,.jpd-micon,.jpd-ruler,.jpd-imagefield__img{vertical-align:middle;display:block}.jpd-fieldtable{text-indent:0;border-color:inherit;border-collapse:collapse}.jpd-input::placeholder,.jpd-textarea::placeholder{opacity:1}.jpd-disclosure__summary{display:list-item}:root{--jpd-surface:#fff;--jpd-surface-field:#fff;--jpd-surface-sunken:oklch(96.8% .007 247.896);--jpd-surface-muted:oklch(96.8% .007 247.896);--jpd-surface-muted-2:oklch(98.4% .003 247.858);--jpd-surface-hover:oklch(96.8% .007 247.896);--jpd-surface-hover-soft:oklch(98.4% .003 247.858);--jpd-surface-active:oklch(92.9% .013 255.508);--jpd-overlay:oklab(20.8% -.00310889 -.0418848/.6);--jpd-border:oklch(92.9% .013 255.508);--jpd-border-alt:oklch(92.9% .013 255.508);--jpd-border-strong:oklch(86.9% .022 252.894);--jpd-border-strong-2:oklch(86.9% .022 252.894);--jpd-swatch-ring:oklab(0% none none/.1);--jpd-text-strong:oklch(27.9% .041 260.031);--jpd-text:oklch(37.2% .044 257.287);--jpd-text-field:oklch(37.2% .044 257.287);--jpd-text-muted:oklch(44.6% .043 257.281);--jpd-text-label:oklch(44.6% .043 257.281);--jpd-text-faint:oklch(55.4% .046 257.417);--jpd-text-disabled:oklch(70.4% .04 256.788);--jpd-text-disabled-2:oklch(70.4% .04 256.788);--jpd-text-ghost:oklch(86.9% .022 252.894);--jpd-text-placeholder:oklch(70.4% .04 256.788);--jpd-text-hover:oklch(44.6% .043 257.281);--jpd-text-hover-strong:oklch(37.2% .044 257.287);--jpd-text-on-accent:#fff;--jpd-accent:oklch(58.8% .158 241.966);--jpd-accent-solid:oklch(58.8% .158 241.966);--jpd-accent-solid-hover:oklch(50% .134 242.749);--jpd-accent-hover:oklch(58.8% .158 241.966);--jpd-accent-border:oklch(68.5% .169 237.323);--jpd-accent-border-soft:oklch(74.6% .16 232.661);--jpd-accent-border-solid:oklch(58.8% .158 241.966);--jpd-accent-border-hover:oklch(74.6% .16 232.661);--jpd-accent-soft:oklch(97.7% .013 236.62);--jpd-accent-soft-hover:oklch(97.7% .013 236.62);--jpd-accent-ring:oklch(95.1% .026 236.824);--jpd-accent-ring-visible:oklch(82.8% .111 230.318);--jpd-ring-offset:#fff;--jpd-danger:oklch(63.7% .237 25.331);--jpd-danger-hover:oklch(57.7% .245 27.325);--jpd-danger-text:oklch(57.7% .245 27.325);--jpd-danger-text-hover:oklch(63.7% .237 25.331);--jpd-danger-soft:oklab(63.7% .214213 .1014/.15);--jpd-danger-border:oklch(70.4% .191 22.216);--jpd-danger-ring:oklch(80.8% .114 19.571);--jpd-warn-text:oklch(76.9% .188 70.08);--jpd-warn-text-2:oklch(66.6% .179 58.318);--jpd-section:oklch(55.8% .288 302.321);--jpd-section-text:oklch(49.6% .265 301.924);--jpd-section-text-strong:oklch(43.8% .218 303.724);--jpd-section-text-soft:oklch(55.8% .288 302.321);--jpd-section-border:oklch(82.7% .119 306.383);--jpd-section-border-hover:oklch(71.4% .203 305.504);--jpd-section-soft:oklab(97.7% .00867672 -.010987/.4);--jpd-section-soft-2:oklab(97.7% .00867672 -.010987/.6);--jpd-section-hover:oklch(97.7% .014 308.299);--jpd-section-hover-2:oklch(94.6% .033 307.174);--jpd-canvas-border:oklch(92.9% .013 255.508);--jpd-canvas-text:oklch(44.6% .043 257.281);--jpd-canvas-band:oklch(98.4% .003 247.858);--jpd-section-border-strong:oklch(71.4% .203 305.504);--jpd-section-soft-3:oklab(97.7% .00867672 -.010987/.5);--jpd-canvas-page:#fff;--jpd-canvas-ink:oklch(21% .034 264.665);--jpd-canvas-guide:#64748b2e;--jpd-canvas-dim:oklab(20.8% -.00310889 -.0418848/.1);--jpd-field-outline:oklch(86.9% .022 252.894);--jpd-selection:oklch(58.8% .158 241.966);--jpd-selection-ring:oklab(58.8% -.0742593 -.139462/.15);--jpd-locked:oklch(76.9% .188 70.08);--jpd-ruler-bg:oklch(98.4% .003 247.858);--jpd-ruler-tick:oklch(70.4% .04 256.788);--jpd-ruler-label:oklch(55.4% .046 257.417);--jpd-zoombar-bg:oklab(27.9% -.00709772 -.040381/.9);--jpd-zoombar-hover:oklab(100% 0 5.96046e-8/.1);--jpd-zoombar-active:oklab(100% 0 5.96046e-8/.2);--jpd-accent-soft-strong:oklch(97.7% .013 236.62);--jpd-callout-sky:oklab(97.7% -.00715246 -.0108555/.4);--jpd-callout-sky-solid:oklab(97.7% -.00715246 -.0108555/.6);--jpd-callout-sky-border:oklch(82.8% .111 230.318);--jpd-callout-sky-border-solid:oklch(90.1% .058 230.902);--jpd-accent-text-hover:oklch(50% .134 242.749);--jpd-font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--jpd-space-0:0;--jpd-space-0-5:.125rem;--jpd-space-1:.25rem;--jpd-space-1-5:.375rem;--jpd-space-2:.5rem;--jpd-space-2-5:.625rem;--jpd-space-3:.75rem;--jpd-space-3-5:.875rem;--jpd-space-4:1rem;--jpd-space-5:1.25rem;--jpd-font-size-micro:9px;--jpd-font-size-tiny:10px;--jpd-font-size-small:11px;--jpd-font-size-body:.75rem;--jpd-font-size-md:.875rem;--jpd-font-size-lg:1rem;--jpd-line-height:1.5;--jpd-line-height-body:1.33333;--jpd-line-height-md:1.42857;--jpd-line-height-lg:1.5;--jpd-line-height-tight:1.25;--jpd-tracking-wide:.025em;--jpd-font-sans:inherit;--jpd-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--jpd-radius-sm:.25rem;--jpd-radius-md:.375rem;--jpd-radius-lg:.5rem;--jpd-radius-xl:.75rem;--jpd-radius-full:9999px;--jpd-shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--jpd-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--jpd-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--jpd-shadow-2xl:0 25px 50px -12px #00000040;--jpd-shadow-page:0 1px 3px #0000001a, 0 8px 24px #0f172a14;--jpd-shadow-page-preview:0 1px 3px #00000026, 0 8px 24px #0f172a14;--jpd-z-dropdown:10;--jpd-z-canvas-overlay:20;--jpd-z-modal:1000}[data-jpd-theme=dark],.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--jpd-surface:oklch(27.8% .033 256.848);--jpd-surface-field:oklch(37.3% .034 259.733);--jpd-surface-sunken:oklch(21% .034 264.665);--jpd-surface-muted:oklch(37.3% .034 259.733);--jpd-surface-muted-2:oklch(37.3% .034 259.733);--jpd-surface-hover:oklch(37.3% .034 259.733);--jpd-surface-hover-soft:oklch(37.3% .034 259.733);--jpd-surface-active:oklch(44.6% .03 256.802);--jpd-border:oklch(37.3% .034 259.733);--jpd-border-alt:oklch(44.6% .03 256.802);--jpd-border-strong:oklch(44.6% .03 256.802);--jpd-border-strong-2:oklch(55.1% .027 264.364);--jpd-text-strong:oklch(96.7% .003 264.542);--jpd-text:oklch(92.8% .006 264.531);--jpd-text-field:oklch(96.7% .003 264.542);--jpd-text-muted:oklch(87.2% .01 258.338);--jpd-text-label:oklch(70.7% .022 261.325);--jpd-text-faint:oklch(70.7% .022 261.325);--jpd-text-disabled:oklch(70.7% .022 261.325);--jpd-text-disabled-2:oklch(55.1% .027 264.364);--jpd-text-ghost:oklch(44.6% .03 256.802);--jpd-text-placeholder:oklch(70.7% .022 261.325);--jpd-text-hover:oklch(92.8% .006 264.531);--jpd-text-hover-strong:oklch(96.7% .003 264.542);--jpd-accent:oklch(70.7% .165 254.624);--jpd-accent-solid:oklch(50% .134 242.749);--jpd-accent-solid-hover:oklch(58.8% .158 241.966);--jpd-accent-hover:oklch(70.7% .165 254.624);--jpd-accent-border:oklch(70.7% .165 254.624);--jpd-accent-border-soft:oklch(70.7% .165 254.624);--jpd-accent-border-solid:oklch(70.7% .165 254.624);--jpd-accent-border-hover:oklch(70.7% .165 254.624);--jpd-accent-soft:oklab(70.7% -.0437502 -.159094/.1);--jpd-accent-soft-hover:oklab(70.7% -.0437502 -.159094/.1);--jpd-accent-ring:oklab(70.7% -.0437502 -.159094/.2);--jpd-danger-text:oklch(70.4% .191 22.216);--jpd-danger-text-hover:oklch(70.4% .191 22.216);--jpd-warn-text:oklch(82.8% .189 84.429);--jpd-warn-text-2:oklch(82.8% .189 84.429);--jpd-section-text:oklch(82.7% .119 306.383);--jpd-section-text-strong:oklch(82.7% .119 306.383);--jpd-section-text-soft:oklch(71.4% .203 305.504);--jpd-section-border:oklch(49.6% .265 301.924);--jpd-section-border-hover:oklch(62.7% .265 303.9);--jpd-section-soft:oklab(38.1% .100917 -.144194/.2);--jpd-section-soft-2:oklab(38.1% .100917 -.144194/.3);--jpd-section-hover:oklab(38.1% .100917 -.144194/.4);--jpd-section-hover-2:oklab(38.1% .100917 -.144194/.4);--jpd-accent-soft-strong:oklab(37.9% -.0113991 -.145554/.3);--jpd-callout-sky:oklab(37.9% -.0113991 -.145554/.2);--jpd-callout-sky-solid:oklab(37.9% -.0113991 -.145554/.2);--jpd-callout-sky-border:oklch(48.8% .243 264.376);--jpd-callout-sky-border-solid:oklch(42.4% .199 265.638);--jpd-accent-text-hover:oklch(80.9% .105 251.813);--jpd-ruler-bg:oklch(27.8% .033 256.848);--jpd-ruler-tick:oklch(55.1% .027 264.364);--jpd-ruler-label:oklch(70.7% .022 261.325)}[data-jpd-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--jpd-surface:#fff;--jpd-surface-field:#fff;--jpd-surface-sunken:oklch(96.8% .007 247.896);--jpd-surface-muted:oklch(96.8% .007 247.896);--jpd-surface-muted-2:oklch(98.4% .003 247.858);--jpd-surface-hover:oklch(96.8% .007 247.896);--jpd-surface-hover-soft:oklch(98.4% .003 247.858);--jpd-surface-active:oklch(92.9% .013 255.508);--jpd-border:oklch(92.9% .013 255.508);--jpd-border-alt:oklch(92.9% .013 255.508);--jpd-border-strong:oklch(86.9% .022 252.894);--jpd-border-strong-2:oklch(86.9% .022 252.894);--jpd-text-strong:oklch(27.9% .041 260.031);--jpd-text:oklch(37.2% .044 257.287);--jpd-text-field:oklch(37.2% .044 257.287);--jpd-text-muted:oklch(44.6% .043 257.281);--jpd-text-label:oklch(44.6% .043 257.281);--jpd-text-faint:oklch(55.4% .046 257.417);--jpd-text-disabled:oklch(70.4% .04 256.788);--jpd-text-disabled-2:oklch(70.4% .04 256.788);--jpd-text-ghost:oklch(86.9% .022 252.894);--jpd-text-placeholder:oklch(70.4% .04 256.788);--jpd-text-hover:oklch(44.6% .043 257.281);--jpd-text-hover-strong:oklch(37.2% .044 257.287);--jpd-accent:oklch(58.8% .158 241.966);--jpd-accent-solid:oklch(58.8% .158 241.966);--jpd-accent-solid-hover:oklch(50% .134 242.749);--jpd-accent-hover:oklch(58.8% .158 241.966);--jpd-accent-border:oklch(68.5% .169 237.323);--jpd-accent-border-soft:oklch(74.6% .16 232.661);--jpd-accent-border-solid:oklch(58.8% .158 241.966);--jpd-accent-border-hover:oklch(74.6% .16 232.661);--jpd-accent-soft:oklch(97.7% .013 236.62);--jpd-accent-soft-hover:oklch(97.7% .013 236.62);--jpd-accent-ring:oklch(95.1% .026 236.824);--jpd-danger-text:oklch(57.7% .245 27.325);--jpd-danger-text-hover:oklch(63.7% .237 25.331);--jpd-warn-text:oklch(76.9% .188 70.08);--jpd-warn-text-2:oklch(66.6% .179 58.318);--jpd-section-text:oklch(49.6% .265 301.924);--jpd-section-text-strong:oklch(43.8% .218 303.724);--jpd-section-text-soft:oklch(55.8% .288 302.321);--jpd-section-border:oklch(82.7% .119 306.383);--jpd-section-border-hover:oklch(71.4% .203 305.504);--jpd-section-soft:oklab(97.7% .00867672 -.010987/.4);--jpd-section-soft-2:oklab(97.7% .00867672 -.010987/.6);--jpd-section-hover:oklch(97.7% .014 308.299);--jpd-section-hover-2:oklch(94.6% .033 307.174);--jpd-accent-soft-strong:oklch(97.7% .013 236.62);--jpd-callout-sky:oklab(97.7% -.00715246 -.0108555/.4);--jpd-callout-sky-solid:oklab(97.7% -.00715246 -.0108555/.6);--jpd-callout-sky-border:oklch(82.8% .111 230.318);--jpd-callout-sky-border-solid:oklch(90.1% .058 230.902);--jpd-accent-text-hover:oklch(50% .134 242.749);--jpd-ruler-bg:oklch(98.4% .003 247.858);--jpd-ruler-tick:oklch(70.4% .04 256.788);--jpd-ruler-label:oklch(55.4% .046 257.417)}.jpd-stack{gap:var(--jpd-space-2);flex-direction:column;display:flex}.jpd-stack--tight{gap:var(--jpd-space-1)}.jpd-stack--snug{gap:var(--jpd-space-1-5)}.jpd-row{align-items:center;gap:var(--jpd-space-2);display:flex}.jpd-row--tight{gap:var(--jpd-space-1)}.jpd-row--between{justify-content:space-between}.jpd-grid2{gap:var(--jpd-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.jpd-hint{font-size:var(--jpd-font-size-tiny);color:var(--jpd-text-disabled)}.jpd-hint--md{font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);color:var(--jpd-text-disabled)}.jpd-meta{font-size:var(--jpd-font-size-tiny);color:var(--jpd-text-faint)}.jpd-error{font-size:var(--jpd-font-size-tiny);color:var(--jpd-danger-text)}.jpd-grouplabel{font-size:var(--jpd-font-size-tiny);color:var(--jpd-text-faint);font-weight:500}.jpd-sectionhead{font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);text-transform:uppercase;letter-spacing:var(--jpd-tracking-wide);color:var(--jpd-text-faint);font-weight:600}.jpd-btn{justify-content:center;align-items:center;gap:var(--jpd-space-1-5);border-radius:var(--jpd-radius-lg);font-weight:500;transition-property:color,background-color,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.jpd-btn:focus{outline-style:none}.jpd-btn:focus-visible{box-shadow:0 0 0 1px var(--jpd-ring-offset), 0 0 0 3px var(--jpd-_btn-ring,var(--jpd-accent-ring-visible));outline-style:none}.jpd-btn:disabled{cursor:not-allowed;opacity:.4}.jpd-btn[data-size=sm]{padding:var(--jpd-space-1) var(--jpd-space-2-5);font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body)}.jpd-btn[data-size=md]{padding:var(--jpd-space-2) var(--jpd-space-3-5);font-size:var(--jpd-font-size-md);line-height:var(--jpd-line-height-md)}.jpd-btn[data-size=icon]{block-size:1.5rem;inline-size:1.5rem;padding:0}.jpd-btn[data-variant=primary]{background-color:var(--jpd-accent-solid);color:var(--jpd-text-on-accent);box-shadow:var(--jpd-shadow-sm)}.jpd-btn[data-variant=danger]{background-color:var(--jpd-danger);color:var(--jpd-text-on-accent);box-shadow:var(--jpd-shadow-sm);--jpd-_btn-ring:var(--jpd-danger-ring)}.jpd-btn[data-variant=outline]{border:1px solid var(--jpd-accent-border-solid);color:var(--jpd-accent)}.jpd-btn[data-variant=ghost]{color:var(--jpd-text-disabled);--jpd-_btn-ring:var(--jpd-border-strong)}.jpd-btn[data-variant=dark]{background-color:var(--jpd-zoombar-hover);color:var(--jpd-text-on-accent);--jpd-_btn-ring:oklab(100% 0 5.96046e-8/.3)}@media (hover:hover){.jpd-btn[data-variant=primary]:hover{background-color:var(--jpd-accent-solid-hover)}.jpd-btn[data-variant=danger]:hover{background-color:var(--jpd-danger-hover)}.jpd-btn[data-variant=outline]:hover{background-color:var(--jpd-accent-soft-hover)}.jpd-btn[data-variant=ghost]:hover{background-color:var(--jpd-surface-hover);color:var(--jpd-text-hover)}.jpd-btn[data-variant=dark]:hover{background-color:var(--jpd-zoombar-active)}}.jpd-iconbtn{color:var(--jpd-text-disabled);transition-property:color,background-color,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.jpd-linkbtn{font-size:var(--jpd-font-size-tiny);color:var(--jpd-text-disabled);align-self:flex-start}@media (hover:hover){.jpd-iconbtn:hover{color:var(--jpd-text-hover-strong)}.jpd-linkbtn:hover{color:var(--jpd-danger-text-hover)}}.jpd-input,.jpd-select,.jpd-textarea{border:1px solid var(--jpd-border-strong);border-radius:var(--jpd-radius-lg);background-color:var(--jpd-surface-field);inline-size:100%;padding:var(--jpd-space-1-5) var(--jpd-space-2-5);font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);color:var(--jpd-text-field);box-shadow:var(--jpd-shadow-sm);transition-property:color,background-color,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.jpd-textarea{resize:vertical}.jpd-input:focus,.jpd-select:focus,.jpd-textarea:focus{border-color:var(--jpd-accent-border);box-shadow:0 0 0 2px var(--jpd-accent-ring), var(--jpd-shadow-sm);outline-style:none}.jpd-input::placeholder,.jpd-textarea::placeholder{color:var(--jpd-text-placeholder)}.jpd-input[data-mono],.jpd-textarea[data-mono]{font-family:var(--jpd-font-mono)}.jpd-color-input{cursor:pointer;border:1px solid var(--jpd-border-strong);border-radius:var(--jpd-radius-lg);background-color:var(--jpd-surface-field);block-size:1.75rem;inline-size:100%;padding:var(--jpd-space-0-5)}.jpd-labeled{gap:var(--jpd-space-1);flex-direction:column;display:flex}.jpd-labeled__text{font-size:var(--jpd-font-size-small);color:var(--jpd-text-label);font-weight:500}.jpd-card{border:1px solid var(--jpd-border);border-radius:var(--jpd-radius-xl);background-color:var(--jpd-surface);box-shadow:var(--jpd-shadow-sm)}.jpd-card__header{justify-content:space-between;align-items:center;gap:var(--jpd-space-2);flex-wrap:wrap;display:flex}.jpd-card__title{font-size:var(--jpd-font-size-md);line-height:var(--jpd-line-height-md);color:var(--jpd-text-strong);font-weight:600}.jpd-badge{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--jpd-radius-md);background-color:var(--jpd-surface-muted);inline-size:fit-content;max-inline-size:100%;padding:var(--jpd-space-0-5) var(--jpd-space-1-5);font-family:var(--jpd-font-mono);font-size:var(--jpd-font-size-small);color:var(--jpd-text-muted);display:block;overflow:hidden}.jpd-tabpanel{grid-template-rows:1fr;min-block-size:0;transition-property:grid-template-rows;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid}.jpd-tabpanel[data-collapsed]{grid-template-rows:0fr}.jpd-tabpanel__body{gap:var(--jpd-space-2);flex-direction:column;min-block-size:0;display:flex;overflow:hidden}.jpd-modal{z-index:var(--jpd-z-modal);background-color:var(--jpd-overlay);padding:var(--jpd-space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.jpd-modal__panel{max-block-size:92vh;inline-size:92vw;max-inline-size:var(--jpd-_modal-max,48rem);border-radius:var(--jpd-radius-xl);background-color:var(--jpd-surface);box-shadow:var(--jpd-shadow-2xl);flex-direction:column;display:flex}.jpd-modal__panel[data-size=sm]{--jpd-_modal-max:28rem}.jpd-modal__panel[data-size=md]{--jpd-_modal-max:36rem}.jpd-modal__panel[data-size=lg]{--jpd-_modal-max:48rem}.jpd-modal__panel[data-size=xl]{--jpd-_modal-max:64rem}.jpd-modal__panel[data-size=full]{--jpd-_modal-max:none}.jpd-modal__panel[data-fill]{block-size:92vh;max-block-size:none}.jpd-modal__header{justify-content:space-between;align-items:center;gap:var(--jpd-space-2);border-block-end:1px solid var(--jpd-border);padding:var(--jpd-space-3) var(--jpd-space-5);border-start-start-radius:var(--jpd-radius-xl);border-start-end-radius:var(--jpd-radius-xl);flex-shrink:0;display:flex}.jpd-modal__title{font-size:var(--jpd-font-size-lg);line-height:var(--jpd-line-height-lg);color:var(--jpd-text-strong);font-weight:600}.jpd-modal__body{min-block-size:0;padding:var(--jpd-space-4) var(--jpd-space-5);flex:1;overflow-y:auto}.jpd-modal__footer{justify-content:flex-end;align-items:center;gap:var(--jpd-space-2);border-block-start:1px solid var(--jpd-border);padding:var(--jpd-space-3) var(--jpd-space-5);border-end-end-radius:var(--jpd-radius-xl);border-end-start-radius:var(--jpd-radius-xl);flex-shrink:0;display:flex}.jpd-locked{gap:var(--jpd-space-2);border:1px dashed var(--jpd-border-strong);border-radius:var(--jpd-radius-lg);padding:var(--jpd-space-2);flex-direction:column;display:flex}.jpd-locked__hint{align-items:center;gap:var(--jpd-space-1);font-size:var(--jpd-font-size-tiny);color:var(--jpd-text-disabled);display:flex}.jpd-locked__body{pointer-events:none;gap:var(--jpd-space-2);opacity:.5;flex-direction:column;display:flex}.jpd-disclosure{border:1px dashed var(--jpd-border-strong);border-radius:var(--jpd-radius-lg);padding:var(--jpd-space-2)}.jpd-disclosure__summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--jpd-font-size-tiny);color:var(--jpd-text-faint);font-weight:500}.jpd-disclosure__body{gap:var(--jpd-space-1-5);flex-direction:column;margin-block-start:var(--jpd-space-2);display:flex}.jpd-palette{gap:var(--jpd-space-1);flex-direction:column;display:flex}.jpd-palette__trigger{justify-content:space-between;align-items:center;gap:var(--jpd-space-2);border:1px solid var(--jpd-border-strong);background-color:var(--jpd-surface-field);border-radius:var(--jpd-radius-lg);padding:var(--jpd-space-1-5) var(--jpd-space-2-5);font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);color:var(--jpd-text);display:flex}@media (hover:hover){.jpd-palette__trigger:hover{border-color:var(--jpd-accent-border-hover)}}.jpd-palette__current{align-items:center;gap:var(--jpd-space-2);display:flex}.jpd-palette__empty,.jpd-palette__arrow{color:var(--jpd-text-disabled-2)}.jpd-palette__menu{gap:var(--jpd-space-0-5);border:1px solid var(--jpd-border-alt);border-radius:var(--jpd-radius-lg);padding:var(--jpd-space-1);flex-direction:column;display:flex}.jpd-palette__menu[data-variant=grid]{gap:var(--jpd-space-2);max-block-size:14rem;padding:var(--jpd-space-1-5);overflow-y:auto}.jpd-palette__group{gap:var(--jpd-space-1);flex-direction:column;display:flex}.jpd-palette__grouplabel{font-size:var(--jpd-font-size-tiny);text-transform:uppercase;letter-spacing:var(--jpd-tracking-wide);color:var(--jpd-text-disabled-2);font-weight:500}.jpd-palette__options{gap:var(--jpd-space-1);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.jpd-palette__option{align-items:center;gap:var(--jpd-space-2);border-radius:var(--jpd-radius-md);padding:var(--jpd-space-1-5) var(--jpd-space-2);text-align:start;font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);display:flex}.jpd-palette__menu[data-variant=grid] .jpd-palette__option{gap:var(--jpd-space-1-5);padding:var(--jpd-space-1) var(--jpd-space-1-5);font-size:var(--jpd-font-size-small)}.jpd-palette__option[data-selected]{background-color:var(--jpd-accent-soft)}@media (hover:hover){.jpd-palette__option:hover{background-color:var(--jpd-accent-soft-hover)}}.jpd-palette__optionlabel{color:var(--jpd-text)}.jpd-swatches{gap:var(--jpd-space-1);--jpd-_swatch-size:1rem;display:flex}.jpd-swatches[data-size=sm]{gap:var(--jpd-space-0-5);--jpd-_swatch-size:.875rem}.jpd-swatch{inline-size:var(--jpd-_swatch-size);block-size:var(--jpd-_swatch-size);border-radius:var(--jpd-radius-full);border:1px solid var(--jpd-swatch-ring);flex-shrink:0}.jpd-swatches[data-size=sm] .jpd-swatch{flex:0 auto;min-inline-size:0}.jpd-preview__well{background-color:var(--jpd-surface-sunken);padding:var(--jpd-space-4);border-end-end-radius:var(--jpd-radius-xl);border-end-start-radius:var(--jpd-radius-xl);flex-direction:column;flex:1;align-items:center;display:flex;overflow-y:auto}.jpd-preview__count{font-size:var(--jpd-font-size-small);color:var(--jpd-text-faint);margin:0;margin-block-end:var(--jpd-space-2)}.jpd-error--md{font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body)}.jpd-toolbar{gap:var(--jpd-space-2);flex-wrap:wrap;display:flex}.jpd-callout{border:1px dashed var(--jpd-border-strong);border-radius:var(--jpd-radius-lg);padding:var(--jpd-space-2)}.jpd-callout--roomy{padding:var(--jpd-space-2-5)}.jpd-callout--solid{border-style:solid}.jpd-callout[data-tone=purple]{border-color:var(--jpd-section-border);background-color:var(--jpd-section-soft)}.jpd-callout--solid[data-tone=purple]{background-color:var(--jpd-section-soft-2)}.jpd-callout[data-tone=sky]{border-color:var(--jpd-callout-sky-border);background-color:var(--jpd-callout-sky)}.jpd-callout--solid[data-tone=sky]{border-color:var(--jpd-callout-sky-border-solid);background-color:var(--jpd-callout-sky-solid);border-radius:var(--jpd-radius-sm)}.jpd-callout[data-tone=slate]{border-color:var(--jpd-border-strong)}.jpd-callout__title{align-items:center;gap:var(--jpd-space-1);font-weight:500;font-size:var(--jpd-font-size-tiny);color:var(--jpd-section-text);margin:0;display:flex}.jpd-callout__title--strong{font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);color:var(--jpd-section-text-strong)}.jpd-callout__item{justify-content:space-between;align-items:center;gap:var(--jpd-space-1);border-radius:var(--jpd-radius-sm);padding:var(--jpd-space-0-5) var(--jpd-space-1);font-size:var(--jpd-font-size-small);display:flex}@media (hover:hover){.jpd-callout__item:hover{background-color:var(--jpd-section-hover-2)}}.jpd-callout__title--neutral{font-size:var(--jpd-font-size-small);color:var(--jpd-text-muted)}.jpd-tabs{align-items:center;gap:var(--jpd-space-0-5);border-block-end:1px solid var(--jpd-border);flex-wrap:nowrap;display:flex}.jpd-tabs--scroll{scrollbar-width:none;min-inline-size:0;overflow-x:auto}.jpd-tabs--scroll::-webkit-scrollbar{display:none}.jpd-tab{white-space:nowrap;padding:var(--jpd-space-1-5) var(--jpd-space-2);font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);color:var(--jpd-text-faint);flex-shrink:0;font-weight:500}.jpd-tab[draggable=true]{align-items:center;gap:var(--jpd-space-0-5);cursor:grab;display:flex;position:relative}.jpd-tab[draggable=true]:active{cursor:grabbing}.jpd-tab[data-active=true]{border-block-end:2px solid var(--jpd-accent-border);color:var(--jpd-accent)}.jpd-tab[data-dragging]{opacity:.4}@media (hover:hover){.jpd-tab:not([data-active=true]):hover{color:var(--jpd-text)}}.jpd-popover{z-index:var(--jpd-z-dropdown);border:1px solid var(--jpd-border-alt);border-radius:var(--jpd-radius-lg);background-color:var(--jpd-surface);position:absolute;inset-block-start:100%}.jpd-popover--anchor-right{gap:var(--jpd-space-0-5);padding:var(--jpd-space-1);box-shadow:var(--jpd-shadow-md);flex-direction:column;margin-block-start:var(--jpd-space-1);display:flex;inset-inline-end:0}.jpd-popover--anchor-stretch{max-block-size:12rem;padding:var(--jpd-space-1) 0;box-shadow:var(--jpd-shadow-lg);margin:0;list-style:none;inset-inline:0;overflow-y:auto}.jpd-menuitem{white-space:nowrap;border-radius:var(--jpd-radius-md);padding:var(--jpd-space-1) var(--jpd-space-2);text-align:left;font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);color:var(--jpd-text)}.jpd-menuitem--muted{color:var(--jpd-text-faint)}.jpd-menuitem[data-active]{background-color:var(--jpd-accent-soft-strong)}@media (hover:hover){.jpd-menuitem:hover{background-color:var(--jpd-accent-soft-hover)}.jpd-menuitem--muted:hover{background-color:var(--jpd-surface-hover)}}.jpd-chip{border:1px solid var(--jpd-border-strong);border-radius:var(--jpd-radius-sm);background-color:var(--jpd-surface-field);padding:var(--jpd-space-0-5) var(--jpd-space-1-5);font-family:var(--jpd-font-mono);font-size:var(--jpd-font-size-tiny);color:var(--jpd-text-muted)}.jpd-chip--source{cursor:grab}.jpd-chip--source:active{cursor:grabbing}.jpd-chip--drag{align-items:center;gap:var(--jpd-space-1);background-color:var(--jpd-surface-muted-2);padding-block:var(--jpd-space-1);display:flex}.jpd-chip--drag[data-dragging]{opacity:.4}.jpd-chip__label{flex:1}.jpd-chip__input{appearance:none;min-inline-size:0;font:inherit;color:inherit;letter-spacing:inherit;background:0 0;border:0 solid;flex:1;padding:0}.jpd-chip__input:focus{outline:none}.jpd-chip__grip{color:var(--jpd-text-disabled)}.jpd-chip--action{background-color:var(--jpd-surface);text-align:left;transition-property:color,background-color,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (hover:hover){.jpd-chip--source:hover{border-color:var(--jpd-section-border-hover);background-color:var(--jpd-section-hover)}.jpd-chip--action:hover{border-color:var(--jpd-accent-border-hover);color:var(--jpd-accent-text-hover)}.jpd-chip--drag:hover{border-color:var(--jpd-border-strong);background-color:var(--jpd-surface-muted-2)}}.jpd-iconbtn--accent[data-on]{color:var(--jpd-accent)}.jpd-iconbtn--danger{color:var(--jpd-text-disabled)}@media (hover:hover){.jpd-iconbtn--accent:hover{color:var(--jpd-accent-hover)}.jpd-iconbtn--danger:hover{color:var(--jpd-danger-text-hover)}}.jpd-warnicon{color:var(--jpd-warn-text);flex-shrink:0}.jpd-warnicon--sm{inline-size:var(--jpd-space-3);block-size:var(--jpd-space-3)}.jpd-designer{gap:var(--jpd-space-3);flex-direction:column;display:flex}.jpd-designer__main{align-items:flex-start;gap:var(--jpd-space-4);display:flex}.jpd-part{min-inline-size:0}.jpd-designer__canvas{flex:1;min-inline-size:0;overflow-x:auto}.jpd-sidebar{gap:var(--jpd-space-3);inline-size:20rem;padding:var(--jpd-space-3-5);flex-direction:column;flex-shrink:0;display:flex}.jpd-sidebar__panel{gap:var(--jpd-space-3);flex-direction:column;display:flex}.jpd-sidebar__banner{font-size:var(--jpd-font-size-small);color:var(--jpd-accent);margin:0}.jpd-sidebar__footer{gap:var(--jpd-space-2);border-block-start:1px solid var(--jpd-border);flex-direction:column;padding-block-start:var(--jpd-space-3);display:flex}.jpd-tabs__strip{align-items:center;gap:var(--jpd-space-0-5);scrollbar-width:none;flex-wrap:nowrap;flex:1;min-inline-size:0;display:flex;overflow-x:auto}.jpd-tabs__strip::-webkit-scrollbar{display:none}.jpd-tabs__btn{border-radius:var(--jpd-radius-sm);color:var(--jpd-text-disabled-2)}.jpd-tabs__btn[data-dir]{padding:var(--jpd-space-1);flex-shrink:0}.jpd-tabs__more{flex-shrink:0;margin-inline-start:auto;position:relative}.jpd-tab__dropmark{inset-block:var(--jpd-space-0-5);inline-size:var(--jpd-space-0-5);border-radius:var(--jpd-radius-sm);background-color:var(--jpd-accent-border);position:absolute;inset-inline-start:calc(var(--jpd-space-0-5) * -1)}.jpd-tab__slot{flex-shrink:0;align-items:center;display:inline-flex}.jpd-tab__pin{cursor:pointer;border-radius:var(--jpd-radius-sm);padding:var(--jpd-space-0-5);color:currentColor;opacity:.6;flex-shrink:0;margin-inline-end:calc(var(--jpd-space-1) * -1)}.jpd-tab__pin>svg{inline-size:var(--jpd-space-2-5);block-size:var(--jpd-space-2-5)}.jpd-menu__sep{margin-block:var(--jpd-space-0-5);border-block-start:1px solid var(--jpd-border-alt)}.jpd-callout__actions{gap:var(--jpd-space-1-5);flex-wrap:wrap;display:flex}.jpd-callout__hint{font-size:var(--jpd-font-size-tiny);color:var(--jpd-section-text-soft);margin:0}.jpd-fieldlist__scroll{max-block-size:12rem;overflow-y:auto}@media (hover:hover){.jpd-tabs__btn:hover{background-color:var(--jpd-surface-hover);color:var(--jpd-text-hover)}.jpd-tab__pin:hover{background-color:var(--jpd-surface-active);opacity:1}}.jpd-callout__list{gap:var(--jpd-space-0-5);flex-direction:column;max-block-size:8rem;display:flex;overflow-y:auto}.jpd-callout__chips{gap:var(--jpd-space-1);flex-wrap:wrap;display:flex}.jpd-checkline{align-items:center;gap:var(--jpd-space-2);font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);color:var(--jpd-text-muted);font-weight:500;display:flex}.jpd-checkline__box{margin:0}.jpd-iconpick{gap:var(--jpd-space-1);border:1px solid var(--jpd-border-alt);border-radius:var(--jpd-radius-lg);max-block-size:8rem;padding:var(--jpd-space-1-5);grid-template-columns:repeat(6,minmax(0,1fr));display:grid;overflow-y:auto}.jpd-iconpick__empty{padding-block:var(--jpd-space-2);text-align:center;grid-column:1/-1}.jpd-iconpick__item{font:inherit;font-family:var(--jpd-font-sans);letter-spacing:inherit;appearance:button;cursor:pointer;border:1px solid var(--jpd-border-alt);border-radius:var(--jpd-radius-md);padding:var(--jpd-space-1-5);color:var(--jpd-text-muted);background-color:#0000;justify-content:center;align-items:center;margin:0;display:flex}.jpd-iconpick__item[data-selected]{border-color:var(--jpd-accent-border);background-color:var(--jpd-accent-soft);color:var(--jpd-accent)}@media (hover:hover){.jpd-iconpick__item:hover{border-color:var(--jpd-accent-border-hover);background-color:var(--jpd-accent-soft-hover)}}.jpd-box{border:1px solid var(--jpd-border-strong);border-radius:var(--jpd-radius-lg);block-size:2rem;inline-size:2rem;color:var(--jpd-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.jpd-box__empty{font-size:var(--jpd-font-size-micro);color:var(--jpd-text-disabled-2)}.jpd-subcard{border:1px solid var(--jpd-border-alt);border-radius:var(--jpd-radius-sm);background-color:var(--jpd-surface);padding:var(--jpd-space-1-5)}.jpd-colorgrid{gap:var(--jpd-space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.jpd-row--baseline{align-items:flex-end}.jpd-row--grow>:first-child{flex:1}.jpd-row--right{justify-content:flex-end}.jpd-grouplabel--spaced{margin-block-end:var(--jpd-space-1)}.jpd-meta--sm{font-size:var(--jpd-font-size-small)}.jpd-meta--md{font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body)}.jpd-error--sm{font-size:var(--jpd-font-size-small)}.jpd-linkbtn--muted{flex-shrink:0;align-self:auto}.jpd-linkbtn--back{font-size:var(--jpd-font-size-small)}@media (hover:hover){.jpd-linkbtn--muted:hover,.jpd-linkbtn--back:hover{color:var(--jpd-text-hover)}}.jpd-colname{font-family:var(--jpd-font-mono);color:var(--jpd-text-muted)}.jpd-colname[data-added]{color:var(--jpd-text-ghost)}.jpd-formula{gap:var(--jpd-space-4);display:grid}@media (width>=40rem){.jpd-formula{grid-template-columns:minmax(0,11rem) minmax(0,1fr)}}.jpd-formula__sources,.jpd-formula__editor{gap:var(--jpd-space-2);flex-direction:column;min-inline-size:0;display:flex}.jpd-chiplist{gap:var(--jpd-space-1);max-block-size:18rem;flex-direction:column;padding-inline-end:var(--jpd-space-1);display:flex;overflow-y:auto}.jpd-suggest{gap:var(--jpd-space-1);flex-direction:column;display:flex;position:relative}.jpd-suggest__item{flex-direction:column;align-items:flex-start}.jpd-suggest__name{font-family:var(--jpd-font-mono);font-size:var(--jpd-font-size-small);color:var(--jpd-text-field)}.jpd-warn{font-size:var(--jpd-font-size-tiny);color:var(--jpd-warn-text-2);margin:0}.jpd-fx{font-family:var(--jpd-font-serif,ui-serif, Georgia, Cambria, "Times New Roman", Times, serif);font-style:italic}.jpd-callout__icon{color:var(--jpd-accent-border)}.jpd-filter-group{gap:var(--jpd-space-1);border:1px solid var(--jpd-border);border-radius:var(--jpd-radius-md);padding:var(--jpd-space-1-5);flex-direction:column;display:flex}.jpd-filter-group__joiner{text-align:center;font-size:var(--jpd-font-size-micro);color:var(--jpd-text-disabled);font-weight:600}.jpd-filter-group__joiner[data-joiner=and]{flex-shrink:0;inline-size:1rem}.jpd-addlink{align-items:center;gap:var(--jpd-space-1);font-size:var(--jpd-font-size-tiny);color:var(--jpd-accent);display:flex}.jpd-addlink--start{align-self:flex-start}@media (hover:hover){.jpd-addlink:hover{text-decoration-line:underline}}.jpd-fieldrow{font:inherit;font-family:var(--jpd-font-sans);letter-spacing:inherit;color:inherit;align-items:center;gap:var(--jpd-space-1);border:1px solid var(--jpd-border);border-radius:var(--jpd-radius-lg);inline-size:100%;padding:var(--jpd-space-1) var(--jpd-space-1-5);text-align:left;cursor:pointer;background-color:#0000;margin:0;transition-property:color,background-color,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex}.jpd-fieldrow[data-selected]{border-color:var(--jpd-accent-border);background-color:var(--jpd-accent-soft)}@media (hover:hover){.jpd-fieldrow:not([data-selected]):hover{background-color:var(--jpd-surface-hover-soft)}}.jpd-fieldrow--sub{font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);border-color:#0000}.jpd-fieldrow[data-absent]{opacity:.5}.jpd-fieldrow__main{align-items:center;gap:var(--jpd-space-1);text-overflow:ellipsis;white-space:nowrap;text-align:left;min-inline-size:0;font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);flex:1;display:flex;overflow:hidden}.jpd-fieldrow__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-inline-size:0;overflow:hidden}.jpd-fieldrow__name--sub{color:var(--jpd-text-muted)}.jpd-fieldrow__pos{white-space:nowrap;color:var(--jpd-text-disabled-2);flex-shrink:0}.jpd-fieldrow__z{color:var(--jpd-text-ghost);flex-shrink:0}.jpd-fieldrow__rename{font:inherit;font-family:var(--jpd-font-sans);letter-spacing:inherit;border:1px solid var(--jpd-accent-border-soft);border-radius:var(--jpd-radius-sm);background-color:var(--jpd-surface);inline-size:6rem;padding-inline:var(--jpd-space-1);font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);color:var(--jpd-text);margin:0;font-weight:500}.jpd-rowname{text-align:start;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;min-inline-size:0;color:var(--jpd-text);padding:0;font-weight:500;overflow:hidden}.jpd-muted{color:var(--jpd-text-disabled);margin-inline-start:var(--jpd-space-1-5)}.jpd-sublist{gap:var(--jpd-space-1);margin:var(--jpd-space-1) 0 0 var(--jpd-space-3);padding:0 0 0 var(--jpd-space-2);border-inline-start:1px solid var(--jpd-border);flex-direction:column;list-style:none;display:flex}.jpd-inspector{gap:var(--jpd-space-3);font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);flex-direction:column;display:flex}.jpd-eyebrow{margin:0 0 var(--jpd-space-1);font-size:var(--jpd-font-size-tiny);text-transform:uppercase;letter-spacing:var(--jpd-tracking-wide);color:var(--jpd-text-faint);font-weight:600}.jpd-eyebrow[data-zone=red]{color:var(--jpd-warn-text-2)}.jpd-canvas{position:relative}.jpd-canvas__zoom{transform-origin:0 0}.jpd-canvas__row{display:flex}.jpd-page{background-color:var(--jpd-canvas-page);color:var(--jpd-canvas-ink);box-shadow:var(--jpd-shadow-page)}.jpd-page__bg{pointer-events:none;object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}.jpd-page__dim{pointer-events:none;background-color:var(--jpd-canvas-dim);position:absolute}.jpd-grid-overlay{pointer-events:none;background-image:linear-gradient(to right, var(--jpd-canvas-guide) 1px, transparent 1px), linear-gradient(to bottom, var(--jpd-canvas-guide) 1px, transparent 1px);position:absolute;inset:0}.jpd-marquee{pointer-events:none;z-index:var(--jpd-z-canvas-overlay);border:1px solid var(--jpd-accent-border);background-color:color-mix(in oklab, var(--jpd-accent-border) 10%, transparent);position:absolute}.jpd-band{pointer-events:none;border:0 dashed var(--jpd-danger-border);background-color:var(--jpd-danger-soft);position:absolute;overflow:hidden}.jpd-band[data-band=header]{border-bottom-width:1px;top:0;left:0;right:0}.jpd-band[data-band=footer]{border-top-width:1px;bottom:0;left:0;right:0}.jpd-band[data-band=left]{border-right-width:1px;top:0;bottom:0;left:0}.jpd-band[data-band=right]{border-left-width:1px;top:0;bottom:0;right:0}.jpd-band__label{border-radius:var(--jpd-radius-sm);background-color:var(--jpd-danger);padding:var(--jpd-space-0-5) var(--jpd-space-1-5);font-size:var(--jpd-font-size-micro);color:var(--jpd-text-on-accent);font-weight:500;position:absolute}.jpd-band__label[data-band=header],.jpd-band__label[data-band=footer]{left:var(--jpd-space-1);top:var(--jpd-space-0-5)}.jpd-band__label[data-band=left],.jpd-band__label[data-band=right]{top:var(--jpd-space-1);white-space:nowrap;transform:rotate(90deg)}.jpd-band__label[data-band=left]{left:var(--jpd-space-0-5);transform-origin:0 0}.jpd-band__label[data-band=right]{right:var(--jpd-space-0-5);transform-origin:100% 0}.jpd-field{border:1px dashed var(--jpd-field-outline);transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.jpd-field[data-locked]{border-color:var(--jpd-locked)}.jpd-field[data-selected]{border:2px solid var(--jpd-selection);box-shadow:0 0 0 3px var(--jpd-selection-ring)}.jpd-field[data-wrongmode]{opacity:.55}.jpd-ruler{-webkit-user-select:none;user-select:none;background-color:var(--jpd-ruler-bg);flex-shrink:0}.jpd-ruler__tick{stroke:var(--jpd-ruler-tick);stroke-width:.5px}.jpd-ruler__tick[data-major]{stroke-width:1px}.jpd-ruler__label{fill:var(--jpd-ruler-label)}.jpd-ruler__corner{flex-shrink:0}.jpd-zoombar{pointer-events:auto;bottom:var(--jpd-space-4);align-items:center;gap:var(--jpd-space-1);border-radius:var(--jpd-radius-full);background-color:var(--jpd-zoombar-bg);inline-size:fit-content;padding:var(--jpd-space-1-5) var(--jpd-space-2);color:var(--jpd-text-on-accent);box-shadow:var(--jpd-shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-block-start:var(--jpd-space-4);display:flex;position:sticky;left:0}.jpd-zoombar__btn{font:inherit;font-family:var(--jpd-font-sans);color:inherit;appearance:button;cursor:pointer;border-radius:var(--jpd-radius-full);background-color:#0000;border:0 solid;justify-content:center;align-items:center;block-size:1.5rem;inline-size:1.5rem;margin:0;display:flex}.jpd-zoombar__value{text-align:center;inline-size:2.5rem;font-size:var(--jpd-font-size-body);line-height:var(--jpd-line-height-body);font-variant-numeric:tabular-nums;font-weight:500}.jpd-zoombar__sep{margin-inline:var(--jpd-space-1);background-color:var(--jpd-zoombar-active);block-size:1rem;inline-size:1px}@media (hover:hover){.jpd-zoombar__btn:hover{background-color:var(--jpd-zoombar-hover)}}.jpd-section__body{border-radius:var(--jpd-radius-md);border:2px dashed var(--jpd-section-border-strong,var(--jpd-section-border-hover));background-color:var(--jpd-section-soft-3,var(--jpd-section-soft-2));block-size:100%;inline-size:100%;position:relative;overflow:hidden}.jpd-section__handle{z-index:var(--jpd-z-dropdown);cursor:move;border-top-left-radius:var(--jpd-radius-sm);border-top-right-radius:var(--jpd-radius-sm);background-color:var(--jpd-section);block-size:1rem;padding-inline:var(--jpd-space-1-5);font-size:var(--jpd-font-size-micro);color:var(--jpd-text-on-accent);align-items:center;font-weight:500;display:flex;position:absolute;top:0;left:0;right:0}.jpd-chart__bars,.jpd-chart__frame{border-radius:var(--jpd-radius-md);border:1px solid var(--jpd-canvas-border,var(--jpd-border));background-color:var(--jpd-canvas-page);block-size:100%;inline-size:100%;display:flex}.jpd-chart__bars{justify-content:center;gap:var(--jpd-space-1-5);padding:var(--jpd-space-2);flex-direction:column}.jpd-chart__frame{padding:var(--jpd-space-1-5);justify-content:center;align-items:center;overflow:hidden}.jpd-chart__bar{border-radius:var(--jpd-radius-sm);block-size:.5rem}.jpd-chart__svg{vertical-align:middle;flex-shrink:0;display:block}.jpd-chart__legend{gap:var(--jpd-space-1);color:var(--jpd-canvas-text,var(--jpd-text-muted));flex-direction:column;line-height:1;display:flex}.jpd-chart__dot{border-radius:var(--jpd-radius-full);flex-shrink:0;block-size:.375rem;inline-size:.375rem}.jpd-chart__layout{align-items:center;display:flex}.jpd-chart__layout[data-legend=top],.jpd-chart__layout[data-legend=bottom]{gap:var(--jpd-space-1);flex-direction:column}.jpd-chart__layout[data-legend=left],.jpd-chart__layout[data-legend=right]{gap:var(--jpd-space-2)}.jpd-fieldtable{table-layout:fixed;block-size:100%;inline-size:100%;font-size:10px}.jpd-table__wrap{block-size:100%;inline-size:100%;overflow:hidden}.jpd-table__cell{border:1px solid var(--jpd-field-outline);padding:var(--jpd-space-1) var(--jpd-space-1-5);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jpd-table__cell[data-role=head]{position:relative}.jpd-table__cell[data-role=foot]{font-weight:500}.jpd-table__row[data-banded]{background-color:var(--jpd-canvas-band,var(--jpd-surface-muted-2))}.jpd-table__resizer{z-index:var(--jpd-z-dropdown);cursor:col-resize;block-size:100%;inline-size:.375rem;position:absolute;top:0;right:0;transform:translate(50%)}@media (hover:hover){.jpd-table__resizer:hover{background-color:color-mix(in oklab, var(--jpd-accent-border-soft) 40%, transparent)}}.jpd-cell-input{inline-size:100%;font:inherit;color:inherit;text-align:inherit;background-color:#0000;border:0 solid;outline:none;padding:0}.jpd-cell-text{cursor:text;min-block-size:1em}.jpd-kpi{block-size:100%;inline-size:100%;position:relative;overflow:hidden}.jpd-kpi__box{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;position:absolute;overflow:hidden}.jpd-kpi__box[data-draggable]{cursor:move}.jpd-kpi__box[data-focused]{outline-offset:2px;outline:1px dashed}.jpd-kpi__part[data-part=title]{text-transform:uppercase;letter-spacing:var(--jpd-tracking-wide);opacity:.9;font-weight:500}.jpd-kpi__part[data-part=value]{font-weight:700;line-height:var(--jpd-line-height-tight)}.jpd-kpi__part[data-part=subtitle]{opacity:.8}.jpd-imagefield__img{object-fit:contain;block-size:100%;inline-size:100%}.jpd-image-placeholder{border-radius:var(--jpd-radius-md);border:1px dashed var(--jpd-border-strong-2);block-size:100%;inline-size:100%;font-size:var(--jpd-font-size-small);color:var(--jpd-text-disabled-2);justify-content:center;align-items:center;display:flex}.jpd-textfield{box-sizing:border-box;white-space:pre-wrap;block-size:100%;inline-size:100%;padding:2px}.jpd-textfield--editing{font:inherit;font-family:var(--jpd-font-sans);color:inherit;resize:none;background-color:#0000;border:0 solid;outline:none}.jpd-textfield--static{overflow:hidden}}@layer utilities;:root{--jpd-font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;--jpd-font-sans:var(--jpd-font-mono);--jpd-font-serif:var(--jpd-font-mono);--jpd-radius-sm:2px;--jpd-radius-md:2px;--jpd-radius-lg:2px;--jpd-radius-xl:2px;--jpd-space-0-5:.125rem;--jpd-space-1:.1875rem;--jpd-space-1-5:.25rem;--jpd-space-2:.375rem;--jpd-space-2-5:.5rem;--jpd-space-3:.5rem;--jpd-space-3-5:.625rem;--jpd-space-4:.75rem;--jpd-space-5:1rem;--jpd-font-size-micro:8px;--jpd-font-size-tiny:9px;--jpd-font-size-small:10px;--jpd-font-size-body:.6875rem;--jpd-font-size-md:.75rem;--jpd-font-size-lg:.8125rem;--jpd-line-height-body:1.4;--jpd-line-height-md:1.4;--jpd-line-height-lg:1.4;--jpd-line-height-tight:1.2;--jpd-tracking-wide:.08em;--jpd-shadow-sm:none;--jpd-shadow-md:none;--jpd-shadow-lg:none;--jpd-canvas-page:#fff;--jpd-canvas-border:#d0d7de;--jpd-canvas-text:#4a5058;--jpd-canvas-band:#f6f8fa;--jpd-canvas-guide:#17713038;--jpd-canvas-dim:#0104091a;--jpd-field-outline:#aeb7c0;--jpd-selection:#177130;--jpd-selection-ring:#17713029;--jpd-locked:#8a6100;--jpd-shadow-page:0 0 0 1px #aeb7c0;--jpd-shadow-page-preview:0 0 0 1px #aeb7c0;--jpd-zoombar-bg:#010409eb;--jpd-zoombar-hover:#7ee7872e;--jpd-zoombar-active:#7ee7874d;--jpd-overlay:#010409c7;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--jpd-font-mono);--jpd-surface:#fff;--jpd-surface-field:#fff;--jpd-surface-sunken:#eaeef2;--jpd-surface-muted:#eaeef2;--jpd-surface-muted-2:#f6f8fa;--jpd-surface-hover:#eaeef2;--jpd-surface-hover-soft:#f6f8fa;--jpd-surface-active:#dde3ea;--jpd-border:#d0d7de;--jpd-border-alt:#c3cbd4;--jpd-border-strong:#aeb7c0;--jpd-border-strong-2:#98a1ab;--jpd-swatch-ring:#0104092e;--jpd-text-strong:#010409;--jpd-text:#1f2430;--jpd-text-field:#1f2430;--jpd-text-muted:#4a5058;--jpd-text-label:#4a5058;--jpd-text-faint:#585f68;--jpd-text-disabled:#616870;--jpd-text-disabled-2:#616870;--jpd-text-ghost:#616870;--jpd-text-placeholder:#616870;--jpd-text-hover:#1f2430;--jpd-text-hover-strong:#010409;--jpd-text-on-accent:#fff;--jpd-accent:#177130;--jpd-accent-solid:#177130;--jpd-accent-solid-hover:#0f5c26;--jpd-accent-hover:#0f5c26;--jpd-accent-border:#177130;--jpd-accent-border-soft:#4aa564;--jpd-accent-border-solid:#177130;--jpd-accent-border-hover:#0f5c26;--jpd-accent-soft:#eafaef;--jpd-accent-soft-hover:#ddf5e4;--jpd-accent-soft-strong:#ddf5e4;--jpd-accent-ring:#17713038;--jpd-accent-ring-visible:#177130;--jpd-accent-text-hover:#0f5c26;--jpd-ring-offset:#fff;--jpd-danger:#cf222e;--jpd-danger-hover:#a40e26;--jpd-danger-text:#b42318;--jpd-danger-text-hover:#cf222e;--jpd-danger-soft:#cf222e1a;--jpd-danger-border:#e5534b;--jpd-danger-ring:#cf222e47;--jpd-warn-text:#8a6100;--jpd-warn-text-2:#8a6100;--jpd-section:#6639ba;--jpd-section-text:#6639ba;--jpd-section-text-strong:#512a9b;--jpd-section-text-soft:#7a4ecd;--jpd-section-border:#c8a6f5;--jpd-section-border-hover:#a475e8;--jpd-section-border-strong:#a475e8;--jpd-section-soft:#6639ba0f;--jpd-section-soft-2:#6639ba1a;--jpd-section-soft-3:#6639ba14;--jpd-section-hover:#6639ba1f;--jpd-section-hover-2:#6639ba29;--jpd-callout-sky:#0f6d730f;--jpd-callout-sky-solid:#0f6d731a;--jpd-callout-sky-border:#4fa8ae;--jpd-callout-sky-border-solid:#8fcdd1;--jpd-ruler-bg:#eaeef2;--jpd-ruler-tick:#aeb7c0;--jpd-ruler-label:#585f68;--app-bg:#f6f8fa;--app-header-bg:#1f2430;--app-header-fg:#f8fafc;--app-header-dim:#cbd5e1;--app-sidebar-bg:#eaeef2;--app-panel-bg:#fff;--app-border:#d0d7de;--app-control-border:#aeb7c0;--app-fg:#1f2430;--app-muted:#4a5058;--app-code-bg:#0104090f;--app-accent:#177130;--app-accent-hover:#0f5c26;--app-accent-solid:#177130;--app-accent-solid-hover:#0f5c26;--app-danger:#b42318;--app-accent-fg:#fff;--app-hover-bg:#eaeef2;--app-ok:#116329;--app-danger-bg:#fff2f0;--app-danger-border:#f0b8b2;--app-warn:#8a6100;--app-warn-bg:#fff8e6;--app-warn-border:#e6cf94;--app-tint-array-bg:#eafaef;--app-tint-array-border:#b4e3c2;--app-tint-native-bg:#fff8e6;--app-tint-native-border:#e6cf94;--app-overlay:#01040999;--app-shadow:0 0 0 1px #aeb7c0;--app-zoombar-fg:#e6edf3;--jpd-shadow-2xl:0 0 0 1px #aeb7c0}:root[data-jpd-theme=dark],:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--jpd-surface:#0d1117;--jpd-surface-field:#010409;--jpd-surface-sunken:#010409;--jpd-surface-muted:#161b22;--jpd-surface-muted-2:#161b22;--jpd-surface-hover:#161b22;--jpd-surface-hover-soft:#11161d;--jpd-surface-active:#21262d;--jpd-border:#1f2430;--jpd-border-alt:#2b3240;--jpd-border-strong:#30363d;--jpd-border-strong-2:#3c444d;--jpd-swatch-ring:#e6edf338;--jpd-text-strong:#e6edf3;--jpd-text:#c9d1d9;--jpd-text-field:#c9d1d9;--jpd-text-muted:#8b949e;--jpd-text-label:#8b949e;--jpd-text-faint:#7d8590;--jpd-text-disabled:#7d8590;--jpd-text-disabled-2:#7d8590;--jpd-text-ghost:#7d8590;--jpd-text-placeholder:#7d8590;--jpd-text-hover:#c9d1d9;--jpd-text-hover-strong:#e6edf3;--jpd-text-on-accent:#e6edf3;--jpd-accent:#7ee787;--jpd-accent-solid:#3fb950;--jpd-accent-solid-hover:#56d364;--jpd-accent-hover:#a2f2a8;--jpd-accent-border:#7ee787;--jpd-accent-border-soft:#3fb950;--jpd-accent-border-solid:#7ee787;--jpd-accent-border-hover:#a2f2a8;--jpd-accent-soft:#7ee7870f;--jpd-accent-soft-hover:#7ee7871a;--jpd-accent-soft-strong:#7ee7871f;--jpd-accent-ring:#7ee78747;--jpd-accent-ring-visible:#3fb950;--jpd-accent-text-hover:#a2f2a8;--jpd-ring-offset:#0d1117;--jpd-danger:#a72b26;--jpd-danger-hover:#c02a25;--jpd-danger-text:#ff7b72;--jpd-danger-text-hover:#ffa198;--jpd-danger-soft:#f8514926;--jpd-danger-border:#f85149;--jpd-danger-ring:#f8514959;--jpd-warn-text:#e3b341;--jpd-warn-text-2:#d29922;--jpd-section:#6e40c9;--jpd-section-text:#d2a8ff;--jpd-section-text-strong:#e2c5ff;--jpd-section-text-soft:#bc8cff;--jpd-section-border:#6e40c9;--jpd-section-border-hover:#8957e5;--jpd-section-border-strong:#8957e5;--jpd-section-soft:#a371f714;--jpd-section-soft-2:#a371f71f;--jpd-section-soft-3:#a371f71a;--jpd-section-hover:#a371f729;--jpd-section-hover-2:#a371f738;--jpd-callout-sky:#39c5cf12;--jpd-callout-sky-solid:#39c5cf1a;--jpd-callout-sky-border:#2b7f86;--jpd-callout-sky-border-solid:#235f65;--jpd-ruler-bg:#0d1117;--jpd-ruler-tick:#30363d;--jpd-ruler-label:#7d8590;--app-bg:#0a0e14;--app-header-bg:#010409;--app-header-fg:#f8fafc;--app-header-dim:#cbd5e1;--app-sidebar-bg:#0d1117;--app-panel-bg:#0d1117;--app-border:#1f2430;--app-control-border:#30363d;--app-fg:#c9d1d9;--app-muted:#8b949e;--app-code-bg:#7ee7871a;--app-accent:#7ee787;--app-accent-hover:#a2f2a8;--app-accent-solid:#3fb950;--app-accent-solid-hover:#56d364;--app-danger:#ff7b72;--app-accent-fg:#0a0e14;--app-hover-bg:#161b22;--app-ok:#56d364;--app-danger-bg:#1a0f10;--app-danger-border:#5b2326;--app-warn:#e3b341;--app-warn-bg:#1a1408;--app-warn-border:#55411a;--app-tint-array-bg:#08161f;--app-tint-array-border:#1d4a6b;--app-tint-native-bg:#1a1408;--app-tint-native-border:#55411a;--app-overlay:#010409c7;--app-shadow:0 0 0 1px #30363d;--app-zoombar-fg:#e6edf3;--jpd-shadow-2xl:0 0 0 1px #30363d}.jpd-sectionhead:before,.jpd-eyebrow:before{content:"▸ ";color:var(--jpd-accent)}.jpd-grouplabel,.jpd-labeled__text{text-transform:uppercase;letter-spacing:var(--jpd-tracking-wide);color:var(--jpd-text-faint);font-weight:600}.jpd-card__header{border-block-end:1px solid var(--jpd-border);padding-block-end:var(--jpd-space-2)}.jpd-badge{border:1px solid var(--jpd-border-alt);color:var(--jpd-accent);background-color:#0000}.jpd-page{color:var(--jpd-canvas-text)}.jpd-palette__trigger{background-color:var(--jpd-surface-field)}.jpd-btn{text-transform:uppercase;letter-spacing:var(--jpd-tracking-wide);font-weight:600}.jpd-designer__canvas,.jpd-fieldlist__scroll{scrollbar-width:thin;scrollbar-color:var(--jpd-border-strong) transparent}.jpd-designer__canvas::-webkit-scrollbar{width:8px;height:8px}.jpd-fieldlist__scroll::-webkit-scrollbar{width:8px;height:8px}.jpd-designer__canvas::-webkit-scrollbar-thumb{background-color:var(--jpd-border-strong)}.jpd-fieldlist__scroll::-webkit-scrollbar-thumb{background-color:var(--jpd-border-strong)}.jpd-designer__canvas::-webkit-scrollbar-track{background-color:#0000}.jpd-fieldlist__scroll::-webkit-scrollbar-track{background-color:#0000}.jpd-checkline__box{accent-color:var(--jpd-accent);block-size:11px;inline-size:11px}.jpd-input:focus,.jpd-select:focus,.jpd-textarea:focus{box-shadow:none;outline:1px solid var(--jpd-accent);outline-offset:-1px}.jpd-tab[data-active=true]{background-color:var(--jpd-accent-solid);color:var(--jpd-surface-sunken);border-block-end-color:#0000}.jpd-sidebar{inline-size:18rem}.jpd-fieldrow__pos,.jpd-fieldrow__z,.jpd-ruler__label,.jpd-colname{font-variant-numeric:tabular-nums}.jpd-btn[data-variant=primary]{color:var(--jpd-surface-sunken)}.jpd-zoombar{color:var(--app-zoombar-fg)}*{box-sizing:border-box}body{background:var(--app-bg);color:var(--app-fg);margin:0;font-size:11px}#root{min-height:100vh}.app{flex-direction:column;height:100vh;display:flex}code{background:var(--app-code-bg);color:var(--app-accent);border-radius:2px;padding:0 3px;font-size:1em}.app-header{background:var(--app-header-bg);color:var(--app-header-fg);border-bottom:1px solid var(--app-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:7px 12px;display:flex}.app-header h1{letter-spacing:.02em;margin:0 0 2px;font-size:12px;font-weight:600}.app-header h1:before{content:"$ ";color:var(--app-accent)}.app-header p{color:var(--app-header-dim);max-width:100ch;margin:0;font-size:10px;line-height:1.5}.app-header__badge{letter-spacing:.06em;text-transform:uppercase;color:var(--app-header-dim);margin-left:8px;font-size:9px;font-weight:400}.app-header__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:4px;display:flex}.app-header__control{color:var(--app-header-fg);font:inherit;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff38;border-radius:2px;flex-shrink:0;padding:3px 7px;font-size:10px}.app-header__control:hover{background:#ffffff29;border-color:#fff6}.app-header__control option{background:var(--app-panel-bg);color:var(--app-fg);text-transform:none}.app-header__control--file{align-items:center;gap:4px;display:inline-flex}.app-header code{color:var(--app-header-fg);background:#ffffff1f}.app-banner{border-bottom:1px solid var(--app-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:10px;padding:7px 12px;font-size:11px;display:flex}.app-banner.is-danger{background:var(--app-danger-bg);border-bottom-color:var(--app-danger-border);color:var(--app-danger)}.app-banner.is-neutral{background:var(--app-sidebar-bg);color:var(--app-fg)}.app-banner__text{flex-direction:column;gap:2px;min-width:0;display:flex}.app-banner__title{text-transform:uppercase;letter-spacing:.05em;font-weight:600}.app-banner__dim{text-transform:none;letter-spacing:0;color:var(--app-muted);margin-left:6px;font-weight:400}.app-banner__detail{border-left:2px solid var(--app-danger);background:var(--app-code-bg);color:var(--app-fg);white-space:pre-wrap;overflow-wrap:break-word;border-radius:2px;margin-top:3px;padding:5px 6px;font-size:10px;display:block}.app-banner__actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.app-body{flex:1;align-items:stretch;min-height:0;display:flex}.app-sidebar{border-right:1px solid var(--app-border);background:var(--app-sidebar-bg);scrollbar-width:thin;scrollbar-color:var(--app-control-border) transparent;flex-direction:column;flex-shrink:0;gap:8px;width:288px;padding:8px;display:flex;overflow-y:auto}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-canvas-scroll{flex:1;min-height:0;padding:10px;overflow:auto}.app-generate{flex-direction:column;flex-shrink:0;gap:5px;display:flex}.app-panel{border:1px solid var(--app-border);background:var(--app-panel-bg);border-radius:2px;flex-direction:column;gap:6px;padding:7px;display:flex}.app-panel--grow{flex:1;min-height:200px;overflow:hidden}.app-panel__head{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:6px;padding-bottom:5px;display:flex}.app-panel__title{text-transform:uppercase;letter-spacing:.08em;color:var(--app-muted);font-size:10px;font-weight:600}.app-panel__title:before,.app-tree-section__title:before{content:"▸ ";color:var(--app-accent)}.app-badge{letter-spacing:.04em;border:1px solid;border-radius:2px;padding:0 5px;font-size:9px;font-weight:700}.app-badge.is-danger{background:var(--app-danger-bg);color:var(--app-danger)}.app-badge.is-warn{background:var(--app-warn-bg);color:var(--app-warn)}.app-btn,.app-icon-btn,.app-input,.app-textarea{font:inherit;border:1px solid var(--app-control-border);background:var(--app-panel-bg);color:var(--app-fg);border-radius:2px;padding:3px 6px}.app-btn{cursor:pointer;text-transform:uppercase;letter-spacing:.06em;text-align:center;font-size:10px;font-weight:600}.app-btn:hover:not(:disabled){background:var(--app-hover-bg);border-color:var(--app-accent)}.app-btn:disabled{opacity:.5;cursor:not-allowed}.app-btn--primary,.app-btn--accent{background:var(--app-accent-solid);border-color:var(--app-accent-solid);color:var(--app-accent-fg)}.app-btn--primary{padding:6px 8px}.app-btn--primary:hover:not(:disabled),.app-btn--accent:hover:not(:disabled){background:var(--app-accent-solid-hover);border-color:var(--app-accent-solid-hover)}.app-btn--outline{color:var(--app-muted);background:0 0}.app-btn--quiet{color:inherit;background:0 0;border-color:#0000;text-decoration:underline}.app-btn--quiet:hover:not(:disabled){background:var(--app-code-bg);border-color:#0000}.app-icon-btn{cursor:pointer;color:var(--app-muted);background:0 0;border-color:#0000;padding:1px 5px;line-height:1.2}.app-icon-btn:hover{background:var(--app-hover-bg);color:var(--app-accent)}.app-icon-btn--danger:hover{background:var(--app-danger-bg);color:var(--app-danger)}.app-input{flex:1;min-width:0;font-size:11px}.app-input:focus-visible,.app-textarea:focus-visible{outline:1px solid var(--app-accent);outline-offset:-1px;border-color:var(--app-accent)}.app-textarea{resize:vertical;width:100%;font-size:11px;line-height:1.45}.app-textarea--mono{font-family:var(--jpd-font-mono)}.app-dropzone{border:1px dashed var(--app-control-border);text-align:center;color:var(--app-muted);cursor:pointer;border-radius:2px;flex-direction:column;align-items:center;gap:3px;padding:8px;font-size:10px;transition:border-color .1s,background .1s;display:flex}.app-dropzone:hover{border-color:var(--app-accent);color:var(--app-accent)}.app-dropzone.is-over{border-color:var(--app-accent);background:var(--app-tint-array-bg);color:var(--app-fg);border-style:solid}.app-dropzone__icon{font-size:14px}.app-source-list,.app-problem-list,.app-tree-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.app-source{border:1px solid var(--app-border);border-left:2px solid var(--app-accent);border-radius:2px;padding:6px}.app-source__head{align-items:center;gap:4px;margin-bottom:4px;display:flex}.app-resync{align-items:center;gap:8px;display:flex}.app-status{color:var(--app-muted);margin:0;font-size:10px}.app-status.is-ok{color:var(--app-ok);font-weight:600}.app-status.is-error{color:var(--app-danger)}.app-tree-scroll{scrollbar-width:thin;scrollbar-color:var(--app-control-border) transparent;flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.app-tree-section{flex-direction:column;gap:4px;display:flex}.app-tree-section--divided{border-top:1px solid var(--app-border);padding-top:6px}.app-tree-section__title{text-transform:uppercase;letter-spacing:.08em;color:var(--app-muted);margin:0;font-size:9px;font-weight:600}.app-tree-group{align-items:center;gap:3px;display:flex}.app-tree-toggle{color:var(--app-accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:2px;flex-shrink:0;padding:1px 3px}.app-tree-toggle:hover{background:var(--app-hover-bg);color:var(--app-fg)}.app-tree-group__label{color:var(--app-fg);font-size:11px;font-weight:600}.app-field-row{border:1px solid var(--app-border);background:var(--app-panel-bg);cursor:grab;border-radius:2px;flex:1;align-items:center;gap:5px;min-width:0;padding:3px 6px;font-size:11px;display:flex}.app-field-row:hover{border-color:var(--app-accent)}.app-field-row.is-array{border-color:var(--app-tint-array-border);background:var(--app-tint-array-bg)}.app-field-row.is-native{border-color:var(--app-tint-native-border);background:var(--app-tint-native-bg)}.app-field-row__icon{color:var(--app-accent)}.app-field-row__label{text-overflow:ellipsis;white-space:nowrap;color:var(--app-fg);overflow:hidden}.app-field-row__add{margin-left:auto}.app-tabs{border-bottom:1px solid var(--app-border);background:var(--app-sidebar-bg);scrollbar-width:none;flex-shrink:0;align-items:center;gap:2px;padding:4px 6px 0;display:flex;overflow-x:auto}.app-tabs::-webkit-scrollbar{display:none}.app-tab{border:1px solid #0000;border-bottom:0;border-radius:2px 2px 0 0;flex-shrink:0;align-items:center;gap:1px;padding:3px 6px;display:flex}.app-tab.is-active{border-color:var(--app-accent-solid);background:var(--app-accent-solid)}.app-tab__label,.app-tab__close,.app-tab__add{font:inherit;text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted);cursor:pointer;background:0 0;border:0;font-size:10px}.app-tab.is-active .app-tab__label,.app-tab.is-active .app-tab__close{color:var(--app-accent-fg);font-weight:600}.app-tab__close,.app-tab__add{border-radius:2px;padding:1px 4px;line-height:1.2}.app-tab__close:hover,.app-tab__add:hover{background:var(--app-hover-bg);color:var(--app-fg)}.app-tab__add{color:var(--app-accent)}.app-problem{text-align:left;border:1px solid var(--app-border);width:100%;font:inherit;cursor:pointer;border-left-width:2px;border-radius:2px;padding:4px 6px;font-size:10px;display:block}.app-problem.is-danger{border-color:var(--app-danger-border);border-left-color:var(--app-danger);background:var(--app-danger-bg)}.app-problem.is-warn{border-color:var(--app-warn-border);border-left-color:var(--app-warn);background:var(--app-warn-bg)}.app-problem.is-danger:hover{border-color:var(--app-danger)}.app-problem.is-warn:hover{border-color:var(--app-warn)}.app-problem__name{color:var(--app-fg);align-items:center;gap:3px;font-weight:600;display:flex}.app-problem.is-danger .app-problem__name>span:first-child{color:var(--app-danger)}.app-problem.is-warn .app-problem__name>span:first-child{color:var(--app-warn)}.app-problem__where{color:var(--app-muted);font-weight:400}.app-problem__message{color:var(--app-fg);margin-top:2px;display:block}.app-problem__page{letter-spacing:.04em;color:var(--app-muted);margin-top:2px;font-size:9px;display:block}.app-overlay{z-index:1000;background:var(--app-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-modal{border:1px solid var(--app-accent);background:var(--app-panel-bg);width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);color:var(--app-fg);box-shadow:var(--app-shadow);border-radius:2px;flex-direction:column;gap:6px;padding:10px;display:flex}.app-modal__head{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:8px;padding-bottom:6px;display:flex}.app-modal__title{text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:11px;font-weight:600}.app-modal__title:before{content:"▸ ";color:var(--app-accent)}.app-modal__body{scrollbar-width:thin;scrollbar-color:var(--app-control-border) transparent;min-height:0;display:flex;overflow-y:auto}.app-error-text{color:var(--app-danger);margin:0;font-size:10px}.app-hint{color:var(--app-muted);margin:0;font-size:10px;line-height:1.5}.slot-field{flex-direction:column;gap:2px;display:flex}.slot-field__label{letter-spacing:.08em;text-transform:uppercase;color:var(--jpd-accent);font-size:9px;font-weight:600}.slot-select{font-size:var(--jpd-font-size-body);color:var(--jpd-accent);align-items:center;gap:2px;display:flex;position:relative}.slot-select:before{content:"["}.slot-select:after{content:"▾]"}.slot-select select{appearance:none;border:1px solid var(--jpd-accent);background:var(--jpd-surface-field);min-inline-size:0;color:var(--jpd-text-field);font:inherit;font-size:var(--jpd-font-size-body);border-radius:2px;flex:1;padding:2px 6px}.slot-select select:focus-visible{outline:1px solid var(--jpd-accent);outline-offset:1px}.slot-select select option{background:var(--jpd-surface);color:var(--jpd-text)}.slot-check{border-inline-start:2px solid var(--jpd-accent);background:var(--jpd-accent-soft);padding-inline-start:5px;display:block}
