/* 物理疆界图：版式沿用基础科学栏目（首屏、分节、页脚），只用 shared-nav.css 的颜色与字体变量；分支的颜色在下面成对给出浅色和深色两套。
   宽元素都要能在约 520 px 的排版宽度里放下（Tт 放大时）：网状图在窄屏上改成上下排列。 */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--cr-nav-height,64px) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.75 var(--font-sans)}
button,input,select{font:inherit;color:inherit}
a{color:var(--accent-text)}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,.pr-cube-v:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.skip{position:fixed;top:-100px;left:16px;background:var(--accent);color:var(--accent-ink);padding:10px 14px;z-index:1000}
.skip:focus{top:calc(var(--cr-nav-height,64px) + 8px)}
main{max-width:1320px;margin:0 auto;padding:0 40px}
.pr-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--muted);margin:0 0 12px}
.muted{color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer;font-size:13px;font-weight:500}
.button:hover{background:var(--surface-2)}
.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.button.primary:hover{background:var(--accent-hover)}

/* 分支的颜色 */
:root{
  --pr-classical:#94642a;--pr-em:#a7780a;--pr-thermo:#bb532b;--pr-rel:#3767a3;--pr-quantum:#6a55a6;--pr-chem:#2c7848;
  --pr-qft:#a03a74;--pr-cm:#1c7676;--pr-cosmo:#56677e;--pr-complex:#647f1f;--pr-frontier:#3a3f3c;
  --pr-gold-text:color-mix(in srgb,var(--gold) 68%,var(--ink));
  --pr-canvas:var(--surface)}
