:root{--bg:#f7f6f2;--ink:#1f2933;--muted:#637381;--card:#fff;--line:#ddd8cc;--accent:#263f73;--accent2:#866118}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.brand{font-weight:800;color:var(--accent);text-decoration:none}.topbar nav a{margin-left:16px;color:var(--ink);text-decoration:none}.page{max-width:1160px;margin:0 auto;padding:28px}.hero{padding:56px 0}.hero h1{font-size:48px;line-height:1.1;margin:0 0 12px}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);font-weight:700;font-size:12px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.button{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;border:0;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer}.button.secondary{background:#fff;color:var(--accent);border:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.cards article,.viewer-card,.locked-card,.login-card,.notice,.asset-row{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(31,41,51,.05)}.big{font-size:34px;font-weight:800;margin:0}.footer{padding:24px;text-align:center;color:var(--muted)}.section-head{margin-bottom:18px}.asset-list{display:grid;gap:12px}.asset-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.badge{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:#fbfaf7;color:var(--muted);font-size:12px}.meta-grid{display:grid;grid-template-columns:140px 1fr;gap:8px 16px}.meta-grid dt{font-weight:700}.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.alert{background:#fff0f0;border:1px solid #f3b0b0;padding:10px;border-radius:12px;margin-bottom:12px}.muted{color:var(--muted)}input{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;margin:4px 0 12px}.login-card{max-width:440px;margin:40px auto}.locked-card{max-width:760px;margin:40px auto}.admin-topbar{background:#172033;color:#fff}.admin-topbar a{color:#fff}code{white-space:normal;word-break:break-word}
.inline-form{display:inline;margin:0}.button.small{padding:.45rem .75rem;font-size:.85rem}.scan-result .scan-cards{margin-bottom:1rem}.alert{border:1px solid #b91c1c;background:#fff1f2;color:#7f1d1d;border-radius:14px;padding:1rem;margin:1rem 0}.notice{border:1px solid #d6cbb8;background:#fffdf7;border-radius:14px;padding:1rem;margin:1rem 0}.table code{font-size:.92em}.section-head code,.viewer-card code{background:#f4f1ea;padding:.15rem .35rem;border-radius:6px}

/* Schema Fresh v3: library cards, lock screen, and placeholder viewer */
.lead{font-size:1.08rem;color:var(--muted);max-width:760px}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.mini-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.mini-stat strong{display:block;font-size:26px;line-height:1.1;color:var(--accent)}.mini-stat span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.filter-card{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin:16px 0 22px;box-shadow:0 8px 24px rgba(31,41,51,.04)}.filter-card label{font-weight:700;font-size:13px}.filter-card input,.filter-card select{margin-top:6px;margin-bottom:0;background:#fbfaf7}.filter-actions{display:flex;gap:8px;align-items:center}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.asset-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(31,41,51,.045);display:flex;flex-direction:column;gap:10px;min-height:260px}.asset-card h2{font-size:18px;line-height:1.25;margin:0}.asset-card-top,.viewer-badges{display:flex;gap:8px;flex-wrap:wrap}.badge-premium{background:#fff6df;color:#744c00;border-color:#e4c77b}.badge-public{background:#eefbf1;color:#17612d;border-color:#b8e6c2}.badge-viewer{color:var(--accent)}.asset-path{margin:0;color:var(--muted)}.asset-meta-list{display:grid;gap:6px;margin:4px 0 8px}.asset-meta-list div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:5px}.asset-meta-list dt{font-weight:700;color:var(--muted)}.asset-meta-list dd{margin:0}.asset-actions{margin-top:auto}.button.ghost{background:transparent;color:var(--accent);border:1px dashed var(--line)}.locked-card-large{max-width:860px}.locked-meta{margin:18px 0;background:#fbfaf7;border:1px solid var(--line);border-radius:16px;padding:16px}.viewer-head{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 24px rgba(31,41,51,.045)}.viewer-placeholder-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.viewer-placeholder-head h2{margin:.1rem 0 .6rem}.notice.soft{background:#fbfaf7;color:var(--muted)}@media(max-width:760px){.filter-card{grid-template-columns:1fr}.asset-row{display:block}.viewer-placeholder-head{display:block}}

/* Schema Fresh v4: real GraphML renderer */
.graphml-viewer-shell{padding:0;overflow:hidden}.graphml-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px;border-bottom:1px solid var(--line);background:#fff}.graphml-toolbar h2{margin:.1rem 0 .25rem}.graphml-counts{margin:0}.graphml-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.graphml-search{width:220px;margin:0;padding:8px 10px}.graphml-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:620px}.graphml-canvas-wrap{position:relative;background:radial-gradient(circle at 1px 1px,rgba(38,63,115,.12) 1px,transparent 0);background-size:22px 22px;min-height:620px;overflow:hidden}.graphml-canvas{display:block;width:100%;height:620px;cursor:grab;user-select:none}.graphml-canvas:active{cursor:grabbing}.graphml-side-panel{border-left:1px solid var(--line);background:#fbfaf7;padding:18px;overflow:auto}.graphml-side-panel h3{margin-top:0}.graphml-watermark{position:absolute;right:12px;bottom:10px;font-size:12px;color:rgba(31,41,51,.45);background:rgba(255,255,255,.75);border:1px solid rgba(221,216,204,.7);border-radius:999px;padding:4px 8px;pointer-events:none}.graphml-edge line{stroke:#748094;stroke-width:1.8;opacity:.72}.graphml-edge polygon,#arrowhead polygon{fill:#748094}.graphml-edge text{font-size:10px;fill:#637381;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.graphml-edge:hover line,.graphml-edge.is-selected line{stroke:var(--accent);stroke-width:3;opacity:1}.graphml-node rect{fill:#fffdf8;stroke:#263f73;stroke-width:1.4;filter:drop-shadow(0 4px 8px rgba(31,41,51,.12))}.graphml-node text{font-size:12px;font-weight:700;fill:#1f2933;pointer-events:none;dominant-baseline:middle}.graphml-node:hover rect,.graphml-node.is-selected rect{stroke:#866118;stroke-width:3;fill:#fff7df}.graphml-node.is-match rect{stroke:#b45309;stroke-width:4;fill:#fffbeb}.meta-grid.compact{grid-template-columns:90px 1fr;font-size:13px}.graphml-selection h4{margin:.2rem 0 .8rem;line-height:1.25}@media(max-width:900px){.graphml-toolbar{display:block}.graphml-tools{justify-content:flex-start;margin-top:12px}.graphml-layout{grid-template-columns:1fr}.graphml-side-panel{border-left:0;border-top:1px solid var(--line)}.graphml-canvas,.graphml-canvas-wrap{height:520px;min-height:520px}.graphml-search{width:100%}}

/* Schema Fresh v4.1: GraphML render modes and exact visual surface */
.render-mode-switch{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mode-pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;color:var(--accent);border-radius:999px;padding:6px 10px;text-decoration:none;font-size:12px;font-weight:700}.mode-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.mode-recommendation{text-transform:capitalize}.visual-surface{padding:0;overflow:hidden}.visual-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px;border-bottom:1px solid var(--line);background:#fff}.visual-toolbar h2{margin:.1rem 0 .25rem}.visual-tools{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.visual-canvas-wrap{position:relative;background:radial-gradient(circle at 1px 1px,rgba(38,63,115,.1) 1px,transparent 0);background-size:22px 22px;min-height:680px;overflow:hidden}.visual-canvas{display:block;width:100%;height:680px;cursor:grab;user-select:none}.visual-canvas:active{cursor:grabbing}.visual-notes{padding:12px 18px;border-top:1px solid var(--line);background:#fbfaf7}.exact-legend{display:flex;gap:16px;flex-wrap:wrap}.graphml-exact-svg text{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:12px;fill:#1f2933;pointer-events:none}.exact-layer-group-boxes{isolation:isolate}.exact-group-body rect,.exact-group-body ellipse,.exact-group-body polygon{fill-opacity:.10!important;stroke-width:1.2!important;stroke-opacity:.65!important;filter:none}.exact-node-body:not(.exact-group-body) rect,.exact-node-body:not(.exact-group-body) ellipse,.exact-node-body:not(.exact-group-body) polygon{filter:url(#exact-soft-shadow)}.exact-layer-edges{opacity:.92}.exact-edge path{opacity:.9;vector-effect:non-scaling-stroke}.exact-edge-label text{font-size:10px;fill:#637381;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.exact-node-label text{font-size:12px;fill:#111827;paint-order:stroke;stroke:rgba(255,255,255,.82);stroke-width:3px;stroke-linejoin:round}.exact-group-label text{font-size:12px;fill:#72808d;letter-spacing:.02em}.exact-node-body:hover rect,.exact-node-body:hover ellipse,.exact-node-body:hover polygon,.exact-node-body:focus rect,.exact-node-body:focus ellipse,.exact-node-body:focus polygon{stroke:#866118!important;stroke-width:3!important;stroke-opacity:1!important}.exact-edge:hover path,.exact-edge:focus path{stroke:#263f73;stroke-width:3.2}.exact-layer-node-labels,.exact-layer-edge-labels{pointer-events:none}.compact-list{columns:2;gap:22px}.compact-list li{break-inside:avoid;margin-bottom:6px}.graphml-fallback .compact-list{max-height:420px;overflow:auto;background:#fbfaf7;border:1px solid var(--line);border-radius:14px;padding:16px 16px 16px 34px}@media(max-width:900px){.visual-toolbar{display:block}.visual-tools{justify-content:flex-start;margin-top:12px}.visual-canvas,.visual-canvas-wrap{height:540px;min-height:540px}.compact-list{columns:1}}

/* Schema Fresh v4.3 label policy */
.mode-pill.warning {
  border-color: #b7791f;
  background: #fff7e6;
  color: #7c4a03;
}
.exact-node-label text:empty {
  display: none;
}

/* Schema Fresh v4.4 icon support */
.exact-node-icon{pointer-events:none;opacity:.96;}
.exact-node-body:focus .exact-node-icon{opacity:1;}

/* Schema Fresh v4.2.4 group fill controls */
.group-fill-switch{margin-top:.45rem;}

/* Schema Fresh v4.4.1 yEd SVG resource support */
.exact-node-embedded-svg{pointer-events:none;}
.exact-node-embedded-svg svg{overflow:visible;}

/* Schema Fresh v4.4.2 bare SVGNode rendering */
.exact-node-body .exact-node-embedded-svg{filter:none;}

/* Schema Fresh v4.5 admin asset manager */
.admin-filter{grid-template-columns:2fr 1fr 1fr 1fr auto}
.admin-assets-table td:first-child{min-width:280px}
.qa-badges{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}
.qa-badge.good{border-color:#86efac;background:#f0fdf4;color:#166534}
.qa-badge.warn{border-color:#fbbf24;background:#fffbeb;color:#92400e}
.qa-badge.info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.qa-badge.muted{background:#f3f4f6;color:#4b5563}
.badge.premium{border-color:#d8b4fe;background:#faf5ff;color:#6b21a8}
.quick-links{display:flex;gap:.45rem;flex-wrap:wrap}
.quick-links a{display:inline-block;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.25rem .55rem;text-decoration:none;color:var(--accent);font-size:.86rem;font-weight:700}
.asset-detail-links{margin-top:1rem}
.asset-detail-links a{border-radius:12px;padding:.55rem .8rem}
@media(max-width:800px){.admin-filter{grid-template-columns:1fr}.admin-assets-table{font-size:.92rem}}

/* Schema Fresh v4.6 metadata editor and bulk tools */
.bulk-toolbar{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin:1rem 0}
.bulk-toolbar label{font-weight:700}
.bulk-toolbar select{display:block;margin-top:.25rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:10px;background:#fff}
.admin-assets-table th:first-child,.admin-assets-table td:first-child{width:42px;text-align:center}
.asset-edit-form textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;margin:4px 0 12px;font:inherit;background:#fbfaf7}
.asset-edit-form select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;margin:4px 0 12px;background:#fbfaf7}
.form-grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}

/* Schema Fresh v5 SVG map renderer */
.svg-map-canvas{display:block;width:100%;height:72vh;min-height:520px;background:#fff;border-radius:14px;cursor:grab}
.svg-map-canvas:active{cursor:grabbing}
.visual-surface .svg-map-canvas text{user-select:none}

/* Schema Fresh v6 subway renderer */
.subway-canvas{display:block;width:100%;height:74vh;min-height:540px;background:#fbfdff;border-radius:14px;cursor:grab}
.subway-canvas:active{cursor:grabbing}
.subway-edge path{filter:drop-shadow(0 1px 0 rgba(255,255,255,.55))}
.subway-station circle{fill:#fff;stroke:#172033;stroke-width:3}
.subway-label{font:600 13px/1.2 system-ui,-apple-system,Segoe UI,sans-serif;fill:#172033;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.subway-links path:hover{stroke-width:9}
.subway-station:hover circle{stroke:#b45309;stroke-width:4}

/* Schema Fresh v7A study renderer */
.study-page{max-width:1040px;margin:0 auto}
.study-hero{border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.5rem}
.study-hero h2{font-size:2.1rem;margin:.25rem 0}
.study-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}
.study-content{font-size:1.04rem}
.study-content h2,.study-content h3,.study-content h4,.study-content h5{margin-top:1.4rem}
.study-section{border-left:4px solid #e7dcc8;padding:.4rem 0 .4rem 1rem;margin:1.25rem 0}
.study-callout{border:1px solid #d8c7a9;background:#fffaf1;border-radius:16px;padding:1rem 1.1rem;margin:1rem 0}
.study-callout p{margin:.35rem 0 0}
.callout-exam{border-color:#f59e0b;background:#fffbeb}
.callout-warning{border-color:#f97316;background:#fff7ed}
.callout-clinical{border-color:#60a5fa;background:#eff6ff}
.study-embed{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:20px;background:#fff}
.study-embed>h4{margin:.25rem 0 1rem}
.study-embed .viewer-card{box-shadow:none;border-radius:16px;margin:0}
.study-include{border:1px dashed var(--line);border-radius:16px;padding:1rem;margin:1rem 0;background:#fffef9}
.study-embed-error{padding:1rem;border:1px solid #fca5a5;background:#fff1f2;color:#991b1b;border-radius:14px;margin:1rem 0}
.locked-mini{background:#fff7ed}
.locked-mini .button{margin-right:.5rem;margin-top:.5rem}

/* Schema Fresh v7B study book library + sidebar TOC */
.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.book-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.25rem;box-shadow:0 8px 24px rgba(31,41,51,.05)}
.book-card h2{margin:.25rem 0}
.book-stats{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.book-reader{display:grid;grid-template-columns:310px minmax(0,1fr);gap:1.25rem;align-items:start}
.book-sidebar{position:sticky;top:82px;max-height:calc(100vh - 110px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem;box-shadow:0 8px 24px rgba(31,41,51,.05)}
.book-sidebar-head h2{font-size:1.25rem;margin:.2rem 0}
.book-toc details{border-top:1px solid var(--line);padding:.65rem 0}
.book-toc summary{cursor:pointer;font-weight:800;color:var(--accent)}
.book-toc ul{list-style:none;margin:.5rem 0 0;padding:0}
.book-toc li{margin:.2rem 0}
.book-toc a{display:block;text-decoration:none;color:var(--ink);padding:.45rem .55rem;border-radius:10px}
.book-toc a:hover{background:#f4f1ea}
.book-toc a.active{background:#263f73;color:#fff;font-weight:800}
.book-content{min-width:0}
.book-page-head{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem 1.25rem;margin-bottom:1rem}
.book-page-head h1{margin:.2rem 0}
.book-prev-next{display:flex;justify-content:space-between;gap:1rem;margin:1.25rem 0}
@media(max-width:900px){.book-reader{grid-template-columns:1fr}.book-sidebar{position:static;max-height:none}}

/* Schema Fresh v7C study admin validator */
.study-admin-select{display:grid;grid-template-columns:2fr 1fr auto;gap:1rem;align-items:end}
.study-admin-select select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfaf7;margin-top:.35rem}
.validation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.validation-list{margin:0;padding-left:1.2rem}
.error-list li,.validation-error{color:#991b1b}
.warning-list li,.validation-warning{color:#92400e}
.validation-error,.validation-warning{margin:.15rem 0}
@media(max-width:800px){.study-admin-select{grid-template-columns:1fr}}

/* Schema Fresh v7D study search + tags */
.study-search-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:1rem;align-items:end;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;margin:1rem 0}
.study-search-form select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfaf7;margin-top:.35rem}
.tag-cloud{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0}
.tag-pill{text-decoration:none}
.search-results{display:grid;gap:1rem;margin-top:1.25rem}
.search-result-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.25rem;box-shadow:0 8px 24px rgba(31,41,51,.05)}
.search-result-card h2{margin:.15rem 0}
.search-actions{white-space:nowrap}
@media(max-width:850px){.study-search-form{grid-template-columns:1fr}.search-result-card{grid-template-columns:1fr}}

/* Schema Fresh v7D.1 admin menu contrast fix */
.admin-topbar{
  background:#172033;
  color:#fff;
  gap:1rem;
  flex-wrap:wrap;
}
.admin-topbar .brand{
  color:#fff;
}
.admin-topbar nav{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  align-items:center;
}
.admin-topbar nav a{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:.38rem .65rem;
  margin-left:0;
  text-decoration:none;
  font-weight:700;
}
.admin-topbar nav a:hover,
.admin-topbar nav a:focus{
  background:#fff;
  color:#172033;
  outline:none;
}
@media(max-width:760px){
  .admin-topbar{
    align-items:flex-start;
  }
  .admin-topbar nav{
    width:100%;
  }
}

/* Schema Fresh v7E public landing page refresh */
.landing-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(99,140,255,.16), transparent 28%),
    radial-gradient(circle at bottom left, rgba(34,197,94,.12), transparent 26%),
    linear-gradient(135deg, #ffffff 0%, #f7f9fd 52%, #f4f7fb 100%);
  border:1px solid var(--line);
  border-radius:28px;
  min-height:540px;
  padding:2.25rem;
  box-shadow:0 18px 44px rgba(23,32,51,.07);
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px, .95fr);
  gap:1.5rem;
  align-items:center;
  margin-bottom:1.6rem;
}
.hero-copy{position:relative;z-index:2;max-width:720px}
.hero-copy h1{font-size:clamp(2.4rem,4vw,4.1rem);line-height:1.04;margin:.35rem 0 1rem;color:#172033}
.hero-copy .lead{font-size:1.12rem;max-width:720px}
.hero-sublead{font-size:1.02rem;color:#4f6276;max-width:700px}
.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.hero-map{
  position:relative;
  min-height:440px;
  background:
    linear-gradient(rgba(34,44,66,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34,44,66,.045) 1px, transparent 1px);
  background-size:28px 28px;
  border-radius:22px;
  border:1px solid rgba(38,63,115,.10);
}
.hero-map .route{
  position:absolute;
  border-radius:999px;
  transform-origin:left center;
  opacity:.96;
  box-shadow:0 0 0 4px rgba(255,255,255,.68);
}
.route-blue{height:9px;width:66%;left:11%;top:19%;background:#2563eb;transform:rotate(16deg)}
.route-red{height:8px;width:59%;left:23%;top:51%;background:#dc2626;transform:rotate(-23deg)}
.route-green{height:8px;width:43%;left:18%;top:72%;background:#16a34a;transform:rotate(7deg)}
.route-gold{height:8px;width:40%;left:42%;top:34%;background:#d97706;transform:rotate(90deg)}
.hero-map .station{
  position:absolute;width:18px;height:18px;border-radius:50%;
  background:#fff;border:4px solid #263f73;box-shadow:0 0 0 3px rgba(255,255,255,.9);
}
.hero-map .interchange{background:#facc15;border-color:#b45309}
.s1{left:12%;top:17%}.s2{left:30%;top:23%}.s3{left:53%;top:29%}.s4{left:73%;top:35%}
.s5{left:32%;top:56%}.s6{left:58%;top:46%}.s7{left:49%;top:32%}.s8{left:21%;top:70%}.s9{left:70%;top:62%}
.map-label{
  position:absolute;
  font-size:.92rem;
  font-weight:800;
  color:#5b6d84;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(38,63,115,.12);
  border-radius:999px;
  padding:.35rem .65rem;
}
.label-1{left:11%;top:9%}
.label-2{right:14%;top:17%}
.label-3{left:39%;bottom:13%}
.landing-section{margin:1.6rem 0}
.landing-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.landing-feature-card,.quick-card,.landing-panel{
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.2rem 1.2rem 1.15rem;
  box-shadow:0 12px 32px rgba(23,32,51,.05);
}
.landing-feature-card h3,.quick-card h3{margin:.35rem 0 .5rem}
.feature-mark{
  width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#263f73,#496bb2);
  color:#fff;display:grid;place-items:center;font-weight:800;font-size:.92rem
}
.landing-split{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}
.landing-panel-accent{
  background:linear-gradient(135deg,#f6f8fd 0%, #eef3ff 100%);
}
.landing-list{margin:.8rem 0 0;padding-left:1.1rem}
.landing-list li{margin:.55rem 0;color:#44566b}
.flow-steps{display:grid;gap:.7rem;margin-top:1rem}
.flow-step{
  display:flex;align-items:center;gap:.8rem;padding:.8rem .95rem;border-radius:16px;
  background:#fff;border:1px solid rgba(38,63,115,.12)
}
.flow-step strong{
  width:34px;height:34px;border-radius:50%;background:#263f73;color:#fff;display:grid;place-items:center
}
.landing-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.quick-card{
  text-decoration:none;color:var(--ink);transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.quick-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(23,32,51,.08);border-color:#b8c7df}
@media(max-width:1000px){
  .landing-hero{grid-template-columns:1fr;min-height:auto}
  .hero-map{order:-1;min-height:320px}
  .landing-split{grid-template-columns:1fr}
}
@media(max-width:640px){
  .landing-hero{padding:1.25rem}
  .hero-copy h1{font-size:2.2rem}
  .hero-map{min-height:250px}
}

/* Schema Fresh v7E.1 landing width + modern metro infographic refinement */
.page{
  max-width:1320px;
  width:min(1320px, calc(100% - 42px));
  padding:28px 0;
}
.landing-hero{
  width:100%;
  grid-template-columns:minmax(460px,1.08fr) minmax(390px,.92fr);
  padding:2.6rem;
}
.hero-map{
  min-height:500px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(37,99,235,.10), transparent 20%),
    radial-gradient(circle at 78% 70%, rgba(16,185,129,.12), transparent 24%),
    linear-gradient(rgba(46,68,105,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46,68,105,.055) 1px, transparent 1px),
    linear-gradient(135deg,#fbfdff 0%,#f5f9ff 72%,#eff7f4 100%);
  background-size:auto,auto,30px 30px,30px 30px,auto;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), inset 0 -28px 70px rgba(37,99,235,.04);
}
.hero-map:before{
  content:"";
  position:absolute;
  inset:36px 44px;
  border-radius:28px;
  border:1px solid rgba(38,63,115,.08);
  background:rgba(255,255,255,.18);
}
.hero-map:after{
  content:"Metro Medical Map";
  position:absolute;
  left:44px;
  bottom:34px;
  color:rgba(23,32,51,.38);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.72rem;
}
.hero-map .route{
  height:12px;
  border-radius:999px;
  box-shadow:
    0 0 0 7px rgba(255,255,255,.72),
    0 10px 22px rgba(23,32,51,.10);
}
.route-blue{
  width:72%;
  left:8%;
  top:28%;
  background:linear-gradient(90deg,#38bdf8,#2563eb 60%,#1e3a8a);
  transform:rotate(18deg);
}
.route-red{
  width:58%;
  left:20%;
  top:49%;
  background:linear-gradient(90deg,#fb7185,#ef4444 55%,#b91c1c);
  transform:rotate(-28deg);
}
.route-green{
  width:51%;
  left:18%;
  top:73%;
  background:linear-gradient(90deg,#34d399,#16a34a 60%,#047857);
  transform:rotate(8deg);
}
.route-gold{
  width:39%;
  left:45%;
  top:34%;
  background:linear-gradient(90deg,#fbbf24,#d97706 65%,#92400e);
  transform:rotate(91deg);
}
.hero-map .station{
  width:22px;
  height:22px;
  border:5px solid #1e3769;
  background:#fff;
  box-shadow:
    0 0 0 5px rgba(255,255,255,.88),
    0 8px 16px rgba(23,32,51,.16);
}
.hero-map .interchange{
  width:26px;
  height:26px;
  border-color:#a16207;
  background:#fde047;
}
.s1{left:11%;top:25%}.s2{left:31%;top:31%}.s3{left:53%;top:38%}.s4{left:75%;top:44%}
.s5{left:28%;top:61%}.s6{left:56%;top:47%}.s7{left:48%;top:37%}.s8{left:20%;top:71%}.s9{left:72%;top:67%}
.map-label{
  color:#1f3764;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(38,63,115,.13);
  box-shadow:0 10px 24px rgba(23,32,51,.07);
  backdrop-filter:blur(6px);
  font-size:.95rem;
}
.label-1{left:13%;top:14%}
.label-2{right:12%;top:22%}
.label-3{left:42%;bottom:15%}
.hero-copy h1{
  max-width:620px;
}
.hero-copy .lead,
.hero-sublead{
  max-width:620px;
}
@media(max-width:1100px){
  .page{width:min(100% - 32px, 1180px)}
  .landing-hero{grid-template-columns:1fr;padding:1.75rem}
  .hero-map{order:-1;min-height:370px}
}
@media(max-width:640px){
  .page{width:min(100% - 22px, 100%);padding:16px 0}
  .landing-hero{padding:1rem;border-radius:22px}
  .hero-map{min-height:260px;border-radius:18px}
  .hero-map:before{inset:22px}
  .hero-map:after{left:24px;bottom:20px;font-size:.62rem}
  .hero-map .route{height:9px}
  .hero-map .station{width:17px;height:17px;border-width:4px}
  .hero-map .interchange{width:20px;height:20px}
  .map-label{font-size:.74rem;padding:.25rem .48rem}
}

/* Schema Fresh v7E.2 landing SVG hero */
.landing-hero{
  grid-template-columns:minmax(520px,1.1fr) minmax(380px,.9fr);
  align-items:center;
}
.hero-illustration{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-illustration img{
  display:block;
  width:100%;
  max-width:760px;
  height:auto;
  border-radius:28px;
}
.hero-copy{
  max-width:620px;
}
@media(max-width:1100px){
  .landing-hero{
    grid-template-columns:1fr;
  }
  .hero-illustration{
    order:-1;
  }
  .hero-illustration img{
    max-width:100%;
  }
}

/* Schema Fresh v7F public asset library pagination + filters */
.library-filter{
  grid-template-columns:2fr 1fr 1fr 1fr 1fr .8fr auto;
}
.compact-stats .mini-stat{padding:10px 12px}
.compact-stats .mini-stat strong{font-size:22px}
.library-summary{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:.8rem 1rem;
  margin:1rem 0;
}
.asset-list-compact{display:grid;gap:.8rem}
.asset-row-compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1rem 1.1rem;
  box-shadow:0 8px 24px rgba(31,41,51,.04);
}
.asset-row-title{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  align-items:center;
}
.asset-row-title h2{
  font-size:1.06rem;
  line-height:1.25;
  margin:.1rem .35rem .1rem 0;
}
.asset-mini-meta{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:.9rem;
}
.pagination{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin:1.25rem 0;
}
.page-numbers{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
  justify-content:center;
}
.page-numbers a,.page-numbers span{
  min-width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  padding:0 .55rem;
  text-decoration:none;
  background:#fff;
  color:var(--accent);
  font-weight:800;
}
.page-numbers span.active{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
.button.disabled{
  opacity:.45;
  pointer-events:none;
}
@media(max-width:1150px){
  .library-filter{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:760px){
  .library-filter{grid-template-columns:1fr}
  .library-summary,.pagination{flex-direction:column;align-items:stretch}
  .asset-row-compact{grid-template-columns:1fr}
  .asset-actions{display:flex}
  .asset-actions .button{width:100%;text-align:center}
}

/* Schema Fresh v7F.1 library list/card view switch */
.library-filter{
  grid-template-columns:2fr 1fr 1fr 1fr 1fr .8fr .8fr auto;
}
.library-card-grid .asset-card{
  min-height:240px;
}
.library-card-grid .asset-card .asset-actions .button{
  width:100%;
  text-align:center;
}
@media(max-width:1250px){
  .library-filter{grid-template-columns:1fr 1fr 1fr 1fr}
}
@media(max-width:760px){
  .library-filter{grid-template-columns:1fr}
}

/* Schema Fresh v7F.2 GraphML edge routing controls */
.edge-route-switch .mode-pill.active{
  box-shadow:0 0 0 2px rgba(38,63,115,.12);
}
.exact-edge-smart path{
  vector-effect:non-scaling-stroke;
}
.exact-edge-direct path{
  vector-effect:non-scaling-stroke;
}

/* Schema Fresh v7F.3 yEd edge bend/smoothing preservation */
.exact-edge-yed path,
.exact-edge-orthogonal path,
.exact-edge-direct path{
  vector-effect:non-scaling-stroke;
}
.edge-route-switch .mode-pill.active{
  box-shadow:0 0 0 2px rgba(38,63,115,.12);
}

/* Schema Fresh v7F.4 yEd nested coordinate alignment */
.edge-kind-quadcurve path,
.edge-kind-splineedge path,
.edge-kind-bezieredge path{
  vector-effect:non-scaling-stroke;
}

/* Schema Fresh v7F.5 yEd shape registry support */
.exact-node-body polygon,
.exact-node-body path,
.exact-node-body ellipse,
.exact-node-body rect{
  vector-effect:non-scaling-stroke;
}

/* Schema Fresh v7G related legends below viewer */
.related-legends{
  margin:1.5rem 0 2rem;
}
.legend-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  margin:1rem 0;
  box-shadow:0 10px 28px rgba(31,41,51,.05);
  overflow:hidden;
}
.legend-panel summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  padding:1rem 1.15rem;
  border-bottom:1px solid var(--line);
}
.legend-panel summary::-webkit-details-marker{display:none}
.legend-panel summary code{
  display:block;
  margin-top:.25rem;
  font-weight:500;
}
.legend-panel-badges{
  display:flex;
  gap:.35rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.legend-render{
  padding:1rem;
}
.legend-render .viewer-card{
  box-shadow:none;
  margin:0;
}
.related-locked{
  margin:1rem;
}
.relation-form{
  margin:1rem 0;
}
.form-grid-three{
  display:grid;
  grid-template-columns:180px minmax(260px,1fr) 130px;
  gap:1rem;
  align-items:end;
}
.form-grid-three select,
.form-grid-three input{
  width:100%;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  margin:4px 0 12px;
  background:#fbfaf7;
}
@media(max-width:850px){
  .legend-panel summary{display:block}
  .legend-panel-badges{justify-content:flex-start;margin-top:.5rem}
  .form-grid-three{grid-template-columns:1fr}
}

/* Schema Fresh v8A overlay import preview */
.overlay-import-form textarea{
  width:100%;
  min-height:420px;
  font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  border:1px solid var(--line);
  border-radius:14px;
  padding:1rem;
  background:#fbfaf7;
  color:var(--ink);
  margin:.5rem 0 1rem;
}
.overlay-preview-meta{margin-top:1rem}
.code-block{
  background:#172033;
  color:#f8fafc;
  padding:1rem;
  border-radius:14px;
  overflow:auto;
}
.code-block code{background:transparent;color:inherit;padding:0}

/* Schema Fresh v8B template overlay renderer */
.overlay-head .overlay-mode-switch{margin-top:1rem}
.overlay-viewer-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:1.25rem;
  align-items:start;
}
.overlay-svg-card{padding:0;overflow:hidden}
.overlay-svg-card .visual-surface{border:0;border-radius:18px}
.overlay-sidebar{position:sticky;top:86px}
.overlay-feature-list{
  list-style:none;
  padding:0;
  margin:1rem 0;
  display:grid;
  gap:.7rem;
}
.overlay-feature-list li{
  border:1px solid var(--line);
  border-radius:14px;
  padding:.75rem .85rem;
  background:#fbfaf7;
}
.overlay-feature-list li strong{display:block}
.overlay-feature-list li span{
  display:inline-block;
  margin-top:.35rem;
  padding:.12rem .5rem;
  border-radius:999px;
  border:1px solid var(--line);
  font-size:.78rem;
  color:var(--muted);
}
.overlay-feature-list li em{
  display:inline-block;
  margin-left:.4rem;
  color:var(--muted);
  font-style:normal;
  font-size:.82rem;
}
.overlay-feature-list li p{
  margin:.45rem 0 0;
  color:var(--muted);
}
.overlay-feature-list .importance-classic{border-color:#d8a23a;background:#fff8e8}
.overlay-feature-list .importance-major{border-color:#ee8b8b;background:#fff3f3}
.overlay-feature-list .importance-danger{border-color:#b91c1c;background:#fff1f2}
.overlay-feature-list .importance-negative{border-color:#9ca3af;background:#f3f4f6}
.overlay-feature-list .importance-rare{border-color:#a78bfa;background:#f5f3ff}
@media(max-width:980px){
  .overlay-viewer-grid{grid-template-columns:1fr}
  .overlay-sidebar{position:static}
}

/* Schema Fresh v8C overlay profile admin manager */
.overlay-profile-filter{
  display:grid;
  grid-template-columns:2fr repeat(5,minmax(120px,1fr)) auto;
  gap:1rem;
  align-items:end;
}
.overlay-profile-filter input,
.overlay-profile-filter select,
.overlay-profile-edit input,
.overlay-profile-edit select,
.overlay-profile-edit textarea,
.overlay-feature-edit-table select,
.overlay-feature-edit-table input,
.overlay-feature-edit-table textarea,
.feature-add-form select,
.feature-add-form input{
  width:100%;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  margin:4px 0 12px;
  background:#fbfaf7;
}
.form-grid-four{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:1rem;
}
.overlay-profile-table .table-actions,
.overlay-feature-edit-table .table-actions{
  min-width:170px;
}
.table-actions{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  align-items:center;
}
.feature-add-form{
  display:grid;
  grid-template-columns:130px 120px 90px auto;
  gap:.5rem;
  align-items:center;
}
.pagination{
  margin-top:1rem;
  display:flex;
  gap:.4rem;
  flex-wrap:wrap;
}
.pagination a{
  padding:.35rem .7rem;
  border:1px solid var(--line);
  border-radius:10px;
  text-decoration:none;
  color:var(--ink);
  background:#fff;
}
.pagination a.active{
  background:var(--accent);
  color:#fff;
}
@media(max-width:1100px){
  .overlay-profile-filter,
  .form-grid-four,
  .feature-add-form{
    grid-template-columns:1fr;
  }
}

/* Schema Fresh v8D SVG feature inspector */
.template-inspector-picker{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto auto;
  gap:1rem;
  align-items:end;
}
.template-inspector-picker select,
.svg-inspector-table input[type="text"],
.svg-inspector-table select{
  width:100%;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfaf7;
}
.svg-inspector-table td{
  vertical-align:middle;
}
.svg-inspector-table .technical-row{
  opacity:.62;
  background:#fafafa;
}
.svg-inspector-table .technical-row code{
  color:#6b7280;
}
.svg-inspector-table input[type="checkbox"]{
  width:auto;
  transform:scale(1.15);
}
@media(max-width:900px){
  .template-inspector-picker{grid-template-columns:1fr}
  .svg-inspector-table{font-size:.9rem}
}

/* Schema Fresh v8D.1 SVG inspector empty-state + create-template fix */
.template-inspector-picker,
.schema-fallback-grid{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  gap:1rem;
  align-items:end;
}
.schema-fallback-grid-2{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(220px,360px) auto;
  gap:1rem;
  align-items:end;
}
.schema-fallback-card input,
.schema-fallback-card select,
.svg-inspector-table input[type="text"],
.svg-inspector-table select{
  width:100%;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfaf7;
}
.svg-inspector-table input[type="checkbox"]{
  width:auto;
  transform:scale(1.15);
}
@media(max-width:900px){
  .template-inspector-picker,
  .schema-fallback-grid,
  .schema-fallback-grid-2{
    grid-template-columns:1fr;
  }
}

/* Schema Fresh v8D.2 standalone overlay template creator */
.schema-create-grid{
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(220px,360px) auto;
  gap:1rem;
  align-items:end;
}
.schema-fallback-card input,
.schema-fallback-card select{
  width:100%;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfaf7;
}
.schema-help-list{line-height:1.9}
@media(max-width:900px){.schema-create-grid{grid-template-columns:1fr}}

/* Schema Fresh v8E overlay profile builder */
.overlay-new-template-picker{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto auto;
  gap:1rem;
  align-items:end;
}
.overlay-profile-builder-form input,
.overlay-profile-builder-form select,
.overlay-new-template-picker select{
  width:100%;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfaf7;
}
.overlay-new-feature-table input[type="checkbox"]{
  width:auto;
  transform:scale(1.15);
}
.overlay-new-feature-table input[type="number"]{
  min-width:80px;
}
.overlay-new-feature-table select{
  min-width:120px;
}
@media(max-width:1000px){
  .overlay-new-template-picker{
    grid-template-columns:1fr;
  }
}

/* Schema Fresh v8F overlay profile compare viewer */
.overlay-compare-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:1.25rem;
  align-items:start;
}
.overlay-compare-sidebar{
  position:sticky;
  top:86px;
}
.overlay-compare-form{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto;
  gap:1rem;
  align-items:end;
}
.overlay-compare-form select{
  width:100%;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfaf7;
}
.compare-legend{
  border:1px solid var(--line);
  border-radius:14px;
  padding:.85rem;
  background:#fbfaf7;
  margin-bottom:1rem;
}
.compare-dot{
  display:inline-block;
  width:13px;
  height:13px;
  border-radius:999px;
  margin-right:.35rem;
  vertical-align:middle;
}
.compare-dot.compare-a{background:#2563eb}
.compare-dot.compare-b{background:#dc2626}
.compare-dot.compare-both{background:#d97706}
.compare-feature-group{
  margin:1rem 0;
}
.overlay-feature-list.compact li{
  padding:.55rem .65rem;
}
@media(max-width:980px){
  .overlay-compare-grid,
  .overlay-compare-form{
    grid-template-columns:1fr;
  }
  .overlay-compare-sidebar{position:static}
}

/* Schema Fresh v8G public overlay profile library */
.overlay-library-filter{
  display:grid;
  grid-template-columns:2fr repeat(4,minmax(130px,1fr)) auto;
  gap:1rem;
  align-items:end;
}
.overlay-library-filter input,
.overlay-library-filter select{
  width:100%;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfaf7;
}
.overlay-library-summary{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin:1rem 0;
}
.overlay-library-actions{
  margin-bottom:1rem;
}
.overlay-profile-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1rem;
}
.overlay-profile-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:1rem;
  box-shadow:0 8px 24px rgba(31,41,51,.05);
}
.overlay-profile-card h2{
  margin:.35rem 0 .2rem;
}
.overlay-card-topline{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  align-items:center;
}
.compare-pick{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-weight:700;
  color:var(--accent);
}
.compare-pick input{
  width:auto;
  margin:0;
}
.overlay-card-meta{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:.25rem .6rem;
  margin:.75rem 0;
}
.overlay-card-meta dt{
  font-weight:700;
  color:var(--muted);
}
.overlay-feature-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin:.75rem 0;
}
.overlay-feature-chips span{
  display:inline-block;
  padding:.2rem .55rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fbfaf7;
  font-size:.84rem;
}
.overlay-systems{
  font-size:.9rem;
}
.overlay-library-pagination{
  margin-top:1.25rem;
}
@media(max-width:1050px){
  .overlay-library-filter{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:650px){
  .overlay-library-filter{
    grid-template-columns:1fr;
  }
  .overlay-profile-card-grid{
    grid-template-columns:1fr;
  }
}

/* Schema Fresh v8H semantic SVG binding layer */
.svg-inspector-table input[name^="feature_id"],
.svg-inspector-table input[name^="feature_role"],
.svg-inspector-table input[name^="normal_state_label"]{
  min-width:180px;
}
.svg-inspector-table input[name^="label"]{
  min-width:150px;
}
.svg-inspector-table th,
.svg-inspector-table td{
  vertical-align:top;
}
/* Schema Fresh v8I physiology disturbance overlay + stepwise renderer */
.overlay-step-switch{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.step-pill{display:inline-block;padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--accent);text-decoration:none;font-weight:700}.step-pill.active{background:var(--accent);color:#fff}.disturbance-step-group{border-top:1px solid var(--line);padding-top:.75rem;margin-top:.85rem}.disturbance-step-group h3{margin:.25rem 0 .5rem;color:var(--accent)}.disturbance-list li.state-increased{border-left:4px solid #d97706}.disturbance-list li.state-decreased{border-left:4px solid #2563eb}.disturbance-list li.state-blocked,.disturbance-list li.state-failed,.disturbance-list li.state-danger{border-left:4px solid #dc2626}.disturbance-list li.state-compensatory{border-left:4px solid #0ea5e9}.disturbance-list li.state-delayed{border-left:4px solid #7c3aed}.disturbance-list li.state-error{border-left:4px solid #f59e0b}.overlay-disturbance-edit-table select,.overlay-disturbance-edit-table input,.overlay-disturbance-edit-table textarea,.disturbance-add-form select,.disturbance-add-form input,.disturbance-add-form textarea{width:100%;padding:.45rem;border:1px solid var(--line);border-radius:9px;background:#fbfaf7;margin:.15rem 0}.overlay-disturbance-edit-table td{min-width:120px}.overlay-disturbance-edit-table td:nth-child(5){min-width:260px}.tiny-check{font-size:.85rem;color:var(--muted);display:flex;gap:.35rem;align-items:center}.tiny-check input,.disturbance-add-form input[type="checkbox"]{width:auto}

/* Schema Fresh v8J bilingual SVG label binder */
.svg-inspector-table input[name^="label_en"],
.svg-inspector-table input[name^="label_hi"],
.svg-inspector-table input[name^="label_display"]{
  min-width:170px;
}
.lang-label-both{
  display:block;
  white-space:pre-line;
}
.mode-pill.active{
  font-weight:800;
}
.overlay-feature-list strong{
  white-space:pre-line;
}

/* Schema Fresh v8K physiology case study player */
.case-player-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:1.25rem;
  align-items:start;
}
.case-map-panel .overlay-head{
  display:none;
}
.case-map-panel .overlay-viewer-grid{
  grid-template-columns:1fr;
}
.case-map-panel .overlay-sidebar{
  display:none;
}
.case-step-panel{
  position:sticky;
  top:86px;
}
.case-step-block{
  border:1px solid var(--line);
  border-radius:14px;
  padding:.8rem;
  background:#fbfaf7;
  margin:.8rem 0;
}
.case-step-block h3{
  margin:.1rem 0 .35rem;
  font-size:1rem;
}
.case-question{
  border-color:#c7d2fe;
  background:#eef2ff;
}
.case-answer{
  border-color:#fde68a;
  background:#fffbeb;
}
.case-step-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.45rem;
}
.case-step-list li a{
  display:block;
  text-decoration:none;
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:12px;
  padding:.55rem .7rem;
  background:#fff;
}
.case-step-list li.active a{
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(38,63,115,.12);
}
.case-step-list span{
  display:block;
  color:var(--muted);
  font-size:.9rem;
}
.case-step-edit-table textarea{
  min-width:220px;
}
.case-step-edit-table input[name="linked_disturbance_ids"]{
  min-width:130px;
}
@media(max-width:1080px){
  .case-player-grid{grid-template-columns:1fr}
  .case-step-panel{position:static}
}


/* Schema Fresh v8P: study typed links + core rich blocks */
.study-typed-link{display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--line);border-radius:999px;padding:.08rem .48rem;background:#fff;color:var(--accent);text-decoration:none;font-weight:700;white-space:normal}
.study-typed-link:hover{border-color:var(--accent);box-shadow:0 0 0 2px rgba(38,63,115,.10)}
.study-typed-link.link-page::before{content:"Page";font-size:.68rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.study-typed-link.link-node::before,.study-typed-link.link-graph::before{content:"Node";font-size:.68rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.study-typed-link.link-study::before{content:"Study";font-size:.68rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.study-typed-link.link-asset::before{content:"Asset";font-size:.68rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.study-typed-link.link-overlay::before{content:"Overlay";font-size:.68rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.study-typed-link.link-case::before{content:"Case";font-size:.68rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.study-typed-link.unknown{background:#fff7ed;color:#92400e}

.study-story-cover{border:1px solid var(--line);border-radius:22px;padding:24px;margin:22px 0;background:linear-gradient(135deg,#fff,#fbfaf7);box-shadow:0 12px 32px rgba(31,41,51,.06)}
.study-story-cover h2{font-size:30px;line-height:1.15;margin:.2rem 0 .4rem}
.story-cover-icon{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;background:#fff;color:var(--muted);font-size:.85rem;margin-bottom:.6rem}
.story-cover-body{margin-top:12px}
.study-story-cover.tone-blue{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff)}
.study-story-cover.tone-green{border-color:#bbf7d0;background:linear-gradient(135deg,#f0fdf4,#fff)}
.study-story-cover.tone-amber{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb,#fff)}
.study-story-cover.tone-red{border-color:#fecaca;background:linear-gradient(135deg,#fff1f2,#fff)}

.study-side-note{border-left:5px solid var(--accent2);border-radius:16px;padding:14px 16px;margin:18px 0;background:#fffdf7;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.study-side-note>strong{display:block;margin-bottom:.35rem}
.study-side-note.tone-blue{border-left-color:#2563eb;background:#eff6ff}
.study-side-note.tone-green{border-left-color:#16a34a;background:#f0fdf4}
.study-side-note.tone-red{border-left-color:#dc2626;background:#fff1f2}

.study-portal{border:1px solid var(--line);border-radius:20px;padding:18px;margin:20px 0;background:#fff;box-shadow:0 8px 24px rgba(31,41,51,.045)}
.study-portal h3{margin-top:0}
.study-portal-body p{margin:.45rem 0}
.study-portal.tone-blue{border-color:#bfdbfe}
.study-portal.tone-green{border-color:#bbf7d0}
.study-portal.tone-amber{border-color:#fde68a}


/* Schema Fresh v8Q: study scenes, columns and tables */
.study-story-scene{border:1px solid var(--line);border-radius:18px;padding:18px;margin:20px 0;background:#fff;box-shadow:0 8px 24px rgba(31,41,51,.045)}
.study-story-scene h3{margin:.1rem 0 .25rem}.story-scene-label{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--accent2);margin-bottom:.35rem}.story-scene-body{margin-top:.6rem}
.study-story-scene.tone-blue{border-color:#bfdbfe;background:#eff6ff}.study-story-scene.tone-green{border-color:#bbf7d0;background:#f0fdf4}.study-story-scene.tone-amber{border-color:#fde68a;background:#fffbeb}.study-story-scene.tone-red{border-color:#fecaca;background:#fff1f2}
.study-columns-wrap{margin:22px 0}.study-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.study-column{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 6px 18px rgba(31,41,51,.035)}.study-column h4{margin:.1rem 0 .55rem;color:var(--accent)}
.study-table-wrap{margin:22px 0}.study-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.study-table{width:100%;border-collapse:collapse}.study-table th,.study-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.study-table th{background:#fbfaf7;font-weight:800;color:var(--accent)}.study-table tr:last-child td{border-bottom:0}


/* Schema Fresh v8S: compact admin menu + grouped admin tools */
.admin-topbar-compact{align-items:flex-start;gap:16px;position:relative}
.admin-topbar-compact nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.admin-topbar-compact nav a{margin-left:0;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);border-radius:999px;padding:7px 12px;font-weight:700}
.admin-topbar-compact nav a:hover{background:rgba(255,255,255,.16)}
.admin-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.admin-tool-group{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 8px 24px rgba(31,41,51,.05)}
.admin-tool-group-head h2{margin:.1rem 0 .3rem;color:var(--accent)}
.admin-tool-group-head p{margin:0 0 14px;color:var(--muted)}
.admin-tool-list{display:grid;gap:10px}
.admin-tool-card{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:#fbfaf7;border-radius:16px;padding:13px 14px;transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease}
.admin-tool-card:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 8px 18px rgba(38,63,115,.10)}
.admin-tool-card strong{display:block;font-size:1rem;color:var(--accent);margin-bottom:3px}
.admin-tool-card span{display:block;color:var(--muted);font-size:.9rem}
@media(max-width:760px){.admin-topbar-compact{display:block}.admin-topbar-compact nav{justify-content:flex-start;margin-top:10px}.admin-tools-grid{grid-template-columns:1fr}}
