/* pcs-generic-model-space.css — Generic Model Space V1 */

/* ── Shell ─────────────────────────────────────────────────────────────────── */

.pcs-gms-shell {
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  min-height: 560px;
  min-width: 0;
  background: #020812;
  border: 1px solid rgba(34, 211, 238, 0.2);
  border-radius: 8px;
  overflow: hidden;
}
.dashboard-layout.secondary-model-space-section{display:block!important;grid-column:1/-1!important;justify-self:stretch;width:100%;max-width:none;min-width:0}.secondary-model-space-section>article{width:100%;max-width:none;min-width:0}
@media (min-width:1101px){.dashboard-layout.secondary-model-space-section{width:calc(150% + 14px);margin-left:calc(-50% - 14px)}}

.pcs-gms-sync-label{display:flex;gap:12px;align-items:center;padding:7px 12px;border-bottom:1px solid rgba(80,220,255,.2);font-size:.62rem;letter-spacing:.09em;color:#8deaff}.pcs-gms-sync-label span{color:rgba(255,255,255,.55)}
.pcs-gms-production-unavailable{display:grid;place-content:center;min-height:300px;text-align:center;gap:10px;padding:24px;color:#9edbe8}.pcs-gms-production-unavailable p,.pcs-gms-production-unavailable span{color:rgba(255,255,255,.55)}
.pcs-gms-production-node-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;padding:10px}.pcs-gms-production-node{padding:9px;text-align:left;background:rgba(5,25,38,.78);border:1px solid rgba(80,220,255,.2);color:#d8f7ff}.pcs-gms-production-node[data-selected="true"]{border-color:#67e8f9;background:rgba(8,70,85,.72)}
.pcs-gms-production-profile{display:grid;gap:8px;padding:16px;overflow:auto}.pcs-gms-production-profile div{display:grid;grid-template-columns:120px 1fr;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);padding:7px}.pcs-gms-production-profile dt{color:#70dff2}.pcs-gms-production-profile dd{margin:0;color:#e8fbff}.pcs-gms-production-math{overflow:auto;background:#030712;min-width:0;min-height:0}
#pcs-gms-math-panel.is-production-math{position:relative;display:grid;grid-template-columns:minmax(280px,42%) minmax(0,1fr);height:100%;min-height:360px;padding-bottom:28px}
#pcs-gms-math-panel.is-production-math .pcs-gms-production-math{grid-column:1;grid-row:1;border-right:1px solid rgba(89,214,255,.18)}
#pcs-gms-math-panel.is-production-math #pcs-gms-canvas{grid-column:2;grid-row:1;min-width:0;min-height:360px}
#pcs-gms-math-panel.is-production-math .pcs-s5-structural-host{grid-column:2;grid-row:1;min-width:0;min-height:0;overflow:hidden}
@media(max-width:768px){#pcs-gms-math-panel.is-production-math{grid-template-columns:1fr;grid-template-rows:minmax(220px,auto) minmax(460px,1fr);min-height:720px}#pcs-gms-math-panel.is-production-math .pcs-gms-production-math{grid-column:1;grid-row:1;max-height:280px;border-right:0;border-bottom:1px solid rgba(89,214,255,.18)}#pcs-gms-math-panel.is-production-math #pcs-gms-canvas,#pcs-gms-math-panel.is-production-math .pcs-s5-structural-host{grid-column:1;grid-row:2}}

.pcs-s5-structural-view{height:100%;display:grid;grid-template-rows:auto auto minmax(320px,1fr) minmax(110px,auto);background:#020812;color:#dff9ff;overflow:auto}
.pcs-s5-structural-header{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(80,213,255,.25);color:#63dff4;font-size:12px;letter-spacing:.08em}.pcs-s5-structural-header span{color:#e5b84a}
.pcs-s5-figure-tabs{display:flex;gap:4px;padding:8px 12px;overflow-x:auto;border-bottom:1px solid rgba(80,213,255,.15)}
.pcs-s5-figure-tab{border:1px solid #1a6174;background:#061923;color:#9fdce8;padding:7px 10px;font:600 10px/1.2 ui-monospace,SFMono-Regular,monospace;white-space:nowrap}.pcs-s5-figure-tab[aria-selected="true"]{background:#0b3442;color:#fff;border-color:#60dff4}
.pcs-s5-figure-stage{min-height:320px;overflow:hidden;padding:4px}.pcs-s5-figure-stage svg{display:block;width:100%;height:100%;min-height:320px}
.pcs-s5-heading{fill:#76dff2;font:700 16px ui-monospace,SFMono-Regular,monospace;letter-spacing:.07em}.pcs-s5-equation{fill:#effcff;font:600 14px ui-monospace,SFMono-Regular,monospace}.pcs-s5-index{fill:#68dff4;font:700 12px ui-monospace,SFMono-Regular,monospace}.pcs-s5-meta{fill:#91aeb7;font:11px ui-monospace,SFMono-Regular,monospace}.pcs-s5-warning{fill:#f0c35c;font:700 11px ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em}
.pcs-s5-equation-band{fill:#071d28;stroke:#1d5a6b}.pcs-s5-variable-node{fill:#0a2c39;stroke:#60dbef;stroke-width:2}.pcs-s5-variable{fill:#f0fcff;font:700 13px ui-monospace,SFMono-Regular,monospace}.pcs-s5-link,.pcs-s5-dependency-link,.pcs-s5-axis{stroke:#54cbe1;stroke-width:2;fill:none}.pcs-s5-dependency-link{stroke-dasharray:5 5;opacity:.72}.pcs-s5-arrow{fill:#54cbe1}.pcs-s5-bracket{fill:none;stroke:#9defff;stroke-width:5}.pcs-s5-matrix-cell{fill:#071d28;stroke:#256779}.pcs-s5-matrix-entry{fill:#e9fbff;font:11px ui-monospace,SFMono-Regular,monospace}.pcs-s5-matrix-title{fill:#fff;font:700 24px ui-monospace,SFMono-Regular,monospace}.pcs-s5-transform{fill:#17233a;stroke:#9a83ef;stroke-width:2}.pcs-s5-axis-label{fill:#dffaff;font:700 14px ui-monospace,SFMono-Regular,monospace}.pcs-s5-state-node{fill:#112b3b;stroke:#62ddef;stroke-width:3}
.pcs-s5-data-line{stroke:#61ddf2;stroke-width:3;fill:none}.pcs-s5-data-line.series-b{stroke:#f0c35c}.pcs-s5-data-line.series-c{stroke:#b795ff}.pcs-s5-data-line.series-d{stroke:#78e6a4}.pcs-s5-data-point{fill:#61ddf2;stroke:#03111c;stroke-width:2}.pcs-s5-data-point.series-b{fill:#f0c35c}.pcs-s5-data-point.series-c{fill:#b795ff}.pcs-s5-data-point.series-d{fill:#78e6a4}.pcs-s5-data-legend{fill:#61ddf2;font:700 13px ui-monospace,SFMono-Regular,monospace}.pcs-s5-data-legend.series-b{fill:#f0c35c}.pcs-s5-data-legend.series-c{fill:#b795ff}.pcs-s5-data-legend.series-d{fill:#78e6a4}.pcs-s5-scalar-sample{stroke:#d9faff;stroke-width:1.5}.pcs-s5-vector-sample{stroke:#61ddf2;stroke-width:3}.pcs-s5-vector-origin{fill:#fff}
.pcs-s5-figure-provenance{border-top:1px solid rgba(80,213,255,.2);padding:10px 14px;overflow:auto}.pcs-s5-figure-provenance h3{margin:9px 0 6px;color:#6bdae9;font:700 11px ui-monospace,SFMono-Regular,monospace}.pcs-s5-status-row{display:flex;flex-wrap:wrap;gap:6px}.pcs-s5-status-row span{border:1px solid #35606b;padding:4px 7px;font:700 10px ui-monospace,SFMono-Regular,monospace}.pcs-s5-evidence{display:block;width:100%;border:0;border-left:2px solid #3b8798;background:transparent;color:#b8cbd0;text-align:left;padding:5px 8px;font:11px/1.35 ui-monospace,SFMono-Regular,monospace}.pcs-s5-evidence:focus-visible,.pcs-s5-figure-tab:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:768px){.pcs-s5-structural-header{align-items:flex-start;flex-direction:column}.pcs-s5-figure-stage{min-height:360px}.pcs-s5-figure-stage svg{min-width:680px}.pcs-s5-figure-stage{overflow-x:auto}}
body.pcs-secondary-popout{margin:0;background:#030712;overflow:hidden}body.pcs-secondary-popout .pcs-gms-shell{height:100vh;max-height:none}

/* S6 integrated evidence-linked model */
#pcs-gms-integrated-panel{position:absolute;inset:0;overflow:auto;padding:10px;background:#020812}
.pcs-s6-model{display:grid;grid-template-rows:auto auto auto minmax(360px,1fr) auto auto;gap:8px;min-height:100%;color:#e8fbff}
.pcs-s6-model-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pcs-s6-model-header strong{color:#72e6fa;letter-spacing:.08em}.pcs-s6-model-header span{padding:3px 7px;border:1px solid rgba(80,220,255,.3);border-radius:999px;color:#b8eaf3;font-size:.66rem}
.pcs-s6-safety{margin:0;padding:7px 9px;border-left:3px solid #f59e0b;background:rgba(245,158,11,.08);color:#fbd38d;font-size:.68rem;letter-spacing:.04em}
.pcs-s6-dimensions{margin:0;color:#b8d9e2;font-size:.66rem;letter-spacing:.04em}
.pcs-s6-viewport{min-height:360px;overflow:hidden;border:1px solid rgba(80,220,255,.18);border-radius:8px;background:radial-gradient(circle at 50% 45%,rgba(18,74,95,.25),transparent 55%)}.pcs-s6-viewport svg{display:block;width:100%;height:100%;min-height:360px}
.pcs-s6-relations line{stroke:#61cfe4;stroke-width:2;stroke-dasharray:6 5;opacity:.55}.pcs-s6-component{cursor:pointer;outline:none}.pcs-s6-component rect{fill:rgba(8,35,52,.94);stroke:rgba(90,214,255,.48);stroke-width:2}.pcs-s6-component.is-behavior_process rect{fill:rgba(52,31,88,.88);stroke:#a78bfa}.pcs-s6-component.is-mathematical_object rect{fill:rgba(15,55,44,.9);stroke:#5ee2ad}.pcs-s6-component:hover rect,.pcs-s6-component:focus-visible rect,.pcs-s6-component.is-selected rect{stroke:#fff;stroke-width:4}.pcs-s6-component.is-cross-highlighted rect{stroke:#fbbf24;stroke-width:5;stroke-dasharray:8 4}.pcs-s6-component.is-step-active rect{filter:drop-shadow(0 0 10px #a78bfa)}
.pcs-s6-component-label{fill:#f6fdff;font-size:14px;font-weight:750}.pcs-s6-component-source{fill:#9dc9d3;font-size:9px;letter-spacing:.03em}.pcs-s6-dynamic-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pcs-s6-dynamic-controls span{color:#c4b5fd;font-size:.66rem}.pcs-s6-dynamic-controls button{min-height:36px;padding:6px 12px;border:1px solid #8b5cf6;border-radius:6px;background:#16112b;color:#eee7ff}.pcs-s6-provenance{color:#8fb6c2;font-size:.65rem;letter-spacing:.04em}
@media(max-width:768px){#pcs-gms-integrated-panel{padding:6px}.pcs-s6-model{grid-template-rows:auto auto minmax(430px,1fr) auto auto}.pcs-s6-viewport,.pcs-s6-viewport svg{min-height:430px}.pcs-s6-component-label{font-size:13px}.pcs-gms-view-tabs{max-width:100%;overflow-x:auto}.pcs-gms-view-tabs button{white-space:nowrap}}

/* S7 compact evidence-backed phenomenon signature */
#pcs-gms-signature-panel{position:absolute;inset:0;overflow:auto;padding:12px;background:#020812;color:#e8fbff}
.pcs-s7-signature{display:grid;gap:10px;max-width:1180px;margin:0 auto}.pcs-s7-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pcs-s7-header>div{display:grid;gap:3px}.pcs-s7-title{color:#72e6fa;letter-spacing:.1em}.pcs-s7-schema,.pcs-s7-source{color:#8fb6c2;font-size:.64rem;letter-spacing:.04em}.pcs-s7-status{padding:4px 8px;border:1px solid #67e8f9;border-radius:999px;font-size:.68rem;font-weight:750}.pcs-s7-signature[data-status="UNAVAILABLE"] .pcs-s7-status{border-color:#f59e0b;color:#fbd38d}.pcs-s7-safety{margin:0;padding:7px 9px;border-left:3px solid #f59e0b;background:rgba(245,158,11,.08);color:#fbd38d;font-size:.68rem}.pcs-s7-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,32%);gap:12px}.pcs-s7-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pcs-s7-group,.pcs-s7-evidence{padding:10px;border:1px solid rgba(80,220,255,.18);border-radius:7px;background:rgba(5,25,38,.76)}.pcs-s7-group h3,.pcs-s7-evidence h3{margin:0 0 7px;color:#70dff2;font-size:.68rem;letter-spacing:.08em}.pcs-s7-values{display:flex;flex-wrap:wrap;gap:5px}.pcs-s7-values span{padding:3px 6px;border:1px solid rgba(103,232,249,.3);border-radius:4px;color:#e8fbff;font-size:.7rem;overflow-wrap:anywhere}.pcs-s7-values .is-unavailable,.pcs-s7-evidence .is-unavailable{color:#c7a971;border-color:#866d3c}.pcs-s7-source{margin:7px 0 0}.pcs-s7-evidence{align-self:start;position:sticky;top:0}.pcs-s7-evidence-list{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;max-height:110px;overflow:auto}.pcs-s7-evidence-list button{min-height:34px;padding:5px 8px;border:1px solid rgba(103,232,249,.35);border-radius:5px;background:#082435;color:#dff8ff;cursor:pointer}.pcs-s7-evidence-list button:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}.pcs-s7-evidence-detail{display:grid;gap:5px}.pcs-s7-evidence-detail div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:7px;padding-top:5px;border-top:1px solid rgba(255,255,255,.08)}.pcs-s7-evidence-detail dt{color:#70dff2;font-size:.62rem}.pcs-s7-evidence-detail dd{margin:0;color:#e8fbff;font-size:.7rem;overflow-wrap:anywhere}
@media(max-width:700px){#pcs-gms-signature-panel{padding:7px}.pcs-s7-layout{grid-template-columns:1fr}.pcs-s7-groups{grid-template-columns:1fr}.pcs-s7-evidence{position:static}.pcs-s7-header{align-items:flex-start}.pcs-s7-status{white-space:nowrap}}

/* S8 FIND IN PCS — structured candidates, never validation */
#pcs-gms-find-panel{position:absolute;inset:0;overflow:auto;padding:12px;background:#020812;color:#e8fbff}
.pcs-s8-find{display:grid;gap:10px;max-width:1180px;margin:0 auto}.pcs-s8-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pcs-s8-header>div{display:grid;gap:3px}.pcs-s8-title{color:#72e6fa;letter-spacing:.1em}.pcs-s8-schema{color:#8fb6c2;font-size:.64rem;letter-spacing:.04em}.pcs-s8-status{padding:4px 8px;border:1px solid #67e8f9;border-radius:999px;font-size:.68rem;font-weight:750}.pcs-s8-find[data-status="SEARCH_UNAVAILABLE"] .pcs-s8-status,.pcs-s8-find[data-status="NOT_APPLICABLE"] .pcs-s8-status{border-color:#f59e0b;color:#fbd38d}.pcs-s8-warning{margin:0;padding:8px 10px;border-left:3px solid #f59e0b;background:rgba(245,158,11,.09);color:#fbd38d;font-size:.7rem;font-weight:750;letter-spacing:.04em}.pcs-s8-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.pcs-s8-summary div{display:grid;gap:3px;padding:7px 9px;border:1px solid rgba(80,220,255,.18);border-radius:6px;background:rgba(5,25,38,.76)}.pcs-s8-summary span{color:#70dff2;font-size:.6rem}.pcs-s8-summary strong{font-size:.68rem;overflow-wrap:anywhere}.pcs-s8-controls{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.pcs-s8-scope{display:flex;gap:5px;flex-wrap:wrap}.pcs-s8-controls button,.pcs-s8-controls select{min-height:34px;padding:5px 9px;border:1px solid rgba(103,232,249,.35);border-radius:5px;background:#082435;color:#dff8ff;font:inherit;font-size:.66rem}.pcs-s8-controls button[aria-pressed="true"]{border-color:#67e8f9;background:#0b4355;color:#fff}.pcs-s8-controls button:focus-visible,.pcs-s8-controls select:focus-visible,.pcs-s8-candidate:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}.pcs-s8-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,34%);gap:10px}.pcs-s8-main{display:grid;gap:8px}.pcs-s8-section,.pcs-s8-inspector{padding:10px;border:1px solid rgba(80,220,255,.18);border-radius:7px;background:rgba(5,25,38,.76)}.pcs-s8-section h3,.pcs-s8-inspector h3{margin:0 0 7px;color:#70dff2;font-size:.68rem;letter-spacing:.08em}.pcs-s8-plan,.pcs-s8-detail{display:grid;gap:5px;margin:0}.pcs-s8-detail-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;padding-top:5px;border-top:1px solid rgba(255,255,255,.08)}.pcs-s8-detail-row dt{color:#70dff2;font-size:.61rem}.pcs-s8-detail-row dd{margin:0;font-size:.69rem;overflow-wrap:anywhere}.pcs-s8-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:150px;overflow:auto}.pcs-s8-source{display:grid;gap:2px;padding:6px;border-left:3px solid #67e8f9;background:rgba(8,36,53,.8)}.pcs-s8-source[data-status="PARTIAL"]{border-color:#fbbf24}.pcs-s8-source[data-status="UNAVAILABLE"],.pcs-s8-source[data-status="NOT_IMPLEMENTED"]{border-color:#64748b}.pcs-s8-source strong{font-size:.68rem}.pcs-s8-source span{color:#9dc9d3;font-size:.6rem}.pcs-s8-candidate-list{display:grid;gap:6px}.pcs-s8-candidate{display:grid;gap:3px;width:100%;padding:8px;text-align:left;border:1px solid rgba(103,232,249,.3);border-radius:6px;background:#082435;color:#e8fbff;cursor:pointer}.pcs-s8-candidate[aria-pressed="true"]{border-color:#fbbf24}.pcs-s8-candidate span,.pcs-s8-candidate small{color:#9dc9d3}.pcs-s8-zero,.pcs-s8-empty{margin:0;padding:12px;border:1px dashed rgba(245,158,11,.45);color:#fbd38d;text-align:center;font-size:.7rem;letter-spacing:.04em}.pcs-s8-inspector{align-self:start;position:sticky;top:0}.pcs-s8-coverage,.pcs-s8-missing{margin:0;color:#b8d9e2;font-size:.68rem;line-height:1.5}.pcs-s8-missing{margin-top:6px;color:#fbd38d}
@media(max-width:700px){#pcs-gms-find-panel{padding:7px}.pcs-s8-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pcs-s8-layout{grid-template-columns:1fr}.pcs-s8-source-list{grid-template-columns:1fr}.pcs-s8-inspector{position:static}.pcs-s8-detail-row{grid-template-columns:96px minmax(0,1fr)}.pcs-s8-status{white-space:nowrap}}
.pcs-s8-open-matching{width:100%;min-height:38px;margin-top:9px;border:1px solid #67e8f9;border-radius:5px;background:#0b4355;color:#fff;font-weight:750;letter-spacing:.04em}.pcs-s8-open-matching:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}

/* S9 Observation Matching — comparison, never automatic validation */
#pcs-gms-matching-panel{position:absolute;inset:0;overflow:auto;padding:12px;background:#020812;color:#e8fbff}.pcs-s9-match{display:grid;gap:10px;max-width:1180px;margin:0 auto}.pcs-s9-header{display:flex;justify-content:space-between;gap:12px}.pcs-s9-header>div{display:grid;gap:3px}.pcs-s9-title{color:#72e6fa;letter-spacing:.1em}.pcs-s9-schema{color:#8fb6c2;font-size:.64rem}.pcs-s9-status{align-self:start;padding:4px 8px;border:1px solid #67e8f9;border-radius:999px;font-size:.68rem;font-weight:750}.pcs-s9-match[data-status="NO_CANDIDATE"] .pcs-s9-status,.pcs-s9-match[data-status="NOT_APPLICABLE"] .pcs-s9-status,.pcs-s9-match[data-status="INSUFFICIENT_DATA"] .pcs-s9-status{border-color:#f59e0b;color:#fbd38d}.pcs-s9-warning,.pcs-s9-fixture{margin:0;padding:8px 10px;border-left:3px solid #f59e0b;background:rgba(245,158,11,.09);color:#fbd38d;font-size:.7rem;font-weight:750}.pcs-s9-fixture{border-color:#a78bfa;background:rgba(139,92,246,.1);color:#ddd6fe}.pcs-s9-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.pcs-s9-summary div,.pcs-s9-side,.pcs-s9-comparison,.pcs-s9-details{padding:9px;border:1px solid rgba(80,220,255,.18);border-radius:7px;background:rgba(5,25,38,.76)}.pcs-s9-summary div{display:grid;gap:3px}.pcs-s9-summary span{color:#70dff2;font-size:.6rem}.pcs-s9-summary strong{font-size:.68rem;overflow-wrap:anywhere}.pcs-s9-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pcs-s9-side,.pcs-s9-comparison{display:grid;align-content:start;gap:6px}.pcs-s9-side h3,.pcs-s9-comparison h3,.pcs-s9-details h3{margin:0 0 3px;color:#70dff2;font-size:.68rem;letter-spacing:.08em}.pcs-s9-row{display:grid;grid-template-columns:minmax(110px,.55fr) minmax(0,1fr) auto;gap:8px;align-items:start;width:100%;min-height:38px;padding:7px;text-align:left;border:1px solid rgba(103,232,249,.18);border-radius:5px;background:#082435;color:#e8fbff}.pcs-s9-row span{color:#70dff2;font-size:.62rem}.pcs-s9-row strong{font-size:.68rem;overflow-wrap:anywhere}.pcs-s9-row em{font-size:.59rem;font-style:normal;color:#b8d9e2}.pcs-s9-row[data-status="MISSING"],.pcs-s9-row[data-status="CONFLICT"],.pcs-s9-row[data-status="INCOMPATIBLE"]{border-left:3px solid #ef4444}.pcs-s9-row[data-status="PARTIAL"],.pcs-s9-row[data-status="INSUFFICIENT_DATA"],.pcs-s9-row[data-status="UNKNOWN"],.pcs-s9-row[data-status="LIMITATION"]{border-left:3px solid #f59e0b}.pcs-s9-row:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}.pcs-s9-details{display:grid;gap:5px}.pcs-s9-details p{margin:0;color:#b8d9e2;font-size:.68rem;overflow-wrap:anywhere}
@media(max-width:700px){#pcs-gms-matching-panel{padding:7px}.pcs-s9-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pcs-s9-layout{grid-template-columns:1fr}.pcs-s9-row{grid-template-columns:96px minmax(0,1fr);}.pcs-s9-row em{grid-column:2}.pcs-s9-status{white-space:nowrap}}

/* Pin mode: fixed overlay top-right */
.pcs-gms-shell[data-gms-mode="pinned"] {
  position: fixed;
  top: 72px;
  right: 18px;
  z-index: 9100;
  width: min(540px, 40vw);
  height: min(480px, 55vh);
  grid-template-rows: auto auto minmax(0, 1fr);
  min-height: 0;
  border: 1px solid rgba(34, 211, 238, 0.5);
  box-shadow: 0 16px 56px rgba(0, 0, 0, 0.75);
}

/* Maximized: full viewport */
.pcs-gms-shell[data-gms-mode="maximized"] {
  position: fixed;
  inset: 12px;
  z-index: 10100;
  width: auto;
  height: auto;
  grid-template-rows: auto auto minmax(0, 1fr);
  min-height: 0;
  border: 1px solid rgba(34, 211, 238, 0.5);
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.85);
}

/* ── Header / toolbar ──────────────────────────────────────────────────────── */

.pcs-gms-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 12px;
  background: rgba(7, 17, 31, 0.95);
  border-bottom: 1px solid rgba(31, 77, 120, 0.6);
  min-width: 0;
}

.pcs-gms-title {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: rgba(34, 211, 238, 0.8);
  text-transform: uppercase;
  white-space: nowrap;
}

/* View tabs */
.pcs-gms-view-tabs {
  display: flex;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}

.pcs-gms-view-tabs button {
  border: 1px solid rgba(67, 218, 255, 0.3);
  border-radius: 4px;
  padding: 4px 8px;
  color: rgba(255, 255, 255, 0.6);
  background: transparent;
  font: inherit;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.pcs-gms-view-tabs button[aria-pressed="true"],
.pcs-gms-view-tabs button:hover,
.pcs-gms-view-tabs button:focus-visible {
  border-color: rgba(34, 211, 238, 0.7);
  color: #fff;
  background: rgba(34, 211, 238, 0.1);
  outline: none;
}

/* Spacer */
.pcs-gms-header-spacer { flex: 1 1 auto; }

/* Window action buttons */
.pcs-gms-actions {
  display: flex;
  gap: 4px;
}

.pcs-gms-actions button {
  border: 1px solid rgba(67, 218, 255, 0.4);
  border-radius: 4px;
  padding: 4px 8px;
  color: #dff8ff;
  background: rgba(2, 8, 18, 0.85);
  font: inherit;
  font-size: 0.62rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.pcs-gms-actions button:hover,
.pcs-gms-actions button:focus-visible {
  border-color: rgba(126, 234, 255, 0.8);
  background: #082435;
  outline: 2px solid rgba(126, 234, 255, 0.3);
  outline-offset: 2px;
}

/* Artifact selector */
#pcs-gms-artifact-select {
  border: 1px solid rgba(34, 211, 238, 0.3);
  border-radius: 4px;
  padding: 3px 6px;
  background: rgba(7, 17, 31, 0.9);
  color: #fff;
  font: inherit;
  font-size: 0.62rem;
  cursor: pointer;
}

/* ── Main content area ─────────────────────────────────────────────────────── */

.pcs-gms-content {
  display: grid;
  grid-template-columns: 1fr minmax(0, 220px);
  min-height: 0;
  overflow: hidden;
}

/* ── Canvas wrapper ────────────────────────────────────────────────────────── */

.pcs-gms-canvas-wrap {
  position: relative;
  min-width: 0;
  min-height: 0;
  background: #020812;
}

#pcs-gms-canvas {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  cursor: grab;
}
#pcs-gms-canvas[hidden] { display: none; }

#pcs-gms-canvas:active { cursor: grabbing; }

/* Visible camera controls for the interactive mathematical renderer. */
.pcs-gms-camera-pad {
  position: absolute;
  right: 14px;
  bottom: 34px;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(5, 44px);
  grid-template-rows: repeat(3, 44px);
  gap: 4px;
  padding: 7px;
  border: 1px solid rgba(89, 214, 255, 0.38);
  border-radius: 12px;
  background: rgba(2, 12, 24, 0.88);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(8px);
}

.pcs-gms-camera-pad[hidden] { display: none; }

.pcs-gms-camera-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(89, 214, 255, 0.42);
  border-radius: 8px;
  background: rgba(11, 39, 58, 0.92);
  color: #b9f2ff;
  font: 700 1rem/1 system-ui, sans-serif;
  cursor: pointer;
  touch-action: manipulation;
}

.pcs-gms-camera-button:hover,
.pcs-gms-camera-button:focus-visible {
  border-color: #59d6ff;
  background: rgba(18, 68, 94, 0.96);
  color: #fff;
  outline: none;
}

.pcs-gms-camera-button:active { transform: translateY(1px); }
.pcs-gms-camera-up { grid-column: 2; grid-row: 1; }
.pcs-gms-camera-left { grid-column: 1; grid-row: 2; }
.pcs-gms-camera-reset { grid-column: 2; grid-row: 2; font-size: 0.72rem; }
.pcs-gms-camera-right { grid-column: 3; grid-row: 2; }
.pcs-gms-camera-down { grid-column: 2; grid-row: 3; }
.pcs-gms-camera-zoom-in { grid-column: 4; grid-row: 2; font-size: 1.35rem; }
.pcs-gms-camera-zoom-out { grid-column: 5; grid-row: 2; font-size: 1.35rem; }

@media (max-width: 520px) {
  .pcs-gms-camera-pad {
    right: 8px;
    bottom: 32px;
    grid-template-columns: repeat(5, 40px);
    grid-template-rows: repeat(3, 40px);
    padding: 5px;
  }
  .pcs-gms-camera-button { width: 40px; min-width: 40px; height: 40px; }
}

/* Status bar */
.pcs-gms-math-status {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 4px 10px;
  background: rgba(2, 8, 18, 0.7);
  font-size: 0.62rem;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
  max-width: 100%;
}

.pcs-gms-math-status[data-status="insufficient"] { color: rgba(249, 115, 22, 0.8); }
.pcs-gms-math-status[data-status="error"]         { color: rgba(239, 68, 68, 0.9); }

/* ── Side panel ────────────────────────────────────────────────────────────── */

.pcs-gms-side {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-y: auto;
  overflow-x: hidden;
  background: rgba(7, 17, 31, 0.9);
  border-left: 1px solid rgba(31, 77, 120, 0.4);
  min-width: 0;
  padding: 10px;
}

/* Info section */
.pcs-gms-info {
  margin-bottom: 12px;
}

.pcs-gms-info dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 8px;
  font-size: 0.58rem;
  margin: 0;
}

.pcs-gms-info dt {
  color: rgba(255, 255, 255, 0.35);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  white-space: nowrap;
}

.pcs-gms-info dd {
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  word-break: break-word;
}

/* Dim labels */
.pcs-gms-mode-tag,
.pcs-gms-d4-tag,
.pcs-gms-d5-tag {
  display: block;
  font-size: 0.55rem;
  font-family: monospace;
  letter-spacing: 0.08em;
  padding: 3px 0;
  color: rgba(157, 124, 255, 0.8);
  border-bottom: 1px solid rgba(31, 77, 120, 0.3);
  margin-bottom: 4px;
  word-break: break-all;
}

/* ── nD controls ───────────────────────────────────────────────────────────── */

.pcs-gms-nd-controls {
  flex: 1 1 auto;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 6px;
}
.pcs-gms-nd-controls .pcs-palette-editor { grid-column: 1 / -1; }

.pcs-gms-nd-note {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.3);
  font-family: monospace;
  margin: 0;
}

/* Dimension mapping */
.pcs-dim-mapping { display: flex; flex-direction: column; gap: 6px; }
.pcs-dim-mapping__title {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: rgba(34, 211, 238, 0.6);
  text-transform: uppercase;
}

.pcs-dim-mapping__row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px;
  align-items: start;
}

.pcs-dim-mapping__row--encoded {
  grid-template-columns: auto 1fr;
  gap: 3px;
}

.pcs-dim-mapping__axis-label,
.pcs-dim-mapping__dim-label {
  font-size: 0.58rem;
  color: rgba(255, 255, 255, 0.5);
  font-family: monospace;
  white-space: nowrap;
}

.pcs-dim-mapping__select {
  font-size: 0.58rem;
  border: 1px solid rgba(34, 211, 238, 0.2);
  border-radius: 3px;
  background: rgba(7, 17, 31, 0.9);
  color: #fff;
  padding: 2px 4px;
  cursor: pointer;
  min-width: 0;
  width: 100%;
}

.pcs-dim-mapping__dim-detail {
  grid-column: 1 / -1;
  font-size: 0.52rem;
  color: rgba(255, 255, 255, 0.25);
  font-family: monospace;
}

/* D4 control */
.pcs-d4-control { display: flex; flex-direction: column; gap: 5px; }
.pcs-d4-control__header { display: flex; flex-direction: column; gap: 2px; }
.pcs-d4-control__type {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgba(34, 211, 238, 0.8);
  text-transform: uppercase;
}
.pcs-d4-control__symbol {
  font-size: 0.58rem;
  color: rgba(255, 255, 255, 0.5);
  font-family: monospace;
}
.pcs-d4-control__evidence {
  font-size: 0.52rem;
  color: rgba(157, 124, 255, 0.6);
  font-family: monospace;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
  line-height: 1.4;
}
.pcs-d4-control__evidence:hover { color: rgba(157, 124, 255, 0.9); }
.pcs-d4-control__slider {
  width: 100%;
  accent-color: rgba(34, 211, 238, 0.8);
  cursor: pointer;
}
.pcs-d4-control__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.pcs-d4-control__btn {
  border: 1px solid rgba(67, 218, 255, 0.3);
  border-radius: 3px;
  padding: 3px 7px;
  background: rgba(7, 17, 31, 0.9);
  color: rgba(255, 255, 255, 0.7);
  font: inherit;
  font-size: 0.58rem;
  cursor: pointer;
}
.pcs-d4-control__btn:hover { border-color: rgba(34, 211, 238, 0.7); color: #fff; }

/* D5 control */
.pcs-d5-control { display: flex; flex-direction: column; gap: 5px; }
.pcs-d5-control__header {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgba(249, 115, 22, 0.8);
}
.pcs-d5-control__encoding {
  font-size: 0.55rem;
  color: rgba(255, 255, 255, 0.4);
  font-family: monospace;
  letter-spacing: 0.07em;
}
.pcs-d5-control__evidence {
  font-size: 0.52rem;
  color: rgba(157, 124, 255, 0.6);
  font-family: monospace;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
}
.pcs-d5-control__slider {
  width: 100%;
  accent-color: rgba(249, 115, 22, 0.8);
  cursor: pointer;
}
.pcs-d5-control__swatch {
  width: 100%;
  height: 8px;
  border-radius: 4px;
  transition: background 0.15s;
}

/* ── Structure panel ───────────────────────────────────────────────────────── */

#pcs-gms-structure-panel {
  padding: 16px;
}

.pcs-gms-struct-info { display: flex; flex-direction: column; gap: 8px; }

.pcs-gms-struct-note {
  font-size: 0.65rem;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

.pcs-gms-struct-pending { color: rgba(249, 115, 22, 0.6); }

/* ── Phenomenon panel ──────────────────────────────────────────────────────── */

#pcs-gms-phenomenon-panel {
  padding: 16px;
}

.pcs-gms-phen-placeholder {
  font-size: 0.65rem;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.35);
  margin: 0;
}

/* ── Responsive ────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  .pcs-gms-header { overflow: hidden; }
  .pcs-gms-header > * { min-width: 0; }
  .pcs-gms-view-tabs { flex: 1 1 100%; width: 100%; }
  .pcs-gms-header-spacer { display: none; }
  .pcs-gms-actions { max-width: 100%; flex-wrap: wrap; }
  .pcs-gms-shell:not([data-gms-mode="pinned"]):not([data-gms-mode="maximized"]) { min-height: 820px; }
  .pcs-gms-content { grid-template-columns: 1fr; grid-template-rows: minmax(520px, 1fr) auto; overflow-y: auto; }
  .pcs-gms-canvas-wrap { min-height: 520px; }
  .pcs-gms-side { border-left: none; border-top: 1px solid rgba(31, 77, 120, 0.4); max-height: none; }

  .pcs-gms-shell[data-gms-mode="pinned"] {
    left: 8px; right: 8px; top: auto; bottom: 8px;
    width: auto;
    height: min(45vh, 400px);
  }

  .pcs-gms-shell[data-gms-mode="maximized"] { inset: 8px; }
  .pcs-gms-shell[data-gms-mode="maximized"] .pcs-gms-content { grid-template-rows: minmax(520px, 1fr) auto; }
}