:root[data-theme=dark]{
  --pr-classical:#d9a35f;--pr-em:#e6c04f;--pr-thermo:#f08a5d;--pr-rel:#86aee0;--pr-quantum:#b3a3e3;--pr-chem:#7cc493;
  --pr-qft:#e58fc0;--pr-cm:#6fcfcf;--pr-cosmo:#a9b8cc;--pr-complex:#b5d36a;--pr-frontier:#e6e9e4;--pr-canvas:#0e1411}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --pr-classical:#d9a35f;--pr-em:#e6c04f;--pr-thermo:#f08a5d;--pr-rel:#86aee0;--pr-quantum:#b3a3e3;--pr-chem:#7cc493;
  --pr-qft:#e58fc0;--pr-cm:#6fcfcf;--pr-cosmo:#a9b8cc;--pr-complex:#b5d36a;--pr-frontier:#e6e9e4;--pr-canvas:#0e1411}}
[data-b=classical]{--c:var(--pr-classical)}[data-b=em]{--c:var(--pr-em)}[data-b=thermo]{--c:var(--pr-thermo)}[data-b=rel]{--c:var(--pr-rel)}
[data-b=quantum]{--c:var(--pr-quantum)}[data-b=chem]{--c:var(--pr-chem)}[data-b=qft]{--c:var(--pr-qft)}[data-b=cm]{--c:var(--pr-cm)}
[data-b=cosmo]{--c:var(--pr-cosmo)}[data-b=complex]{--c:var(--pr-complex)}[data-b=frontier]{--c:var(--pr-frontier)}

/* 首屏 */
.pr-hero{padding:48px 0 20px;max-width:100ch}
.pr-hero h1{font-size:clamp(28px,3.4vw,42px);line-height:1.25;letter-spacing:-.5px;font-weight:600;margin:0 0 18px;display:flex;flex-direction:column;gap:6px}
.pr-h1-en{font:500 clamp(15px,1.6vw,19px)/1.3 var(--font-num);font-style:italic;color:var(--muted);letter-spacing:0}
:root[lang=en] .pr-h1-en{display:none}
.pr-quote{margin:0 0 18px;padding:14px 18px 14px 20px;border-left:3px solid var(--gold);background:var(--gold-soft);font:500 clamp(16px,1.7vw,19px)/1.6 var(--font-serif);color:var(--ink)}
.pr-q-en{display:block;margin-top:4px;font:italic 14px/1.5 var(--font-num);color:var(--ink-2)}
.lead{font-size:15px;line-height:1.9;color:var(--ink-2);margin:0 0 12px}
.pr-honest{margin:0 0 16px;padding:10px 14px;border-left:3px solid var(--accent-2);background:var(--accent-soft);font-size:13.5px;color:var(--ink-2)}
.pr-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0 0 18px}
.pr-stats div{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.pr-stats dt{font:600 26px/1.1 var(--font-num);color:var(--pr-gold-text)}
.pr-stats dd{margin:4px 0 0;font-size:12.5px;color:var(--muted)}
.pr-jump{display:flex;flex-wrap:wrap;gap:10px}
.pr-block{padding:34px 0 8px}
.pr-block:focus{outline:none}
.pr-block>h2{font-size:24px;font-weight:600;margin:0 0 6px;line-height:1.35}
.pr-block>.muted{margin:0 0 16px;font-size:13.5px;max-width:100ch}

/* 工具栏 */
.pr-tools{display:grid;gap:10px;margin:0 0 12px}
.pr-search input{width:min(100%,420px);min-height:40px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface)}
.pr-toggles{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:13px}
.pr-toggles label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:32px}
.pr-toggles select{min-height:32px;padding:2px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface)}
.pr-filter{display:flex;flex-wrap:wrap;gap:6px}
.pr-bchip,.pr-echip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:3px 11px;border-radius:99px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted)}
.pr-bchip::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c);opacity:.35}
.pr-bchip[aria-pressed=true]{color:color-mix(in srgb,var(--c) 75%,var(--ink));border-color:color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 10%,var(--surface))}
.pr-bchip[aria-pressed=true]::before{opacity:1}
.pr-echip[aria-pressed=true]{color:var(--ink);border-color:var(--line-strong);background:var(--surface-2)}
.pr-echip[aria-pressed=false] .pr-eline{opacity:.3}
.pr-eline{display:inline-block;width:20px;height:0;border-top:2px solid var(--pr-e);vertical-align:middle}
[data-type=explains]{--pr-e:var(--ok)}[data-type=partial]{--pr-e:var(--warn)}[data-type=fails]{--pr-e:var(--danger)}
[data-type=candidate]{--pr-e:var(--violet)}[data-type=limit]{--pr-e:var(--gold)}[data-type=builds],[data-type=replaces]{--pr-e:var(--line-strong)}
.pr-eline[data-type=partial]{border-top-style:dashed}.pr-eline[data-type=fails]{border-top-style:dashed}.pr-eline[data-type=candidate]{border-top-style:dotted;border-top-width:3px}
.pr-eline[data-type=limit]{border-top-width:2.5px}

