:root{--pg-ink:var(--ink,var(--text,#16233f));--pg-muted:var(--muted,#5b6b85);--pg-dim:var(--dim,var(--subtle,#8895ab));--pg-surface:var(--surface,var(--panel-strong,#fff));--pg-surface-2:var(--surface-2,var(--panel-soft,#eef2f8));--pg-surface-3:var(--surface-3,#1c2d551a);--pg-line:var(--line,var(--border,#1c2d5524));--pg-line-strong:var(--line-strong,var(--border-strong,#1c2d5542));--pg-teal:var(--teal,var(--cyan,#0e7c6e));--pg-amber:var(--amber,#b4690e);--pg-mono:var(--mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);--pg-neutral:#56657d;--pg-blue:#1d5bb8;--pg-purple:#6545b8;--pg-green:#0d7444;--pg-red:#b3261e;--pg-on-tone:#fff}:root[data-theme=dark]{--pg-neutral:#9fb0c6;--pg-blue:#86b6ff;--pg-purple:#bba6ff;--pg-green:#5fd99a;--pg-red:#ff8a7f;--pg-on-tone:#0b1626}.pg-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}[data-tone=neutral]{--pg-tone:var(--pg-neutral)}[data-tone=blue]{--pg-tone:var(--pg-blue)}[data-tone=purple]{--pg-tone:var(--pg-purple)}[data-tone=green]{--pg-tone:var(--pg-green)}.pg-row{border:1px solid var(--pg-line);width:100%;min-width:0;max-width:100%;min-height:34px;color:var(--pg-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:9px;align-items:center;gap:8px;margin-top:6px;padding:3px 8px 3px 4px;display:flex}.pg-row:hover{background:var(--pg-surface-2)}.pg-badge{border:1px solid color-mix(in srgb, var(--pg-tone) 55%, transparent);background:color-mix(in srgb, var(--pg-tone) 11%, var(--pg-surface));min-width:0;color:var(--pg-tone);white-space:nowrap;border-radius:999px;flex:0 auto;align-items:center;gap:5px;padding:2px 8px 2px 4px;font-size:.72rem;font-weight:800;display:inline-flex}.pg-badge[data-tone=neutral]{background:0 0;border-style:dashed}.pg-icon{flex:none;display:block}.pg-ach{letter-spacing:.01em}.pg-count{font-variant-numeric:tabular-nums;opacity:.92;font-weight:700}.pg-case{text-overflow:ellipsis;white-space:nowrap;width:0;min-width:0;color:var(--pg-muted);flex:1 1 0;font-size:.7rem;font-weight:700;overflow:hidden}.pg-case[data-state=done]{color:var(--pg-green)}.pg-case[data-state=failed]{color:var(--pg-red)}.pg-case[data-state=ready]{color:var(--pg-blue)}.pg-chev{color:var(--pg-dim);flex:none;font-size:1rem;font-weight:800}.pg-learn>h3{align-items:center;gap:6px;display:flex}.pg-kind{border:1px solid var(--pg-line-strong);letter-spacing:.06em;text-transform:uppercase;color:var(--pg-muted);vertical-align:middle;border-radius:999px;padding:1px 6px;font-size:.6rem;font-weight:800;display:inline-block}.pg-reqs{margin:0;padding:0;list-style:none}.pg-req{padding:4px 0 4px 22px;font-size:.8rem;line-height:1.45;position:relative}.pg-req .pg-mark{text-align:center;width:16px;color:var(--pg-dim);font-weight:900;position:absolute;top:4px;left:0}.pg-req[data-state=done] .pg-mark,.pg-req[data-state=ok] .pg-mark{color:var(--pg-green)}.pg-req[data-state=failed] .pg-mark{color:var(--pg-red)}.pg-req[data-state=ready] .pg-mark{color:var(--pg-blue)}.pg-req[data-state=done] .pg-req-text{color:var(--pg-muted)}.pg-req[data-type=fair] .pg-req-text{color:var(--pg-muted);font-size:.74rem}.pg-req-pct{font-family:var(--pg-mono);color:var(--pg-dim);font-size:.72rem}.pg-req-note{color:var(--pg-muted);font-size:.72rem}.pg-req[data-state=failed] .pg-req-note{color:var(--pg-red);font-weight:700}.pg-confirm{margin-top:4px}.pg-reqbox p{margin:6px 0 0;font-size:.74rem;line-height:1.45}.pg-earned{color:var(--pg-green);font-weight:700}.pg-stale{color:var(--pg-red);font-weight:700}.pg-guided{color:var(--pg-muted)}.pg-open-link{min-height:30px;margin-top:4px;padding-left:0;font-size:.74rem}.pg-info .pg-outcome{color:var(--pg-muted);margin:8px 0 0;font-size:.78rem}.info-section.pg-info>h3{color:var(--pg-green);align-items:center;gap:6px;display:flex}.pg-modal{width:min(720px,100%)}.pg-headtext{flex-direction:column;gap:2px;min-width:0;display:flex}.pg-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--pg-teal);font-size:.62rem;font-weight:800}.pg-title{outline:none;margin:0;font-size:1rem;font-weight:800;line-height:1.3}.pg-body{flex-direction:column;gap:14px;display:flex}.pg-section{border-top:1px solid var(--pg-line);padding-top:12px}.pg-section>h3,.pg-current h3{letter-spacing:.1em;text-transform:uppercase;color:var(--pg-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;font-size:.68rem;font-weight:800;display:flex}.pg-dim{color:var(--pg-muted);margin:0 0 8px;font-size:.78rem;line-height:1.5}.pg-small{margin-top:8px;font-size:.7rem}.pg-summary{flex-direction:column;gap:8px;display:flex}.pg-bigbadge{color:var(--pg-tone);align-items:center;gap:12px;display:flex}.pg-bigach{font-size:1.25rem;font-weight:850;line-height:1.1}.pg-bigcount{color:var(--pg-ink);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:700}.pg-bar{background:var(--pg-surface-3);border-radius:999px;height:8px;overflow:hidden}.pg-bar>span{background:var(--pg-green);border-radius:999px;height:100%;transition:width .3s;display:block}.pg-blurb{margin:0;font-size:.82rem;line-height:1.5}.pg-saved,.pg-session{margin:0;font-size:.8rem;font-weight:700}.pg-saved .pg-dim,.pg-session .pg-dim{font-weight:500}.pg-session{color:var(--pg-red)}.pg-notice{border-left:3px solid var(--pg-amber);background:color-mix(in srgb, var(--pg-amber) 9%, transparent);border-radius:0 8px 8px 0;margin:0;padding:7px 10px;font-size:.78rem;line-height:1.45}.pg-next{margin-top:2px}.pg-next .btn{white-space:normal;text-align:left;height:auto;min-height:40px;padding:6px 12px}.pg-casename{margin:0 0 6px;font-size:.86rem;font-weight:750}.pg-list{margin:0;padding:0;list-style:none}.pg-item{border-bottom:1px solid var(--pg-line);align-items:flex-start;gap:10px;padding:9px 2px;display:flex}.pg-item:last-child{border-bottom:0}.pg-item .pg-mark{text-align:center;color:var(--pg-dim);flex:0 0 18px;padding-top:1px;font-weight:900}.pg-item[data-state=done] .pg-mark{color:var(--pg-green)}.pg-item[data-state=stale] .pg-mark{color:var(--pg-amber)}.pg-item[data-current=true]{background:color-mix(in srgb, var(--pg-teal) 6%, transparent);border-radius:8px}.pg-item-main{flex:auto;min-width:0}.pg-item-name{font-size:.84rem;font-weight:750;line-height:1.35}.pg-item-outcome{color:var(--pg-muted);margin-top:2px;font-size:.76rem;line-height:1.45}.pg-item-date{color:var(--pg-green);margin-top:3px;font-size:.72rem;font-weight:700}.pg-item[data-state=stale] .pg-item-date{color:var(--pg-amber)}.pg-load{flex:none;min-height:32px}.pg-here{color:var(--pg-teal);flex:none;padding-top:6px;font-size:.7rem;font-weight:800}.pg-certcard{border:1px solid var(--pg-line-strong);background:color-mix(in srgb, var(--pg-blue) 6%, var(--pg-surface));border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.pg-certcard[data-type=completion]{background:color-mix(in srgb, var(--pg-green) 9%, var(--pg-surface))}.pg-certname{font-size:.95rem;font-weight:850}.pg-certcard .pg-dim{margin:2px 0 0}.pg-issued{color:var(--pg-muted);margin-top:8px;font-size:.76rem}.pg-issued summary{cursor:pointer;font-weight:700}.pg-issued ul{margin:6px 0 0;padding-left:18px}.pg-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pg-filelabel{position:relative;overflow:hidden}.pg-file{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.pg-more{margin:10px 0 4px;font-size:.78rem}.pg-more summary{cursor:pointer;color:var(--pg-muted);margin-bottom:8px;font-weight:700}.pg-text{resize:vertical;border:1px solid var(--pg-line-strong);background:var(--pg-surface-2);width:100%;font-family:var(--pg-mono);color:inherit;border-radius:8px;margin-top:8px;padding:8px;font-size:.72rem}.pg-danger>h3{color:var(--pg-red)}.btn.pg-danger-btn{background:var(--pg-red);border-color:var(--pg-red);color:#fff}:root[data-theme=dark] .btn.pg-danger-btn{color:#1b0b0b}.pg-cert{flex-direction:column;gap:12px;display:flex}.pg-field{flex-direction:column;gap:4px;font-size:.8rem;font-weight:700;display:flex}.pg-field input{min-height:38px;font:inherit;border:1px solid var(--pg-line-strong);background:var(--pg-surface-2);color:inherit;border-radius:9px;padding:0 10px;font-weight:600}.pg-preview{border:1px solid var(--pg-line-strong);background:var(--pg-surface-2);aspect-ratio:11/8.5;border-radius:10px;position:relative;overflow:hidden}.pg-preview img{object-fit:contain;width:100%;height:100%;display:block}.pg-preview[data-busy=true]:after{content:"Preparing…";background:color-mix(in srgb, var(--pg-surface) 70%, transparent);color:var(--pg-muted);place-items:center;font-weight:800;display:grid;position:absolute;inset:0}.pg-cert .btn.primary{min-height:40px}.pg-summarytext{color:var(--pg-muted);font-size:.78rem;line-height:1.5}.pg-summarytext summary{cursor:pointer;color:var(--pg-ink);font-weight:700}.pg-summarytext ul{margin:6px 0;padding-left:18px}.pg-li{border:1px solid var(--pg-line);border-radius:10px;padding:10px 12px}.pg-li h4{margin:0 0 6px;font-size:.82rem}.pg-li textarea{min-height:96px;font-family:inherit;font-size:.8rem}.pg-status{min-height:1.2em;color:var(--pg-muted);margin:0;font-size:.76rem}.pg-toasts{z-index:880;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(440px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.pg-toast{pointer-events:auto;border:1px solid color-mix(in srgb, var(--pg-green) 55%, transparent);background:var(--pg-surface);color:var(--pg-ink);border-radius:12px;align-items:center;gap:8px;padding:8px 8px 8px 12px;font-size:.82rem;font-weight:700;animation:.18s ease-out pg-in;display:flex;box-shadow:0 12px 30px #00000038}.pg-toast.pg-leaving{opacity:0;transition:opacity .18s}.pg-toast-mark{color:var(--pg-green);font-weight:900}.pg-toast-text{flex:auto}.pg-toast-btn{min-height:30px}.pg-toast-x{width:30px;min-height:30px;padding:0;font-size:1.05rem}@keyframes pg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:900px){.pg-toasts{max-width:none;left:10px;right:10px;bottom:calc(80px + env(safe-area-inset-bottom));align-items:stretch}}@media (max-width:640px){.pg-backdrop{align-items:end!important;padding:0!important}.pg-modal{border-bottom:0;border-radius:16px 16px 0 0;width:100%;max-height:92dvh!important}.pg-modal .modal-body{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.pg-item{flex-wrap:wrap}.pg-load{margin-left:28px}}@media (max-width:900px),(pointer:coarse){.pg-row,.pg-modal .btn,.pg-toast .btn,.pg-learn .btn,.pg-info .btn,.pg-load,.pg-toast-btn,.pg-toast-x,.pg-open-link,.pg-confirm{min-height:44px}.pg-toast-x{width:44px}.pg-field input{min-height:44px}.pg-more summary,.pg-issued summary,.pg-summarytext summary{padding:10px 0}}@media (prefers-reduced-motion:reduce){.pg-toast{animation:none}.pg-bar>span{transition:none}}.pg-standalone .pg-backdrop{z-index:900;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c121e8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.pg-standalone .pg-backdrop[hidden]{display:none}.pg-standalone .pg-modal{border:1px solid var(--pg-line-strong);background:var(--pg-surface);max-height:min(86dvh,820px);color:var(--pg-ink);border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 30px 80px #00000059}.pg-standalone .pg-modal .modal-head{border-bottom:1px solid var(--pg-line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.pg-standalone .pg-modal .modal-body{flex:1;min-height:0;padding:14px 16px 20px;overflow-y:auto}.pg-standalone .pg-scope .btn,.pg-standalone .pg-toast .btn,.pg-standalone .pg-modal .btn{cursor:pointer;white-space:nowrap;border:1px solid var(--pg-line-strong);background:var(--pg-surface);min-height:36px;color:var(--pg-ink);font:inherit;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.pg-standalone .pg-modal .btn:hover,.pg-standalone .pg-toast .btn:hover{background:var(--pg-surface-2)}.pg-standalone .pg-modal .btn.primary{background:var(--pg-teal);border-color:var(--pg-teal);color:#f2fbf9}.pg-standalone .pg-modal .btn.ghost,.pg-standalone .pg-toast .btn.ghost{color:var(--pg-muted);background:0 0;border-color:#0000}.pg-standalone .pg-modal .btn:disabled{opacity:.45;cursor:not-allowed}.pg-standalone .pg-modal .btn.pg-danger-btn{background:var(--pg-red);border-color:var(--pg-red);color:#fff}.pg-standalone .pg-row{font-size:.8rem}@media (max-width:900px),(pointer:coarse){.pg-standalone .pg-modal .btn,.pg-standalone .pg-toast .btn{min-height:44px}}@media (max-width:640px){.pg-standalone .pg-backdrop{align-items:end;padding:0}}:root{--mdl-ink:var(--ink,var(--text,#16233f));--mdl-muted:var(--muted,#5b6b85);--mdl-dim:var(--dim,var(--subtle,#8895ab));--mdl-surface:var(--surface,var(--panel-strong,#fff));--mdl-surface-2:var(--surface-2,var(--panel-soft,#eef2f8));--mdl-line:var(--line,var(--border,#1c2d5524));--mdl-line-strong:var(--line-strong,var(--border-strong,#1c2d5542));--mdl-accent:var(--teal,var(--cyan,#0e7c6e));--mdl-head:var(--navy,var(--text,#1c2d55));--mdl-mono:var(--mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)}.mdl-backdrop{z-index:900;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c121e8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.mdl-backdrop[hidden]{display:none}.mdl-dialog{border:1px solid var(--mdl-line-strong);background:var(--mdl-surface);width:min(900px,100%);max-height:min(84dvh,760px);color:var(--mdl-ink);text-align:left;border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 30px 80px #00000059}.mdl-head{border-bottom:1px solid var(--mdl-line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.mdl-head h2{color:var(--mdl-ink);margin:0;font-size:1rem;font-weight:800;line-height:1.3}.mdl-close{border:1px solid var(--mdl-line-strong);min-height:34px;color:var(--mdl-ink);font:inherit;cursor:pointer;background:0 0;border-radius:9px;flex:none;padding:0 12px;font-size:.8rem;font-weight:700}.mdl-close:hover{background:var(--mdl-surface-2)}.mdl-tabs{border-bottom:1px solid var(--mdl-line);flex-wrap:wrap;gap:4px;padding:8px 16px 0;display:flex}.mdl-tab{font:inherit;color:var(--mdl-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 12px;font-size:.78rem;font-weight:700}.mdl-tab[aria-selected=true]{color:var(--mdl-ink);border-bottom-color:var(--mdl-accent)}.mdl-tab:focus-visible,.mdl-close:focus-visible,.mdl-body:focus-visible{outline:2px solid var(--mdl-accent);outline-offset:2px}.mdl-body{min-height:0;color:var(--mdl-ink);flex:1;padding:14px 16px 20px;font-size:.82rem;line-height:1.55;overflow-y:auto}.mdl-body p{margin:0 0 10px}.mdl-body code{font-family:var(--mdl-mono);font-size:.92em}.mdl-body a{color:var(--mdl-accent)}.mdl-note{color:var(--mdl-muted)}.mdl-intro{color:var(--mdl-muted);margin:0 0 14px}.mdl-eq{margin:0 0 16px}.mdl-eq h4{color:var(--mdl-head);margin:0 0 6px;font-size:.78rem;font-weight:800}.mdl-eq-render{border:1px solid var(--mdl-line);background:var(--mdl-surface-2);border-radius:10px;padding:10px 12px;overflow-x:auto}.mdl-eq-render.mdl-tex-source{font-family:var(--mdl-mono);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem}.mdl-eq p{color:var(--mdl-muted);margin:6px 0 0;font-size:.8rem;line-height:1.55}.mdl-scroll{overflow-x:auto}.mdl-table{border-collapse:collapse;width:100%;font-size:.8rem}.mdl-table th,.mdl-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--mdl-line);padding:6px 8px}.mdl-table thead th{text-transform:uppercase;letter-spacing:.07em;color:var(--mdl-dim);white-space:nowrap;font-size:.66rem}.mdl-table .mdl-num{text-align:right;font-family:var(--mdl-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.mdl-table thead .mdl-num{font-family:inherit}.mdl-table .mdl-sym{white-space:nowrap;font-family:Cambria Math,STIX Two Math,Georgia,serif;font-style:italic}.mdl-table .mdl-unit,.mdl-table .mdl-range{white-space:nowrap;color:var(--mdl-muted)}.mdl-table .mdl-desc{color:var(--mdl-muted);margin-top:2px;font-size:.74rem;line-height:1.45}.mdl-table tr.mdl-group th{letter-spacing:.04em;color:var(--mdl-head);text-transform:none;padding-top:12px;font-size:.7rem;font-weight:800}.mdl-section{margin:0 0 14px}.mdl-section h3{letter-spacing:.08em;text-transform:uppercase;color:var(--mdl-muted);margin:0 0 6px;font-size:.7rem;font-weight:800}.mdl-list{margin:0;padding-left:18px}.mdl-list li{margin-bottom:7px;line-height:1.55}@media (max-width:640px){.mdl-backdrop{padding:8px}.mdl-dialog{max-height:min(92dvh,900px)}.mdl-head{padding:10px 12px}.mdl-tabs{gap:6px;padding:8px 12px 0}.mdl-body{padding:12px 12px calc(16px + env(safe-area-inset-bottom))}.mdl-table thead{display:none}.mdl-table,.mdl-table tbody{display:block}.mdl-table tr{border-bottom:1px solid var(--mdl-line);flex-wrap:wrap;align-items:baseline;column-gap:12px;padding:7px 0 7px calc(3.6em + 12px);display:flex}.mdl-table tr.mdl-group{padding-left:0}.mdl-table th,.mdl-table td{border:0;padding:0}.mdl-table td.mdl-sym{white-space:normal;overflow-wrap:anywhere;flex:0 0 3.6em;margin-left:calc(-3.6em - 12px)}.mdl-table td:nth-child(2){flex:100%;min-width:0}.mdl-table td[data-label]{text-align:left;white-space:normal;overflow-wrap:anywhere;flex:0 auto;margin-top:4px;font-family:inherit}.mdl-table td[data-label]:before{content:attr(data-label) " ";letter-spacing:.07em;text-transform:uppercase;color:var(--mdl-dim);font-size:.62rem;font-weight:800}.mdl-table tr.mdl-group th{flex:100%;padding-top:10px}}@media (pointer:coarse){.mdl-tab{min-height:44px;padding:0 12px}.mdl-close{min-width:64px;min-height:44px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--bg:#08111f;--panel:#101d2fe0;--panel-strong:#111f32;--panel-soft:#15263db3;--border:#94a3b829;--border-strong:#94a3b847;--text:#edf4ff;--muted:#91a3bb;--subtle:#667991;--blue:#3b8fff;--blue-soft:#3b8fff26;--red:#fb5b67;--red-soft:#fb5b6724;--cyan:#42d3d0;--green:#38d488;--green-soft:#38d48821;--amber:#ffb14f;--amber-soft:#ffb14f24;--shadow:0 18px 54px #00000047;--chart-grid:#94a3b821;--chart-axis:#7f91a9;--chart-axis-soft:#9aa8ba;--chart-ref:#94a3b8;--chart-tooltip-bg:#0d1929;--chart-tooltip-border:#94a3b840;--chart-tooltip-text:#e7eef8;--chart-tooltip-shadow:0 16px 40px #00000052;--trace-red:#fb5b5b;--trace-blue:#4f9cff;--trace-amber:#ffb14f;--trace-cyan:#42d3d0;--trace-green:#38d488;--trace-mint:#6ee7a8;--trace-violet:#a78bfa;--trace-pink:#fda4af;--trace-sky:#93c5fd;--trace-orchid:#f0abfc;--trace-lime:#94e36a;--trace-magenta:#f472d0;--trace-setpoint:#c8d4e6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--panel:#ffffffeb;--panel-strong:#fff;--panel-soft:#eef2f8cc;--border:#1c2d5524;--border-strong:#1c2d5542;--text:#16233f;--muted:#5b6b85;--subtle:#74839b;--blue:#1f63c9;--blue-soft:#1f63c91a;--red:#b3261e;--red-soft:#b3261e17;--cyan:#0e7c6e;--green:#17804a;--green-soft:#17804a1a;--amber:#b4690e;--amber-soft:#b4690e1a;--shadow:0 10px 30px #16233f14;--chart-grid:#1c2d551a;--chart-axis:#5b6b85;--chart-axis-soft:#6b7a93;--chart-ref:#1c2d55;--chart-tooltip-bg:#fff;--chart-tooltip-border:#1c2d552e;--chart-tooltip-text:#16233f;--chart-tooltip-shadow:0 10px 30px #16233f24;--trace-red:#c62828;--trace-blue:#1f66d1;--trace-amber:#b4690e;--trace-cyan:#0e7c6e;--trace-green:#17804a;--trace-mint:#1a9a5c;--trace-violet:#6b4fbb;--trace-pink:#c2185b;--trace-sky:#4a7fc4;--trace-orchid:#9b35b0;--trace-lime:#4d8a1f;--trace-magenta:#b0288f;--trace-setpoint:#3a4a66}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 8% 10%, var(--lightningcss-light,#519cfe12)var(--lightningcss-dark,#1a69c626), transparent 28%), radial-gradient(circle at 94% 92%, var(--lightningcss-light,#ef69870d)var(--lightningcss-dark,#b533571f), transparent 30%), var(--bg);margin:0}button,input,select{font:inherit}button,a,input[type=range]{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid var(--lightningcss-light,#0060b894)var(--lightningcss-dark,#5aa5ff94)}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.5}a{color:var(--lightningcss-light,#005ba9)var(--lightningcss-dark,#77b6ff)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{z-index:0;width:min(1920px,100%);min-height:100vh;padding:10px clamp(10px, 1.5vw, 22px) max(12px, env(safe-area-inset-bottom));margin:0 auto;position:relative;overflow:clip}.ambient{z-index:-1;filter:blur(120px);pointer-events:none;border-radius:50%;width:36vw;height:36vw;position:fixed}.ambient--one{background:var(--lightningcss-light,#3489f40f)var(--lightningcss-dark,#1671da21);top:-18vw;left:-15vw}.ambient--two{background:var(--lightningcss-light,#d607470a)var(--lightningcss-dark,#e134571a);bottom:-18vw;right:-16vw}.app-header{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(var(--lightningcss-light,#f4f7fbf0)var(--lightningcss-dark,#08111ff0),var(--lightningcss-light,#f4f7fb9e)var(--lightningcss-dark,#08111f9e));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:8px 4px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand__mark{border:1px solid var(--border);background:var(--panel-soft);border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.brand__mark img{object-fit:contain;width:30px;height:30px}.brand h1{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:800}.brand h1 span{color:var(--muted);font-weight:650}.brand p{color:var(--muted);margin:2px 0 0;font-size:.71rem;font-weight:500}.header-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.view-switch,.mode-switch,.model-switch{border:1px solid var(--border);background:var(--lightningcss-light,#f1f7ffb3)var(--lightningcss-dark,#091321b3);border-radius:11px;gap:3px;padding:3px;display:flex}.view-switch button,.mode-switch button,.model-switch button{min-height:32px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:.72rem;font-weight:700}.view-switch button:hover,.mode-switch button:hover,.model-switch button:hover{color:var(--text);background:var(--lightningcss-light,#1c2d550d)var(--lightningcss-dark,#ffffff0d)}.view-switch button.is-active,.mode-switch button.is-active,.model-switch button.is-active{color:var(--lightningcss-light,#f4f7fb)var(--lightningcss-dark,#08111f);background:var(--lightningcss-light,#005aab)var(--lightningcss-dark,#7db8ff)}.mode-switch{align-items:center}.mode-switch .help-tip{margin:0 6px 0 2px}.header-actions{gap:6px;display:flex}.icon-button{border:1px solid var(--border);width:38px;height:38px;color:var(--text);background:var(--panel-soft);cursor:pointer;border-radius:11px;place-items:center;text-decoration:none;display:grid}.icon-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--lightningcss-light,#c7dcf8bf)var(--lightningcss-dark,#263e5ebf)}.icon-button svg{width:18px;height:18px}.icon-button--tiny{border-radius:8px;width:26px;height:26px}.icon-button--tiny svg{width:14px;height:14px}.score-badge{border:1px solid var(--border);background:var(--panel-soft);border-radius:11px;min-width:132px;padding:5px 12px;display:grid}.score-badge span{color:var(--subtle);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:800}.score-badge strong{font-variant-numeric:tabular-nums;font-size:.95rem}.message-banner{border:1px solid var(--border);background:var(--panel-soft);color:var(--lightningcss-light,#28384d)var(--lightningcss-dark,#dce7f5);border-radius:13px;align-items:center;gap:10px;margin-bottom:10px;padding:9px 12px;font-size:.76rem;display:flex}.message-banner>svg{color:var(--lightningcss-light,#005aab)var(--lightningcss-dark,#7db8ff);flex:none;width:17px;height:17px}.message-banner>span{flex:1}.message-banner--error{background:var(--red-soft);border-color:var(--lightningcss-light,#b3261e66)var(--lightningcss-dark,#fb5b6766)}.message-banner--error>svg{color:var(--lightningcss-light,#ab0034)var(--lightningcss-dark,#ff8f97)}.message-banner .icon-button{background:0 0;border:0;width:28px;height:28px;font-size:1rem}.dashboard-grid{grid-template-columns:minmax(320px,.9fr) minmax(460px,1.6fr) minmax(320px,.95fr);align-items:start;gap:10px;display:grid}.tune-grid{grid-template-columns:minmax(300px,.62fr) minmax(560px,2fr);align-items:start;gap:10px;display:grid}.dashboard-left,.dashboard-center,.dashboard-right,.tune-left,.tune-right{align-content:start;gap:10px;min-width:0;display:grid}@media (max-width:1400px){.dashboard-grid{grid-template-columns:minmax(320px,1fr) minmax(420px,1.4fr)}.dashboard-right{grid-column:1/-1}}@media (max-width:1000px){.dashboard-grid,.tune-grid{grid-template-columns:minmax(0,1fr)}.dashboard-right{grid-column:auto}}@media (max-width:760px){.app-header{gap:10px;position:static}.header-tools{gap:8px;width:100%}.param-row__control{flex-wrap:wrap;gap:8px}.param-row__control input[type=range]{flex:100%}.param-row__control output{margin-left:auto}.number-with-unit{min-width:0}.number-with-unit input{flex:auto;width:auto;min-width:0;max-width:92px}}.panel{border:1px solid var(--border);background:var(--panel);min-width:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:15px;padding:12px 14px 14px}.panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.panel-heading h2{letter-spacing:-.02em;margin:2px 0 0;font-size:1rem}.chart-heading h2{letter-spacing:-.02em;margin:2px 0 0;font-size:.95rem}.eyebrow{color:var(--lightningcss-light,#5d7493)var(--lightningcss-dark,#6f85a2);letter-spacing:.105em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:800}.section-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;margin:12px 0 6px;font-size:.66rem;font-weight:800;display:flex}.reference-link{color:var(--lightningcss-light,#005aab)var(--lightningcss-dark,#8cc0ff);align-items:center;gap:5px;font-size:.7rem;font-weight:700;text-decoration:none;display:inline-flex}.reference-link svg{width:13px;height:13px}.button{border:1px solid var(--border-strong);min-height:36px;color:var(--text);cursor:pointer;white-space:nowrap;background:var(--lightningcss-light,#dbe5f4b3)var(--lightningcss-dark,#1e324eb3);border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:.75rem;font-weight:700;display:inline-flex}.button:hover:not(:disabled){background:var(--lightningcss-light,#c3d8f6cc)var(--lightningcss-dark,#294264cc);border-color:var(--lightningcss-light,#1c2d5560)var(--lightningcss-dark,#94a3b86b)}.button svg{width:15px;height:15px}.button--primary{color:#eaf3ff;background:linear-gradient(var(--lightningcss-light,#2778de)var(--lightningcss-dark,#2f7fe6),#2264bd);border-color:var(--lightningcss-light,#1f63c980)var(--lightningcss-dark,#3b8fff80)}.button--ghost{background:var(--lightningcss-light,#1c2d550a)var(--lightningcss-dark,#ffffff0a)}.button--small{min-height:30px;padding:0 10px;font-size:.7rem}.button-row{flex-wrap:wrap;gap:8px;display:flex}.spinner{border:2px solid var(--lightningcss-light,#1c2d5532)var(--lightningcss-dark,#ffffff47);border-top-color:var(--lightningcss-light,#212e40)var(--lightningcss-dark,#eaf3ff);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:4px;min-width:0;margin-bottom:9px;display:grid}.field__label{color:var(--muted);align-items:center;gap:5px;font-size:.68rem;font-weight:700;display:flex}.field select,.field input,.window-inputs input,.gain-input{border:1px solid var(--border);min-height:34px;color:var(--text);font-variant-numeric:tabular-nums;background:var(--lightningcss-light,#f1f7ffb8)var(--lightningcss-dark,#091321b8);border-radius:9px;padding:0 9px;font-size:.76rem}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.field-row .field input,.field-row .field select{width:100%;min-width:0}.field--time select{border-color:var(--lightningcss-light,#1c2d5557)var(--lightningcss-dark,#94a3b861)}.field--input select{border-color:var(--lightningcss-light,#17804a73)var(--lightningcss-dark,#38d48873)}.field--output select{border-color:var(--lightningcss-light,#b3261e73)var(--lightningcss-dark,#fb5b6773)}.data-panel.is-dragging{background:var(--lightningcss-light,#dbe7f9e6)var(--lightningcss-dark,#183052e6);border-color:var(--lightningcss-light,#1f63c9a6)var(--lightningcss-dark,#3b8fffa6)}.data-panel__hint,.rules-panel__hint,.mismatch-card__hint{color:var(--muted);margin:0 0 10px;font-size:.72rem;line-height:1.5}.data-panel__note{color:var(--lightningcss-light,#2d4765)var(--lightningcss-dark,#c3d5ea);background:var(--lightningcss-light,#1f63c912)var(--lightningcss-dark,#3b8fff12);border-left:2px solid var(--lightningcss-light,#1f63c980)var(--lightningcss-dark,#3b8fff80);border-radius:4px;margin:0 0 10px;padding:8px 10px;font-size:.7rem;line-height:1.5}.data-source{border:1px solid var(--border);background:var(--lightningcss-light,#f1f7ff80)var(--lightningcss-dark,#09132180);border-radius:11px;align-items:center;gap:10px;margin-bottom:10px;padding:9px 10px;display:flex}.data-source__icon{background:var(--blue-soft);color:var(--lightningcss-light,#005aab)var(--lightningcss-dark,#8cc0ff);border-radius:9px;flex:none;place-items:center;width:32px;height:32px;display:grid}.data-source__icon svg{width:17px;height:17px}.data-source>div{min-width:0;display:grid}.data-source strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.data-source span{color:var(--muted);font-size:.68rem}.column-map__grid{gap:8px;display:grid}.column-map__status{color:var(--subtle);margin:2px 0 0;font-size:.66rem}.preview-wrap{border:1px solid var(--border);border-radius:10px;margin:10px 0;overflow-x:auto}.preview{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.67rem}.preview th,.preview td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--lightningcss-light,#1c2d5515)var(--lightningcss-dark,#94a3b817);padding:5px 8px}.preview thead th{color:var(--muted);text-align:right;background:var(--lightningcss-light,#f1f7ff99)var(--lightningcss-dark,#09132199);font-weight:700}.preview .is-time{color:var(--lightningcss-light,#35445b)var(--lightningcss-dark,#cbd6e6);background:var(--lightningcss-light,#1c2d5510)var(--lightningcss-dark,#94a3b812)}.preview .is-input{color:var(--lightningcss-light,#006c46)var(--lightningcss-dark,#9be8bf);background:var(--lightningcss-light,#17804a14)var(--lightningcss-dark,#38d48814)}.preview .is-output{color:var(--lightningcss-light,#9b2e3f)var(--lightningcss-dark,#ffb4b8);background:var(--lightningcss-light,#b3261e14)var(--lightningcss-dark,#fb5b6714)}.stat-grid,.metric-grid,.arx-stats,.fopdt-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:10px 0 0;display:grid}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}.stat-grid>div,.metric-grid>div,.arx-stats>div,.fopdt-grid>div{border:1px solid var(--border);background:var(--lightningcss-light,#f1f7ff73)var(--lightningcss-dark,#09132173);border-radius:10px;padding:7px 9px}.stat-grid dt,.metric-grid dt,.arx-stats dt,.fopdt-grid dt{color:var(--subtle);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:4px;font-size:.6rem;font-weight:800;display:flex}.stat-grid dd,.metric-grid dd,.arx-stats dd,.fopdt-grid dd{font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:.86rem;font-weight:700}.fopdt-grid--ultimate{grid-template-columns:1fr 1fr}.is-bad{color:var(--lightningcss-light,#ab0034)var(--lightningcss-dark,#ff9098)}.is-muted{opacity:.55}.issue-list{color:var(--lightningcss-light,#7f4e00)var(--lightningcss-dark,#ffcf9a);margin:10px 0 0;padding-left:18px;font-size:.7rem;line-height:1.55}.inline-warning{background:var(--amber-soft);color:var(--lightningcss-light,#7e4f00)var(--lightningcss-dark,#ffd7a8);border-left:2px solid var(--lightningcss-light,#b4690e99)var(--lightningcss-dark,#ffb14f99);border-radius:4px;margin:8px 0 0;padding:7px 9px;font-size:.7rem;line-height:1.5}.equation-block{border:1px solid var(--border);background:var(--lightningcss-light,#f1f7ff8c)var(--lightningcss-dark,#0913218c);border-radius:11px;margin:10px 0;padding:10px 11px}.equation{color:var(--lightningcss-light,#263145)var(--lightningcss-dark,#e6eefb);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.6}.eq-sym{color:var(--lightningcss-light,#795200)var(--lightningcss-dark,#ffd08a);font-weight:700}.equation-note{color:var(--muted);margin:7px 0 0;font-size:.68rem;line-height:1.5}.param-list{gap:4px;display:grid}.param-row{border-bottom:1px solid var(--lightningcss-light,#1c2d5512)var(--lightningcss-dark,#94a3b814);gap:4px;padding:7px 0;display:grid}.param-row__label{color:var(--muted);align-items:center;gap:6px;font-size:.7rem;font-weight:650;display:flex}.param-row__symbol{color:var(--lightningcss-light,#795200)var(--lightningcss-dark,#ffd08a);font-weight:800}.param-row__control{align-items:center;gap:9px;display:flex}.param-row__control input[type=range]{accent-color:var(--lightningcss-light,#1f66d1)var(--lightningcss-dark,#4f9cff);flex:1;width:0;min-width:0;height:24px}.param-row__control output{min-width:48px;color:var(--text);font-variant-numeric:tabular-nums;text-align:right;font-size:.74rem}.number-with-unit{align-items:baseline;gap:4px;display:flex}.number-with-unit input{border:1px solid var(--border);width:92px;min-height:30px;color:var(--text);font-variant-numeric:tabular-nums;text-align:right;background:var(--lightningcss-light,#f1f7ffb8)var(--lightningcss-dark,#091321b8);border-radius:8px;padding:0 7px;font-size:.73rem}.number-with-unit small{max-width:74px;color:var(--subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.arx-block{border:1px solid var(--border);background:var(--lightningcss-light,#f1f7ff66)var(--lightningcss-dark,#09132166);border-radius:11px;margin-top:10px;padding:10px}.arx-coefficients{color:var(--lightningcss-light,#364e6b)var(--lightningcss-dark,#bacbe0);flex-wrap:wrap;gap:10px;margin:9px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;display:flex}.fit-controls{gap:9px;margin-top:12px;display:grid}.window-field{gap:4px;display:grid}.window-inputs{align-items:center;gap:6px;display:flex}.window-inputs input{text-align:right;width:100%;min-width:0}.window-inputs span{color:var(--subtle)}.model-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.model-actions .button{flex:1;min-width:108px}.model-actions__note{color:var(--subtle);margin:8px 0 0;font-size:.67rem;line-height:1.55}.charts-region{gap:10px;min-width:0;display:grid}.chart-card{gap:8px;min-width:0;display:grid}.chart-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plot-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.66rem;font-weight:650;display:flex}.plot-legend span{align-items:center;gap:5px;display:inline-flex}.legend-line{border-radius:2px;width:16px;height:3px;display:inline-block}.legend-line--measured{background:var(--lightningcss-light,#c62828)var(--lightningcss-dark,#fb5b5b)}.legend-line--model{background:var(--lightningcss-light,#1f66d1)var(--lightningcss-dark,#4f9cff)}.legend-line--setpoint{background:var(--lightningcss-light,#35465f)var(--lightningcss-dark,#c8d4e6)}.legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.legend-swatch--window{background:var(--lightningcss-light,#1f63c929)var(--lightningcss-dark,#3b8fff29);border:1px dashed var(--lightningcss-light,#1f63c9b3)var(--lightningcss-dark,#3b8fffb3)}.score-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.score-strip>div{border:1px solid var(--border);background:var(--lightningcss-light,#f1f7ff73)var(--lightningcss-dark,#09132173);border-radius:10px;padding:7px 10px;display:grid}.score-strip span{color:var(--subtle);letter-spacing:.06em;text-transform:uppercase;font-size:.6rem;font-weight:800}.score-strip strong{font-variant-numeric:tabular-nums;font-size:.92rem}.score-strip small{color:var(--muted);font-size:.63rem}.score-strip__validation{background:var(--lightningcss-light,#b4690e12)var(--lightningcss-dark,#ffb14f12);border-color:var(--lightningcss-light,#b4690e47)var(--lightningcss-dark,#ffb14f47)}.chart-body{cursor:zoom-in;min-width:0;transition:height .14s;position:relative}.chart-body--tall{height:clamp(240px,34vh,400px)}.chart-body--medium{height:clamp(150px,20vh,230px)}.chart-body--short{height:clamp(104px,13vh,150px)}.chart-body[data-focused=true]{cursor:zoom-out;height:clamp(340px,52vh,620px)}.chart-card[data-focus=true] .chart-body:not([data-focused=true]){height:clamp(72px,9vh,104px)}.chart-body:focus-visible{outline-offset:-2px;outline:2px solid var(--lightningcss-light,#1f66d1)var(--lightningcss-dark,#4f9cff)}.chart-body__expand{color:var(--subtle);opacity:0;pointer-events:none;font-size:.62rem;line-height:1;transition:opacity .12s;position:absolute;bottom:0;left:8px}@media (hover:hover){.chart-body:hover .chart-body__expand{opacity:.9}}.chart-body:focus-visible .chart-body__expand{opacity:.9}.chart-body__label{color:var(--subtle);pointer-events:none;font-size:.62rem;font-weight:700;position:absolute;top:0;right:8px}.chart-footnote{color:var(--subtle);margin:0;font-size:.67rem;line-height:1.55}.plot-empty{min-height:160px;color:var(--muted);text-align:center;place-items:center;margin:0;font-size:.76rem;display:grid}.equivalent-card__source{color:var(--muted);margin:9px 0 0;font-size:.69rem;line-height:1.55}.export-card__note{color:var(--subtle);margin:9px 0 0;font-size:.67rem;line-height:1.55}.rules-scroll{border:1px solid var(--border);border-radius:11px;overflow-x:auto}.rules-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.71rem}.rules-table th,.rules-table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--lightningcss-light,#1c2d5515)var(--lightningcss-dark,#94a3b817);padding:6px 9px}.rules-table thead th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:var(--lightningcss-light,#e9f1fc)var(--lightningcss-dark,#101f33);font-size:.64rem;font-weight:800;position:sticky;top:0}.rules-table thead th:nth-child(2),.rules-table tbody th{text-align:left}.rules-table tbody th{color:var(--text);font-weight:650;display:table-cell}.rules-table tbody th a{color:var(--text);text-decoration:none}.rules-table tbody th a:hover{color:var(--lightningcss-light,#005aab)var(--lightningcss-dark,#8cc0ff);text-decoration:underline}.rules-table tbody tr:hover{background:var(--lightningcss-light,#1c2d5506)var(--lightningcss-dark,#ffffff06)}.rules-table__manual{border-top:1px solid var(--border-strong);background:var(--lightningcss-light,#a200840d)var(--lightningcss-dark,#f472d00d)}.rules-table__reason{color:var(--subtle);text-align:left;white-space:normal;font-size:.67rem}.rules-table .is-unavailable tbody th,.rules-table tr.is-unavailable th{color:var(--muted)}.rules-panel__footnote{color:var(--subtle);margin:9px 0 0;font-size:.66rem;line-height:1.5}.gain-input{text-align:right;width:96px;min-height:28px}.plot-check{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.plot-check input{accent-color:var(--lightningcss-light,#1f66d1)var(--lightningcss-dark,#4f9cff)}.plot-check__swatch{border:1px solid;border-radius:3px;width:11px;height:11px;display:inline-block}.row-warning{width:13px;height:13px;color:var(--amber);vertical-align:-2px;margin-left:4px}.app-footer{color:var(--subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:10px 4px 4px;font-size:.68rem;display:flex}.app-footer p{max-width:70ch;margin:0}.app-footer>div{gap:14px;display:flex}.help-tip{z-index:10;display:inline-flex;position:relative}.help-tip[open]{z-index:25}.help-tip summary{color:#0000;cursor:help;background:0 0;border:0;place-items:center;width:44px;height:44px;margin:-5px;font-size:0;font-weight:900;list-style:none;display:grid;position:relative}.help-tip summary:after{border:1px solid var(--border-strong);color:var(--lightningcss-light,#456284)var(--lightningcss-dark,#91a8c4);content:"?";background:var(--lightningcss-light,#1c2d550a)var(--lightningcss-dark,#ffffff0a);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.67rem;display:grid}.help-tip summary::-webkit-details-marker{display:none}.help-tip__content{z-index:200;border:1px solid var(--border-strong);color:var(--lightningcss-light,#2e3d4f)var(--lightningcss-dark,#d7e1ee);overscroll-behavior:contain;background:var(--lightningcss-light,#e7effc)var(--lightningcss-dark,#132239);border-radius:10px;width:min(300px,100vw - 20px);max-height:calc(100vh - 20px);padding:10px 11px;font-size:.7rem;font-weight:500;line-height:1.45;position:fixed;top:0;left:0;overflow-y:auto;box-shadow:0 15px 36px var(--lightningcss-light,#16233f20)var(--lightningcss-dark,#0000006b)}.help-tip__content p{margin:0 0 7px}.help-tip__content p:last-child{margin-bottom:0}.help-tip__content code{background:var(--lightningcss-light,#1c2d5525)var(--lightningcss-dark,#94a3b829);border-radius:4px;padding:1px 4px;font-size:.94em}.chart-loading{min-height:clamp(360px,50vh,560px);color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:.78rem;display:flex}.brand__mark{text-decoration:none}.app-header{z-index:30;border:1px solid var(--border);background:var(--panel-strong);min-height:54px;box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:14px;flex-flow:row;align-items:center;gap:12px;margin:0;padding:6px 12px;position:relative}.app-id{flex:auto;align-items:baseline;gap:10px;min-width:0;display:flex;overflow:hidden}.app-id h1{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;flex:none;min-width:0;margin:0;font-size:1.02rem;font-weight:800;overflow:hidden}.app-id .tagline{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:.76rem;overflow:hidden}.app-header .header-tools{flex-wrap:nowrap;flex:none;gap:8px;margin-left:auto}.header-links{flex:none;align-items:center;gap:8px;display:flex}.app-header .clock{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:5px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;display:inline-flex}.app-header .clock svg{width:14px;height:14px}.app-header .clock strong{font-weight:inherit}.app-header .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border:1px solid var(--border-strong);min-height:36px;color:var(--text);background:var(--panel-strong);white-space:nowrap;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.8rem;font-weight:700;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--lightningcss-light,#eef2f8)var(--lightningcss-dark,#16283f)}.btn svg{flex:none;width:16px;height:16px}.btn.primary{border-color:var(--cyan);color:#f2fbf9;background:var(--cyan)}.btn.primary:hover:not(:disabled){background:var(--lightningcss-light,#16a394)var(--lightningcss-dark,#5fe3e0)}.app-header .view-switch,.time-window{border:1px solid var(--border-strong);background:var(--lightningcss-light,#eef2f8)var(--lightningcss-dark,#16283f);border-radius:10px;gap:0;padding:2px}.app-header .view-switch button,.time-window button{min-height:32px;color:var(--muted);background:0 0;border-radius:8px;padding:0 10px;font-size:.76rem;font-weight:700}.app-header .view-switch button.is-active,.time-window button.is-active{color:var(--text);background:var(--panel-strong);box-shadow:0 1px 3px var(--lightningcss-light,#16233f17)var(--lightningcss-dark,#0000004d)}.app-header .speed-control{border-color:var(--border-strong);background:var(--lightningcss-light,#eef2f8)var(--lightningcss-dark,#16283f);border-radius:10px;min-height:36px;padding:0 10px}.app-header .speed-control input[type=range]{height:24px;min-height:0}.chart-heading__tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.chart-heading__tools .time-window{order:0;width:auto}@media (min-width:901px){.charts-region>.chart-heading{align-items:center;padding:0 4px}.charts-region>.chart-heading .eyebrow{display:none}.charts-region>.chart-heading h2{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:800}}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){color:var(--text);background:var(--lightningcss-light,#eef2f8)var(--lightningcss-dark,#16283f)}.btn.icon{flex:none;width:36px;padding:0;font-size:.95rem}.ap-home{background:#10203a;border:1px solid #94a3b84d;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;padding:4px;text-decoration:none;transition:background .12s,border-color .12s;display:inline-grid}.ap-home:hover{background:#17304f;border-color:#94a3b880}.ap-home img{object-fit:contain;width:100%;height:100%;display:block}.app-footer{margin:0;padding:0 6px;font-size:.66rem}.studio-tabs{display:none}@media (max-width:1500px){.header-links .btn{width:36px;padding:0}.header-links .btn-label,.app-header .speed-control>span{display:none}.app-header .speed-control{grid-template-columns:92px 26px}}@media (max-width:1180px){.app-id .tagline{display:none}}@media (min-width:901px) and (max-width:1180px){.app-header .header-tools .btn:not(.run){width:36px;padding:0}.app-header .header-tools .btn:not(.run) .btn-label,.chart-heading__tools>span{display:none}}@media (min-width:901px){.app-shell{height:100vh;flex-direction:column;gap:8px;height:100dvh;min-height:0;padding:8px;display:flex;overflow:hidden}.app-shell>main{flex:auto;min-height:0;margin:0}.app-shell>.message-banner,.app-shell>.app-footer{flex:none;margin:0}.app-footer{flex-wrap:nowrap}.app-footer p{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:none;overflow:hidden}}@media (max-width:900px){.app-shell{padding:6px 6px calc(76px + env(safe-area-inset-bottom))}.app-shell>*+*{margin-top:6px}.app-header{border-radius:14px;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;min-height:48px;padding:5px 8px}.app-id h1{flex:auto;font-size:.9rem}.app-header .header-tools{z-index:500;width:auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--lightningcss-light,#fffffff0)var(--lightningcss-dark,#111f32f0);align-items:center;gap:8px;margin:0;display:flex;position:fixed;bottom:0;left:0;right:0}.app-header .header-tools .btn{flex:1 1 0;min-width:54px;min-height:46px;padding:0 8px}.studio-tabs{border:1px solid var(--border);background:var(--panel-strong);border-radius:14px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;display:grid}.studio-tabs button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 6px;font-size:.74rem;font-weight:750}.studio-tabs button[aria-selected=true]{color:var(--text);background:var(--lightningcss-light,#e5ebf4)var(--lightningcss-dark,#1d3050)}.header-links .btn{width:40px;min-height:40px;padding:0}.header-links .btn-label{display:none}.app-header>.btn.icon{width:40px;min-height:40px}.app-header .header-tools .speed-control{flex:auto;grid-template-columns:minmax(0,1fr) 30px;min-width:96px}.app-header .header-tools .speed-control>span{display:none}}@media (max-width:540px){.app-header .clock{display:none}}@media (max-width:420px){.app-header .header-tools .btn:not(.run) .btn-label{display:none}}@media (min-width:901px){.dashboard-grid{grid-template-columns:minmax(270px,.9fr) minmax(0,1.6fr) minmax(290px,.95fr);align-items:stretch;height:100%}.dashboard-left,.dashboard-right{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;grid-column:auto;grid-template-columns:minmax(0,1fr);min-height:0;overflow-y:auto}.dashboard-center,.dashboard-center>.charts-region,.dashboard-center .chart-card{flex-direction:column;min-height:0;display:flex}.dashboard-center>.charts-region,.dashboard-center .chart-card{flex:auto}.dashboard-center .chart-body{flex:1 1 0;height:auto;min-height:56px}.dashboard-center .chart-body--tall{flex-grow:2.6}.dashboard-center .chart-card[data-focus=true] .chart-body{flex:0 0 56px}.dashboard-center .chart-card[data-focus=true] .chart-body[data-focused=true]{flex:1 1 0}.tune-grid{grid-template-columns:minmax(340px,.62fr) minmax(0,2fr);align-items:stretch;height:100%}.tune-right{grid-template-columns:minmax(0,1fr)}.tune-grid>.tune-left,.tune-right{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;min-height:0;overflow-y:auto}}@media (min-width:901px) and (max-width:1180px){.dashboard-grid{grid-template-columns:minmax(240px,.8fr) minmax(0,1.45fr) minmax(310px,1fr)}}@media (max-width:900px){.dashboard-grid,.tune-grid{flex-direction:column;align-items:stretch;gap:6px;display:flex}.dashboard-center{order:-1}.tune-right{display:contents}.tune-grid>.studio-tabs,.dashboard-grid>.studio-tabs{order:1}.dashboard-left,.dashboard-right,.tune-grid>.tune-left,.rules-slot{order:2}.dashboard-grid[data-tab=data] [data-panel=model],.dashboard-grid[data-tab=model] [data-panel=data],.tune-grid[data-tab=tuning] [data-panel=rules],.tune-grid[data-tab=rules]>.tune-left{display:none}.app-header .view-switch{flex:auto;min-width:0}.app-header .view-switch button{flex:1 1 0;min-width:0;min-height:40px;padding:0 6px}.app-header .score-badge{display:none}.app-header .header-tools .btn{flex:none}}@media (pointer:coarse){.button{min-height:44px}.view-switch button,.mode-switch button,.model-switch button{min-height:42px}.param-row__control input[type=range]{height:44px}.number-with-unit input,.field select,.field input,.window-inputs input,.gain-input{min-height:44px}.app-footer>div{flex-wrap:wrap;gap:4px 16px}.app-footer a,.reference-link,.pid-reference-link{align-items:center;min-height:40px;display:inline-flex}input[type=range]{height:44px}input[type=number],input[type=text],select,.number-with-unit{min-height:44px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.icon-button{width:44px;min-width:44px;height:44px}.message-banner .icon-button{width:40px;min-width:40px;height:40px}.btn{min-height:44px}.btn.icon{width:44px}.ap-home{width:44px;height:44px}.app-header .speed-control input[type=range]{height:40px}.app-header .view-switch button,.time-window button{min-height:40px}}
