/* Performance Studio workspace (scoped .pst-*) */
.pst-wrap,.pst-hero{--p-disp:'Bahnschrift','DIN Alternate','Roboto Condensed','Arial Narrow',sans-serif;--p-mono:ui-monospace,'SF Mono','Cascadia Mono',Menlo,Consolas,monospace}
.pst-wrap{--p-ink:#0e0f11;--p-panel:#17191c;--p-panel2:#202327;--p-line:rgba(235,236,238,.12);--p-text:#f1f1ef;--p-dim:#b0b3b7;--p-nardo:#7d8185;--p-red:#d2232a;position:fixed;inset:0;z-index:900;background:rgba(6,7,8,.72);display:flex;align-items:stretch;justify-content:center;font-family:system-ui,-apple-system,'Segoe UI','Helvetica Neue',sans-serif}
.pst-wrap{z-index:1300} /* Above the messenger's 1200-level floating launcher, without destroying its state. */
.pst-wrap[hidden]{display:none}
body.pst-open{overflow:hidden}
.pst{background:var(--p-ink);color:var(--p-text);width:min(1320px,100%);margin:clamp(0px,2vw,24px);border:1px solid var(--p-line);border-radius:10px;display:flex;flex-direction:column;overflow:hidden;animation:pstIn .35s cubic-bezier(.2,.7,.2,1)}
.pst-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--p-line);flex-wrap:wrap}
.pst-top h2{margin:0;font:700 28px/1 var(--p-disp);text-transform:uppercase}
.pst-eye{margin:0 0 6px;font:500 11px/1 var(--p-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--p-red)}
.pst-tools{display:flex;gap:8px;align-items:center}
.pst-sync{font-size:12px;color:var(--p-dim)}
.pst-notice{padding:10px 22px;font-size:13px;line-height:1.5;color:var(--p-dim);border-bottom:1px solid var(--p-line);background:var(--p-panel)}
.pst-body{flex:1;overflow:auto;display:grid;grid-template-columns:200px minmax(0,1fr)}
.pst-body:focus{outline:none}
.pst-nav{border-right:1px solid var(--p-line);padding:16px 10px;display:flex;flex-direction:column;gap:4px}
.pst-nav button{background:none;border:0;border-left:2px solid transparent;color:var(--p-dim);text-align:left;padding:12px 12px;font:600 14px inherit;font-family:inherit;cursor:pointer;border-radius:0 4px 4px 0}
.pst-nav button.on{color:var(--p-text);border-color:var(--p-red);background:var(--p-panel)}
.pst-main{padding:22px;min-width:0}
.pst-wrap :focus-visible{outline:2px solid var(--p-red);outline-offset:2px}
.pst-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.pst-kpis div{background:var(--p-panel);border-radius:6px;padding:14px}
.pst-kpis small{display:block;font-size:12px;color:var(--p-dim)}.pst-kpis b{font:700 30px/1.1 var(--p-disp)}
.pst-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.pst-card{display:grid;gap:8px;text-align:left;background:var(--p-panel);border:1px solid var(--p-line);border-radius:8px;padding:16px;color:var(--p-text);font:inherit;cursor:pointer;transition:border-color .2s}
.pst-card:hover{border-color:var(--p-nardo)}
.pst-card-h{display:flex;justify-content:space-between;gap:8px}.pst-card-h b{font-size:16px}.pst-card-h small,.pst-card-v{color:var(--p-dim);font-size:13px}
.pst-card-f{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--p-dim)}
.pst-track{height:4px;background:var(--p-panel2);border-radius:2px;overflow:hidden}.pst-track i{display:block;height:100%;background:var(--p-red);transform-origin:left}
.pst-panel{background:var(--p-panel);border-radius:8px;padding:20px}.pst-panel.s{padding:14px;margin-bottom:14px}
.pst-h{font:700 24px/1 var(--p-disp);text-transform:uppercase;margin:0 0 14px}
.pst-h4{font:600 16px var(--p-disp);text-transform:uppercase;letter-spacing:.04em;margin:22px 0 10px}
.pst-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pst-f{display:grid;gap:5px}.pst-f.wide,.pst-checks.wide{grid-column:1/-1}
.pst-f label{font-size:13px;font-weight:600}
.pst-f input,.pst-f select,.pst-f textarea{background:var(--p-ink);color:var(--p-text);border:1px solid #3a3d41;border-radius:4px;padding:10px 12px;font:14px inherit;font-family:inherit;min-height:42px;width:100%;box-sizing:border-box}
.pst-checks{border:1px solid var(--p-line);border-radius:6px;padding:10px 12px;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px}
.pst-checks legend{font-size:13px;font-weight:600;padding:0 4px}
.pst-checks label,.pst-cb{display:flex;gap:8px;align-items:flex-start;font-size:14px;padding:6px 0;cursor:pointer}
.pst-checks small{color:var(--p-dim)}
.pst-checks input,.pst-cb input{accent-color:var(--p-red);width:18px;height:18px;flex:none}
.pst-set{border:0;border-top:1px solid var(--p-line);padding:14px 0 6px;margin:0}
.pst-set legend{font:600 13px var(--p-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--p-dim);padding-right:8px}
.pst-err{color:#f3a9ac;font-size:14px;min-height:1em;margin:8px 0 0}
.pst-actions{display:flex;justify-content:flex-end;margin-top:8px}
.pst-muted{color:var(--p-dim);font-size:13px;line-height:1.5}
.pst-block{border-left:3px solid var(--p-red);background:rgba(210,35,42,.08);padding:10px 12px;font-size:13px;line-height:1.5;border-radius:3px}
.pst-link{background:none;border:0;color:var(--p-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:600 13px inherit;font-family:inherit;padding:6px 0}
.pst-dhead{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.pst-dtitle{flex:1;min-width:220px}.pst-dtitle h3{font:700 32px/1 var(--p-disp);text-transform:uppercase;margin:0 0 4px}.pst-dtitle h3:focus{outline:none}.pst-dtitle span{font-size:13px;color:var(--p-dim)}
.pst-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:14px 0}
.pst-info div{background:var(--p-panel);padding:10px 12px;border-radius:6px;min-width:0}
.pst-info dt{font-size:11px;color:var(--p-dim);text-transform:uppercase;letter-spacing:.06em}.pst-info dd{margin:3px 0 0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}
.pst-goals{font-size:14px;line-height:1.5}
.pst-tabs{display:flex;gap:2px;border-bottom:1px solid var(--p-line);overflow-x:auto;margin:10px 0 16px}
.pst-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--p-dim);padding:12px 14px;font:600 14px inherit;font-family:inherit;cursor:pointer;white-space:nowrap}
.pst-tabs button.on{color:var(--p-text);border-color:var(--p-red)}
.pst-chip{display:inline-block;font:500 11px var(--p-mono);padding:3px 7px;border-radius:3px;border:1px solid var(--p-nardo);color:var(--p-dim);text-transform:uppercase;letter-spacing:.04em}
.pst-chip.s-working{border-color:var(--p-red);color:var(--p-text)}.pst-chip.s-completed,.pst-chip.s-measured{border-color:var(--p-text);color:var(--p-text)}.pst-chip.s-estimated,.pst-chip.s-calculated,.pst-chip.s-planned,.pst-chip.s-prepared{border-style:dashed}
.pst-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.pst-stage{background:var(--p-panel);border-radius:6px;padding:14px;border-top:3px solid #3a3d41}
.pst-stage.st-working{border-top-color:var(--p-red)}.pst-stage.st-completed{border-top-color:var(--p-text)}
.pst-stage-h{display:flex;align-items:center;gap:10px}.pst-stage-h b{flex:1}
.pst-n{font:500 12px var(--p-mono);color:var(--p-red)}
.pst-stage-m{font-size:12px;color:var(--p-dim);margin-top:6px;line-height:1.5}
.pst-stage-n{font-size:13px;margin:8px 0 0;white-space:pre-wrap}
.pst-stage details,.pst-add,.pst-vers details{margin-top:10px}
.pst-wrap summary{cursor:pointer;font-weight:600;font-size:14px;padding:8px 0}
.pst-vers{list-style:none;padding:0;margin:0;display:grid;gap:6px}.pst-vers li{background:var(--p-panel);border-radius:6px;padding:4px 12px}.pst-vers summary{font-weight:400}
.pst-tblw{overflow-x:auto;border:1px solid var(--p-line);border-radius:6px}
.pst-tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:860px}
.pst-tbl caption{text-align:left;padding:10px 12px;color:var(--p-dim);font-size:12px}
.pst-tbl th,.pst-tbl td{padding:10px 12px;border-top:1px solid var(--p-line);text-align:left;vertical-align:top}
.pst-tbl thead th{font:500 11px var(--p-mono);text-transform:uppercase;color:var(--p-dim)}
.pst-tbl td small{display:block;color:var(--p-dim);margin-top:2px}
.pst-tbl .num{font-family:var(--p-mono);white-space:nowrap}
.pst-tnote td{color:var(--p-dim);border-top:0}
.pst-feed{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.pst-feed li{background:var(--p-panel);border-radius:6px;padding:12px 14px}
.pst-feed p{margin:0 0 6px;white-space:pre-wrap;line-height:1.5}.pst-feed small{color:var(--p-dim);font-size:12px}
.pst-hist li{display:grid;gap:4px}
.pst-planned{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.pst-planned li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px;border:1px dashed #3a3d41;border-radius:6px}
.pst-planned span:not(.pst-chip){grid-column:1;color:var(--p-dim);font-size:13px}.pst-planned .pst-chip{grid-row:1/3;grid-column:2;align-self:center}
.pst-empty{display:grid;gap:4px;padding:28px;text-align:center;border:1px dashed #3a3d41;border-radius:8px;color:var(--p-dim)}.pst-empty b{color:var(--p-text)}
.pst-error{display:grid;gap:8px;justify-items:start;padding:18px;border-left:3px solid var(--p-red);background:var(--p-panel);margin:22px}
.pst-skel{display:grid;gap:10px;padding:22px}.pst-skel i{height:56px;border-radius:6px;background:linear-gradient(90deg,#17191c,#26292d,#17191c);background-size:200% 100%;animation:pstShim 1.4s linear infinite}
.pst-navbtn{display:flex;align-items:center;gap:10px;width:100%}
.pst-ic{width:18px;height:18px}
.pst-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 22px;margin-bottom:18px;border-radius:10px;background:linear-gradient(120deg,#121316,#1c1e22);color:#f1f1ef;border:1px solid rgba(235,236,238,.12);border-left:4px solid #d2232a}
.pst-hero h2{margin:0 0 6px;font:700 28px/1 var(--p-disp);text-transform:uppercase}
.pst-hero p{margin:0;font-size:14px;color:#b0b3b7}.pst-hero .pst-eye{margin-bottom:8px}
.pst-hero-a{display:flex;gap:8px;flex-wrap:wrap}
@keyframes pstIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pstShim{to{background-position:-200% 0}}
@media (max-width:860px){.pst{margin:0;border-radius:0}.pst-body{grid-template-columns:1fr}.pst-nav{flex-direction:row;border-right:0;border-bottom:1px solid var(--p-line);overflow-x:auto;padding:8px}.pst-nav button{border-left:0;border-bottom:2px solid transparent;white-space:nowrap}.pst-nav button.on{border-color:var(--p-red)}.pst-grid{grid-template-columns:1fr}.pst-kpis{grid-template-columns:1fr 1fr}.pst-main{padding:16px}.pst-stages{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.pst,.pst-skel i{animation:none}.pst-card{transition:none}}
@media (max-width:860px){.pst-tabs{flex-wrap:wrap;overflow-x:visible}.pst-tabs button{flex:1 1 auto;min-width:0;white-space:normal;padding:10px}}