/* 网状图 */
.pr-map{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.pr-graph-box{position:relative}
.pr-graph-wrap{position:relative;border:1px solid var(--line);border-radius:12px;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--gold) 5%,var(--pr-canvas)),var(--pr-canvas) 70%);overflow:hidden}
.pr-graph{display:block;width:100%;height:680px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;--pr-label:11.5px}
.pr-graph.pr-panning{cursor:grabbing}
.pr-zoom{position:absolute;right:10px;top:10px;display:flex;gap:4px;z-index:2}
.pr-zbtn{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line-strong);border-radius:6px;background:color-mix(in srgb,var(--surface) 88%,transparent);font-size:16px;font-weight:600;cursor:pointer;color:var(--ink)}
.pr-zbtn.pr-zfit{font-size:12px}
.pr-zbtn:hover{background:var(--surface-2)}
.pr-count{position:absolute;left:12px;bottom:8px;margin:0;font-size:11.5px;color:var(--muted);pointer-events:none;z-index:2}
.pr-edge{stroke:var(--graph-edge);stroke-width:1.1;transition:opacity .15s,stroke .15s}
.pr-edge[data-type=limit]{stroke:color-mix(in srgb,var(--gold) 55%,transparent);stroke-width:1.8}
.pr-edge[data-type=fails]{stroke-dasharray:4 3}
.pr-edge[data-type=candidate]{stroke-dasharray:1.5 3}
#pr-arrow path{fill:var(--gold)}
.pr-node circle{fill:var(--c);stroke:var(--pr-canvas);stroke-width:1.5;transition:opacity .15s}
.pr-p circle{fill:color-mix(in srgb,var(--c) 22%,var(--pr-canvas));stroke:var(--c);stroke-width:1.4}
.pr-p[data-st=open] circle{fill:var(--pr-canvas);stroke:var(--danger);stroke-width:1.6;stroke-dasharray:2.6 2}
.pr-p[data-st=predicted] circle{fill:var(--pr-canvas);stroke:var(--violet);stroke-width:1.6;stroke-dasharray:1 2}
.pr-t[data-st=candidate] circle,.pr-t[data-st=untested] circle{fill:color-mix(in srgb,var(--c) 30%,var(--pr-canvas));stroke:var(--c);stroke-width:2;stroke-dasharray:3 2}
.pr-t[data-st=historical] circle{opacity:.6}
.pr-node text{font-size:var(--pr-label);font-weight:600;fill:var(--ink-2);text-anchor:middle;paint-order:stroke;stroke:var(--pr-canvas);stroke-width:3px;stroke-linejoin:round;pointer-events:none;transition:opacity .15s}
.pr-p text{font-weight:500;fill:var(--muted);opacity:0}
.pr-near .pr-p text,.pr-all-labels .pr-p text,.pr-p.hl text,.pr-p.match text{opacity:1}
.pr-node{cursor:pointer}
.pr-node.gone,.pr-edge.gone{display:none}
/* 高亮：Obsidian 式，邻居亮起，其他变暗 */
.pr-focus .pr-node:not(.hl){opacity:.16}
.pr-focus .pr-node:not(.hl) text{opacity:0}
.pr-focus .pr-edge:not(.hl){opacity:.06}
.pr-edge.hl{stroke:var(--pr-e);stroke-width:2;opacity:1}
.pr-edge.hl[data-type=builds],.pr-edge.hl[data-type=replaces]{stroke:var(--muted)}
.pr-node.hl text{fill:var(--ink)}
.pr-node.on circle{stroke:var(--gold);stroke-width:3}
.pr-node.on text{font-weight:700;fill:var(--ink)}
.pr-searching .pr-node:not(.match){opacity:.25}
.pr-node.match circle{stroke:var(--gold);stroke-width:2.6}
.pr-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font-size:12px;color:var(--muted)}
.pr-legend span{display:inline-flex;align-items:center;gap:6px}
.pr-lg{display:inline-block;width:12px;height:12px;border-radius:50%}
.pr-lg-t{width:14px;height:14px;background:var(--pr-rel)}
.pr-lg-p{width:9px;height:9px;background:color-mix(in srgb,var(--pr-rel) 22%,var(--surface));border:1.5px solid var(--pr-rel)}
.pr-lg-open{width:10px;height:10px;border:1.6px dashed var(--danger)}
.pr-lg-pred{width:10px;height:10px;border:1.6px dotted var(--violet)}
.pr-lg-cand{width:13px;height:13px;border:2px dashed var(--pr-frontier);background:color-mix(in srgb,var(--pr-frontier) 25%,var(--surface))}

