:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ui-font-sans:"Nunito", "Quicksand", ui-rounded, "SF Pro Rounded", "Segoe UI Variable Display", system-ui, sans-serif;--ui-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ui-font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--ui-radius-btn:999px;--ui-radius-control:12px;--ui-radius-panel:16px;--ui-radius-card:20px;--ui-radius-xs:8px;--ui-radius-pill:999px;--ui-radius-paper:4px;--ui-radius-paper-lg:6px;--ui-space-1:6px;--ui-space-2:10px;--ui-space-3:14px;--ui-space-4:18px;--ui-space-5:24px;--ui-pad-btn:9px 18px;--ui-pad-control:9px 12px;--ui-bg:#fdf8f3;--ui-bg-soft:#fbf3ec;--ui-surface:#fff;--ui-surface-alt:#f4e7dc;--ui-surface-alt-hover:#ead9cb;--ui-paper:#fff;--ui-hairline:#f2e4d8;--ui-hairline-strong:#e6d3c4;--ui-text-ink:#2b1d17;--ui-text-strong:#33241d;--ui-text:#4a382f;--ui-text-body:#5c463b;--ui-text-soft:#6b564d;--ui-text-muted:#755d53;--ui-text-faint:#786055;--ui-text-on-dark:#fdf3ec;--ui-text-on-accent:#fff;--ui-text-on-coral:#33241d;--ui-text-on-danger:#fff;--ui-text-on-section:#fff;--ui-disabled:#d8c4b6;--ui-accent:#c8402f;--ui-accent-hover:#a3301f;--ui-accent-solid:#ff6b5b;--ui-accent-solid-hover:#ff8577;--ui-accent-line:#ff9c90;--ui-accent-line-soft:#ffd4cc;--ui-accent-line-faint:#ffe4de;--ui-accent-wash:#fff4f1;--ui-accent-wash-strong:#ffe3dd;--ui-accent-wash-faint:#fffaf8;--ui-accent-veil:#ff6b5b24;--ui-accent-grab:#ff6b5b73;--ui-primary:var(--ui-accent-solid);--ui-primary-hover:var(--ui-accent-solid-hover);--ui-focus:#a3301f;--ui-focus-danger:#8c1830;--ui-ring-focus:0 0 0 3px #ff6b5b59;--ui-ring-select:0 0 0 4px #ff6b5b47;--ui-focus-width:3px;--ui-danger:#a81f3d;--ui-danger-hover:#8c1830;--ui-danger-deep:#741228;--ui-danger-solid:#c62a48;--ui-danger-line:#e08497;--ui-danger-line-soft:#f4ccd5;--ui-danger-wash-strong:#fbe0e6;--ui-danger-wash:#fdf1f3;--ui-danger-veil:#c62a4824;--ui-warn:#8a5209;--ui-warn-strong:#96590f;--ui-warn-line:#d99b3d;--ui-warn-line-soft:#f2d9a8;--ui-warn-wash-strong:#fdeed3;--ui-warn-wash:#fdf8ee;--ui-section:#7c4a94;--ui-section-strong:#663a7b;--ui-section-deep:#522f63;--ui-section-line:#b98fcd;--ui-section-line-soft:#e3d0ec;--ui-section-wash-strong:#f1e6f6;--ui-section-wash:#f9f3fb;--ui-section-wash-faint:#fdfafe;--ui-section-veil:#f9f3fb8c;--ui-ok:#2f7a4f;--ui-chrome-bg:#4a332b;--ui-chrome-fill:#ffffff24;--ui-chrome-fill-hover:#ffffff42;--ui-chrome-fill-soft:#ffffff1f;--ui-chrome-line:#ffffff3d;--ui-banner-fill:#ffffff9e;--ui-banner-well:#ffffffad;--ui-scrim:#3d292180;--ui-zoombar-bg:#3d2921eb;--ui-shadow-card:0 1px 2px #4a332b0f, 0 8px 24px #4a332b12;--ui-shadow-pop:0 2px 4px #4a332b14, 0 12px 28px #4a332b24;--ui-shadow-pop-lg:0 2px 6px #4a332b14, 0 18px 40px #4a332b29;--ui-shadow-modal:0 4px 10px #4a332b1f, 0 32px 64px #4a332b42;--ui-shadow-zoombar:0 10px 24px #4a332b4d;--ui-shadow-btn:0 1px 2px #4a332b1a;--ui-shadow-rail:10px 0 28px -18px #4a332b59;--ui-shadow-paper:0 1px 3px #0000001a, 0 8px 24px #3d29211a;--ui-grid-line:#8a726833;--ui-page-dim:#3d29211a;--ui-swatch-ring:#3d292124;font-family:var(--ui-font-sans);color:var(--ui-text);background:var(--ui-bg)}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;height:100vh;display:flex}.app-header{justify-content:space-between;align-items:center;gap:var(--ui-space-3);padding:var(--ui-space-3) var(--ui-space-5);background:var(--ui-chrome-bg);color:var(--ui-text-on-dark);flex-shrink:0;display:flex}.app-header h1{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:15px;font-weight:700;overflow:hidden}.header-actions{align-items:center;gap:var(--ui-space-2);flex-shrink:0;display:flex}.app-body{flex:1;min-height:0;display:flex}.sidebar{width:320px;padding:var(--ui-space-3);background:var(--ui-surface);box-shadow:var(--ui-shadow-rail);gap:var(--ui-space-3);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.designer-area{background:var(--ui-bg);flex-direction:column;flex:1;min-width:0;display:flex}.designer-scroll{min-height:0;padding:var(--ui-space-5);flex:1;overflow:auto}.designer-stack{gap:var(--ui-space-3);flex-direction:column;height:100%;display:flex}.card{gap:var(--ui-space-2);padding:var(--ui-space-3);border-radius:var(--ui-radius-card);background:var(--ui-surface);box-shadow:var(--ui-shadow-card);flex-direction:column;display:flex}.card-grow{flex:1;min-height:0;overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-title{letter-spacing:-.01em;color:var(--ui-text-body);margin:0;font-size:13px;font-weight:700}.hint{color:var(--ui-text-soft);margin:0;font-size:11.5px;line-height:1.5}.btn{appearance:none;border-radius:var(--ui-radius-btn);padding:var(--ui-pad-btn);white-space:nowrap;cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-size:12.5px;font-weight:700;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:focus-visible,.btn-icon:focus-visible,.page-tab-label:focus-visible,.page-tab-close:focus-visible,.page-tab-add:focus-visible,.problem-btn:focus-visible,.tree-toggle:focus-visible,.dropzone:focus-visible{outline:var(--ui-focus-width) solid var(--ui-focus);outline-offset:2px}.app-header .btn:focus-visible,.header-actions .select:focus-visible{outline-color:var(--ui-text-on-dark)}.btn-primary{background:var(--ui-primary);color:var(--ui-text-on-coral);box-shadow:var(--ui-shadow-btn)}.btn-primary:hover{background:var(--ui-primary-hover)}.btn-primary:disabled{background:var(--ui-disabled);color:var(--ui-text);box-shadow:none;cursor:not-allowed}.btn-accent{background:var(--ui-accent);color:var(--ui-text-on-accent);box-shadow:var(--ui-shadow-btn)}.btn-accent:hover{background:var(--ui-accent-hover)}.btn-ghost{background:var(--ui-chrome-fill);color:var(--ui-text-on-dark)}.btn-ghost:hover{background:var(--ui-chrome-fill-hover)}.btn-outline{background:var(--ui-surface-alt);color:var(--ui-text-body);border:none}.btn-outline:hover{background:var(--ui-surface-alt-hover)}.btn-file{cursor:pointer}.btn-banner{background:var(--ui-banner-fill);color:inherit;border:1px solid;padding:3px 8px;font-weight:500}.btn-banner:hover{background:var(--ui-surface)}.btn-icon{appearance:none;border-radius:var(--ui-radius-btn);background:var(--ui-surface-alt);width:26px;height:26px;color:var(--ui-text);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:14px;line-height:1;transition:background-color .15s,color .15s;display:inline-flex}.btn-icon:hover{background:var(--ui-surface-alt-hover)}.btn-icon-danger{color:var(--ui-text-muted);background:0 0}.btn-icon-danger:hover{background:var(--ui-danger-wash-strong);color:var(--ui-danger)}.btn-icon-banner{background:var(--ui-banner-fill);color:inherit}.btn-icon-banner:hover{background:var(--ui-surface)}.push-right{margin-left:auto}.count-badge{border-radius:var(--ui-radius-pill);justify-content:center;align-items:center;min-width:20px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.5;display:inline-flex}.count-badge.is-alert{background:var(--ui-danger-wash-strong);color:var(--ui-danger-hover)}.count-badge.is-warn{background:var(--ui-warn-wash-strong);color:var(--ui-warn)}.field-label{color:var(--ui-text-body);margin-bottom:var(--ui-space-1);font-size:11.5px;font-weight:600;display:block}.text-input,.textarea,.select{border-radius:var(--ui-radius-control);width:100%;padding:var(--ui-pad-control);color:var(--ui-text-strong);background:var(--ui-bg-soft);border:1px solid #0000;font-family:inherit;font-size:12.5px;transition:border-color .15s,box-shadow .15s}.text-input:focus,.textarea:focus,.select:focus{border-color:var(--ui-accent);box-shadow:var(--ui-ring-focus);outline:none}.text-input:focus-visible,.textarea:focus-visible,.select:focus-visible{outline:var(--ui-focus-width) solid var(--ui-focus);outline-offset:2px}.textarea{font-family:var(--ui-font-mono);resize:vertical}.textarea-source{min-height:84px}.source-name{font-weight:600}.header-actions .select{border-radius:var(--ui-radius-btn);width:auto;color:var(--ui-text-on-dark);background:var(--ui-chrome-fill-soft);border-color:var(--ui-chrome-line);padding:8px 14px;font-size:12.5px;font-weight:600}.header-actions .select option{color:var(--ui-text-ink);background:var(--ui-surface)}.dropzone{padding:var(--ui-space-4);border:2px dashed var(--ui-hairline-strong);border-radius:var(--ui-radius-panel);text-align:center;color:var(--ui-text-soft);cursor:pointer;flex-direction:column;align-items:center;gap:4px;font-size:11.5px;transition:border-color .15s,background-color .15s,color .15s;display:flex}.dropzone:hover{border-color:var(--ui-accent-line)}.dropzone.is-over{border-color:var(--ui-accent);background:var(--ui-accent-wash);color:var(--ui-accent-hover)}.dropzone-icon{font-size:15px;line-height:1}.source-list{flex-direction:column;gap:8px;display:flex}.source-item{border-radius:var(--ui-radius-panel);background:var(--ui-bg-soft);padding:var(--ui-space-2)}.source-item-head{align-items:center;gap:6px;margin-bottom:6px;display:flex}.resync-row{align-items:center;gap:10px;display:flex}.status{color:var(--ui-text-soft);font-size:11px}.status.is-error{color:var(--ui-danger)}.status.is-ok{color:var(--ui-ok);font-weight:600}.msg-error{color:var(--ui-danger);margin:4px 0 0;font-size:11px}.gen-error{padding:var(--ui-space-3) var(--ui-space-5);background:var(--ui-danger-wash);color:var(--ui-danger-deep);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;font-size:12.5px;display:flex}.gen-error.is-bug{background:var(--ui-bg);color:var(--ui-text)}.gen-error-main{flex-direction:column;gap:3px;min-width:0;display:flex}.gen-error-title{font-weight:600}.gen-error-tag{opacity:.7;margin-left:8px;font-weight:400}.gen-error-action{opacity:.9;line-height:1.45}.gen-error-detail{padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius-control);background:var(--ui-banner-well);font-family:var(--ui-font-mono);white-space:pre-wrap;overflow-wrap:break-word;margin-top:2px;font-size:10px;line-height:1.5}.gen-error-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.page-tabs{align-items:center;gap:var(--ui-space-1);padding:var(--ui-space-2) var(--ui-space-3) 0;background:var(--ui-bg);flex-shrink:0;display:flex}.page-tab{border-top-left-radius:var(--ui-radius-panel);border-top-right-radius:var(--ui-radius-panel);color:var(--ui-text-soft);border:1px solid #0000;border-bottom:none;align-items:center;gap:2px;padding:0 4px 0 10px;display:flex}.page-tab:not(.is-active):hover{background:var(--ui-surface-alt)}.page-tab.is-active{background:var(--ui-surface);color:var(--ui-text-ink);box-shadow:var(--ui-shadow-card);border-color:#0000}.page-tab-label{appearance:none;color:inherit;cursor:pointer;background:0 0;border:none;padding:7px 4px;font-family:inherit;font-size:12px;font-weight:600}.page-tab-close{appearance:none;border-radius:var(--ui-radius-pill);color:var(--ui-text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:13px;line-height:1}.page-tab-close:hover{background:var(--ui-surface-alt-hover);color:var(--ui-text)}.page-tab-add{appearance:none;border-radius:var(--ui-radius-btn);color:var(--ui-text-soft);cursor:pointer;background:0 0;border:none;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:600;line-height:1}.page-tab-add:hover{background:var(--ui-surface-alt);color:var(--ui-text-ink)}.problem-note{color:var(--ui-danger-hover);margin:0;font-size:11px;line-height:1.45}.problem-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.problem-btn{appearance:none;border-radius:var(--ui-radius-panel);width:100%;padding:var(--ui-space-2) var(--ui-space-3);text-align:left;cursor:pointer;flex-direction:column;gap:2px;font-family:inherit;font-size:11.5px;transition:background-color .15s;display:flex}.problem-btn.is-error{border:1px solid var(--ui-danger-line-soft);background:var(--ui-danger-wash)}.problem-btn.is-error:hover{background:var(--ui-danger-wash-strong)}.problem-btn.is-config{border:1px solid var(--ui-warn-line-soft);background:var(--ui-warn-wash)}.problem-btn.is-config:hover{background:var(--ui-warn-wash-strong)}.problem-btn-head{color:var(--ui-text-strong);align-items:center;gap:4px;font-weight:600;display:flex}.problem-icon{color:var(--ui-warn-strong);flex-shrink:0}.problem-where{font-family:var(--ui-font-mono);color:var(--ui-text-soft);font-weight:400}.problem-msg{color:var(--ui-text-body);line-height:1.45}.problem-page{color:var(--ui-text-muted);font-size:10px}.tree-scroll{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.tree-section{flex-direction:column;gap:4px;display:flex}.tree-section-divided{border-top:1px solid var(--ui-hairline);padding-top:var(--ui-space-2)}.tree-section-title{color:var(--ui-text-muted);margin:0;font-size:11px;font-weight:600}.tree-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tree-children{padding-top:6px}.tree-group-head{align-items:center;gap:4px;display:flex}.tree-group-label{color:var(--ui-text-body);font-size:12px;font-weight:500}.tree-toggle{appearance:none;border-radius:var(--ui-radius-pill);color:var(--ui-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-family:inherit;font-size:11px;line-height:1}.tree-toggle:hover{background:var(--ui-bg);color:var(--ui-text-body)}.field-row{align-items:center;gap:var(--ui-space-1);border-radius:var(--ui-radius-pill);background:var(--ui-bg-soft);cursor:grab;border:1px solid #0000;flex:1;padding:8px 14px;font-size:12.5px;transition:background-color .15s,border-color .15s;display:flex}.field-row.is-array{border-color:var(--ui-accent-line-soft);background:var(--ui-accent-wash)}.field-row.is-native{border-color:var(--ui-warn-line-soft);background:var(--ui-warn-wash)}.field-row-icon{color:var(--ui-text-muted);flex-shrink:0}.field-row-label{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.modal-overlay{z-index:1000;background:var(--ui-scrim);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--ui-surface);border-radius:var(--ui-radius-card);box-shadow:var(--ui-shadow-modal);flex-direction:column;display:flex;overflow:hidden}.modal-picker{width:440px;max-width:100%;max-height:calc(100vh - 64px);padding:var(--ui-space-5);gap:var(--ui-space-2)}.modal-preview{width:92vw;max-width:1024px;height:92vh}.modal-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-preview .modal-head{padding:var(--ui-space-3) var(--ui-space-5);border-bottom:1px solid var(--ui-hairline)}.modal-title{color:var(--ui-text-strong);margin:0;font-size:15px;font-weight:600}.modal-actions{align-items:center;gap:8px;display:flex}.modal-body{flex:1;min-height:0;overflow-y:auto}.preview-body{padding:var(--ui-space-5);background:var(--ui-bg);border-bottom-left-radius:var(--ui-radius-card);border-bottom-right-radius:var(--ui-radius-card);flex-direction:column;align-items:center;display:flex}.modal-picker .card{box-shadow:none;padding:0}.jpd-btn,.jpd-iconbtn,.jpd-linkbtn,.jpd-input,.jpd-select,.jpd-textarea,.jpd-tab,.jpd-tabs__btn,.jpd-menuitem,.jpd-addlink,.jpd-fieldrow,.jpd-fieldrow__rename,.jpd-iconpick__item,.jpd-zoombar__btn{font:inherit;letter-spacing:inherit;color:inherit;background-color:#0000;margin:0;font-family:inherit}.jpd-btn,.jpd-iconbtn,.jpd-linkbtn,.jpd-tab,.jpd-tabs__btn,.jpd-menuitem,.jpd-addlink,.jpd-fieldrow,.jpd-iconpick__item,.jpd-zoombar__btn{appearance:button;cursor:pointer;border:0 solid}:where(.jpd-designer) :is(button,input,select,textarea,optgroup):not([class]){font:inherit;color:inherit;background-color:#0000;border:0 solid;border-radius:0;margin:0;font-family:inherit}.jpd-hint,.jpd-hint--md,.jpd-meta,.jpd-error,.jpd-warn,.jpd-card__title,.jpd-modal__title,.jpd-sectionhead,.jpd-grouplabel,.jpd-callout__title,.jpd-callout__hint,.jpd-sidebar__banner,.jpd-preview__count{margin:0}.jpd-card__title,.jpd-modal__title,.jpd-sectionhead{font-size:inherit;font-weight:inherit}.jpd-list,.jpd-popover--anchor-stretch{margin:0;padding:0;list-style:none}.jpd-code{font-family:var(--ui-font-mono);font-size:1em}.jpd-icon,.jpd-micon,.jpd-ruler,.jpd-chart__svg,.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;color:var(--ui-text-muted)}.jpd-disclosure__summary{display:list-item}.jpd-stack{gap:var(--ui-space-2);flex-direction:column;display:flex}.jpd-stack--tight{gap:4px}.jpd-stack--snug{gap:6px}.jpd-row{align-items:center;gap:var(--ui-space-2);display:flex}.jpd-row--tight{gap:4px}.jpd-row--between{justify-content:space-between}.jpd-row--right{justify-content:flex-end}.jpd-row--baseline{align-items:flex-end}.jpd-row--grow>:first-child{flex:1}.jpd-grid2{gap:var(--ui-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.jpd-list{gap:var(--ui-space-1);flex-direction:column;display:flex}.jpd-toolbar{gap:var(--ui-space-2);flex-wrap:wrap;display:flex}.jpd-hint{color:var(--ui-text-muted);font-size:11px}.jpd-hint--md{color:var(--ui-text-muted);font-size:12px;line-height:1.45}.jpd-meta{color:var(--ui-text-soft);font-size:11px}.jpd-meta--sm{font-size:11px}.jpd-meta--md{font-size:12px;line-height:1.35}.jpd-error{color:var(--ui-danger);font-size:10px}.jpd-error--sm{font-size:11px}.jpd-error--md{font-size:12px;line-height:1.35}.jpd-warn{color:var(--ui-warn);font-size:10px}.jpd-grouplabel{color:var(--ui-text-soft);font-size:11px;font-weight:600}.jpd-grouplabel--spaced{margin-bottom:4px}.jpd-sectionhead{letter-spacing:-.01em;color:var(--ui-text-body);font-size:13px;font-weight:700}.jpd-eyebrow{margin:0 0 var(--ui-space-1);color:var(--ui-text-muted);font-size:11px;font-weight:600}.jpd-eyebrow[data-zone=red]{color:var(--ui-warn)}.jpd-rowname{color:var(--ui-text);font-weight:500}.jpd-muted{color:var(--ui-text-muted);margin-left:6px}.jpd-colname{font-family:var(--ui-font-mono);color:var(--ui-text-body)}.jpd-colname[data-added]{color:var(--ui-text-faint)}.jpd-badge{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ui-radius-pill);background:var(--ui-bg-soft);width:fit-content;max-width:100%;font-family:var(--ui-font-mono);color:var(--ui-text-body);padding:3px 10px;font-size:11px;display:block;overflow:hidden}.jpd-btn{justify-content:center;align-items:center;gap:var(--ui-space-1);border-radius:var(--ui-radius-btn);white-space:nowrap;font-size:12.5px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.jpd-btn:focus{outline:none}.jpd-btn:focus-visible{outline:var(--ui-focus-width) solid var(--ui-focus);outline-offset:2px}.jpd-btn:disabled{cursor:not-allowed;opacity:.45}.jpd-btn[data-size=sm]{padding:7px 14px}.jpd-btn[data-size=md]{padding:var(--ui-pad-btn);font-size:13.5px}.jpd-btn[data-size=icon]{width:28px;height:28px;padding:0}.jpd-btn[data-variant=primary]{background:var(--ui-primary);color:var(--ui-text-on-coral);box-shadow:var(--ui-shadow-btn)}.jpd-btn[data-variant=primary]:hover:not(:disabled){background:var(--ui-primary-hover)}.jpd-btn[data-variant=danger]{background:var(--ui-danger);color:var(--ui-text-on-accent);box-shadow:var(--ui-shadow-btn)}.jpd-btn[data-variant=danger]:hover:not(:disabled){background:var(--ui-danger-hover)}.jpd-btn[data-variant=danger]:focus-visible{outline-color:var(--ui-focus-danger)}.jpd-btn[data-variant=outline]{background:var(--ui-surface-alt);color:var(--ui-text-body);border:1px solid #0000}.jpd-btn[data-variant=outline]:hover:not(:disabled){background:var(--ui-accent-wash-strong);color:var(--ui-accent-hover)}.jpd-btn[data-variant=ghost]{color:var(--ui-text-soft)}.jpd-btn[data-variant=ghost]:hover:not(:disabled){background:var(--ui-surface-alt);color:var(--ui-text)}.jpd-btn[data-variant=dark]{background:var(--ui-chrome-fill);color:var(--ui-text-on-dark)}.jpd-btn[data-variant=dark]:hover:not(:disabled){background:var(--ui-chrome-fill-hover)}.jpd-iconbtn{border-radius:var(--ui-radius-btn);color:var(--ui-text-muted);justify-content:center;align-items:center;padding:4px;transition:background-color .15s,color .15s;display:inline-flex}.jpd-iconbtn:hover{background:var(--ui-surface-alt);color:var(--ui-text)}.jpd-iconbtn--accent[data-on]{color:var(--ui-accent)}.jpd-iconbtn--accent:hover{background:var(--ui-accent-wash);color:var(--ui-accent)}.jpd-iconbtn--danger{color:var(--ui-text-muted)}.jpd-iconbtn--danger:hover{background:var(--ui-danger-wash-strong);color:var(--ui-danger)}.jpd-fx{font-family:var(--ui-font-serif);font-style:italic}.jpd-linkbtn{color:var(--ui-text-muted);text-align:left;align-self:flex-start;font-size:10px}.jpd-linkbtn:hover{color:var(--ui-danger)}.jpd-linkbtn--muted{flex-shrink:0;align-self:auto}.jpd-linkbtn--back{font-size:11px}.jpd-linkbtn--muted:hover,.jpd-linkbtn--back:hover{color:var(--ui-text-body)}.jpd-addlink{color:var(--ui-accent);align-items:center;gap:4px;font-size:10px;display:flex}.jpd-addlink--start{align-self:flex-start}.jpd-addlink:hover{text-decoration:underline}.jpd-input,.jpd-select,.jpd-textarea{border-radius:var(--ui-radius-control);background:var(--ui-bg-soft);width:100%;padding:var(--ui-pad-control);color:var(--ui-text-strong);border:1px solid #0000;font-size:12.5px;line-height:1.4;transition:border-color .15s,box-shadow .15s}.jpd-textarea{resize:vertical}.jpd-input:focus,.jpd-select:focus,.jpd-textarea:focus{border-color:var(--ui-accent);box-shadow:var(--ui-ring-focus);outline:none}.jpd-input:focus-visible,.jpd-select:focus-visible,.jpd-textarea:focus-visible{outline:var(--ui-focus-width) solid var(--ui-focus);outline-offset:2px}.jpd-input[data-mono],.jpd-textarea[data-mono]{font-family:var(--ui-font-mono)}.jpd-color-input{cursor:pointer;border-radius:var(--ui-radius-control);background:var(--ui-bg-soft);border:1px solid #0000;width:100%;height:32px;padding:3px}.jpd-color-input:focus-visible{outline:var(--ui-focus-width) solid var(--ui-focus);outline-offset:2px}.jpd-labeled{flex-direction:column;gap:4px;display:flex}.jpd-labeled__text{color:var(--ui-text-body);font-size:11.5px;font-weight:600}.jpd-checkline{align-items:center;gap:var(--ui-space-2);color:var(--ui-text-body);font-size:12.5px;font-weight:600;display:flex}.jpd-checkline__box{accent-color:var(--ui-accent);margin:0}.jpd-card{border-radius:var(--ui-radius-card);background:var(--ui-surface);box-shadow:var(--ui-shadow-card)}.jpd-card__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.jpd-card__title{letter-spacing:-.01em;color:var(--ui-text-strong);font-size:13.5px;font-weight:700}.jpd-subcard{border-radius:var(--ui-radius-control);background:var(--ui-bg-soft);padding:var(--ui-space-2)}.jpd-box{border-radius:var(--ui-radius-panel);background:var(--ui-bg-soft);width:34px;height:34px;color:var(--ui-text-body);flex-shrink:0;justify-content:center;align-items:center;display:flex}.jpd-box__empty{color:var(--ui-text-muted);font-size:9px}.jpd-locked{gap:var(--ui-space-2);border:1px dashed var(--ui-hairline-strong);border-radius:var(--ui-radius-panel);padding:var(--ui-space-2);flex-direction:column;display:flex}.jpd-locked__hint{color:var(--ui-text-muted);align-items:center;gap:4px;font-size:10px;display:flex}.jpd-locked__body{pointer-events:none;opacity:.5;flex-direction:column;gap:8px;display:flex}.jpd-disclosure{border:1px dashed var(--ui-hairline-strong);border-radius:var(--ui-radius-panel);padding:var(--ui-space-2)}.jpd-disclosure__summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ui-text-soft);font-size:10px;font-weight:600}.jpd-disclosure__body{flex-direction:column;gap:6px;margin-top:8px;display:flex}.jpd-designer{gap:var(--ui-space-3);flex-direction:column;min-height:0;display:flex}.jpd-designer__main{align-items:flex-start;gap:var(--ui-space-5);display:flex}.jpd-designer__canvas{flex:1;min-width:0;overflow-x:auto}.jpd-sidebar{gap:var(--ui-space-3);width:336px;padding:var(--ui-space-4);flex-direction:column;flex-shrink:0;display:flex}.jpd-sidebar__panel{flex-direction:column;gap:12px;display:flex}.jpd-sidebar__banner{color:var(--ui-accent);font-size:11px}.jpd-sidebar__footer{border-top:1px solid var(--ui-hairline);flex-direction:column;gap:8px;padding-top:12px;display:flex}.jpd-fieldlist__scroll{max-height:232px;overflow-y:auto}.jpd-inspector{flex-direction:column;gap:12px;font-size:12px;line-height:1.35;display:flex}.jpd-tabs{border-bottom:1px solid var(--ui-hairline);flex-wrap:nowrap;align-items:center;gap:2px;display:flex}.jpd-tabs__strip{scrollbar-width:none;flex-wrap:nowrap;flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.jpd-tabs__strip::-webkit-scrollbar{display:none}.jpd-tab{white-space:nowrap;color:var(--ui-text-soft);border-bottom:2px solid #0000;flex-shrink:0;padding:8px 10px;font-size:12.5px;font-weight:700}.jpd-tab[draggable=true]{cursor:grab;align-items:center;gap:2px;display:flex;position:relative}.jpd-tab[draggable=true]:active{cursor:grabbing}.jpd-tab[data-active=true]{border-bottom-color:var(--ui-accent);color:var(--ui-accent)}.jpd-tab[data-dragging]{opacity:.4}.jpd-tab:not([data-active=true]):hover{color:var(--ui-text)}.jpd-tabs__btn{border-radius:var(--ui-radius-pill);color:var(--ui-text-muted)}.jpd-tabs__btn[data-dir]{flex-shrink:0;padding:4px}.jpd-tabs__btn:hover{background:var(--ui-surface-alt);color:var(--ui-text-body)}.jpd-tabs__more{flex-shrink:0;margin-left:auto;position:relative}.jpd-tab__dropmark{border-radius:var(--ui-radius-pill);background:var(--ui-accent);width:3px;position:absolute;top:2px;bottom:2px;left:-2px}.jpd-tab__pin{cursor:pointer;border-radius:var(--ui-radius-pill);color:currentColor;opacity:.6;margin-right:-4px;padding:2px}.jpd-tab__pin:hover{background:var(--ui-surface-alt-hover);opacity:1}.jpd-tab__pin>svg{width:10px;height:10px}.jpd-tabpanel{grid-template-rows:1fr;min-height:0;transition:grid-template-rows .2s;display:grid}.jpd-tabpanel[data-collapsed]{grid-template-rows:0fr}.jpd-tabpanel__body{flex-direction:column;gap:8px;min-height:0;display:flex;overflow:hidden}.jpd-popover{z-index:10;border-radius:var(--ui-radius-panel);background:var(--ui-surface);position:absolute;top:100%}.jpd-popover--anchor-right{box-shadow:var(--ui-shadow-pop);flex-direction:column;gap:2px;margin-top:4px;padding:4px;display:flex;right:0}.jpd-popover--anchor-stretch{max-height:232px;box-shadow:var(--ui-shadow-pop-lg);padding:4px 0;left:0;right:0;overflow-y:auto}.jpd-menuitem{white-space:nowrap;border-radius:var(--ui-radius-control);padding:var(--ui-space-1) var(--ui-space-2);text-align:left;color:var(--ui-text);font-size:12.5px}.jpd-menuitem--muted{color:var(--ui-text-soft)}.jpd-menuitem[data-active]{background:var(--ui-accent-wash-strong)}.jpd-menuitem:hover{background:var(--ui-accent-wash)}.jpd-menuitem--muted:hover{background:var(--ui-surface-alt)}.jpd-menu__sep{border-top:1px solid var(--ui-hairline);margin:2px 0}.jpd-chip{border-radius:var(--ui-radius-pill);background:var(--ui-bg-soft);font-family:var(--ui-font-mono);color:var(--ui-text-body);border:1px solid #0000;padding:3px 10px;font-size:10px}.jpd-chip--source{cursor:grab}.jpd-chip--source:active{cursor:grabbing}.jpd-chip--source:hover{border-color:var(--ui-section-line);background:var(--ui-section-wash)}.jpd-chip--drag{background:var(--ui-bg-soft);align-items:center;gap:4px;padding-top:4px;padding-bottom:4px;display:flex}.jpd-chip--drag[data-dragging]{opacity:.4}.jpd-chip--drag:hover{background:var(--ui-bg-soft);border-color:#0000}.jpd-chip__label{flex:1}.jpd-chip__grip{color:var(--ui-text-muted)}.jpd-chip--action{background:var(--ui-bg-soft);text-align:left;transition:border-color .15s,color .15s}.jpd-chip--action:hover{border-color:var(--ui-accent-line);background:var(--ui-accent-wash);color:var(--ui-accent-hover)}.jpd-chiplist{flex-direction:column;gap:4px;max-height:288px;padding-right:4px;display:flex;overflow-y:auto}.jpd-warnicon{color:var(--ui-warn-strong);flex-shrink:0}.jpd-warnicon--sm{width:12px;height:12px}.jpd-callout{border:1px dashed var(--ui-hairline-strong);border-radius:var(--ui-radius-panel);padding:var(--ui-space-2)}.jpd-callout--roomy{padding:var(--ui-space-3)}.jpd-callout--solid{border-style:solid}.jpd-callout[data-tone=purple]{border-color:var(--ui-section-line-soft);background:var(--ui-section-wash-faint)}.jpd-callout--solid[data-tone=purple]{background:var(--ui-section-wash)}.jpd-callout[data-tone=sky]{border-color:var(--ui-accent-line-soft);background:var(--ui-accent-wash-faint)}.jpd-callout--solid[data-tone=sky]{border-color:var(--ui-accent-line-faint);background:var(--ui-accent-wash);border-radius:var(--ui-radius-control)}.jpd-callout[data-tone=slate]{border-color:var(--ui-hairline-strong)}.jpd-callout__title{color:var(--ui-section-strong);align-items:center;gap:4px;font-size:10px;font-weight:600;display:flex}.jpd-callout__title--strong{color:var(--ui-section-deep);font-size:12px}.jpd-callout__title--neutral{color:var(--ui-text-body);font-size:11px;font-weight:600}.jpd-callout__hint{color:var(--ui-section);font-size:10px}.jpd-callout__icon{color:var(--ui-accent)}.jpd-callout__actions{flex-wrap:wrap;gap:6px;display:flex}.jpd-callout__list{flex-direction:column;gap:2px;max-height:152px;display:flex;overflow-y:auto}.jpd-callout__item{border-radius:var(--ui-radius-xs);justify-content:space-between;align-items:center;gap:4px;padding:2px 4px;font-size:11px;display:flex}.jpd-callout__item:hover{background:var(--ui-section-wash-strong)}.jpd-callout__item:focus-visible{outline:2px solid var(--ui-focus);outline-offset:1px}.jpd-callout__chips{flex-wrap:wrap;gap:4px;display:flex}.jpd-palette{flex-direction:column;gap:4px;display:flex}.jpd-palette__trigger{border-radius:var(--ui-radius-control);background:var(--ui-bg-soft);padding:var(--ui-pad-control);color:var(--ui-text);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;display:flex}.jpd-palette__trigger:hover{border-color:var(--ui-accent-line)}.jpd-palette__trigger:focus-visible{outline:var(--ui-focus-width) solid var(--ui-focus);outline-offset:2px}.jpd-palette__current{align-items:center;gap:8px;display:flex}.jpd-palette__empty,.jpd-palette__arrow{color:var(--ui-text-muted)}.jpd-palette__menu{border-radius:var(--ui-radius-panel);background:var(--ui-surface);padding:var(--ui-space-1);flex-direction:column;gap:2px;display:flex}.jpd-palette__menu[data-variant=grid]{gap:var(--ui-space-2);max-height:264px;padding:var(--ui-space-2);overflow-y:auto}.jpd-palette__group{flex-direction:column;gap:4px;display:flex}.jpd-palette__grouplabel{color:var(--ui-text-muted);font-size:11px;font-weight:600}.jpd-palette__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.jpd-palette__option{align-items:center;gap:var(--ui-space-2);border-radius:var(--ui-radius-control);padding:var(--ui-space-1) var(--ui-space-2);text-align:left;cursor:pointer;font-size:12.5px;display:flex}.jpd-palette__menu[data-variant=grid] .jpd-palette__option{gap:6px;padding:4px 6px;font-size:11px}.jpd-palette__option[data-selected]{background:var(--ui-accent-wash-strong)}.jpd-palette__option:hover{background:var(--ui-accent-wash)}.jpd-palette__optionlabel{color:var(--ui-text)}.jpd-swatches{gap:4px;display:flex}.jpd-swatches[data-size=sm]{gap:2px}.jpd-swatch{border-radius:var(--ui-radius-pill);border:1px solid var(--ui-swatch-ring);flex-shrink:0;width:16px;height:16px}.jpd-swatches[data-size=sm] .jpd-swatch{flex:0 auto;width:14px;min-width:0;height:14px}.jpd-iconpick{gap:var(--ui-space-1);border-radius:var(--ui-radius-panel);background:var(--ui-bg-soft);max-height:152px;padding:var(--ui-space-2);grid-template-columns:repeat(6,minmax(0,1fr));display:grid;overflow-y:auto}.jpd-iconpick__empty{text-align:center;grid-column:1/-1;padding:8px 0}.jpd-iconpick__item{border-radius:var(--ui-radius-control);background:var(--ui-surface);padding:var(--ui-space-1);color:var(--ui-text-body);border:1px solid #0000;justify-content:center;align-items:center;display:flex}.jpd-iconpick__item[data-selected]{border-color:var(--ui-accent);background:var(--ui-accent-wash-strong);color:var(--ui-accent)}.jpd-iconpick__item:hover{border-color:var(--ui-accent-line);background:var(--ui-accent-wash)}.jpd-colorgrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.jpd-formula{gap:var(--ui-space-5);display:grid}@media (width>=40rem){.jpd-formula{grid-template-columns:minmax(0,13rem) minmax(0,1fr)}}.jpd-formula__sources,.jpd-formula__editor{flex-direction:column;gap:8px;min-width:0;display:flex}.jpd-suggest{flex-direction:column;gap:4px;display:flex;position:relative}.jpd-suggest__item{flex-direction:column;align-items:flex-start}.jpd-suggest__name{font-family:var(--ui-font-mono);color:var(--ui-text-strong);font-size:11px}.jpd-filter-group{gap:var(--ui-space-1);border-radius:var(--ui-radius-panel);background:var(--ui-bg-soft);padding:var(--ui-space-2);flex-direction:column;display:flex}.jpd-filter-group__joiner{text-align:center;color:var(--ui-text-muted);font-size:9px;font-weight:700}.jpd-filter-group__joiner[data-joiner=and]{flex-shrink:0;width:16px}.jpd-modal{z-index:1000;background:var(--ui-scrim);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.jpd-modal__panel{border-radius:var(--ui-radius-card);background:var(--ui-surface);width:92vw;max-width:48rem;max-height:92vh;box-shadow:var(--ui-shadow-modal);flex-direction:column;display:flex;overflow:hidden}.jpd-modal__panel[data-size=sm]{max-width:28rem}.jpd-modal__panel[data-size=md]{max-width:36rem}.jpd-modal__panel[data-size=lg]{max-width:48rem}.jpd-modal__panel[data-size=xl]{max-width:64rem}.jpd-modal__panel[data-size=full]{max-width:none}.jpd-modal__panel[data-fill]{height:92vh;max-height:none}.jpd-modal__header{border-bottom:1px solid var(--ui-hairline);padding:var(--ui-space-3) var(--ui-space-5);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.jpd-modal__title{letter-spacing:-.01em;color:var(--ui-text-strong);font-size:16px;font-weight:700}.jpd-modal__body{min-height:0;padding:var(--ui-space-5);flex:1;overflow-y:auto}.jpd-modal__footer{border-top:1px solid var(--ui-hairline);padding:var(--ui-space-3) var(--ui-space-5);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.jpd-preview__well{border-bottom-left-radius:var(--ui-radius-card);border-bottom-right-radius:var(--ui-radius-card);background:var(--ui-bg);padding:var(--ui-space-5);flex-direction:column;flex:1;align-items:center;display:flex;overflow-y:auto}.jpd-preview__count{color:var(--ui-text-soft);margin-bottom:8px;font-size:11px}.jpd-fieldrow{align-items:center;gap:var(--ui-space-1);border-radius:var(--ui-radius-panel);background:var(--ui-bg-soft);text-align:left;border:1px solid #0000;width:100%;padding:6px 12px;transition:background-color .15s,border-color .15s;display:flex}.jpd-fieldrow:focus-visible{outline:var(--ui-focus-width) solid var(--ui-focus);outline-offset:2px}.jpd-fieldrow[data-selected]{border-color:var(--ui-accent);background:var(--ui-accent-wash-strong)}.jpd-fieldrow:not([data-selected]):hover{background:var(--ui-surface-alt)}.jpd-fieldrow--sub{background:0 0;border-color:#0000;font-size:12.5px}.jpd-fieldrow[data-absent]{opacity:.5}.jpd-fieldrow__main{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;align-items:center;gap:4px;min-width:0;font-size:12px;display:flex;overflow:hidden}.jpd-fieldrow__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.jpd-fieldrow__name--sub{color:var(--ui-text-body)}.jpd-fieldrow__pos{white-space:nowrap;color:var(--ui-text-muted);flex-shrink:0}.jpd-fieldrow__z{color:var(--ui-text-faint);flex-shrink:0}.jpd-fieldrow__rename{border:1px solid var(--ui-accent);border-radius:var(--ui-radius-xs);background:var(--ui-surface);width:104px;color:var(--ui-text);padding-left:4px;padding-right:4px;font-size:12px;font-weight:500}.jpd-fieldrow__rename:focus{box-shadow:var(--ui-ring-focus);outline:none}.jpd-sublist{border-left:1px solid var(--ui-hairline);flex-direction:column;gap:4px;margin:4px 0 0 12px;padding:0 0 0 8px;list-style:none;display:flex}.jpd-canvas{position:relative}.jpd-canvas__zoom{transform-origin:0 0}.jpd-canvas__row{display:flex}.jpd-page{background:var(--ui-paper);box-shadow:var(--ui-shadow-paper)}.jpd-page__bg{pointer-events:none;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.jpd-page__dim{pointer-events:none;background:var(--ui-page-dim);position:absolute}.jpd-grid-overlay{pointer-events:none;background-image:linear-gradient(to right, var(--ui-grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--ui-grid-line) 1px, transparent 1px);position:absolute;inset:0}.jpd-marquee{pointer-events:none;z-index:20;border:1px solid var(--ui-accent);background:var(--ui-accent-veil);position:absolute}.jpd-band{pointer-events:none;border:0 dashed var(--ui-danger-line);background:var(--ui-danger-veil);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(--ui-radius-paper);background:var(--ui-danger-solid);color:var(--ui-text-on-danger);padding:2px 6px;font-size:9px;font-weight:500;position:absolute}.jpd-band__label[data-band=header],.jpd-band__label[data-band=footer]{top:2px;left:4px}.jpd-band__label[data-band=left],.jpd-band__label[data-band=right]{white-space:nowrap;top:4px;transform:rotate(90deg)}.jpd-band__label[data-band=left]{transform-origin:0 0;left:2px}.jpd-band__label[data-band=right]{transform-origin:100% 0;right:2px}.jpd-field{border:1px dashed var(--ui-hairline-strong);transition:box-shadow .15s}.jpd-field[data-locked]{border-color:var(--ui-warn-line)}.jpd-field[data-selected]{border:2px solid var(--ui-accent);box-shadow:var(--ui-ring-select)}.jpd-field[data-wrongmode]{opacity:.55}.jpd-ruler{-webkit-user-select:none;user-select:none;background:var(--ui-bg-soft);flex-shrink:0}.jpd-ruler__tick{stroke:var(--ui-text-muted);stroke-width:.5px}.jpd-ruler__tick[data-major]{stroke-width:1px}.jpd-ruler__label{fill:var(--ui-text-soft)}.jpd-ruler__corner{flex-shrink:0}.jpd-zoombar{pointer-events:auto;border-radius:var(--ui-radius-pill);background:var(--ui-zoombar-bg);width:fit-content;padding:var(--ui-space-1) var(--ui-space-2);color:var(--ui-text-on-dark);box-shadow:var(--ui-shadow-zoombar);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:4px;margin-top:16px;display:flex;position:sticky;bottom:16px;left:0}.jpd-zoombar__btn{border-radius:var(--ui-radius-pill);justify-content:center;align-items:center;width:28px;height:28px;display:flex}.jpd-zoombar__btn:hover{background:var(--ui-chrome-fill-hover)}.jpd-zoombar__btn:focus-visible{outline:2px solid var(--ui-text-on-dark);outline-offset:1px}.jpd-zoombar__value{text-align:center;font-variant-numeric:tabular-nums;width:40px;font-size:12px;font-weight:600}.jpd-zoombar__sep{background:var(--ui-chrome-fill-hover);width:1px;height:16px;margin:0 4px}.jpd-section__body{border-radius:var(--ui-radius-paper-lg);border:2px dashed var(--ui-section-line);background:var(--ui-section-veil);width:100%;height:100%;position:relative;overflow:hidden}.jpd-section__handle{z-index:10;cursor:move;border-top-left-radius:var(--ui-radius-paper);border-top-right-radius:var(--ui-radius-paper);background:var(--ui-section);height:16px;color:var(--ui-text-on-section);align-items:center;padding:0 6px;font-size:9px;font-weight:500;display:flex;position:absolute;top:0;left:0;right:0}.jpd-chart__bars,.jpd-chart__frame{border-radius:var(--ui-radius-paper-lg);border:1px solid var(--ui-hairline);background:var(--ui-surface);width:100%;height:100%;display:flex}.jpd-chart__bars{flex-direction:column;justify-content:center;gap:6px;padding:8px}.jpd-chart__frame{justify-content:center;align-items:center;padding:6px;overflow:hidden}.jpd-chart__bar{border-radius:var(--ui-radius-paper);height:8px}.jpd-chart__svg{flex-shrink:0}.jpd-chart__legend{color:var(--ui-text-body);flex-direction:column;gap:4px;line-height:1;display:flex}.jpd-chart__dot{border-radius:var(--ui-radius-pill);flex-shrink:0;width:6px;height:6px}.jpd-chart__layout{align-items:center;display:flex}.jpd-chart__layout[data-legend=top],.jpd-chart__layout[data-legend=bottom]{flex-direction:column;gap:4px}.jpd-chart__layout[data-legend=left],.jpd-chart__layout[data-legend=right]{gap:8px}.jpd-fieldtable{table-layout:fixed;width:100%;height:100%;font-size:10px}.jpd-table__wrap{width:100%;height:100%;overflow:hidden}.jpd-table__cell{border:1px solid var(--ui-hairline-strong);text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;overflow:hidden}.jpd-table__cell[data-role=head]{position:relative}.jpd-table__cell[data-role=foot]{font-weight:600}.jpd-table__row[data-banded]{background:var(--ui-bg-soft)}.jpd-table__resizer{z-index:10;cursor:col-resize;width:6px;height:100%;position:absolute;top:0;right:0;transform:translate(50%)}.jpd-table__resizer:hover{background:var(--ui-accent-grab)}.jpd-cell-input{width:100%;font:inherit;color:inherit;text-align:inherit;background:0 0;border:0 solid;outline:none;padding:0}.jpd-cell-text{cursor:text;min-height:1em}.jpd-kpi{width:100%;height: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:.025em;opacity:.9;font-weight:500}.jpd-kpi__part[data-part=value]{font-weight:700;line-height:1.25}.jpd-kpi__part[data-part=subtitle]{opacity:.8}.jpd-imagefield__img{object-fit:contain;width:100%;height:100%}.jpd-image-placeholder{border-radius:var(--ui-radius-paper-lg);border:1px dashed var(--ui-hairline-strong);width:100%;height:100%;color:var(--ui-text-muted);justify-content:center;align-items:center;font-size:11px;display:flex}.jpd-textfield{box-sizing:border-box;white-space:pre-wrap;width:100%;height:100%;padding:2px}.jpd-textfield--editing{font:inherit;color:inherit;resize:none;background:0 0;border:0 solid;outline:none;font-family:inherit}.jpd-textfield--static{overflow:hidden}
