/* The Home control surface projects saved records, with one clear reading order. */
.project-overview { grid-template-columns:280px minmax(0,1fr); background:var(--pv-bg); color:var(--pv-ink); font-size:14px; line-height:1.45; }
.project-overview .overview-sidebar { padding:0; background:var(--pv-surface); border-right:1px solid var(--pv-line); }
.overview-sidebar .ov-rail-body { display:flex; flex-direction:column; gap:26px; padding:20px 20px 28px; }
.overview-sidebar h2 { margin:0 0 10px; color:var(--pv-muted); font-size:12px; font-weight:600; letter-spacing:0; }
.overview-sidebar nav { display:grid; gap:3px; margin:0 -8px 10px; }
.overview-sidebar nav button { min-width:0; min-height:35px; padding:7px 8px; justify-content:flex-start; gap:9px; border:0; border-radius:7px; background:transparent; color:var(--pv-ink-2); font-size:13px; text-align:left; }
.overview-sidebar nav button > span:last-child:not(.ov-icon-square) { margin-left:auto; }
.overview-sidebar nav button:hover,.ov-upcoming-row:hover { background:var(--pv-surface-2); }
.overview-sidebar nav .ov-icon-square { width:19px; height:19px; border-radius:0; background:transparent; }
.overview-sidebar nav .ov-phase-row > span { margin-left:0; flex:1; }
.overview-sidebar nav small { display:inline; color:var(--pv-muted); font-size:12px; }
.overview-sidebar .ov-section { padding:0; border:0; border-radius:0; background:transparent; }
.overview-sidebar .ov-section h2 { color:var(--pv-muted); font-size:12px; }
.overview-sidebar .ov-section-head { gap:8px; margin-bottom:8px; }
.overview-sidebar .ov-section-head h2 { margin:0; }
.overview-sidebar .ov-section-head .ov-link { font-size:11px; }
.overview-sidebar .ov-team-row { padding:7px 0; }
.overview-sidebar .ov-team-row strong { font-size:13px; }
.overview-sidebar .ov-team-row small,.overview-sidebar .ov-team-location { font-size:11px; color:var(--pv-muted); }
.overview-sidebar .ov-presence-label { font-size:10px; color:var(--pv-muted); }
.overview-sidebar .ov-footnote { margin-top:10px; }
.ov-upcoming-row { width:100%; display:flex; gap:10px; align-items:center; padding:8px 0; text-align:left; border:0; border-radius:7px; color:var(--pv-ink); background:transparent; }
.ov-upcoming-row > span:last-child { min-width:0; }
.ov-upcoming-row strong,.ov-upcoming-row small { display:block; overflow-wrap:anywhere; font-size:12px; }
.ov-upcoming-row strong { font-weight:500; }
.ov-upcoming-row small { margin-top:3px; font-size:11px; color:var(--pv-muted); }
.ov-date-box { width:34px; flex:none; text-align:center; border:1px solid var(--pv-line); border-radius:7px; padding:3px 0; font-size:9px; color:var(--pv-muted); }
.ov-date-box b { display:block; color:var(--pv-ink); font-size:14px; }
.project-overview .ov-main { display:flex; flex-direction:column; align-items:stretch; gap:20px; padding:28px 32px 48px; }
.project-overview .ov-header { padding:0; border:0; align-items:center; gap:14px; flex-wrap:wrap; }
.ov-home-title { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.project-overview .ov-title-button { gap:8px; }
.project-overview .ov-title-button h1 { margin:0; font-size:24px; line-height:1.2; font-weight:600; letter-spacing:-.3px; }
.project-overview .ov-title-button > span { color:var(--pv-muted); font-size:14px; }
.project-overview .ov-objective { margin:7px 0 10px; max-width:800px; color:var(--pv-muted); font-size:12px; }
.project-overview .ov-objective .ov-link { margin-left:5px; font-size:12px; }
.ov-header-team { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-left:auto; }
.ov-avatar-stack { display:flex; padding-left:5px; }
.ov-avatar-stack .ov-avatar { margin-left:-5px; border:2px solid var(--pv-bg); }
.project-overview .ov-avatar { width:30px; height:30px; background:var(--pv-accent-tint); color:var(--pv-accent-ink); font-size:10px; }
.project-overview .ov-avatar[data-online=true]:after { background:var(--pv-ok); border-color:var(--pv-surface); }
.project-overview .ov-live-presence { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--pv-muted); }
.ov-live-presence i { width:6px; height:6px; border-radius:50%; background:var(--pv-muted); }
.ov-live-presence[data-online=true] i { background:var(--pv-ok); }
.ov-phase-mini { display:flex; gap:10px; flex-wrap:wrap; }
.ov-phase-mini button { display:flex; align-items:center; gap:5px; color:var(--pv-muted); font-size:11px; background:transparent; padding:0; }
.ov-phase-mini button span { color:var(--pv-ink-2); }
.ov-phase-dot { display:inline-block; width:7px; height:7px; flex:none; border-radius:50%; background:var(--pv-warn); }
.ov-phase-dot.phase-1 { background:var(--pv-accent); }
.ov-phase-dot.phase-2 { background:var(--pv-ok); }
.ov-phase-dot.phase-3 { background:var(--pv-purple,#7461a3); }
.project-overview .ov-link { color:var(--pv-accent-ink); font-size:12px; font-weight:500; }
.project-overview .button { min-height:32px; padding:6px 11px; border:1px solid var(--pv-line); border-radius:7px; background:var(--pv-surface); color:var(--pv-ink); font-size:12px; font-weight:500; }
.project-overview .button:hover { background:var(--pv-surface-2); }
.project-overview .button.gold { border-color:transparent; background:var(--pv-accent); color:#fff; }
.project-overview .button:disabled { opacity:.5; cursor:default; }
.project-overview .ov-status { padding:3px 9px; border-radius:999px; background:var(--pv-bg); color:var(--pv-ink-2); font-size:11px; font-weight:500; }
.project-overview .ov-status[data-status=running],.project-overview .ov-status[data-status=active] { background:var(--pv-accent-tint); color:var(--pv-accent-ink); }
.project-overview .ov-status[data-status=completed],.project-overview .ov-status[data-status=ready] { background:var(--pv-ok-tint); color:var(--pv-ok); }
.project-overview .ov-status[data-status=failed],.project-overview .ov-status[data-status=blocked],.project-overview .ov-status[data-status=planning] { background:var(--pv-warn-tint); color:var(--pv-warn); }
.project-overview .ov-section { margin:0; padding:18px 20px; border:1px solid var(--pv-line); border-radius:12px; background:var(--pv-surface); }
.project-overview .ov-section h2,.project-overview .ov-live h2 { color:var(--pv-ink); font-size:14px; font-weight:600; letter-spacing:0; margin:0; }
.project-overview .ov-section-head { margin-bottom:12px; }
.project-overview .ov-subtle,.project-overview .ov-muted { font-size:12px; color:var(--pv-muted); }
.project-overview .ov-muted { margin:0; }
.project-overview .ov-footnote { font-size:11px; color:var(--pv-muted); }
.ov-icon-square { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:7px; background:var(--pv-surface-2); color:var(--pv-muted); }
.ov-icon-square svg { width:17px; height:17px; }
.ov-icon-square.activity,.ov-icon-square.experiment,.ov-icon-square.run { background:var(--pv-accent-tint); color:var(--pv-accent-ink); }
.ov-icon-square.decision,.ov-icon-square.timer { background:var(--pv-ok-tint); color:var(--pv-ok); }
.ov-icon-square.deadline,.ov-icon-square.attention,.ov-icon-square.stock { background:var(--pv-warn-tint); color:var(--pv-warn); }
.project-overview .ov-pulse li { gap:11px; padding:10px 0; border-color:var(--pv-line-2); align-items:center; }
.project-overview .ov-pulse li:first-child { border:0; padding-top:0; }
.project-overview .ov-pulse li:last-child { padding-bottom:0; }
.project-overview .ov-pulse .ov-link,.project-overview .ov-pulse strong { color:var(--pv-ink); font-size:13px; font-weight:500; }
.project-overview .ov-pulse .ov-link > span { display:none; }
.project-overview .ov-pulse small { display:block; margin-top:3px; color:var(--pv-muted); font-size:12px; line-height:1.4; }
.project-overview .ov-pulse time { display:inline; width:auto; font-size:inherit; color:inherit; padding:0; }
.project-overview .ov-now-grid { display:flex; flex-direction:column; gap:0; }
.ov-queue-row { display:flex; align-items:center; gap:12px; width:100%; min-width:0; padding:10px 0; text-align:left; color:var(--pv-ink); border:0; border-bottom:1px solid var(--pv-line-2); background:transparent; }
.ov-queue-row:last-child { border-bottom:0; padding-bottom:0; }
.ov-queue-row:first-child { padding-top:0; }
.ov-queue-row > span:not(.ov-icon-square) { flex:1; min-width:0; }
.ov-queue-row strong { display:block; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.ov-queue-row small { display:block; font-size:12px; color:var(--pv-muted); margin-top:3px; overflow-wrap:anywhere; }
.ov-queue-row > b { color:var(--pv-muted); font-weight:400; }
.ov-queue-row:hover strong { color:var(--pv-accent-ink); }
.ov-more-queue summary { margin:12px 0; font-size:12px; color:var(--pv-accent-ink); cursor:pointer; }
.project-overview .ov-start-here { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:12px 16px; border:1px dashed var(--pv-line); border-radius:12px; background:var(--pv-surface); }
.ov-start-here > div:first-child { display:flex; align-items:center; gap:10px; flex:1; min-width:180px; font-size:13px; color:var(--pv-muted); }
.ov-start-here .ov-icon-square { background:transparent; }
.ov-start-here strong { color:var(--pv-ink); font-weight:500; }
.ov-start-here .ov-empty-actions { margin:0; flex:none; }
.ov-live-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); gap:14px; }
.ov-live-card { display:flex; align-items:center; gap:16px; position:relative; overflow:hidden; min-width:0; padding:16px 18px; border:1px solid var(--pv-accent); border-radius:12px; background:var(--pv-accent-tint); color:var(--pv-ink); text-align:left; }
.ov-live-card > span:first-child { min-width:0; flex:1; }
.ov-live-card strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:500; }
.ov-live-card small { display:block; margin-top:5px; color:var(--pv-muted); font-size:12px; overflow-wrap:anywhere; }
.ov-live-card.plain { border-color:var(--pv-line); background:var(--pv-surface); }
.ov-live-card.ready { border-color:var(--pv-ok); background:var(--pv-ok-tint); }
.ov-timer { font:24px/1.2 ui-monospace,SFMono-Regular,monospace; font-variant-numeric:tabular-nums; color:var(--pv-accent-ink); }
.ov-live-card.ready .ov-timer { color:var(--pv-ok); font-size:20px; }
.ov-timer-progress { height:3px; position:absolute; bottom:0; left:0; background:var(--pv-accent); }
.ov-live-card.ready .ov-timer-progress { background:var(--pv-ok); }
.project-overview .ov-week-section { padding:14px 16px; }
.ov-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.ov-week-day { display:flex; flex-direction:column; gap:4px; min-width:0; min-height:116px; padding:8px 6px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--pv-ink); text-align:left; }
.ov-week-day:hover { background:var(--pv-surface-2); }
.ov-week-day.today { background:var(--pv-accent-tint); border-color:var(--pv-line); }
.ov-week-day-head { display:flex; justify-content:space-between; align-items:center; gap:3px; margin-bottom:5px; color:var(--pv-muted); font-size:11px; }
.ov-week-day-head b { color:var(--pv-ink); font-size:13px; font-weight:500; }
.ov-week-day small { font-size:10px; color:var(--pv-muted); }
.ov-week-event { display:block; padding:3px 5px; border-radius:4px; background:var(--pv-accent-tint); color:var(--pv-accent-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; max-width:100%; }
.ov-week-event.deadline { background:var(--pv-warn-tint); color:var(--pv-warn); }
.ov-week-event.timer,.ov-week-event.decision { background:var(--pv-ok-tint); color:var(--pv-ok); }
.ov-week-event.run { background:var(--pv-surface-2); color:var(--pv-muted); }
.ov-resource-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr)); gap:12px; }
.project-overview .ov-action { padding:12px; border:1px solid var(--pv-line); border-radius:9px; background:var(--pv-surface-2); }
.project-overview .ov-action strong { font-size:13px; font-weight:500; }
.project-overview .ov-action p { font-size:12px; color:var(--pv-muted); }
.project-overview .ov-recent-runs summary { color:var(--pv-accent-ink); font-size:12px; }
.project-overview .ov-recent-runs button { border-color:var(--pv-line-2); color:var(--pv-ink); font-size:12px; }
.project-overview .ov-recent-runs small { color:var(--pv-muted); }
.ov-workflow-details { margin-top:12px; min-width:0; }
.ov-workflow-details > summary { cursor:pointer; font-size:12px; color:var(--pv-muted); }
.project-overview .ov-workflow-details .ov-workflow { padding-top:12px; }
.ov-workflow-details .ov-section-head { flex-wrap:wrap; }
.ov-workflow-details .ov-workflow-controls { max-width:100%; justify-content:flex-start; }
.ov-workflow-details .ov-workflow-controls select { max-width:210px; color:var(--pv-ink); background:var(--pv-surface); border-color:var(--pv-line); }
.ov-workflow-details .ov-workflow-progress { font-size:10px; color:var(--pv-muted); }
.ov-workflow-details .ov-workflow-lanes { flex-direction:column; gap:10px; width:100%; }
.ov-workflow-details .ov-workflow-lane { width:100%; }
.ov-workflow-details .ov-node { border-color:var(--pv-line); background:var(--pv-surface-2); color:var(--pv-ink); min-height:90px; }
.ov-workflow-details .ov-workflow-lane:not(:last-child) .ov-node:after { display:none; }
.ov-workflow-details .ov-node[data-status=running] { background:var(--pv-accent-tint); border-color:var(--pv-accent); }
.ov-workflow-details .ov-node[data-status=completed] { background:var(--pv-ok-tint); }
.ov-workflow-details .ov-node small,.ov-workflow-details .ov-node-type,.ov-workflow-details .ov-step-preview { color:var(--pv-muted); }
.ov-workflow-details .ov-step-preview strong { color:var(--pv-ink-2); }
.project-overview .ov-recorded-gap { margin:14px 0 0; padding:12px 14px; border-color:var(--pv-line); border-radius:8px; background:var(--pv-warn-tint); color:var(--pv-warn); gap:12px; }
.project-overview .ov-recorded-gap h2,.project-overview .ov-gap-target,.project-overview .ov-gap-provenance,.project-overview .ov-gap-revised { color:var(--pv-warn); }
.project-overview .ov-recorded-gap h2 { font-size:12px; }
.project-overview .ov-notice { margin:0; border-color:var(--pv-line); border-radius:8px; background:var(--pv-warn-tint); color:var(--pv-warn); font-size:13px; }
.project-overview .ov-skeleton { background:var(--pv-line); }
.project-overview :focus-visible { outline-color:var(--pv-accent); }
@media(max-width:1150px) { .project-overview .ov-main { padding:24px; } .ov-header-team { margin-left:0; } }
@media(max-width:850px) { .project-overview { display:grid; grid-template-columns:280px minmax(0,1fr); } .project-overview .overview-sidebar { display:flex; border-bottom:0; } .overview-sidebar .ov-rail-body { padding:20px 16px; } .overview-sidebar nav { overflow:visible; } .project-overview .ov-main { padding:24px 20px; } }
@media(max-width:620px) { .project-overview .ov-main { padding:20px 14px 36px; gap:16px; } .project-overview .ov-title-button h1 { font-size:22px; } .project-overview .ov-section { padding:16px; } .project-overview .ov-section-head { flex-wrap:wrap; } .ov-week { gap:1px; } .ov-week-day { padding:6px 2px; min-height:94px; } .ov-week-day-head { flex-direction:column; gap:4px; } .ov-week-event { padding:3px 2px; font-size:9px; } .project-overview .ov-week-section { padding:12px 8px; } .ov-week-day small { font-size:9px; } .ov-header-team { gap:9px; } .ov-start-here .ov-empty-actions .button { min-height:34px; } }
@media(prefers-reduced-motion:reduce) { .project-overview * { scroll-behavior:auto; } }
/* Context sections remain unboxed even when they share main-card classes. */
.project-overview .overview-sidebar .ov-section { padding:0; border:0; border-radius:0; background:transparent; }
.project-overview .overview-sidebar .ov-section h2 { color:var(--pv-muted); font-size:12px; }
/* Project home modules: Progress · Recent activity · Biology · Structure, after Up next. */
.ov-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ov-grid > .ov-section { min-width:0; display:flex; flex-direction:column; }
.ov-now .ov-live { margin-bottom:14px; }
.ov-now .ov-start-here { margin-bottom:14px; }
.ov-progress-body { display:grid; grid-template-columns:150px minmax(0,1fr); gap:18px; align-items:center; }
.ov-ring { position:relative; margin:0; width:150px; height:150px; }
.ov-ring svg { width:100%; height:100%; }
.ov-ring-track { fill:none; stroke:var(--pv-line-2); stroke-width:9; }
.ov-ring-value { fill:none; stroke:var(--pv-accent); stroke-width:9; stroke-linecap:round; }
.ov-ring figcaption { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.ov-ring figcaption strong { font-size:26px; font-weight:600; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.ov-ring figcaption small { color:var(--pv-muted); font-size:11px; max-width:90px; line-height:1.3; }
.ov-progress-rows { display:grid; gap:2px; }
.ov-progress-row { display:flex; align-items:center; gap:12px; width:100%; padding:9px 8px; border:0; border-radius:8px; background:transparent; color:var(--pv-ink); text-align:left; }
.ov-progress-row:hover { background:var(--pv-surface-2); }
.ov-progress-copy { flex:1; min-width:0; }
.ov-progress-row strong { display:block; font-size:13px; font-weight:500; }
.ov-progress-row small { display:block; color:var(--pv-muted); font-size:11.5px; margin-top:2px; }
.ov-progress-row b { font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; }
.ov-progress-row > span[aria-hidden] { color:var(--pv-muted); }
.ov-bio-list { display:grid; gap:4px; }
.ov-bio-row { display:flex; align-items:flex-start; gap:12px; width:100%; padding:9px 8px; border:0; border-radius:8px; background:transparent; color:var(--pv-ink); text-align:left; }
.ov-bio-row:hover { background:var(--pv-surface-2); }
.ov-bio-row .ov-icon-square.design { background:var(--pv-accent-tint); color:var(--pv-accent-ink); width:44px; height:44px; border-radius:9px; }
.ov-bio-copy { flex:1; min-width:0; }
.ov-bio-row strong { display:block; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.ov-bio-row small { display:block; color:var(--pv-muted); font-size:11.5px; margin-top:2px; }
.ov-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.ov-tags em { font-style:normal; font-size:11px; padding:2px 8px; border-radius:999px; background:var(--pv-surface-2); border:1px solid var(--pv-line-2); color:var(--pv-ink-2); }
.ov-bio-actions { margin-top:auto; padding-top:10px; }
.ov-module-empty { display:grid; gap:6px; justify-items:start; padding:6px 0; }
.ov-module-empty p { margin:0; font-size:13px; }
.ov-module-empty .button { margin-top:6px; }
.ov-structure-figure { margin:0; display:flex; flex-direction:column; gap:10px; flex:1; }
.ov-structure-figure svg { width:100%; height:auto; max-height:230px; border-radius:8px; background:var(--pv-surface-2); }
.ov-structure-placeholder { display:grid; place-items:center; min-height:180px; border-radius:8px; border:1px dashed var(--pv-line); color:var(--pv-muted); font-size:12px; text-align:center; padding:12px; }
.ov-structure-figure figcaption strong { display:block; font-size:13px; font-weight:500; }
.ov-structure-figure figcaption small { display:block; color:var(--pv-muted); font-size:11.5px; margin-top:2px; }
.ov-avatar-small { width:26px; height:26px; font-size:9px; flex:none; }
.project-overview .ov-pulse li { align-items:flex-start; }
.ov-run-menu .t-menu-list { right:0; }
@media(max-width:1000px) { .ov-grid { grid-template-columns:1fr; } }
@media(max-width:620px) { .ov-progress-body { grid-template-columns:1fr; justify-items:center; } .ov-progress-rows { width:100%; } }
.ov-progress-row small.warn { color:var(--pv-warn); }
/* Structure: one stage, the projected preview until the 3D renderer takes over; an arrow into Design. */
.ov-structure-stage { position:relative; min-height:230px; border-radius:8px; overflow:hidden; background:var(--pv-surface-2); }
.ov-structure-stage > svg { display:block; width:100%; height:auto; max-height:260px; }
.ov-structure-3d { position:absolute; inset:0; }
.ov-structure-3d canvas { border-radius:8px; }
.ov-structure-stage .ov-structure-placeholder { min-height:230px; border:0; }
.ov-structure-controls { display:inline-flex; gap:2px; padding:2px; border:1px solid var(--pv-line); border-radius:8px; background:var(--pv-surface); }
.ov-structure-controls button { border:0; border-radius:6px; padding:4px 10px; font-size:12px; color:var(--pv-muted); background:transparent; }
.ov-structure-controls button[aria-pressed=true] { background:var(--pv-accent-tint); color:var(--pv-accent-ink); font-weight:600; }
.ov-structure-explore { position:absolute; right:10px; bottom:10px; z-index:2; display:inline-flex; align-items:center; gap:8px; padding:7px 10px 7px 12px; border:1px solid var(--pv-line); border-radius:999px; background:var(--pv-surface); color:var(--pv-ink); font-size:12px; font-weight:500; box-shadow:0 4px 14px #17191c14; }
.ov-structure-explore b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--pv-accent); color:var(--pv-on-accent); font-weight:600; }
.ov-structure-explore:hover { border-color:var(--pv-accent); }
.ov-structure-explore:disabled { opacity:.6; }
.ov-structure-figure figcaption { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; align-items:center; }
.ov-structure-figure figcaption strong { grid-column:1; }
.ov-structure-figure figcaption small { grid-column:1; }
.ov-structure-figure figcaption .ov-link { grid-column:2; grid-row:1 / span 2; }
/* Reading: sources you saved, and curated notes that match the biology. */
.ov-tabs { display:inline-flex; gap:2px; padding:2px; border:1px solid var(--pv-line); border-radius:8px; background:var(--pv-surface); margin-left:auto; }
.ov-tabs button { border:0; border-radius:6px; padding:4px 10px; font-size:12px; color:var(--pv-muted); background:transparent; display:inline-flex; gap:6px; align-items:center; }
.ov-tabs button small { font-size:11px; color:var(--pv-muted); }
.ov-tabs button[aria-selected=true] { background:var(--pv-accent-tint); color:var(--pv-accent-ink); font-weight:600; }
.ov-reading .ov-section-head { gap:12px; flex-wrap:wrap; }
.ov-reading .ov-section-head .ov-link { margin-left:8px; }
.ov-reading-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:8px; }
.ov-reading-list a { display:block; padding:10px 12px; border:1px solid var(--pv-line-2); border-radius:8px; color:var(--pv-ink); text-decoration:none; background:var(--pv-surface); }
.ov-reading-list a:hover { border-color:var(--pv-accent); }
.ov-reading-list strong { display:block; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.ov-reading-list small { display:block; margin-top:3px; color:var(--pv-muted); font-size:11.5px; overflow-wrap:anywhere; }
@media(max-width:620px) { .ov-tabs { margin-left:0; } .ov-structure-explore span { display:none; } .ov-structure-explore { padding:6px; border-radius:50%; } }
.ov-structure-3d .j-molecular-label { display:none; }
/* Project Wiki (compiled) */
.pw .pw-head{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start;margin-bottom:16px}.pw h1{margin:4px 0 8px;font:600 28px/1.15 var(--sans-app);letter-spacing:-.3px}.pw-lede{margin:0;font-size:15px;line-height:1.55;color:var(--pv-ink-2)}
.pw-infobox{padding:12px 14px;border:1px solid var(--pv-line);border-radius:10px;background:var(--pv-surface-2)}.pw-infobox h3{margin:0 0 8px;font:600 14px var(--sans-app);text-align:center}.pw-infobox dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:12.5px}.pw-infobox dt{color:var(--pv-muted)}.pw-infobox dd{margin:0;font-weight:600}.pw-infobox-note{margin:10px 0 0;font-size:11.5px;color:var(--pv-muted)}
.pw-toc{display:inline-block;margin:0 0 18px;padding:10px 16px;border:1px solid var(--pv-line);border-radius:8px;background:var(--pv-surface-2)}.pw-toc strong{display:block;margin-bottom:4px;font-size:13px}.pw-toc ol{list-style:none;margin:0;padding:0;columns:2;column-gap:24px;font-size:13px}.pw-toc a{color:var(--pv-accent-ink);text-decoration:none}.pw-toc a:hover{text-decoration:underline}
.pw section{margin:0 0 18px}.pw section h2{margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--pv-line);font:600 18px var(--sans-app)}
.pw-list{margin:0 0 8px;padding-left:18px;font-size:13.5px;line-height:1.55}.pw-list p{margin:2px 0 0;color:var(--pv-ink-2)}.pw-list small{color:var(--pv-muted)}
.pw-bar{height:8px;border-radius:999px;background:var(--pv-surface-2);overflow:hidden;margin:8px 0}.pw-bar span{display:block;height:100%;background:var(--pv-accent)}
.pw-timeline{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px;font-size:13px}.pw-timeline li{display:flex;gap:12px}.pw-timeline time{flex:none;min-width:92px;color:var(--pv-muted)}
@media(max-width:800px){.pw .pw-head{grid-template-columns:1fr}.pw-toc ol{columns:1}}