/* 侧栏 */
.pr-panel{position:sticky;top:calc(var(--cr-nav-height,64px) + 16px);padding:16px 16px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:13px;max-height:calc(100vh - var(--cr-nav-height,64px) - 40px);overflow:auto}
.pr-panel h3{margin:4px 0 6px;font-size:18px;line-height:1.4}
.pr-panel h4{margin:16px 0 6px;font-size:11.5px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}
.pr-panel p{margin:0 0 8px;color:var(--ink-2);line-height:1.75}
.pr-panel-k{display:flex;align-items:center;gap:6px;margin:0;font-size:11.5px;letter-spacing:.8px;font-weight:700;color:var(--muted);text-transform:uppercase}
.pr-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}
.pr-eq{font:13px/1.5 var(--font-mono)!important;color:var(--ink)!important;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);overflow-x:auto;white-space:nowrap}
.pr-works{padding-left:10px;border-left:3px solid color-mix(in srgb,var(--ok) 60%,transparent)}
.pr-breaks{padding-left:10px;border-left:3px solid color-mix(in srgb,var(--danger) 60%,transparent)}
.pr-hint{font-size:12px;color:var(--muted)!important}
.pr-rel{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pr-rel li{display:grid;gap:2px;justify-items:start}
.pr-rel p{margin:0;font-size:12.5px;color:var(--muted)}
.pr-tips{grid-template-columns:1fr;gap:6px}
.pr-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 10px;border-radius:99px;font-size:12.5px;font-weight:600;line-height:1.5;text-align:left;cursor:pointer;color:color-mix(in srgb,var(--c) 78%,var(--ink));background:color-mix(in srgb,var(--c) 10%,transparent);border:1px solid color-mix(in srgb,var(--c) 42%,transparent)}
.pr-chip:hover{background:color-mix(in srgb,var(--c) 18%,transparent)}
.pr-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.pr-chip-p::before{width:6px;height:6px;background:transparent;border:1.5px solid var(--c)}
.pr-chip-p[data-st=open]::before{border-color:var(--danger);border-style:dashed}
.pr-st{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;line-height:1;padding:4px 8px;border-radius:99px;border:1px solid;white-space:nowrap;vertical-align:middle}
.pr-st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pr-st[data-s=established],.pr-st[data-s=p-solved]{color:color-mix(in srgb,var(--ok) 76%,var(--ink));border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 8%,transparent)}
.pr-st[data-s=effective]{color:color-mix(in srgb,var(--info) 76%,var(--ink));border-color:color-mix(in srgb,var(--info) 45%,transparent);background:color-mix(in srgb,var(--info) 8%,transparent)}
.pr-st[data-s=leading],.pr-st[data-s=untested]{color:color-mix(in srgb,var(--warn) 76%,var(--ink));border-color:color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 9%,transparent)}
.pr-st[data-s=candidate],.pr-st[data-s=p-predicted]{color:color-mix(in srgb,var(--violet) 76%,var(--ink));border-color:color-mix(in srgb,var(--violet) 50%,transparent);background:color-mix(in srgb,var(--violet) 9%,transparent);border-style:dashed}
.pr-st[data-s=historical]{color:var(--muted);border-color:var(--line-strong)}
.pr-st[data-s=p-open]{color:color-mix(in srgb,var(--danger) 78%,var(--ink));border-color:color-mix(in srgb,var(--danger) 50%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent);border-style:dashed}

