:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ptag-blue:#195171;--ptag-blue-dark:#0e3a54;--ptag-blue-light:#e8f1f7;--ptag-blue-50:#f0f6fa;--ptag-blue-700:#0e3a54;--ptag-green:#3f832f;--ptag-green-dark:#2d6321;--ptag-green-light:#ebf5e9;--ptag-green-50:#f3f9f2;--neutral-0:#fff;--neutral-50:#f8f8fc;--neutral-100:#f2f2f8;--neutral-200:#e5e5ee;--neutral-300:#d1d1de;--neutral-400:#b0b0c4;--neutral-500:#8e8ea8;--neutral-600:#6b6b8a;--neutral-700:#4a4a68;--neutral-800:#2d2d44;--neutral-900:#1a1a2e;--status-success:#3f832f;--status-warning:#d4880f;--status-danger:#c4362a;--status-info:#195171;--status-neutral:#6b6b8a;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-display:2.441rem;--text-h1:1.953rem;--text-h2:1.563rem;--text-h3:1.25rem;--text-h4:1rem;--text-body:1rem;--text-body-sm:.875rem;--text-caption:.75rem;--text-overline:.6875rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--shadow-none:none;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--header-height:56px;--transition-fast:.1s ease-in-out;--transition-default:.2s ease-in-out;--transition-slow:.3s ease-in-out;--leading-body:1.5;--text-brand:var(--ptag-blue);--text-danger:var(--status-danger);--badge-success-bg:var(--ptag-green-light);--badge-success-text:var(--ptag-green-dark);--badge-warning-bg:#fff3e0;--badge-warning-text:#8a5300;--badge-danger-bg:#fdecea;--badge-danger-text:#a12e22;--badge-info-bg:var(--ptag-blue-light);--badge-info-text:var(--ptag-blue);--on-brand:#fff;--fill-primary:var(--ptag-blue);--fill-primary-hover:var(--ptag-blue-700);--fill-danger:var(--status-danger);--fill-danger-hover:#a12e22;--fill-success:var(--ptag-green);--fill-success-hover:var(--ptag-green-dark);--focus-ring:#19517166;--scrim:#0000004d;--tooltip-bg:var(--neutral-800);--tooltip-text:#fff;--surface-primary:var(--neutral-0);--surface-secondary:var(--neutral-50);--surface-tertiary:var(--neutral-100);--surface-hover:var(--neutral-50);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-700);--text-tertiary:var(--neutral-600);--text-muted:var(--neutral-500);--text-heading:var(--neutral-800);--text-label:var(--neutral-700);--border-primary:var(--neutral-200);--border-secondary:var(--neutral-300);--border-subtle:var(--neutral-100);--input-bg:var(--neutral-0);--input-border:var(--neutral-300);--input-text:var(--neutral-900);--dialog-width-md:560px;--dialog-width-lg:800px;--z-content:1;--z-sticky:10;--z-l2-overlay:48;--z-l2:49;--z-sidebar:50;--z-sidebar-tooltip:60;--z-header:100;--z-dropdown:150;--z-mobile-overlay:199;--z-mobile-sidebar:200;--z-mobile-l2:201;--z-modal-overlay:300;--z-modal:310;--z-toast:400;--z-command-palette:500}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--neutral-0:#30302e;--neutral-50:#1f1e1d;--neutral-100:#3d3d3a;--neutral-200:#3d3d3a;--neutral-300:#3d3d3a;--neutral-400:#a8a59a;--neutral-500:#a8a59a;--neutral-600:#d4d2c7;--neutral-700:#f5f4ed;--neutral-800:#f5f4ed;--neutral-900:#fafaf6;--ptag-blue:#3b8ec2;--ptag-blue-dark:#195171;--ptag-blue-light:#1c2d3d;--ptag-blue-50:#1a2533;--ptag-blue-700:#2e7aad;--ptag-green:#5aae48;--ptag-green-dark:#3f832f;--ptag-green-light:#1c2d1a;--ptag-green-50:#1a261a;--status-success:#5aae48;--status-warning:#f0a030;--status-danger:#e05050;--status-info:#3b8ec2;--status-neutral:#a8a59a;--text-brand:#89bbda;--text-danger:#f28b82;--badge-success-text:var(--ptag-green);--badge-success-bg:var(--ptag-green-light);--badge-info-bg:var(--ptag-blue-light);--badge-warning-bg:#3a2a10;--badge-warning-text:#f0a030;--badge-danger-bg:#3a1a1c;--badge-danger-text:#f07070;--badge-info-text:#89bbda;--fill-primary:var(--ptag-blue-700);--fill-primary-hover:var(--ptag-blue-dark);--fill-danger:#c4362a;--fill-danger-hover:#a12e22;--fill-success:#3f832f;--fill-success-hover:#2d6321;--focus-ring:#3b8ec299;--scrim:#00000080;--tooltip-bg:#f5f4ed;--tooltip-text:#1f1e1d;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 8px 24px #0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);color:var(--neutral-700);background:var(--neutral-50)}h1,h2,h3,h4{color:var(--neutral-800)}a{color:var(--text-brand);text-decoration:none}a:hover{text-decoration:underline}.ptag-sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.ptag-skip-link{left:var(--space-2);z-index:var(--z-command-palette);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-primary);color:var(--text-brand);position:absolute;top:-100px}.ptag-skip-link:focus{top:var(--space-2)}.ptag-header{align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-4);background:var(--surface-primary);border-bottom:1px solid var(--border-primary);z-index:var(--z-header);display:flex;position:sticky;top:0}.ptag-header__brand{align-items:center;gap:var(--space-3);color:inherit;display:flex}.ptag-header__brand:hover{text-decoration:none}.ptag-header__logo{flex-shrink:0;width:auto;height:24px}.ptag-header__divider{background:var(--border-secondary);width:1px;height:20px}.ptag-header__app{font-size:var(--text-h3);color:var(--text-heading);font-weight:600;line-height:1}.ptag-accent-line{background:var(--ptag-green);height:2px}.ptag-content{padding:var(--space-6)}.ptag-stack{gap:var(--space-3);flex-direction:column;display:flex}.ptag-caption{font-size:var(--text-caption);color:var(--text-tertiary)}.ptag-subtle{font-size:var(--text-body-sm);color:var(--text-tertiary)}.ptag-overline{font-size:var(--text-overline);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.ptag-card{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-xs)}.ptag-header__user{align-items:center;gap:var(--space-3);font-size:var(--text-body-sm);color:var(--text-secondary);margin-left:auto;display:flex}.ptag-badge--neutral{background:var(--neutral-100);color:var(--neutral-700)}.ptag-btn--primary{background:var(--fill-primary);color:var(--on-brand)}.ptag-btn--primary:hover{background:var(--fill-primary-hover)}.ptag-btn--lg{height:48px;padding:0 var(--space-5);font-size:var(--text-body);font-weight:600}.sign-in{max-width:480px;margin:var(--space-10) auto}.sign-in__alert{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--badge-danger-bg);color:var(--badge-danger-text)}.sign-in__dev{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--border-secondary)}.sign-in__roles{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.ptag-content--flush{padding:0}.chart{height:calc(100vh - var(--header-height) - 2px);flex-direction:column;min-height:420px;display:flex}.chart__toolbar{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--surface-primary);border-bottom:1px solid var(--border-primary);flex-wrap:wrap;display:flex}.chart__title{font-size:var(--text-h3);font-weight:600}.chart__spacer{margin-right:auto}.chart__field{align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);color:var(--text-label);display:flex}.chart__actions{align-items:center;gap:var(--space-1);display:flex}.ptag-input{height:36px;padding:0 var(--space-3);font:inherit;font-size:var(--text-body-sm);color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm)}.ptag-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--ptag-blue)}.ptag-select{cursor:pointer}.ptag-btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast);border:none;font-weight:500;display:inline-flex}.ptag-btn--sm{height:32px;padding:0 var(--space-3);font-size:var(--text-caption)}.ptag-btn--secondary{color:var(--text-brand);border:1px solid var(--ptag-blue);background:0 0}.ptag-btn--secondary:hover{background:var(--ptag-blue-50)}.ptag-btn--ghost{color:var(--neutral-700);background:0 0}.ptag-btn--ghost:hover{background:var(--neutral-100)}.ptag-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ptag-badge{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-caption);white-space:nowrap;font-weight:500;display:inline-flex}.ptag-badge--warning{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.ptag-plain-list{margin:0;padding:0;list-style:none}.chart-search{position:relative}.chart-search .ptag-input{width:240px}.chart-search__results{top:calc(100% + var(--space-1));width:320px;z-index:var(--z-dropdown);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1);position:absolute;left:0}.chart-search__result{width:100%;padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-body-sm);text-align:left;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;display:flex}.chart-search__result:hover,.chart-search__result:focus-visible{background:var(--surface-tertiary);outline:none}.chart-search__empty{padding:var(--space-2) var(--space-3)}.chart__body{flex:1;min-height:0;display:flex}.chart__canvas{background:var(--surface-secondary);cursor:grab;touch-action:none;flex:1;min-width:0;position:relative;overflow:hidden}.chart__canvas--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.chart__svg{width:100%;height:100%;display:block}.chart__status{right:var(--space-4);bottom:var(--space-3);padding:2px var(--space-2);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-full);position:absolute}.tree-edge{fill:none;stroke:var(--neutral-400);stroke-width:1.25px}.tree-node{cursor:pointer;outline:none}.tree-node__card{fill:var(--surface-primary);stroke:var(--border-primary);stroke-width:2.5px}.tree-node:hover .tree-node__card{fill:var(--surface-hover)}.tree-node__halo{fill:none;stroke:none;stroke-width:3px}.tree-node:focus-visible .tree-node__halo{stroke:var(--ptag-blue)}.tree-node--selected .tree-node__halo{stroke:var(--ptag-green);stroke-width:4px}.tree-node__avatar{fill:var(--ptag-blue-light);stroke-width:3.5px}.tree-node__avatar--ring{fill:none}.tree-node__initials{fill:var(--text-brand);text-anchor:middle;font-size:14px;font-weight:600}.tree-node__name{fill:var(--text-primary);text-anchor:middle;font-size:13px;font-weight:600}.tree-node__title{fill:var(--text-tertiary);text-anchor:middle;font-size:11px}.tree-node__text--start{text-anchor:start}.tree-node__text--end{text-anchor:end}.tree-node--virtual .tree-node__card{fill:var(--fill-primary);stroke:var(--fill-primary);stroke-width:1px}.tree-node--virtual .tree-node__name,.tree-node--virtual .tree-node__title{fill:var(--on-brand)}.tree-node--warn .tree-node__card{fill:var(--badge-warning-bg);stroke:var(--status-warning);stroke-dasharray:5 3}.tree-node--warn .tree-node__name{fill:var(--text-primary)}.tree-node--warn .tree-node__title{fill:var(--badge-warning-text)}.tree-node--planned .tree-node__card{fill:var(--ptag-blue-50);stroke:var(--ptag-blue);stroke-width:1.5px;stroke-dasharray:6 4}.tree-node--planned .tree-node__name{fill:var(--text-primary)}.tree-node--planned .tree-node__title{fill:var(--text-brand)}.tree-node--stub .tree-node__card{fill:var(--surface-tertiary);stroke:var(--border-secondary);stroke-width:1.5px;stroke-dasharray:4 4}.tree-node--stub .tree-node__name{fill:var(--text-primary)}.tree-node--stub .tree-node__title{fill:var(--text-brand)}.tree-node--stub:hover .tree-node__card{fill:var(--ptag-blue-50);stroke:var(--ptag-blue)}.tree-node__toggle rect{fill:var(--surface-primary);stroke:var(--border-secondary);stroke-width:1px}.tree-node__toggle text{fill:var(--text-secondary);text-anchor:middle;font-size:11px;font-weight:600}.tree-node__toggle:hover rect{fill:var(--ptag-blue-50);stroke:var(--ptag-blue)}.chart--external .chart-internal{display:none}.chart-menu{position:relative}.chart-menu summary{list-style:none}.chart-menu summary::-webkit-details-marker{display:none}.chart-menu__list{right:0;top:calc(100% + var(--space-1));z-index:var(--z-dropdown);min-width:220px;padding:var(--space-1);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute}.chart-menu__list button{padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-body-sm);text-align:left;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none}.chart-menu__list button:hover,.chart-menu__list button:focus-visible{background:var(--surface-tertiary);outline:none}@media print{@page{size:landscape;margin:10mm}.ptag-header,.ptag-accent-line,.ptag-skip-link,.chart-tabs,.chart-notice,.chart__toolbar,.chart-side,.chart-panel,.chart__status{display:none!important}.chart,.chart__body,.chart__canvas{background:#fff;height:auto;overflow:visible}.chart__svg{width:100%;height:180mm}}.chart-lens{align-items:center;gap:var(--space-3);font-size:var(--text-body-sm);display:flex}.chart-lens__prune{align-items:center;gap:var(--space-2);color:var(--text-label);cursor:pointer;display:inline-flex}.ptag-badge--info{background:var(--badge-info-bg);color:var(--badge-info-text)}.tree-node--dim{opacity:.22}.chart-side{left:var(--space-4);top:var(--space-4);max-height:calc(100% - var(--space-8));align-items:flex-start;gap:var(--space-2);cursor:default;flex-direction:column;display:flex;position:absolute;overflow-y:auto}.chart-legend{width:280px;padding:var(--space-3);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.chart-legend:not([open]){width:auto}.chart-legend summary{font-size:var(--text-body-sm);color:var(--text-heading);cursor:pointer;font-weight:600}.chart-legend[open] summary{margin-bottom:var(--space-1)}.chart-legend .ptag-caption{margin-bottom:var(--space-2)}.chart-legend__row{align-items:center;gap:var(--space-2);width:100%;padding:3px var(--space-1);font:inherit;font-size:var(--text-caption);color:var(--text-secondary);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;display:flex}.chart-legend__row:hover{background:var(--surface-tertiary)}.chart-legend__row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.chart-legend__row[aria-pressed=true]{background:var(--ptag-blue-light);color:var(--text-brand);font-weight:600}.chart-health__dot{border-radius:var(--radius-full);background:var(--status-success);flex-shrink:0;width:8px;height:8px}.chart-health__dot--gap{background:var(--status-warning)}.chart-legend__swatch{border-radius:var(--radius-full);flex-shrink:0;width:12px;height:12px}.chart-legend__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chart-legend__count{font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.chart-panel{width:340px;padding:var(--space-5);gap:var(--space-3);background:var(--surface-primary);border-left:1px solid var(--border-primary);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.chart-panel__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.chart-panel__photo{border-radius:var(--radius-full);object-fit:cover;flex-shrink:0;width:64px;height:64px}.chart-panel__heading{flex:1;min-width:0}.chart-panel__name{font-size:var(--text-h3);font-weight:600;line-height:1.3}.chart-panel__list{gap:var(--space-2) var(--space-3);font-size:var(--text-body-sm);grid-template-columns:120px 1fr;display:grid}.chart-panel__list dt{color:var(--text-tertiary)}.chart-panel__list dd{color:var(--text-primary);overflow-wrap:anywhere;min-width:0}.chart-panel__source{display:block}.chart-panel__link{font:inherit;color:var(--text-brand);cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.chart-panel__link:hover{text-decoration:underline}.chart-panel__projects{gap:var(--space-2);font-size:var(--text-body-sm);flex-direction:column;display:flex}.chart-panel__projects li{flex-direction:column;display:flex}.chart-panel__project{color:var(--text-primary);font-weight:500}@media (width<=900px){.chart__body{flex-direction:column}.chart-panel{border-left:none;border-top:1px solid var(--border-primary);width:100%;max-height:45%}}.ptag-tabs{border-bottom:1px solid var(--neutral-200);flex-wrap:wrap;display:flex}.ptag-tab{min-height:44px;padding:0 var(--space-4);color:var(--neutral-600);font-size:var(--text-body-sm);border-bottom:2px solid #0000;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.ptag-tab:hover{color:var(--neutral-900)}.ptag-tab[aria-current=page],.ptag-tab--active{color:var(--text-brand);border-bottom-color:var(--ptag-blue);font-weight:600}.ptag-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.chart-tabs{padding:0 var(--space-6);background:var(--surface-primary)}.chart--scroll{overflow-y:auto}.chart-tabs{align-items:center}.chart-tabs__mode{margin-left:auto}.chart-tabs__mode+.chart-tabs__mode{margin-left:var(--space-2)}.chart-notice--info{background:var(--badge-info-bg);color:var(--badge-info-text);border-bottom-color:var(--ptag-blue-light)}.matrix{gap:var(--space-3);min-width:0;padding:var(--space-4) var(--space-6);flex-direction:column;flex:1;display:flex}.matrix__intro{font-size:var(--text-body-sm);color:var(--text-secondary)}.matrix__scroll{--matrix-name-width:220px;min-height:0;scroll-padding-top:48px;scroll-padding-left:var(--matrix-name-width);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);flex:1;overflow:auto}.matrix__scroll:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.matrix__grid{border-collapse:separate;border-spacing:0;font-size:var(--text-body-sm)}.matrix__grid th,.matrix__grid td{border-bottom:1px solid var(--border-subtle);text-align:center;white-space:nowrap}.matrix__grid thead th{z-index:var(--z-sticky);height:48px;padding:0 var(--space-3);background:var(--surface-tertiary);color:var(--text-heading);font-weight:600;position:sticky;top:0}.matrix__grid tbody th,.matrix__grid tfoot th{z-index:var(--z-content);width:var(--matrix-name-width);max-width:var(--matrix-name-width);padding:0 var(--space-3);text-align:left;color:var(--text-primary);background:var(--surface-primary);border-right:1px solid var(--border-primary);font-weight:500;position:sticky;left:0}.matrix__grid thead th.matrix__corner{z-index:calc(var(--z-sticky) + 1);text-align:left;border-right:1px solid var(--border-primary);left:0}.matrix__name{max-width:calc(var(--matrix-name-width) - var(--space-6));text-overflow:ellipsis;display:block;overflow:hidden}.matrix__grid td{min-width:6rem;height:48px;color:var(--text-primary);padding:0}.matrix__cell{width:100%;min-height:48px;font:inherit;font-variant-numeric:tabular-nums;color:var(--text-brand);cursor:pointer;background:0 0;border:none;font-weight:600}.matrix__cell:hover{background:var(--ptag-blue-light)}.matrix__cell:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.matrix__empty{color:var(--text-muted)}.matrix__total{font-variant-numeric:tabular-nums;background:var(--surface-secondary);font-weight:600}.matrix__grid tfoot th,.matrix__grid tfoot td{background:var(--surface-secondary);font-weight:600}.matrix__grid th.matrix__gap,.matrix__grid td.matrix__gap{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.matrix__gap .matrix__cell{color:var(--badge-warning-text)}.matrix__gap .matrix__cell:hover{background:0 0;text-decoration:underline}.matrix-list{gap:var(--space-1);flex-direction:column;display:flex}.matrix-list__person{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-body-sm);color:var(--text-primary);flex-direction:column;display:flex}.matrix-list__person:hover{background:var(--surface-tertiary);text-decoration:none}.model{gap:var(--space-4);padding:var(--space-4) var(--space-6) var(--space-8);flex-direction:column;display:flex}.model__bands{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.model-band{width:calc(100% - var(--band-step) * 8%);min-width:min(100%,520px);padding:var(--space-4) var(--space-5);background:var(--surface-primary);border:1px solid var(--border-primary);border-top:3px solid var(--ptag-blue);border-radius:var(--radius-md)}.model-band:last-child{border-top-color:var(--ptag-green)}.model-band__header{align-items:baseline;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.model-band__title{font-size:var(--text-h4);font-weight:600}.model-band__values{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.model-chip{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);font-size:var(--text-body-sm);color:var(--text-primary);background:var(--ptag-blue-50);border:1px solid var(--ptag-blue-light);border-radius:var(--radius-full);display:inline-flex}.model-chip:hover{background:var(--ptag-blue-light);text-decoration:none}.model-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.model-chip__count{font-variant-numeric:tabular-nums;color:var(--text-brand);font-weight:600}.model-chip--gap{background:var(--badge-warning-bg);border-color:var(--status-warning)}.model-chip--gap .model-chip__count{color:var(--badge-warning-text)}.chart-filter__option{align-items:center;gap:var(--space-2);padding:3px var(--space-1);font-size:var(--text-caption);color:var(--text-secondary);cursor:pointer;display:flex}.ptag-segmented{align-self:flex-start;align-items:center;gap:0;display:inline-flex}.ptag-segmented__label{margin-right:var(--space-3);font-size:var(--text-body-sm);color:var(--text-label)}.ptag-segmented__option{height:36px;padding:0 var(--space-4);font:inherit;font-size:var(--text-body-sm);cursor:pointer;color:var(--text-secondary);background:var(--surface-primary);border:1px solid var(--border-secondary);font-weight:500}.ptag-segmented__option+.ptag-segmented__option{border-left:none}.ptag-segmented__option:first-of-type{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.ptag-segmented__option:last-of-type{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.ptag-segmented__option[aria-pressed=true]{background:var(--ptag-blue-light);color:var(--text-brand);border-color:var(--ptag-blue);font-weight:600}.ptag-segmented__option[aria-pressed=true]+.ptag-segmented__option{border-left:1px solid var(--ptag-blue);margin-left:-1px}.ptag-segmented__option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;position:relative}.chart-notice{padding:var(--space-2) var(--space-6);font-size:var(--text-body-sm);background:var(--badge-warning-bg);color:var(--badge-warning-text);border-bottom:1px solid var(--status-warning)}.editor-nav{padding:0 var(--space-6);background:var(--surface-secondary)}.editor{gap:var(--space-4);padding:var(--space-5) var(--space-6) var(--space-8);flex-direction:column;display:flex}.editor--narrow{max-width:640px}.editor h1{font-size:var(--text-h2)}.editor h2{font-size:var(--text-h3)}.editor__header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.editor__scroll{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);max-height:70vh;overflow:auto}.editor__scroll:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.editor__actions{white-space:nowrap;text-align:right}.editor__confirm,.editor__inline{align-items:center;gap:var(--space-1);display:inline-flex}.editor__section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-primary)}.editor__aliases li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px solid var(--border-subtle);display:flex}.editor__add{align-items:flex-end;gap:var(--space-3);display:flex}.editor__add .ptag-field{flex:1}.editor__check{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.editor__textarea{height:auto;padding:var(--space-2) var(--space-3);line-height:1.5}.editor__number{width:120px}.editor__values{gap:2px var(--space-2);font-size:var(--text-caption);grid-template-columns:auto 1fr;display:grid}.editor__values dt{color:var(--text-tertiary)}.editor-flash{margin:var(--space-3) var(--space-6) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-body-sm)}.editor .editor-flash{margin:0}.editor-flash--ok{background:var(--badge-success-bg);color:var(--badge-success-text)}.editor-flash--problem{background:var(--badge-danger-bg);color:var(--badge-danger-text)}.editor-flash ul{margin:var(--space-1) 0 0 var(--space-5)}.ptag-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ptag-field label{font-size:var(--text-body-sm);color:var(--text-label);font-weight:500}.ptag-field .ptag-input{height:40px}.ptag-field textarea.ptag-input{height:auto}.ptag-row-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ptag-btn--md{height:40px;padding:0 var(--space-4);font-size:var(--text-body-sm)}.ptag-btn--danger{background:var(--fill-danger);color:var(--on-brand)}.ptag-btn--danger:hover{background:var(--fill-danger-hover)}.ptag-btn--danger-text{color:var(--text-danger);background:0 0}.ptag-btn--danger-text:hover{background:var(--neutral-100)}a.ptag-btn:hover{text-decoration:none}.ptag-table{border-collapse:collapse;width:100%;font-size:var(--text-body-sm)}.ptag-table th,.ptag-table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.ptag-table thead th{z-index:var(--z-sticky);background:var(--surface-tertiary);color:var(--text-heading);white-space:nowrap;font-weight:600;position:sticky;top:0}.ptag-table tbody th{font-weight:500}.ptag-table tbody tr:hover{background:var(--surface-hover)}.editor__table--narrow{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);max-width:640px}.editor__field--short{flex:0 0 140px!important}.editor__group{max-width:640px;padding:var(--space-4)}.editor__group h3{font-size:var(--text-h4)}.editor .editor__add{max-width:640px}.editor__colours{max-width:640px;padding:var(--space-3) var(--space-4);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.editor__colours summary{color:var(--text-heading);cursor:pointer;font-weight:600}.editor__swatches{gap:var(--space-2) var(--space-4);margin-top:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.editor__swatches li{align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);display:flex}.editor__swatches input[type=color]{border:1px solid var(--border-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:40px;height:32px;padding:0}.chart-panel__upload{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.chart-panel__upload label{cursor:pointer}.chart-panel__upload input:focus-visible+.ptag-caption{outline:2px solid var(--focus-ring)}.chart-panel__actions{flex-direction:column;align-items:flex-start;gap:2px;margin-top:2px;display:flex}.chart-panel__edit{font-size:var(--text-caption)}.chart-panel__form{gap:var(--space-1);padding:var(--space-2);background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);flex-direction:column;display:flex}.chart-panel__form label{font-size:var(--text-caption);color:var(--text-label);margin-top:var(--space-1)}.chart-panel__form .ptag-input{width:100%;height:32px}.chart-panel__form .ptag-row-actions{margin-top:var(--space-2)}.chart-panel__problem{font-size:var(--text-caption);color:var(--text-danger)}.ptag-combobox{position:relative}.ptag-combobox__input{width:100%;padding-right:var(--space-8)}.ptag-combobox:after{content:"";top:50%;right:var(--space-3);border:5px solid #0000;border-top-color:var(--neutral-600);pointer-events:none;margin-top:-2px;position:absolute}.ptag-combobox__list{top:calc(100% + var(--space-1));z-index:var(--z-dropdown);max-height:260px;padding:var(--space-1);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin:0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto}.ptag-combobox__list[hidden]{display:none}.ptag-combobox__option{padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-body-sm);color:var(--text-primary);cursor:pointer}.ptag-combobox__option:hover{background:var(--surface-tertiary)}.ptag-combobox__option[aria-selected=true]{background:var(--ptag-blue-50);color:var(--text-brand);font-weight:600}select.ptag-input{appearance:none;padding-right:var(--space-8);cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--neutral-600) 50%), linear-gradient(135deg, var(--neutral-600) 50%, transparent 50%);background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px}select.ptag-input:hover{border-color:var(--neutral-400)}.chart-arrange-toggle[aria-pressed=true]{background:var(--ptag-blue-50);color:var(--text-brand);box-shadow:inset 0 0 0 1px var(--ptag-blue)}.chart--arranging .tree-node{cursor:grab}.tree-node--dragging{opacity:.75;pointer-events:none;cursor:grabbing}.tree-node--drop .tree-node__halo{stroke:var(--ptag-blue);stroke-width:2px;stroke-dasharray:6 4;fill:var(--ptag-blue-50);opacity:1}.chart-arrange__field{gap:var(--space-1);font-size:var(--text-body-sm);color:var(--text-label);flex-direction:column;display:flex}.chart-arrange__rows{gap:var(--space-2);flex-direction:column;display:flex}.chart-arrange__row-title{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.chart-arrange__list{flex-direction:column;display:flex}.chart-arrange__member{align-items:center;gap:var(--space-1);border-bottom:1px solid var(--border-primary);font-size:var(--text-body-sm);padding:2px 0;display:flex}.chart-arrange__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:1;overflow:hidden}.chart-panel [data-arrange=up-a-team],.chart-arrange__row-title .chart-panel__link{font-size:var(--text-body-sm)}.chart-panel [data-arrange=reset]{align-self:flex-start}.chart--saving-arrangement .tree-node{cursor:progress}
