:root,:root[data-theme=light]{color-scheme:light;--bg: #EDEFF2;--bg-panel: #F7F8FA;--bg-elevated: #FFFFFF;--bg-hover: #EDF1F6;--bg-viewport: #E6E9ED;--bg-active: rgba(28,127,229,.1);--border: rgba(24,36,50,.1);--border-light: rgba(24,36,50,.19);--border-strong: rgba(24,36,50,.28);--ink: #1A222C;--ink-muted: #5A6673;--ink-dim: #616A74;--ink-faint: #616A74;--accent: #1C7FE5;--on-accent: #fff;--accent-hover: #1569C4;--accent-active: #11569A;--accent-subtle: rgba(28,127,229,.1);--accent-rgb: 28,127,229;--success: #1F9D62;--warn: #B97A15;--coral: #B23C0C;--purple: #534AB7;--danger: #D6494B;--info: #1C7FE5;--success-bar: #1F9D62;--bg-success: rgba(31,157,98,.12);--bg-warn: rgba(199,132,26,.13);--bg-coral: #FAECE7;--bg-purple: #EEEDFE;--bg-info: rgba(28,127,229,.1);--bg-danger: rgba(214,73,75,.1);--shadow-pop: 0 0 0 1px rgba(0,0,0,.06);--shadow-elev: 0 1px 2px rgba(0,0,0,.04), 0 0 0 1px rgba(0,0,0,.04);--shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.04);--shadow-dialog: 0 24px 64px -12px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.06);--shadow-hover: 0 4px 12px -4px rgba(0,0,0,.1), 0 0 0 1px rgba(0,0,0,.05)}:root[data-theme=dark]{color-scheme:dark;--bg: #111419;--bg-panel: #171B21;--bg-elevated: #1D232C;--bg-hover: #242C36;--bg-viewport: #0D1015;--bg-active: rgba(59,155,255,.16);--border: rgba(160,190,220,.1);--border-light: rgba(160,190,220,.18);--border-strong: rgba(160,190,220,.28);--ink: #E9EDF2;--ink-muted: #98A4B2;--ink-dim: #7C8792;--ink-faint: #7C8792;--accent: #3B9BFF;--on-accent: #08171c;--accent-hover: #5CB0FF;--accent-active: #2E84E6;--accent-subtle: rgba(59,155,255,.13);--accent-rgb: 59,155,255;--success: #4CC38A;--warn: #F2B23E;--coral: #FB923C;--purple: #B19BFB;--danger: #F26D6D;--info: #3B9BFF;--success-bar: #4CC38A;--bg-success: rgba(76,195,138,.13);--bg-warn: rgba(242,178,62,.14);--bg-coral: rgba(251,146,60,.1);--bg-purple: rgba(177,155,251,.1);--bg-info: rgba(59,155,255,.13);--bg-danger: rgba(242,109,109,.13);--shadow-pop: 0 0 0 1px rgba(0,0,0,.5);--shadow-elev: 0 1px 2px rgba(0,0,0,.4), 0 0 0 1px rgba(0,0,0,.3);--shadow-card: 0 1px 3px rgba(0,0,0,.5), 0 0 0 1px rgba(0,0,0,.3);--shadow-dialog: 0 24px 64px -12px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.03);--shadow-hover: 0 4px 12px -4px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.03)}:root{--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 12px;--r-2xl: 16px;--r-3xl: 20px;--r-full: 9999px}:root{--d-fast: .12s;--d-mid: .2s;--d-slow: .36s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--font-sans: "IBM Plex Sans", system-ui, -apple-system, ui-sans-serif, sans-serif;--font-display: "Space Grotesk", "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--fs-xs: 11px;--lh-xs: 15px;--fs-sm: 12px;--lh-sm: 16px;--fs-base: 13px;--lh-base: 19px;--fs-md: 14px;--lh-md: 20px;--fs-lg: 16px;--lh-lg: 22px;--fs-xl: 18px;--lh-xl: 24px;--fs-2xl: 22px;--lh-2xl: 28px;--fs-3xl: 30px;--lh-3xl: 34px;--fs-4xl: 44px;--lh-4xl: 46px;--fs-5xl: 56px;--lh-5xl: 58px;--ls-tight-1: -.015em;--ls-tight-2: -.02em;--ls-tight-3: -.025em;--ls-tight-4: -.035em;--ls-wide-1: .06em;--ls-wide-2: .1em;--ls-wide-3: .14em;--ls-wide-4: .16em;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--z-viewport: 0;--z-panel: 10;--z-toolbar: 20;--z-vp-velo: 20;--z-vp-menu: 21;--z-vp-card: 15;--z-card: 30;--z-dropdown: 30;--z-popover: 35;--z-bar-open: 35;--z-takeover: 40;--z-sticky: 50;--z-rowmenu: 60;--z-menu: 70;--z-run: 70;--z-sheet: 80;--z-dialog: 90;--z-coach: 100;--z-toast: 110;--z-tooltip: 120;--z-loader: 130;--z-skip: 140}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,.h1{font-family:var(--font-display);font-size:var(--fs-3xl);line-height:var(--lh-3xl);font-weight:700;letter-spacing:var(--ls-tight-3);color:var(--ink);margin:0}h2,.h2{font-family:var(--font-display);font-size:var(--fs-2xl);line-height:var(--lh-2xl);font-weight:700;letter-spacing:var(--ls-tight-2);color:var(--ink);margin:0}h3,.h3{font-family:var(--font-display);font-size:var(--fs-xl);line-height:var(--lh-xl);font-weight:700;letter-spacing:var(--ls-tight-1);color:var(--ink);margin:0}h4,.h4{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:600;color:var(--ink);margin:0}h5,.h5{font-size:var(--fs-md);line-height:var(--lh-md);font-weight:600;color:var(--ink);margin:0}p,.p{font-size:var(--fs-base);line-height:var(--lh-base);color:var(--ink);margin:0}small,.small{font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--ink-muted)}.numeric,code,kbd,samp,pre{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media(forced-colors:active){:where(a[href],button,summary,input,select,textarea,[role=tab],[role=button],[tabindex]):focus-visible{outline:3px solid Highlight;outline-offset:2px}.btn,.in,.v2-icon,.card,.panel{border:1px solid ButtonText}svg{forced-color-adjust:auto}[data-colore-e-dato],.hm-legend-bar,.hud-legend .lg-bar,.lg-scale .lg-bar{forced-color-adjust:none}.banner-err:before,.banner-danger:before{content:"Errore 4 ";font-weight:700}.banner-warn:before{content:"Attenzione 4 ";font-weight:700}.banner-info:before{content:"Nota 4 ";font-weight:700}.banner-err,.banner-danger,.banner-warn,.banner-info{border:1px solid CanvasText}}@media(prefers-contrast:more){:root{--border: rgba(255,255,255,.34);--border-light: rgba(255,255,255,.48);--border-strong: rgba(255,255,255,.66);--ink-muted: #C9D2DB;--ink-dim: #B4BEC8;--ink-faint: #B4BEC8}:root[data-theme=light]{--border: rgba(24,36,50,.34);--border-light: rgba(24,36,50,.5);--border-strong: rgba(24,36,50,.68);--ink-muted: #37424E;--ink-dim: #3C4650;--ink-faint: #3C4650}}.btn{--btn-h: 32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--btn-h);padding:0 14px;font-family:var(--font-sans);font-size:var(--fs-base);font-weight:600;line-height:1;white-space:nowrap;color:var(--ink);background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--r-md);cursor:pointer;text-decoration:none;transition:background var(--d-fast) var(--ease-standard),border-color var(--d-fast) var(--ease-standard),color var(--d-fast) var(--ease-standard),transform var(--d-fast) var(--ease-standard),box-shadow var(--d-fast) var(--ease-standard)}.btn svg{width:16px;height:16px;flex:none}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-subtle),0 0 0 1px var(--accent)}.btn-primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{background:var(--accent-active);border-color:var(--accent-active)}.btn-secondary{background:var(--bg-panel)}.btn-secondary:hover{border-color:var(--border-strong);background:var(--bg-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-muted)}.btn-ghost:hover{background:var(--bg-hover);color:var(--ink)}.btn-danger{color:var(--danger);background:var(--bg-panel);border-color:var(--border-light)}.btn-danger:hover{background:var(--bg-danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn-danger-solid{color:#fff;background:var(--danger);border-color:var(--danger)}.btn-danger-solid:hover{background:color-mix(in srgb,var(--danger) 88%,#000);border-color:color-mix(in srgb,var(--danger) 88%,#000)}.btn-sm{--btn-h: 26px;padding:0 10px;font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-sm svg{width:14px;height:14px}.btn-lg{--btn-h: 40px;padding:0 20px;font-size:var(--fs-md);border-radius:var(--r-lg)}.btn-lg svg{width:18px;height:18px}.btn-icon{width:var(--btn-h);padding:0;border-radius:var(--r-md);color:var(--ink-dim)}.btn-icon.btn-ghost:hover{color:var(--ink)}.btn[disabled],.btn:disabled{opacity:.45;cursor:not-allowed}.btn-spinner{width:14px;height:14px;border-radius:50%;flex:none;border:2px solid currentColor;border-right-color:transparent;opacity:.85;animation:btn-spin .6s linear infinite}.btn-lg .btn-spinner{width:16px;height:16px}@keyframes btn-spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;flex:none;width:16px;height:16px;border-radius:50%;border:2px solid var(--accent);border-right-color:transparent;animation:btn-spin .7s linear infinite}.spinner-sm{width:13px;height:13px}.spinner-lg{width:22px;height:22px;border-width:3px}.tt-trigger{display:inline-flex}.tooltip{position:fixed;z-index:var(--z-tooltip);max-width:280px;padding:7px 10px;border-radius:var(--r-md);background:var(--bg-elevated);color:var(--ink);border:1px solid var(--border);box-shadow:var(--shadow-dialog);font-size:var(--fs-sm);line-height:1.4;pointer-events:auto;animation:tt-in .12s var(--ease-standard)}@keyframes tt-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tooltip{animation:none}}.tooltip:has(.tt-esteso){max-width:340px}.tt-esteso{margin-top:6px;padding-top:6px;border-top:1px solid var(--bd, rgba(255,255,255,.14));font-size:11.5px;line-height:1.5;color:var(--ink-muted);text-align:left}.btn-icon{position:relative}.tb-count{position:absolute;top:-3px;right:-3px;min-width:15px;height:15px;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:var(--font-mono);font-size:9px;font-weight:700;line-height:1;color:#fff;background:var(--accent);border-radius:var(--r-full)}.hm-legend{display:inline-flex;align-items:center;gap:10px;padding:7px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-card)}.hm-legend-label{font-size:var(--fs-sm);color:var(--ink-dim);white-space:nowrap}.hm-legend-val{font-family:var(--font-mono);font-size:var(--fs-sm);white-space:nowrap;display:inline-flex;align-items:baseline;gap:4px}.hm-legend-el{font-size:10px;color:var(--ink-faint)}.hm-legend-bar{width:140px;height:10px;border-radius:5px;flex:none}.hm-legend-slider{width:96px;accent-color:var(--accent);cursor:pointer}.hm-legend-peak{font-family:var(--font-mono);font-size:var(--fs-sm);white-space:nowrap;color:var(--ink-muted);padding-left:10px;border-left:1px solid var(--border);display:inline-flex;align-items:baseline;gap:4px}.rchart{margin-top:8px}.rchart-head{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-size:10.5px;color:var(--ink-muted)}.rchart-caret{display:inline-flex;color:var(--ink-dim)}.rchart-caret svg{width:13px;height:13px}.rchart-title{font-weight:600;white-space:nowrap}.rchart-spacer{flex:1}.rchart-peak{font-size:10.5px;white-space:nowrap}.rchart-actions{display:inline-flex;gap:2px}.rchart-act{display:inline-flex;padding:2px;border-radius:var(--r-sm);color:var(--ink-faint)}.rchart-act svg{width:13px;height:13px}.rchart-act:hover{color:var(--ink);background:var(--bg-hover)}.jpbar{padding:2px 2px 8px}.jpbar-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.jpbar-label{font-size:11.5px;font-weight:500;color:var(--accent)}.jpbar-spacer{flex:1}.jpbar-pct{font-size:11.5px;font-weight:600;color:var(--accent);white-space:nowrap}.jpbar-hint{font-size:9.5px;color:var(--ink-dim);margin-top:5px}.term{border-bottom:1px dashed var(--ink-dim);cursor:help}.term:hover,.term:focus-visible{border-bottom-color:var(--accent);color:var(--accent);outline:none}.term-long{line-height:1.55}.term-ex,.term-ref,.term-see{margin-top:8px;font-size:var(--fs-sm);color:var(--ink-dim)}.btn .btn-kbd{display:inline-flex;align-items:center;height:16px;padding:0 4px;font-family:var(--font-mono);font-size:10px;font-weight:600;color:currentColor;opacity:.7;border:1px solid currentColor;border-radius:var(--r-xs)}.kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 5px;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--ink-dim);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-sm)}.badge{display:inline-flex;align-items:center;gap:5px;height:19px;padding:0 7px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:var(--ls-wide-2);border-radius:var(--r-full);color:var(--ink-muted);background:var(--bg-hover);border:1px solid var(--border)}.badge-accent{color:var(--accent);background:var(--accent-subtle);border-color:color-mix(in srgb,var(--accent) 26%,transparent)}.badge-success{color:var(--success);background:var(--bg-success);border-color:color-mix(in srgb,var(--success) 26%,transparent)}.badge-warn{color:var(--warn);background:var(--bg-warn);border-color:color-mix(in srgb,var(--warn) 26%,transparent)}.badge-coral{color:var(--coral);background:var(--bg-coral);border-color:color-mix(in srgb,var(--coral) 26%,transparent)}.badge-purple{color:var(--purple);background:var(--bg-purple);border-color:color-mix(in srgb,var(--purple) 26%,transparent)}.badge-danger{color:var(--danger);background:var(--bg-danger);border-color:color-mix(in srgb,var(--danger) 26%,transparent)}.badge-outline{background:transparent;border-color:var(--border)}.tag{display:inline-flex;align-items:center;gap:5px;height:19px;padding:0 7px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:var(--ls-wide-2);text-transform:uppercase;border-radius:var(--r-sm);color:var(--ink-muted);background:var(--bg-hover);border:1px solid var(--border);white-space:nowrap;flex:none}.badge svg{width:12px;height:12px;flex:none}.badge-sm{height:16px;padding:0 5px;font-size:9px}.badge-sm svg{width:11px;height:11px}.trust-prelim{color:var(--warn);background:var(--bg-warn);border-color:color-mix(in srgb,var(--warn) 26%,transparent)}.trust-draft{color:var(--ink-dim);background:var(--bg-hover);border-color:var(--border)}.trust-valid{color:var(--success);background:var(--bg-success);border-color:color-mix(in srgb,var(--success) 26%,transparent)}.pill{display:inline-flex;align-items:center;height:20px;padding:0 8px;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600;letter-spacing:var(--ls-wide-1);color:var(--ink-muted);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-full)}.pill-ec3{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.pill-ec2{color:var(--coral);border-color:color-mix(in srgb,var(--coral) 28%,transparent)}.pill-ec5{color:var(--success);border-color:color-mix(in srgb,var(--success) 28%,transparent)}.pill-ec8{color:var(--purple);border-color:color-mix(in srgb,var(--purple) 28%,transparent)}.pill-ntc{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 28%,transparent)}.mat{display:inline-flex;align-items:center;height:20px;padding:0 8px;font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600;border-radius:var(--r-sm);white-space:nowrap;color:var(--ink-muted);background:var(--bg-hover);border:1px solid var(--border)}.mat-acciaio{color:var(--ink-muted)}.mat-ca{color:var(--coral);background:var(--bg-coral);border-color:color-mix(in srgb,var(--coral) 22%,transparent)}.mat-legno{color:var(--success);background:var(--bg-success);border-color:color-mix(in srgb,var(--success) 22%,transparent)}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;font-family:var(--font-sans);font-size:var(--fs-base);font-weight:500;color:var(--ink-muted);background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--r-full);cursor:pointer;white-space:nowrap;transition:border-color var(--d-fast) var(--ease-standard),color var(--d-fast) var(--ease-standard),background var(--d-fast) var(--ease-standard)}.chip:hover{border-color:var(--border-strong);color:var(--ink)}.chip svg{width:13px;height:13px}.chip-count{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600;color:var(--ink-dim)}.chip.is-active{color:var(--accent);background:var(--accent-subtle);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.chip.is-active .chip-count{color:var(--accent)}.tabs{display:inline-flex;gap:2px}.tab{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wide-1);color:var(--ink-dim);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);cursor:pointer;transition:color var(--d-fast),background var(--d-fast),border-color var(--d-fast)}.tab:hover{color:var(--ink-muted)}.tab svg{width:15px;height:15px;flex:none}.tab .tab-count{color:var(--ink-faint)}.tab.is-active{color:var(--accent);background:var(--accent-subtle);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.tab.is-active .tab-count{color:var(--accent)}.field{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;width:100%;font-family:var(--font-sans);font-size:var(--fs-md);color:var(--ink);background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--r-md);transition:border-color var(--d-fast),box-shadow var(--d-fast)}.field svg{width:15px;height:15px;color:var(--ink-dim);flex:none}.field input,.field select{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;color:inherit}.field input::-moz-placeholder{color:var(--ink-faint)}.field input::placeholder{color:var(--ink-faint)}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.ff-wrap{display:contents}.field-label{display:block;margin-bottom:6px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:var(--ls-wide-2);text-transform:uppercase;color:var(--ink-dim)}.search-pill{display:inline-flex;align-items:center;gap:9px;height:32px;padding:0 10px 0 12px;min-width:240px;font-size:var(--fs-base);color:var(--ink-dim);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-md);cursor:text;transition:border-color var(--d-fast),background var(--d-fast)}.search-pill:hover{border-color:var(--border-strong)}.search-pill svg{width:15px;height:15px;color:var(--ink-dim)}.search-pill .sp-label{flex:1;text-align:left}.status{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-sans);font-size:var(--fs-base);font-weight:500;color:var(--ink-muted)}.status .dot{width:7px;height:7px;border-radius:var(--r-full);background:var(--ink-faint);flex:none}.status-ok .dot{background:var(--success)}.status-running .dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);animation:pulse-dot 1.4s var(--ease-standard) infinite}.status-queued .dot{background:var(--ink-dim)}.status-failed .dot{background:var(--danger)}.status-draft .dot{background:var(--warn)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.status-running .dot{animation:none}}.stat{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--fs-md)}.stat-empty{color:var(--ink-faint)}.stat-na{color:var(--ink-dim);font-style:italic;font-weight:500}.stat-warn{color:var(--warn)}.stat-value{color:var(--ink)}.stat-value.is-pass{color:var(--success)}.stat-value.is-fail{color:var(--danger)}.stat-src{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;color:var(--ink-dim)}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-card)}.card-pad{padding:var(--sp-5)}.card-hover{transition:transform var(--d-fast) var(--ease-standard),box-shadow var(--d-fast) var(--ease-standard),border-color var(--d-fast) var(--ease-standard)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--border-light)}.banner{display:flex;align-items:center;gap:12px;padding:12px 16px;font-size:var(--fs-md);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);color:var(--ink-muted)}.banner svg{width:18px;height:18px;flex:none}.banner-info{color:var(--info);background:var(--bg-info);border-color:color-mix(in srgb,var(--info) 24%,transparent)}.banner-warn{color:var(--warn);background:var(--bg-warn);border-color:color-mix(in srgb,var(--warn) 24%,transparent)}.banner-danger{color:var(--danger);background:var(--bg-danger);border-color:color-mix(in srgb,var(--danger) 24%,transparent)}.banner-spacer{margin-left:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.data-table thead th{position:sticky;top:0;padding:9px 14px;text-align:left;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:var(--ls-wide-2);text-transform:uppercase;color:var(--ink-dim);background:var(--bg-panel);border-bottom:1px solid var(--border);white-space:nowrap}.data-table tbody td{padding:11px 14px;border-bottom:1px solid var(--border);color:var(--ink);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--d-fast)}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.data-table .t-id{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-dim)}.dt-root{display:flex;flex-direction:column;gap:8px;min-width:0}.dt-toolbar{display:flex;align-items:center;gap:10px}.dt-toolbar-spacer{flex:1}.dt-count{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-dim)}.dt-search{display:inline-flex;align-items:center;gap:6px}.dt-search svg{width:14px;height:14px;color:var(--ink-dim);flex:none}.dt-scroll{min-width:0}.data-table th.dt-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.data-table th.dt-sortable svg{width:13px;height:13px;vertical-align:-2px;margin-left:4px;opacity:.6}.data-table th.dt-sortable:hover{color:var(--ink)}.data-table tr.dt-clickable{cursor:pointer}.data-table tbody tr.is-sel{background:var(--accent-subtle)}.data-table td.dt-empty{text-align:center;color:var(--ink-dim);padding:20px}.dt-star-col{width:30px;text-align:center}.dt-star{color:var(--ink-faint);display:inline-flex}.dt-star svg{width:14px;height:14px}.dt-star.is-on{color:var(--warn)}.dt-star.is-on svg{fill:currentColor}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px}.empty-state-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-lg);color:var(--ink-dim);background:var(--bg-hover);flex:none}.empty-state-ico svg{width:24px;height:24px}.empty-state-title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;color:var(--ink)}.empty-state-body{font-size:var(--fs-sm);color:var(--ink-dim);max-width:400px;line-height:1.5}.empty-state-cta{margin-top:4px}.empty-state.is-compact{padding:22px 16px;gap:6px}.empty-state.is-compact .empty-state-ico{width:auto;height:auto;background:none;border-radius:0;color:var(--ink-faint);margin-bottom:2px}.empty-state.is-compact .empty-state-ico svg{width:22px;height:22px}.empty-state.is-compact .empty-state-title{font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:400;color:var(--ink-dim)}.empty-state.is-result{padding:30px 16px;gap:10px;color:var(--ink-dim)}.empty-state.is-result .empty-state-ico{width:42px;height:42px}.empty-state.is-result .empty-state-ico svg{width:21px;height:21px}.empty-state.is-result .empty-state-title{font-size:var(--fs-md);font-weight:700;color:var(--ink-muted)}.empty-state.is-result .empty-state-body{font-size:var(--fs-base);max-width:40ch}.empty-state.is-card{background:var(--bg-panel);border:1px dashed var(--border-strong);border-radius:var(--r-xl)}.empty-state[data-tono=attenzione] .empty-state-ico svg{color:var(--warn, #d08a2a)}.empty-state[data-tono=guasto] .empty-state-ico svg{color:var(--bad, #d05a5a)}.eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:var(--ls-wide-3);text-transform:uppercase;color:var(--ink-dim)}.badge-soon{color:var(--ink-dim);background:transparent;border-color:var(--border-strong);border-style:dashed}.badge-target{color:var(--purple);background:transparent;border-color:color-mix(in srgb,var(--purple) 42%,transparent);border-style:dashed}.stat-soon{color:var(--ink-dim);font-style:italic;font-weight:500;-webkit-text-decoration:underline dashed color-mix(in srgb,var(--ink-dim) 50%,transparent);text-decoration:underline dashed color-mix(in srgb,var(--ink-dim) 50%,transparent);text-underline-offset:3px}:where(a[href],button,summary,[role=tab],[role=button],[tabindex]):focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-subtle),0 0 0 1px var(--accent)}:where(:focus):not(:focus-visible){outline:none}.badge-accent,.pill-ec3,.tab.is-active,.tab.is-active .tab-count,.chip.is-active,.chip.is-active .chip-count{color:var(--accent-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;color:var(--ink-dim);background:transparent;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;transition:background var(--d-fast) var(--ease-standard),color var(--d-fast) var(--ease-standard),border-color var(--d-fast) var(--ease-standard)}.icon-btn svg{width:17px;height:17px}.icon-btn:hover{color:var(--ink);background:var(--bg-hover)}.icon-btn-sm{width:26px;height:26px;border-radius:var(--r-sm)}.icon-btn-sm svg{width:15px;height:15px}.icon-btn[disabled]{opacity:.45;cursor:not-allowed}.toggle{position:relative;display:inline-block;flex:none;width:38px;height:22px;background:var(--border-strong);border-radius:var(--r-full);cursor:pointer;border:none;padding:0;transition:background var(--d-fast) var(--ease-standard)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--r-full);background:#fff;box-shadow:var(--shadow-elev);transition:transform var(--d-fast) var(--ease-standard)}.toggle.is-on{background:var(--accent)}.toggle.is-on:after{transform:translate(16px)}.toggle[disabled]{opacity:.45;cursor:not-allowed}.exp-group+.exp-group{margin-top:18px}.exp-glabel{font-family:var(--font-mono);font-size:9px;letter-spacing:var(--ls-wide-1);text-transform:uppercase;color:var(--ink-dim);margin-bottom:9px}.exp-cards{display:flex;flex-direction:column;gap:9px}.exp-card{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:13px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);cursor:pointer;transition:border-color .12s,background .12s}.exp-card:hover{border-color:var(--border-strong)}.exp-card.is-sel{border-color:var(--accent);background:var(--accent-subtle)}.exp-card .ec-ico{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--r-md);color:var(--ink-muted);background:var(--bg-hover);border:1px solid var(--border)}.exp-card.is-sel .ec-ico{color:var(--accent-hover);background:var(--accent-subtle);border-color:transparent}.exp-card .ec-ico svg{width:17px;height:17px}.exp-card .ec-body{min-width:0;flex:1}.exp-card .ec-top{display:flex;align-items:center;gap:8px}.exp-card .ec-name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);color:var(--ink)}.exp-card .ec-ext{font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--border);border-radius:var(--r-full);padding:1px 7px}.exp-card .ec-rd{margin-left:auto;width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--border);display:grid;place-items:center}.exp-card.is-sel .ec-rd{border-color:var(--accent)}.exp-card.is-sel .ec-rd:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}.exp-card .ec-note{margin-top:4px;font-size:var(--fs-sm);color:var(--ink-muted);line-height:1.45}.exp-card .ec-src{margin-top:6px;font-family:var(--font-mono);font-size:9px;color:var(--ink-faint)}.exp-prov{display:flex;align-items:flex-start;gap:9px;margin-top:16px;padding:11px 13px;border-radius:var(--r-lg);font-size:var(--fs-sm);line-height:1.5;color:var(--ink-muted);background:var(--bg-hover);border:1px solid var(--border)}.exp-prov svg{width:15px;height:15px;flex:none;margin-top:1px;color:var(--ink-dim)}.exp-prov b{color:var(--ink);font-weight:600}.exp-prov.is-warn{background:var(--bg-warn);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.exp-prov.is-warn svg{color:var(--warn)}.exp-opt{display:flex;align-items:center;gap:11px;margin-top:14px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--r-lg)}.exp-opt .eo-txt{min-width:0;flex:1}.exp-opt .eo-name{font-size:var(--fs-md);color:var(--ink);font-weight:500}.exp-opt .eo-sub{margin-top:2px;font-size:var(--fs-xs);color:var(--ink-dim);line-height:1.4}.avatar{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:var(--r-full);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:700;letter-spacing:var(--ls-wide-1);color:var(--accent-hover);background:var(--accent-subtle);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.avatar-sm{width:24px;height:24px;font-size:10px}.avatar-lg{width:40px;height:40px;font-size:var(--fs-md)}.skeleton{display:block;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--bg-hover) 25%,var(--border) 37%,var(--bg-hover) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s var(--ease-standard) infinite}.skeleton-text{height:11px}.skeleton-line{height:13px}.skeleton-block{height:56px;border-radius:var(--r-md)}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.form-field{display:block}.form-field+.form-field{margin-top:14px}.ff-hint{margin-top:6px;font-size:var(--fs-sm);color:var(--ink-dim);line-height:1.4}.ff-error{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--danger);line-height:1.4}.ff-error svg{width:14px;height:14px;flex:none}.field.is-error{border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.field.is-error:focus-within{border-color:var(--danger);box-shadow:0 0 0 3px var(--bg-danger)}.field .ff-unit{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-dim);flex:none}.progress{position:relative;overflow:hidden;width:100%;height:6px;border-radius:var(--r-full);background:var(--bg-hover)}.progress-fill{position:absolute;inset:0 auto 0 0;height:100%;background:var(--accent);border-radius:var(--r-full);transition:width var(--d-mid) var(--ease-standard)}.progress.is-indeterminate .progress-fill{width:38%;animation:progress-indet 1.25s var(--ease-standard) infinite}@keyframes progress-indet{0%{left:-40%;right:100%}60%{left:100%;right:-40%}to{left:100%;right:-40%}}@media(prefers-reduced-motion:reduce){.progress.is-indeterminate .progress-fill{animation:none;width:100%;opacity:.5}}.ds-meter{position:relative;overflow:hidden;width:100%;height:8px;border-radius:var(--r-full);background:var(--bg-hover)}.ds-meter-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--r-full);background:var(--accent);transition:width var(--d-mid) var(--ease-standard)}.ds-meter-fill.is-ok{background:var(--success-bar)}.ds-meter-fill.is-warn{background:var(--warn)}.ds-meter-fill.is-full{background:var(--danger)}.urmeter{position:relative;width:100%;height:10px;border-radius:var(--r-full);background:var(--bg-hover);overflow:hidden}.urmeter-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--r-full);background:var(--success-bar);transition:width var(--d-mid) var(--ease-standard)}.urmeter.is-warn .urmeter-fill{background:var(--warn)}.urmeter.is-fail .urmeter-fill{background:var(--danger)}.urmeter-limit{position:absolute;top:-1px;bottom:-1px;width:2px;background:var(--ink-faint);border-radius:var(--r-full);transform:translate(-1px)}.urmeter.is-fail .urmeter-limit{background:var(--danger)}.segmented{display:inline-flex;gap:2px;padding:2px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-lg)}.seg-item{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 13px;font-family:var(--font-sans);font-size:var(--fs-base);font-weight:600;color:var(--ink-dim);background:transparent;border:none;border-radius:var(--r-md);cursor:pointer;white-space:nowrap;transition:color var(--d-fast),background var(--d-fast),box-shadow var(--d-fast)}.seg-item svg{width:15px;height:15px}.seg-item:hover{color:var(--ink-muted)}.seg-item.is-active{color:var(--accent-hover);background:var(--bg-panel);box-shadow:var(--shadow-elev)}.seg-item[disabled]{opacity:.4;cursor:not-allowed}.stepper{display:inline-flex;align-items:center;height:32px;background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--r-md);overflow:hidden}.stepper-btn{display:grid;place-items:center;width:30px;height:100%;color:var(--ink-dim);background:transparent;border:none;cursor:pointer;transition:background var(--d-fast),color var(--d-fast)}.stepper-btn svg{width:15px;height:15px}.stepper-btn:hover{background:var(--bg-hover);color:var(--ink)}.stepper-btn[disabled]{opacity:.35;cursor:not-allowed}.stepper-val{min-width:44px;height:100%;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--fs-md);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);border-left:1px solid var(--border);border-right:1px solid var(--border)}.dlg-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:grid;place-items:center;padding:24px;background:color-mix(in srgb,#0B0D11 42%,transparent)}.dlg{display:flex;flex-direction:column;width:100%;max-height:100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--shadow-dialog);overflow:hidden}.dlg-sm{max-width:400px}.dlg-md{max-width:540px}.dlg-lg{max-width:760px}.dlg-head{display:flex;align-items:flex-start;gap:13px;padding:18px 20px 15px;border-bottom:1px solid var(--border)}.dlg-ico{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--r-md);color:var(--accent-hover);background:var(--accent-subtle)}.dlg-ico svg{width:18px;height:18px}.dlg-htext{min-width:0;flex:1}.dlg-title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;letter-spacing:var(--ls-tight-1);color:var(--ink)}.dlg-sub{margin-top:3px;font-size:var(--fs-base);color:var(--ink-muted);line-height:1.45}.dlg-close{margin:-4px -4px 0 0}.dlg-body{padding:18px 20px;overflow-y:auto;font-size:var(--fs-md);color:var(--ink);line-height:1.5}.dlg-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:13px 20px;border-top:1px solid var(--border);background:var(--bg-panel)}.dlg-foot-spacer{margin-left:auto}.dlg-foot-note{font-size:var(--fs-sm);color:var(--ink-dim)}.dlg-danger .dlg-ico{color:var(--danger);background:var(--bg-danger)}.dlg-warn .dlg-ico{color:var(--warn);background:var(--bg-warn)}.dlg-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:26px 16px}.dlg-state .dlg-state-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-lg);color:var(--ink-dim);background:var(--bg-hover)}.dlg-state .dlg-state-ico svg{width:22px;height:22px}.dlg-state .dlg-state-ico.is-spin svg{animation:dlg-spin 1s linear infinite}.dlg-state.is-error .dlg-state-ico{color:var(--danger);background:var(--bg-danger)}.dlg-state.is-running .dlg-state-ico{color:var(--accent);background:var(--accent-subtle)}.dlg-state-title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:700;color:var(--ink)}.dlg-state-msg{font-size:var(--fs-base);color:var(--ink-muted);max-width:360px;line-height:1.5}@keyframes dlg-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dlg-state .dlg-state-ico.is-spin svg{animation:none}}.dlg-errblock{width:100%;margin-top:4px;text-align:left;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.6;color:var(--ink-muted);background:var(--bg-danger);border:1px solid color-mix(in srgb,var(--danger) 24%,transparent);border-radius:var(--r-md);padding:11px 13px}.dlg-errblock b{color:var(--danger);font-weight:600}.wiz{display:flex;flex-direction:column;width:100%;max-width:760px;max-height:100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--shadow-dialog);overflow:hidden}.wiz-head{display:flex;align-items:flex-start;gap:13px;padding:17px 20px 0}.wiz-head .dlg-ico{color:var(--accent-hover)}.wiz-htext{flex:1;min-width:0}.wiz-ctx{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-dim);letter-spacing:var(--ls-wide-1)}.wiz-ctx svg{width:12px;height:12px}.wiz-title{margin-top:2px;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;letter-spacing:var(--ls-tight-1);color:var(--ink)}.wiz-steps{display:flex;align-items:center;gap:0;padding:16px 20px 14px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}.wiz-step{display:inline-flex;align-items:center;gap:8px;flex:none}.wiz-step-dot{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:var(--r-full);font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--ink-dim);background:var(--bg-hover);border:1px solid var(--border)}.wiz-step-dot svg{width:13px;height:13px}.wiz-step-lbl{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:500;color:var(--ink-dim);white-space:nowrap}.wiz-step-line{flex:1;min-width:18px;height:1px;margin:0 10px;background:var(--border)}.wiz-step.is-done .wiz-step-dot{color:#fff;background:var(--accent);border-color:var(--accent)}.wiz-step.is-done .wiz-step-lbl{color:var(--ink-muted)}.wiz-step.is-active .wiz-step-dot{color:var(--accent-hover);background:var(--accent-subtle);border-color:color-mix(in srgb,var(--accent) 40%,transparent);box-shadow:0 0 0 3px var(--accent-subtle)}.wiz-step.is-active .wiz-step-lbl{color:var(--ink);font-weight:600}.wiz-step.is-locked .wiz-step-dot{color:var(--ink-faint)}.wiz-body{padding:18px 20px;overflow-y:auto;font-size:var(--fs-md);color:var(--ink);line-height:1.5}.wiz-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:13px 20px;border-top:1px solid var(--border);background:var(--bg-panel)}.wiz-foot-spacer{margin-left:auto}.wiz-gatehint{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--ink-dim)}.wiz-gatehint svg{width:14px;height:14px;flex:none;color:var(--warn)}button.wiz-step{background:none;border:none;padding:0;font:inherit;cursor:pointer}button.wiz-step:disabled{cursor:default}.rsa-w-pane{display:flex;flex-direction:column}.rsa-w-h{margin:0 0 8px;font-family:var(--font-display);font-size:var(--fs-md);font-weight:700;color:var(--ink)}.rsa-w-lead{margin:0 0 14px;font-size:var(--fs-sm);color:var(--ink-dim);line-height:1.5}.rsa-w-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rsa-w-hint{display:block;margin-top:7px;font-size:var(--fs-xs);color:var(--ink-dim)}.rsa-w-link{background:none;border:none;padding:0;font:inherit;color:var(--accent-hover);cursor:pointer;white-space:nowrap}.rsa-w-link:hover{text-decoration:underline}.rsa-w-sum{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.rsa-w-sumrow{display:flex;justify-content:space-between;gap:12px;padding:9px 13px;font-size:var(--fs-sm)}.rsa-w-sumrow:not(:last-child){border-bottom:1px solid var(--border)}.rsa-w-sumrow .k{color:var(--ink-dim)}.rsa-w-sumrow .v{color:var(--ink);font-weight:600;text-align:right}@media(max-width:560px){.rsa-w-grid{grid-template-columns:1fr}}.btn-run{color:#fff;background:var(--success-bar);border-color:color-mix(in srgb,var(--success-bar) 70%,#000 8%)}.btn-run:hover{background:color-mix(in srgb,var(--success-bar) 88%,#000)}.btn-run:active{background:color-mix(in srgb,var(--success-bar) 78%,#000)}@media(max-width:639px){.dlg-scrim{padding:0;align-items:flex-end}.dlg,.wiz{max-width:100%;width:100%;max-height:92vh;border-radius:var(--r-2xl) var(--r-2xl) 0 0}.dlg-foot,.wiz-foot{flex-direction:column;align-items:stretch}.dlg-foot-spacer,.wiz-foot-spacer{display:none}}.segmented{max-width:100%;flex-wrap:wrap}.segmented .seg-item{min-width:0}.field{max-width:100%}:is(.in-grid,.field-grid,.site-row,.dlg-fieldrow,.form-grid)>.form-field{margin-top:0}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.field select:not(:last-child){margin-right:-22px;padding-right:22px}.field select+svg,.field select+i{pointer-events:none}.field select option{background:var(--bg-panel);color:var(--ink)}.field.has-select{position:relative}.field.has-select select{padding-right:20px}.field.has-select:after{content:"";position:absolute;right:13px;top:50%;width:8px;height:8px;transform:translateY(-65%) rotate(45deg);border-right:1.5px solid var(--ink-dim);border-bottom:1.5px solid var(--ink-dim);pointer-events:none}.fld-menu{position:fixed;z-index:var(--z-dropdown);box-sizing:border-box;max-height:280px;overflow-y:auto;padding:5px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-dialog);font-family:var(--font-sans)}.fld-opt{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--fs-md);color:var(--ink);cursor:pointer;white-space:nowrap}.fld-opt:hover,.fld-opt.is-active{background:var(--bg-hover)}.fld-opt.is-sel{color:var(--accent-hover)}.fld-opt .fo-check{display:grid;place-items:center;width:14px;height:14px;flex:none;color:var(--accent);opacity:0}.fld-opt .fo-check svg{width:14px;height:14px}.fld-opt.is-sel .fo-check{opacity:1}.fld-opt .fo-lbl{flex:1;min-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes a11y-vivo{0%,to{opacity:1}50%{opacity:.32}}@media(prefers-reduced-motion:reduce){.spinner,.btn-spinner,.s2-spin,.modi-busy .spin,.imp-step.is-now svg,.dlg-state .dlg-state-ico.is-spin svg,.toast.is-running .toast-ico svg,#v2-root .rdot{animation:a11y-vivo 1.6s ease-in-out infinite!important}#v2-root .rdot{border-top-color:currentColor!important}}.abs-fill{position:absolute;top:0;right:0;bottom:0;left:0;height:auto}.load-rows{display:flex;flex-direction:column;gap:9px}.rs-dlg .rs-body{max-height:60vh;overflow:auto}.rs-row{display:grid;grid-template-columns:1fr 130px 90px;gap:10px;align-items:center;padding:7px 2px;border-bottom:1px solid var(--line);font-size:12.5px}.rs-row.rs-head{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);position:sticky;top:0;background:var(--bg1);z-index:1}.rs-lbl{display:flex;flex-direction:column;gap:2px;min-width:0}.rs-err{font-size:10.5px;color:var(--err);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-badge{font-size:11px}.rs-badge.is-ok{color:var(--ok)}.rs-badge.is-bad{color:var(--err)}.rs-badge.is-warn{color:var(--wrn)}.rs-badge.is-run{color:var(--ac)}.rs-badge.is-muted{color:var(--tx3)}.rs-prog{grid-column:1 / -1;margin:0 2px 2px}.rs-act{display:flex;align-items:center;justify-content:flex-end;gap:8px}.rs-act input[type=checkbox]{margin:0;cursor:pointer}.rs-act input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.rs-del{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border-radius:6px;flex:none;border:1px solid transparent;background:transparent;color:var(--tx3);cursor:pointer}.rs-del:hover:not(:disabled){color:var(--err);border-color:var(--err);background:color-mix(in srgb,var(--err) 12%,transparent)}.rs-del:disabled{opacity:.4;cursor:progress}.s2-modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);background:color-mix(in srgb,#000 46%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;animation:s2mfade .12s ease-out}@keyframes s2mfade{0%{opacity:0}to{opacity:1}}.s2-modal{display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 48px);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--shadow-dialog);overflow:hidden;animation:s2mpop .14s cubic-bezier(.2,.8,.3,1)}@keyframes s2mpop{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}.s2-modal-sm{max-width:400px}.s2-modal-md{max-width:540px}.s2-modal-lg{max-width:760px}.s2-modal-xl{max-width:1040px}@media(max-width:639px){.s2-modal-veil{padding:0;align-items:flex-end}.s2-modal{max-width:100%;width:100%;max-height:92vh;border-radius:var(--r-2xl) var(--r-2xl) 0 0}.s2-modal-foot{flex-direction:column;align-items:stretch}}.s2-modal-head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border);flex:none}.s2-modal-ico{display:inline-flex;color:var(--accent, #4c8bf5)}.s2-modal-ico svg{width:19px;height:19px}.s2-modal-titles{flex:1;min-width:0}.s2-modal-title{font-size:var(--fs-lg, 15px);font-weight:650;color:var(--ink);line-height:1.25}.s2-modal-sub{font-size:11.5px;color:var(--ink-dim);margin-top:2px}.s2-modal-x{flex:none;display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--r-sm);color:var(--ink-faint);cursor:pointer}.s2-modal-x:hover{color:var(--ink);background:var(--bg-hover)}.s2-modal-x svg{width:16px;height:16px}.s2-modal-body{overflow-y:auto;padding:16px}.s2-modal-foot{flex:none;padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.mt{font-family:"Cambria Math","Latin Modern Math",Georgia,Times New Roman,serif;font-style:italic;line-height:1.5;white-space:nowrap}.mt-block{display:inline-block;font-size:15px}.mt-frac{display:inline-flex;flex-direction:column;vertical-align:-.55em;text-align:center;margin:0 .18em}.mt-num{padding:0 .35em .06em;border-bottom:1px solid currentColor}.mt-den{padding:.06em .35em 0}.mt-sqrt{display:inline-flex;align-items:stretch}.mt-radic{font-style:normal}.mt-rad{border-top:1px solid currentColor;padding:.05em .1em 0;margin-left:-.06em}.mt-bar{border-top:1px solid currentColor;padding-top:.02em}.mt-hat:before{content:"^"}.mt-vec{border-top:1px solid currentColor}.mt-txt,.mt-bf{font-family:inherit;font-style:normal}.mt-bf{font-weight:700}.mt-scr{position:relative}.mt-base{white-space:nowrap}.mt-sub,.mt-sup{font-size:.72em;font-style:italic}.mt-sub{vertical-align:-.28em}.mt-sup{vertical-align:.42em}.mt-scr-both{display:inline-flex;align-items:center}.mt-stack{display:inline-flex;flex-direction:column;font-size:.72em;line-height:1.02;text-align:left;margin-left:.04em}.mt-stack .mt-sub,.mt-stack .mt-sup{font-size:1em;vertical-align:baseline}.mt-sqrt-idx{font-size:.6em;font-style:normal;vertical-align:.7em;margin-right:-.32em}.mt-op{font-style:normal;margin-right:.16em}.mt-dot,.mt-ddot,.mt-tilde{position:relative}.mt-dot:before,.mt-ddot:before,.mt-tilde:before{position:absolute;left:50%;transform:translate(-50%);top:-.62em;font-size:.8em;font-style:normal;line-height:1;pointer-events:none}.mt-dot:before{content:"˙"}.mt-ddot:before{content:"¨"}.mt-tilde:before{content:"~";top:-.52em}.mt-cal{font-style:normal}.mt-env{display:inline-flex;align-items:stretch;vertical-align:middle}.mt-env-par{font-size:1.9em;font-style:normal;line-height:.92;display:flex;align-items:center}.mt-grid{display:inline-flex;flex-direction:column;justify-content:center;padding:0 .25em}.mt-row{display:flex;gap:.75em;justify-content:center;line-height:1.5}.mt-cell{min-width:1em}.mt-ignoto{font-style:normal;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.88em;color:var(--warn, #d08a2a);-webkit-text-decoration:underline dashed 1px;text-decoration:underline dashed 1px;text-underline-offset:2px;cursor:help}[data-palco],[data-palco][data-theme=light],[data-palco] [data-theme=light]{color-scheme:light;--bg: #EEF1F5;--bg-glow: #FFFFFF;--bg-deep: #E4E8EE;--grid-dot: rgba(29,31,36,.08);--surface: #FAFBFC;--surface-2: rgba(20,30,50,.05);--surface-3: rgba(255,255,255,.9);--glass: rgba(255,255,255,.74);--glass-strong: rgba(255,255,255,.8);--glass-float: rgba(255,255,255,.94);--glass-dialog: rgba(255,255,255,.97);--glass-border: rgba(255,255,255,.9);--glass-ring: rgba(20,30,50,.05);--line: rgba(20,30,50,.1);--line-soft: rgba(20,30,50,.06);--line-strong: rgba(20,30,50,.18);--ink: #1D1F24;--ink-2: #4B515C;--ink-3: #5F6875;--ink-ghost: #9EA3AC;--ink-inverse: #F2F4F7;--solid: #1D1F24;--on-solid: #F2F4F7;--accent: #1A73E0;--accent-hover: #1567C9;--accent-active: #115AB0;--on-accent: #FFFFFF;--accent-tint: rgba(26,115,224,.1);--accent-tint-strong: rgba(26,115,224,.16);--accent-glow: rgba(26,115,224,.6);--selection: #E4EDF9;--focus-ring: rgba(26,115,224,.45);--warn: #8A5A0E;--warn-tint: rgba(138,90,14,.09);--danger: #B3261E;--danger-tint: rgba(179,38,30,.09);--on-danger: #FFFFFF;--ok: #1B7F4B;--ok-tint: rgba(27,127,75,.1);--purple: #6B4FBB;--purple-tint: rgba(107,79,187,.1);--state-fresh: var(--accent);--state-running: var(--accent);--state-stale: var(--warn);--state-never: transparent;--state-never-ring: var(--ink-ghost);--state-validated: var(--accent);--state-wip: var(--ink-3);--state-na: var(--ink-ghost);--model-ghost: #9EA3AC;--model-line: #4B515C;--model-selected: var(--accent);--model-deformed: var(--accent);--axis-x: #B3261E;--axis-y: #1B7F4B;--axis-z: #1A73E0;--thumb-bg: var(--bg);--thumb-steel: var(--accent);--thumb-deform: var(--chart-2);--thumb-grid: rgba(24,36,50,.14);--thumb-ink: #5A6673;--thumb-node: #7A8896;--thumb-shell: #1F9D62;--thumb-load: #D6494B;--thumb-constraint: #9AA6B3;--thumb-shadow: rgba(30,42,60,.16);--ur-1: #2A7DE1;--ur-2: #2E9E5B;--ur-3: #C9A227;--ur-4: #D97A1F;--ur-5: #C93A30;--ramp-1: #2A5BD7;--ramp-2: #2AA8C2;--ramp-3: #D9B73A;--ramp-4: #E0842A;--ramp-5: #C93A30;--chart-1: #1A73E0;--chart-2: #C75A1E;--chart-3: #1F8F8A;--chart-4: #6B4FBB;--chart-5: #5F6875;--chart-grid: rgba(20,30,50,.08);--paper: #FFFFFF;--paper-fill: #F3F5F8;--paper-ink: #16181D;--paper-ink-2: #3E4550;--paper-ink-3: #646D79;--paper-line: rgba(22,24,29,.16);--paper-line-soft: rgba(22,24,29,.08);--paper-accent: #1A57A8;--paper-warn: #8A5A0E;--paper-danger: #B3261E;--paper-ok: #1B7F4B;--paper-mark: #FFF3B0}[data-palco][data-theme=dark],[data-palco] [data-theme=dark]{color-scheme:dark;--bg: #15161B;--bg-glow: #24262D;--bg-deep: #101115;--grid-dot: rgba(255,255,255,.07);--surface: #1B1D23;--surface-2: rgba(0,0,0,.3);--surface-3: rgba(0,0,0,.3);--glass: rgba(28,30,36,.78);--glass-strong: rgba(28,30,36,.84);--glass-float: rgba(32,34,41,.95);--glass-dialog: rgba(32,34,41,.98);--glass-border: rgba(255,255,255,.1);--glass-ring: rgba(255,255,255,.03);--line: rgba(255,255,255,.1);--line-soft: rgba(255,255,255,.06);--line-strong: rgba(255,255,255,.18);--ink: #F2F4F7;--ink-2: #B4BBC6;--ink-3: #8A93A0;--ink-ghost: #5A5F69;--ink-inverse: #15161B;--solid: #F2F4F7;--on-solid: #15161B;--accent: #4DA3FF;--accent-hover: #6AB3FF;--accent-active: #3B92F0;--on-accent: #0B1B2B;--accent-tint: rgba(77,163,255,.1);--accent-tint-strong: rgba(77,163,255,.18);--accent-glow: rgba(77,163,255,.45);--selection: #223042;--focus-ring: rgba(77,163,255,.5);--warn: #F2B23E;--warn-tint: rgba(242,178,62,.1);--danger: #F26D6D;--danger-tint: rgba(242,109,109,.12);--on-danger: #1B0B0B;--ok: #4CC38A;--ok-tint: rgba(76,195,138,.12);--purple: #B19BFB;--purple-tint: rgba(177,155,251,.14);--model-ghost: #5A5F69;--model-line: #B4BBC6;--axis-x: #F26D6D;--axis-y: #4CC38A;--axis-z: #4DA3FF;--thumb-bg: var(--bg);--thumb-steel: var(--accent);--thumb-deform: var(--chart-2);--thumb-grid: rgba(160,190,220,.14);--thumb-ink: #C4D2E0;--thumb-node: #9FB1C4;--thumb-shell: #5FCBA8;--thumb-load: #F26D6D;--thumb-constraint: #7E8EA0;--thumb-shadow: #04070C;--ur-1: #4DA3FF;--ur-2: #4CC38A;--ur-3: #E0C33A;--ur-4: #F0973F;--ur-5: #F26D6D;--ramp-1: #4DA3FF;--ramp-2: #3FD0E0;--ramp-3: #E0C33A;--ramp-4: #F0973F;--ramp-5: #F26D6D;--chart-1: #4DA3FF;--chart-2: #F08A3E;--chart-3: #3FBFB8;--chart-4: #B19BFB;--chart-5: #8A93A0;--chart-grid: rgba(255,255,255,.08);--paper: #FFFFFF;--paper-fill: #F3F5F8;--paper-ink: #16181D;--paper-ink-2: #3E4550;--paper-ink-3: #646D79;--paper-line: rgba(22,24,29,.16);--paper-line-soft: rgba(22,24,29,.08);--paper-accent: #1A57A8;--paper-warn: #8A5A0E;--paper-danger: #B3261E;--paper-ok: #1B7F4B;--paper-mark: #FFF3B0;--state-fresh: var(--accent);--state-running: var(--accent);--state-stale: var(--warn);--state-never: transparent;--state-never-ring: var(--ink-ghost);--state-validated: var(--accent);--state-wip: var(--ink-3);--state-na: var(--ink-ghost);--model-selected: var(--accent);--model-deformed: var(--accent)}@media(prefers-contrast:more){[data-palco],[data-palco][data-theme=light],[data-palco] [data-theme=light]{--line: rgba(20,30,50,.34);--line-strong: rgba(20,30,50,.6);--ink-3: #3C4650;--ink-ghost: #6B7480}[data-palco][data-theme=dark],[data-palco] [data-theme=dark]{--line: rgba(255,255,255,.34);--line-strong: rgba(255,255,255,.6);--ink-3: #B4BEC8;--ink-ghost: #8A93A0}}[data-palco],[data-palco] [data-theme=light]{--glass-blur: blur(24px) saturate(1.5);--glass-blur-soft: blur(16px) saturate(1.3);--shadow-island: 0 18px 50px -14px rgba(20,30,50,.22), 0 0 0 1px var(--glass-ring);--shadow-dock: 0 18px 50px -14px rgba(20,30,50,.22), 0 0 0 1px var(--glass-ring);--shadow-bar: 0 10px 30px -12px rgba(20,30,50,.22), 0 0 0 1px var(--glass-ring);--shadow-chip: 0 8px 24px -12px rgba(20,30,50,.2), 0 0 0 1px var(--glass-ring);--shadow-dialog: 0 32px 80px -20px rgba(20,30,50,.35), 0 0 0 1px rgba(20,30,50,.06);--shadow-cta: 0 6px 16px -6px var(--accent-glow);--shadow-hairline: 0 0 0 1px rgba(20,30,50,.08);--shadow-focus: 0 0 0 3px var(--focus-ring);--shadow-paper: 0 1px 2px rgba(20,30,50,.1), 0 24px 60px -20px rgba(20,30,50,.3), 0 0 0 1px rgba(20,30,50,.06);--bg-stage: radial-gradient(1100px 700px at 58% 42%, var(--bg-glow) 0%, var(--bg) 55%, var(--bg-deep) 100%);--bg-grid: radial-gradient(var(--grid-dot) 1px, transparent 1px);--bg-grid-size: 28px 28px;--scrim: rgba(20,30,50,.28);--z-viewport: 0;--z-panel: 10;--z-toolbar: 20;--z-vp-velo: 20;--z-vp-menu: 21;--z-vp-card: 15;--z-card: 30;--z-dropdown: 30;--z-popover: 35;--z-bar-open: 35;--z-takeover: 40;--z-sticky: 50;--z-rowmenu: 60;--z-menu: 70;--z-run: 70;--z-sheet: 80;--z-dialog: 90;--z-coach: 100;--z-toast: 110;--z-tooltip: 120;--z-loader: 130;--z-skip: 140}[data-palco][data-theme=dark],[data-palco] [data-theme=dark]{--shadow-island: 0 20px 50px -14px rgba(0,0,0,.65), 0 0 0 1px var(--glass-ring);--shadow-dock: 0 20px 50px -14px rgba(0,0,0,.65), 0 0 0 1px var(--glass-ring);--shadow-bar: 0 12px 32px -12px rgba(0,0,0,.6), 0 0 0 1px var(--glass-ring);--shadow-chip: 0 10px 24px -12px rgba(0,0,0,.55), 0 0 0 1px var(--glass-ring);--shadow-dialog: 0 32px 80px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.04);--shadow-cta: 0 8px 20px -6px var(--accent-glow);--shadow-hairline: 0 0 0 1px rgba(255,255,255,.08);--shadow-paper: 0 1px 2px rgba(0,0,0,.4), 0 28px 70px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.06);--scrim: rgba(0,0,0,.55);--bg-stage: radial-gradient(1100px 700px at 58% 42%, var(--bg-glow) 0%, var(--bg) 55%, var(--bg-deep) 100%);--bg-grid: radial-gradient(var(--grid-dot) 1px, transparent 1px)}[data-palco]{--bp-phone-max: 639;--bp-tablet-min: 640;--bp-tablet-max: 900;--bp-desktop-narrow-min: 901;--bp-mobile-max: 1023;--bp-desktop-min: 1024;--bp-desktop-wide-min: 1680;--stage-top: 76px;--stage-bottom: 98px;--stage-left: 340px;--stage-right: 380px;--toolbar-sep: 19px;--toolbar-more: 30px;--toolbar-min: 320px;--sheet-peek: 96px;--sheet-half: 50vh;--sheet-full: calc(100vh - 56px) }[data-palco]{--d-fast: .12s;--d-mid: .2s;--d-slow: .36s;--d-sheet: .42s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.3, .64, 1)}@media(prefers-reduced-motion:reduce){[data-palco]{--d-fast: 0ms;--d-mid: 0ms;--d-slow: 0ms;--d-sheet: 0ms}}[data-palco]{--sp-2: 2px;--sp-4: 4px;--sp-6: 6px;--sp-8: 8px;--sp-10: 10px;--sp-12: 12px;--sp-14: 14px;--sp-16: 16px;--sp-20: 20px;--sp-24: 24px;--sp-28: 28px;--sp-32: 32px;--sp-40: 40px;--sp-48: 48px;--sp-64: 64px;--r-4: 4px;--r-6: 6px;--r-8: 8px;--r-10: 10px;--r-12: 12px;--r-14: 14px;--r-16: 16px;--r-18: 18px;--r-full: 999px;--r-island: var(--r-18);--r-dock: var(--r-16);--r-bar: var(--r-14);--r-toolbar: var(--r-12);--r-control: var(--r-10);--r-row: 9px;--r-chip: 7px;--r-kbd: var(--r-4);--r-pill: var(--r-full);--h-control-sm: 28px;--h-control: 32px;--h-control-lg: 36px;--h-cta: 40px;--h-touch: 44px;--h-bar: 44px;--h-toolbar: 30px;--h-tool: 24px;--h-dock: 66px;--h-row: 32px;--h-field: 30px;--icon-xs: 12px;--icon-sm: 14px;--icon: 16px;--icon-lg: 20px;--icon-xl: 24px;--icon-stroke: 1.75;--gutter: 16px;--w-list: 300px;--w-inspector: 340px;--w-list-wide: 320px;--w-inspector-wide: 380px;--w-sheet-max: 560px;--w-dialog: 640px;--w-palette: 640px;--w-content-max: 1200px}[data-palco]{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-math: "Cambria Math", "Latin Modern Math", "STIX Two Math", Georgia, "Times New Roman", serif;--fs-2xs: 10.5px;--lh-2xs: 14px;--fs-xs: 11px;--lh-xs: 15px;--fs-sm: 12px;--lh-sm: 16px;--fs-base: 13px;--lh-base: 18px;--fs-md: 14px;--lh-md: 20px;--fs-lg: 16px;--lh-lg: 22px;--fs-xl: 18px;--lh-xl: 24px;--fs-2xl: 22px;--lh-2xl: 28px;--fs-3xl: 28px;--lh-3xl: 34px;--fs-4xl: 36px;--lh-4xl: 42px;--fs-5xl: 48px;--lh-5xl: 54px;--fs-metric: 17px;--lh-metric: 22px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--ls-tight: -.015em;--ls-tighter: -.025em;--ls-label: .04em;--ls-eyebrow: .07em;--fvn-tabular: tabular-nums lining-nums}.cp-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:none;align-items:flex-start;justify-content:center;padding:12vh 24px 24px;background:color-mix(in srgb,#06080B 56%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cp-scrim.is-open{display:flex}.cp-dialog{display:flex;flex-direction:column;width:100%;max-width:540px;max-height:72vh;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:13px;box-shadow:var(--shadow-dialog);overflow:hidden}@media(prefers-reduced-motion:no-preference){.cp-scrim.is-open .cp-dialog{animation:cp-pop var(--d-mid) var(--ease-decelerate)}}@keyframes cp-pop{0%{transform:translateY(-10px) scale(.985);opacity:.4}to{transform:none;opacity:1}}.cp-search{display:flex;align-items:center;gap:11px;padding:0 15px;height:48px;flex:none;border-bottom:1px solid var(--border)}.cp-search>svg,.cp-search>i{width:19px;height:19px;color:var(--ink-dim);flex:none}.cp-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-sans);font-size:var(--fs-lg);color:var(--ink)}.cp-search input::-moz-placeholder{color:var(--ink-faint)}.cp-search input::placeholder{color:var(--ink-faint)}.cp-search .cp-esc{flex:none;height:22px;padding:0 8px;display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600;color:var(--ink-dim);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer}.cp-search .cp-esc:hover{color:var(--ink);border-color:var(--border-strong)}.cp-dialog.is-ai .cp-search{border-bottom-color:color-mix(in srgb,var(--accent) 38%,transparent)}.cp-dialog.is-ai .cp-search>svg,.cp-dialog.is-ai .cp-search>i{color:var(--accent-hover)}.cp-list{overflow-y:auto;padding:7px 7px 9px;flex:1;scrollbar-width:thin}.cp-list::-webkit-scrollbar{width:9px}.cp-list::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--r-full);border:2px solid var(--bg-elevated)}.cp-sec{margin-top:5px}.cp-sec:first-child{margin-top:1px}.cp-sec-head{display:flex;align-items:center;gap:7px;padding:9px 11px 5px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:var(--ls-wide-2);text-transform:uppercase;color:var(--ink-dim)}.cp-sec-head svg{width:12px;height:12px;color:var(--ink-faint);flex:none}.cp-sec-count{margin-left:auto;color:var(--ink-faint);font-weight:500}.cp-group{padding:7px 11px 3px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:var(--ls-wide-1);color:var(--ink-faint)}.cp-item{display:flex;align-items:center;gap:11px;width:100%;padding:8px 11px;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;color:var(--ink);scroll-margin:12px}.cp-item-ico{display:grid;place-items:center;width:30px;height:30px;flex:none;color:var(--ink-muted);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-md)}.cp-item-ico svg{width:16px;height:16px}.cp-item-main{flex:1;min-width:0}.cp-item-label{font-size:var(--fs-md);font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-item-label mark{background:transparent;color:var(--accent-hover);font-weight:700}.cp-item-desc{margin-top:1px;font-size:var(--fs-sm);color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-item-meta{display:flex;align-items:center;gap:7px;flex:none}.cp-item-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--ls-wide-1);color:var(--ink-faint);text-transform:uppercase}.cp-item.is-active:not(.is-disabled){background:var(--accent-subtle);border-color:color-mix(in srgb,var(--accent) 26%,transparent)}.cp-item.is-active:not(.is-disabled) .cp-item-ico{color:var(--accent-hover);background:var(--bg-panel);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.cp-item.is-active .cp-enter{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 5px;font-family:var(--font-mono);font-size:11px;color:var(--accent-hover);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);border-radius:var(--r-sm)}.cp-enter{display:none}.cp-item.is-disabled{cursor:not-allowed}.cp-item.is-disabled .cp-item-label{color:var(--ink-muted)}.cp-item.is-disabled .cp-item-ico{opacity:.5}.cp-item-why{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);color:var(--ink-dim);white-space:nowrap}.cp-item-why svg{width:12px;height:12px;flex:none;color:var(--warn)}.cp-copilot{display:flex;align-items:center;gap:11px;margin:4px 4px 2px;padding:12px;border:1px dashed color-mix(in srgb,var(--accent) 42%,transparent);border-radius:var(--r-lg);background:var(--accent-subtle);cursor:pointer;text-align:left}.cp-copilot .cp-item-ico{color:var(--accent-hover);background:var(--bg-panel);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.cp-copilot .cp-copilot-q{color:var(--ink);font-weight:600}.cp-copilot .cp-copilot-q b{color:var(--accent-hover)}.cp-copilot-note{margin-top:2px;font-size:var(--fs-sm);color:var(--ink-dim)}.cp-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:9px 14px;flex:none;border-top:1px solid var(--border);background:var(--bg-panel);font-size:var(--fs-sm);color:var(--ink-dim)}.cp-foot-hint{display:inline-flex;align-items:center;gap:6px}.cp-foot-hint .kbd{height:17px;min-width:17px}.cp-foot-ai{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted)}.cp-foot-ai svg{width:13px;height:13px;color:var(--accent-hover)}.cp-foot-ai b{color:var(--ink);font-family:var(--font-mono);font-weight:600}@media(max-width:639px){.cp-scrim{padding:0;align-items:stretch}.cp-dialog{max-width:100%;max-height:100%;height:100%;border-radius:0}.cp-search{height:60px;padding:0 14px}.cp-foot-ai{width:100%;margin:4px 0 0}}.cs-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:none;place-items:center;padding:24px;background:color-mix(in srgb,#06080B 50%,transparent)}.cs-scrim.is-open{display:grid}.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px}.cs-col-title{grid-column:1 / -1;margin-top:6px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:var(--ls-wide-2);text-transform:uppercase;color:var(--ink-dim)}.cs-col-title:first-child{margin-top:0}.cs-row{display:flex;align-items:center;gap:12px}.cs-row .cs-keys{display:inline-flex;gap:4px;flex:none}.cs-row .cs-desc{font-size:var(--fs-md);color:var(--ink-muted)}@media(max-width:560px){.cs-grid{grid-template-columns:1fr}}.toast-wrap{position:fixed;z-index:var(--z-toast);right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;align-items:flex-end;width:-moz-max-content;width:max-content;max-width:min(340px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 15px;background:var(--bg-elevated);border:1px solid var(--border-light);border-left:3px solid var(--info);border-radius:10px;box-shadow:var(--shadow-dialog);font-size:var(--fs-base);line-height:1.5}.toast.is-danger{border-left-color:var(--danger)}.toast.is-success{border-left-color:var(--success)}.toast.is-info,.toast.is-running{border-left-color:var(--info)}.toast.is-warn{border-left-color:var(--warn)}@media(prefers-reduced-motion:no-preference){.toast{animation:toast-in var(--d-mid) var(--ease-decelerate)}}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.toast.is-leaving{opacity:0;transform:translateY(8px);transition:opacity var(--d-fast),transform var(--d-fast)}.toast-ico{display:grid;place-items:center;width:16px;height:16px;flex:none;margin-top:1px;color:var(--ink-muted)}.toast-ico svg{width:15px;height:15px}.toast.is-success .toast-ico{color:var(--success)}.toast.is-info .toast-ico{color:var(--info)}.toast.is-warn .toast-ico{color:var(--warn)}.toast.is-danger .toast-ico{color:var(--danger)}.toast.is-running .toast-ico{color:var(--accent)}.toast.is-running .toast-ico svg{animation:dlg-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.toast.is-running .toast-ico svg{animation:none}}.toast-body{flex:1;min-width:0}.toast-title{font-size:var(--fs-md);font-weight:600;color:var(--ink)}.toast-msg{margin-top:2px;font-size:var(--fs-base);color:var(--ink-muted);line-height:1.45}.toast-trace{margin-top:7px;padding:8px 10px;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.55;color:var(--ink-muted);background:var(--bg-danger);border:1px solid color-mix(in srgb,var(--danger) 22%,transparent);border-radius:var(--r-sm)}.toast-trace b{color:var(--danger);font-weight:600}.toast-close{margin:-3px -3px 0 0;flex:none}@media(max-width:639px){.toast-wrap{left:12px;right:12px;transform:none;width:auto;max-width:none}}.app.is-focus .topbar,.app.is-focus .tb-appmenu,.app.is-focus .phase-rail,.app.is-focus .ctx-rail,.app.is-focus .output,.app.is-focus .verdict-dock,.app.is-focus .demo-bar{display:none!important}.app.is-focus .shell-body{grid-template-columns:1fr!important}.app.is-focus .viewport{top:0!important;right:0!important;bottom:0!important;left:0!important}.focus-exit{position:fixed;z-index:var(--z-toast);left:50%;bottom:20px;transform:translate(-50%);display:none;align-items:center;gap:9px;height:34px;padding:0 8px 0 14px;font-size:var(--fs-base);color:var(--ink-muted);background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--r-full);box-shadow:var(--shadow-dialog)}.app.is-focus~.focus-exit,body.is-focus .focus-exit{display:inline-flex}.focus-exit svg{width:14px;height:14px;color:var(--accent-hover)}.focus-exit button{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;color:var(--ink);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-full);cursor:pointer}.focus-exit button:hover{border-color:var(--border-strong)}.coach-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-coach);pointer-events:none;background:transparent;display:none}.coach-scrim.is-open{display:block}.coach-ring{position:fixed;z-index:calc(var(--z-coach) + 1);pointer-events:none;border-radius:var(--r-lg);display:none;box-shadow:0 0 0 2px var(--accent),0 0 0 7px var(--accent-subtle),0 0 0 9999px color-mix(in srgb,#06080B 56%,transparent);transition:top .2s ease,left .2s ease,width .2s ease,height .2s ease}.coach-ring.is-open{display:block}.coach-ring.is-warn{box-shadow:0 0 0 2px var(--danger),0 0 0 7px var(--bg-danger),0 0 0 9999px color-mix(in srgb,#06080B 56%,transparent)}@media(prefers-reduced-motion:reduce){.coach-ring{transition:none}}.coach-pop{position:fixed;z-index:calc(var(--z-coach) + 2);width:320px;max-width:calc(100vw - 28px);flex-direction:column;gap:0;pointer-events:auto;display:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-dialog)}.coach-pop.is-open{display:flex}.coach-arrow{position:absolute;width:12px;height:12px;background:var(--bg-elevated);border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}.coach-head{display:flex;align-items:flex-start;gap:11px;padding:14px 15px 10px}.coach-badge{display:inline-flex;align-items:center;gap:5px;flex:none;padding:3px 9px;border-radius:var(--r-full);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:var(--ls-wide-2);text-transform:uppercase;color:var(--accent-hover);background:var(--accent-subtle);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent)}.coach-pop.is-warn .coach-badge{color:var(--danger);background:var(--bg-danger);border-color:color-mix(in srgb,var(--danger) 26%,transparent)}.coach-badge svg{width:11px;height:11px}.coach-spacer{flex:1}.coach-x{display:grid;place-items:center;width:24px;height:24px;flex:none;margin:-3px -3px 0 0;border:none;background:transparent;border-radius:var(--r-sm);color:var(--ink-dim);cursor:pointer}.coach-x:hover{color:var(--ink);background:var(--bg-hover)}.coach-x svg{width:15px;height:15px}.coach-body{padding:0 15px 13px}.coach-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--ink);margin:0 0 5px}.coach-text{font-size:var(--fs-sm);color:var(--ink-muted);line-height:1.5}.coach-text b{color:var(--ink)}.coach-text code{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted)}.coach-foot{display:flex;align-items:center;gap:10px;padding:11px 15px;border-top:1px solid var(--border)}.coach-step{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-dim)}.coach-foot-spacer{flex:1}.coach-skip{border:none;background:transparent;font-size:var(--fs-sm);color:var(--ink-dim);cursor:pointer;padding:4px 2px}.coach-skip:hover{color:var(--ink-muted);text-decoration:underline}.coach-recall{display:inline-flex;align-items:center;gap:7px}@media(max-width:639px){.coach-pop{width:calc(100vw - 24px);left:12px!important;right:12px}.coach-pop.is-open{top:auto!important;bottom:12px}.coach-arrow{display:none}}