/* 立方体 */
.pr-cube{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:18px;align-items:center}
.pr-cube-svg{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.pr-cube-e{stroke:var(--line-strong);stroke-width:1.5}
.pr-cube-axis{stroke:var(--gold);stroke-width:2.2}
.pr-cube-ax{font:italic 600 15px var(--font-num);fill:var(--pr-gold-text)}
.pr-cube-v{cursor:pointer;outline:none}
.pr-cube-v circle{fill:var(--c,var(--muted));stroke:var(--surface);stroke-width:2}
.pr-cube-v:not([data-b]) circle{fill:var(--surface);stroke:var(--muted);stroke-dasharray:3 2}
.pr-cube-v text{font:600 12.5px var(--font-sans);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.pr-cube-v.on circle{stroke:var(--gold);stroke-width:3.5}
.pr-cube-v:focus-visible circle{stroke:var(--gold);stroke-width:4}
.pr-cube-info{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.pr-cube-info h3{margin:4px 0 6px;font-size:18px}
.pr-cube-info p{margin:0 0 8px;color:var(--ink-2)}

/* 疆界一览与未解决的问题 */
.pr-bounds-filter{margin:0 0 12px;font-size:13px}
.pr-bounds-filter label{display:inline-flex;align-items:center;gap:8px}
.pr-bounds-filter select{min-height:36px;padding:4px 10px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface)}
.pr-bounds,.pr-open{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}
.pr-bound,.pr-oq{padding:14px 16px;border:1px solid var(--line);border-top:3px solid var(--c);border-radius:8px;background:var(--surface)}
.pr-bound header,.pr-oq header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 8px}
.pr-bound h3,.pr-oq h3{margin:0;font-size:15.5px;flex:1 1 auto}
.pr-link{padding:0;border:0;background:none;cursor:pointer;font-weight:600;text-align:left;color:var(--ink)}
.pr-link:hover{color:var(--accent-text);text-decoration:underline}
.pr-bound dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 10px;font-size:13px}
.pr-bound dt{font-size:11.5px;font-weight:700;color:var(--muted);padding-top:2px;white-space:nowrap}
.pr-bound dd{margin:0;color:var(--ink-2);line-height:1.7}
.pr-oq{border-top-color:var(--danger)}
.pr-oq>p{margin:0 0 8px;font-size:13px;color:var(--ink-2);line-height:1.75}
.pr-oq-k{margin:8px 0 4px!important;font-size:11.5px!important;font-weight:700;color:var(--muted)!important}
.pr-inline{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pr-inline li{display:contents}

.pr-foot{padding:34px 0 46px;margin-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.pr-foot strong{color:var(--ink)}
.pr-foot p{margin:6px 0 0}

@media (max-width:1020px){
  .pr-map{grid-template-columns:1fr}
  .pr-panel{position:static;max-height:none}
  .pr-graph{height:560px}
  .pr-cube{grid-template-columns:1fr}
}
@media (max-width:720px){
  main{padding:0 16px}
  .pr-hero{padding-top:30px}
  .pr-graph{height:460px}
  .pr-bounds,.pr-open{grid-template-columns:1fr}
  .pr-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .pr-bchip,.pr-echip{flex:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pr-edge,.pr-node circle,.pr-node text{transition:none}}
.pr-cube-k{text-transform:none!important;font:italic 600 13px var(--font-num)!important;letter-spacing:0!important;color:var(--pr-gold-text)!important}

/* 双摆演示（“分析力学”和“混沌”节点的面板里） */
.pr-dp{margin-top:14px;padding-top:2px;border-top:1px solid var(--line)}
.pr-dp-cv{display:block;width:100%;height:auto;margin:8px 0;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.pr-dp-btns{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.pr-dp-btns .button{min-height:36px;padding:6px 14px}
.pr-dp-sliders{display:grid;gap:4px}
.pr-dp-sliders label{display:flex;flex-direction:column;font-size:12px;color:var(--ink-2)}
.pr-dp-sliders label>span{display:flex;align-items:center;gap:10px}
.pr-dp-sliders input[type=range]{flex:1;min-width:0;height:28px;accent-color:var(--accent)}
.pr-dp-sliders output{min-width:44px;text-align:right;font:500 12.5px/1.2 var(--font-num);color:var(--ink)}
.pr-dp-read{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:12px}
.pr-dp-read dt{color:var(--muted)}
.pr-dp-read dd{margin:0;text-align:right;font:500 12.5px/1.45 var(--font-num);color:var(--ink);overflow-wrap:anywhere}
.pr-dp-notes{margin-top:8px;font-size:12.5px}
.pr-dp-notes summary{cursor:pointer;font-weight:600;color:var(--accent-text);min-height:32px;display:flex;align-items:center}
.pr-dp-notes p{margin:6px 0 0;font-size:12.5px}
@media (max-width:1020px){.pr-dp-cv{max-width:480px}}
