:root {
  --ink: #141414;
  --muted: #686868;
  --soft: #f4f2ee;
  --paper: #fbfaf7;
  --line: #dad7d0;
  --accent: #9a4f46;
  --accent-soft: #ead7d3;
  --olive: #67715a;
  --sand: #b79061;
  --white: #ffffff;
  --shadow: 0 22px 55px rgba(25, 22, 18, 0.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, "SF Pro Display", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.7;
}
button, a { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }

.progress { position: fixed; inset: 0 0 auto 0; height: 3px; background: transparent; z-index: 200; }
.progress span { display: block; height: 100%; width: 0; background: var(--accent); transition: width .08s linear; }

.container { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }

.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(251, 250, 247, .88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(218, 215, 208, .75);
}
.nav-wrap { min-height: 76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--ink); font-size:11px; font-weight:700; letter-spacing:.05em; }
.brand-copy { display:flex; flex-direction:column; line-height:1.1; }
.brand-copy strong { font-size:12px; letter-spacing:.14em; }
.brand-copy small { margin-top:4px; color:var(--muted); font-size:9px; letter-spacing:.18em; }
.main-nav { display:flex; gap:28px; align-items:center; }
.main-nav a { font-size:12px; color:#555; transition:color .2s ease; position:relative; padding:4px 0; }
.main-nav a:hover { color:var(--ink); }
.main-nav a.active { color:var(--ink); font-weight:600; }
.main-nav a.active::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--accent); }
section[id], footer[id] { scroll-margin-top:90px; }
.menu-btn { display:none; border:0; background:transparent; font-size:22px; }
.mobile-nav { display:none; padding:8px 32px 22px; border-top:1px solid var(--line); }
.mobile-nav a { display:block; padding:9px 0; font-size:14px; }

.hero {
  min-height: 790px;
  padding: 92px 0 34px;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 74% 30%, rgba(234,215,211,.72), transparent 25%),
    linear-gradient(180deg, #fbfaf7 0%, #f7f5f0 100%);
}
.hero-grid { display:grid; grid-template-columns: 1.08fr .92fr; gap:60px; align-items:center; }
.kicker, .section-index { font-size:11px; letter-spacing:.16em; color:var(--accent); font-weight:700; }
.hero h1 { margin:20px 0 28px; font-size:clamp(62px, 8vw, 112px); line-height:.9; letter-spacing:-.07em; font-weight:700; }
.hero h1 em { font-family: Georgia, serif; font-weight:400; letter-spacing:-.07em; color:var(--accent); }
.hero-intro { font-size:17px; color:#5d5d5a; max-width:640px; }
.hero-actions { display:flex; align-items:center; gap:24px; margin-top:36px; }
.btn { border-radius:999px; padding:13px 20px; display:inline-flex; align-items:center; gap:14px; border:1px solid transparent; transition:transform .2s ease, background .2s ease, color .2s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-dark { background:var(--ink); color:var(--white); }
.btn-light { background:rgba(255,255,255,.06); color:var(--white); border-color:rgba(255,255,255,.2); }
.text-link { font-size:13px; color:#555; }
.text-link:hover { color:var(--accent); }

.hero-visual { min-height:500px; position:relative; display:grid; place-items:center; }
.hero-orbit { position:absolute; border:1px solid rgba(154,79,70,.28); border-radius:50%; }
.orbit-1 { width:290px; height:290px; }
.orbit-2 { width:410px; height:410px; transform:rotate(23deg) scaleY(.72); }
.orbit-3 { width:510px; height:510px; transform:rotate(-22deg) scaleY(.48); }
.hero-core { width:190px; height:190px; border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; background:var(--ink); color:var(--white); box-shadow:var(--shadow); z-index:2; }
.hero-core span { font-size:10px; letter-spacing:.22em; color:#a7a7a7; }
.hero-core strong { font-size:28px; letter-spacing:.04em; }
.hero-node { position:absolute; display:flex; gap:8px; align-items:center; padding:10px 14px; background:rgba(251,250,247,.92); border:1px solid var(--line); font-size:11px; letter-spacing:.1em; z-index:3; }
.hero-node span { color:var(--accent); font-size:9px; }
.node-into { top:80px; left:18%; }
.node-for { right:8%; top:48%; }
.node-through { bottom:65px; left:22%; }
.hero-caption { position:absolute; bottom:18px; right:0; font-size:10px; letter-spacing:.12em; color:#8a8882; }
.hero-footer { margin-top:54px; padding-top:18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; color:#7c7a74; font-size:9px; letter-spacing:.14em; }

.section { padding:118px 0; }
.framework-section { background:var(--soft); }
.section-top { display:grid; grid-template-columns:1fr .7fr; gap:50px; margin-bottom:52px; }
.section-top h2, .process-head h2 { margin:10px 0 0; font-size:clamp(42px, 6vw, 72px); line-height:1.05; letter-spacing:-.06em; }
.section-top h2 span { font-family:Georgia, serif; font-weight:400; color:var(--accent); }
.section-note { align-self:end; color:#6e6c66; max-width:460px; font-size:14px; }

.framework-card { background:rgba(255,255,255,.58); border:1px solid var(--line); box-shadow:var(--shadow); }
.framework-legend { display:flex; flex-wrap:wrap; gap:18px 24px; padding:16px 22px; border-bottom:1px solid var(--line); font-size:10px; color:#696761; letter-spacing:.05em; }
.framework-legend span { display:flex; align-items:center; gap:7px; }
.legend-chip { width:8px; height:8px; display:inline-block; border-radius:50%; }
.legend-object { background:var(--accent); }
.legend-action { background:var(--olive); }
.legend-practice { background:var(--sand); }
.line-key { width:28px; height:1px; background:#9f9c94; display:inline-block; position:relative; }
.line-key::before, .line-key::after { content:""; position:absolute; top:50%; width:4px; height:4px; border-top:1px solid #9f9c94; border-right:1px solid #9f9c94; transform:translateY(-50%) rotate(45deg); }
.line-key::before { left:-1px; transform:translateY(-50%) rotate(-135deg); }
.line-key::after { right:-1px; }
.graph-wrap { position:relative; min-height:680px; background:linear-gradient(180deg,#fdfcf9,#f3f0ea); overflow:hidden; }
.graph-wrap::before { content:""; position:absolute; inset:34px 34px 28px; border:1px solid rgba(31,28,24,.06); pointer-events:none; }
.graph-topnote { position:absolute; top:28px; left:34px; right:34px; display:grid; grid-template-columns:110px 1fr; gap:18px; align-items:start; z-index:4; }
.graph-topnote span { color:var(--accent); font-size:9px; font-weight:700; letter-spacing:.15em; }
.graph-topnote p { margin:0; max-width:690px; color:#817e77; font-size:11px; line-height:1.65; }
.graph-lines { position:absolute; inset:0; width:100%; height:100%; z-index:1; }
.g-line { fill:none; stroke:#aaa59c; stroke-width:1.35; stroke-dasharray:5 5; }
.graph-guide { fill:none; stroke:rgba(154,79,70,.14); stroke-width:1; stroke-dasharray:2 7; }
.graph-node { position:absolute; width:190px; height:190px; border-radius:50%; border:1px solid #c9c4bb; background:rgba(255,255,255,.88); display:flex; flex-direction:column; justify-content:center; align-items:center; color:var(--ink); transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease; box-shadow:0 12px 30px rgba(0,0,0,.04); z-index:5; padding:22px; text-align:center; }
.graph-node:hover, .graph-node.selected { transform:translateY(-7px); box-shadow:0 22px 45px rgba(30,26,20,.13); }
.graph-node.selected { background:var(--ink); color:#fff; border-color:var(--ink); }
.graph-node .node-num { font-size:9px; color:var(--accent); letter-spacing:.14em; font-weight:700; }
.graph-node strong { font-size:27px; letter-spacing:-.03em; line-height:1.1; margin:11px 0 7px; }
.graph-node small { font-size:10px; color:#6d6a64; line-height:1.45; }
.graph-node em { margin-top:8px; font-size:10px; color:#98948c; font-style:normal; }
.graph-node.selected small, .graph-node.selected em { color:#b9b9b9; }
.node-a { left:10%; top:170px; }
.node-b { right:10%; top:170px; }
.node-c { left:calc(50% - 95px); bottom:50px; }
.graph-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:128px; height:128px; border-radius:50%; border:1px solid rgba(154,79,70,.48); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#6f514d; background:rgba(255,255,255,.84); box-shadow:0 8px 25px rgba(30,26,20,.05); z-index:4; }
.graph-center span { font-size:10px; line-height:1.35; letter-spacing:.12em; }
.graph-center small { margin-top:9px; font-size:8px; line-height:1.55; color:#91877f; letter-spacing:.02em; }
.connection-label { position:absolute; z-index:6; max-width:215px; padding:9px 12px; background:rgba(253,252,249,.93); border:1px solid #dedad2; box-shadow:0 8px 18px rgba(30,26,20,.04); }
.connection-label strong { display:block; font-size:10px; color:#3c3934; font-weight:700; }
.connection-label span { display:block; margin-top:3px; color:#8b877f; font-size:9px; line-height:1.45; }
.label-into-for { left:50%; top:120px; transform:translateX(-50%); text-align:center; }
.label-into-through { left:26%; top:415px; transform:translateX(-50%); }
.label-for-through { right:26%; top:415px; transform:translateX(50%); text-align:right; }
.graph-axis { position:absolute; z-index:4; font-size:9px; letter-spacing:.13em; color:#aaa59c; text-transform:uppercase; }
.axis-purpose { left:50%; top:40%; transform:translate(-50%,-50%); }
.axis-role { left:35%; bottom:17%; transform:translateX(-50%); }
.axis-contribution { right:35%; bottom:17%; transform:translateX(50%); }
.enhanced-explain { grid-template-columns:140px minmax(0,1fr) 260px; gap:28px; padding:24px 30px 28px; }
.explain-index { font-size:9px; letter-spacing:.14em; color:#928f88; }
.framework-explain h3 { margin:0 0 6px; font-size:24px; }
.framework-explain p { margin:0; color:#686660; font-size:13px; line-height:1.7; }
.selected-cue { border-left:1px solid var(--line); padding-left:24px; }
.selected-cue span { display:block; font-size:8px; color:#928f88; letter-spacing:.14em; }
.selected-cue strong { display:block; margin-top:7px; color:#4f4c46; font-size:12px; line-height:1.55; font-weight:500; }

.types-section { background:#fbfaf7; }
.type-layout { display:grid; grid-template-columns:290px 1fr; border:1px solid var(--line); background:white; box-shadow:var(--shadow); }
.type-tabs { display:flex; flex-direction:column; border-right:1px solid var(--line); }
.type-tab { text-align:left; border:0; background:#f7f4ee; padding:28px 26px; display:grid; grid-template-columns:35px 1fr; grid-template-rows:auto auto; column-gap:8px; row-gap:4px; border-bottom:1px solid var(--line); color:var(--ink); transition:background .2s ease, color .2s ease; }
.type-tab span { font-size:10px; color:var(--accent); }
.type-tab strong { font-size:23px; line-height:1; }
.type-tab small { grid-column:2; color:#7b7871; font-size:11px; }
.type-tab.active { background:var(--ink); color:#fff; }
.type-tab.active small { color:#bcbcbc; }
.type-panel { padding:48px 54px 54px; }
.type-panel-head { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.panel-label { margin:0 0 8px; color:var(--accent); font-size:10px; letter-spacing:.15em; }
.type-panel-head h3 { margin:0; font-size:40px; letter-spacing:-.04em; }
.panel-stamp { border:1px solid var(--line); padding:7px 9px; font-size:9px; letter-spacing:.15em; color:#88857d; }
.type-lead { margin:28px 0 40px; max-width:760px; font-size:17px; color:#585752; }
.dimension-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.dimension { border-top:1px solid var(--line); padding-top:16px; }
.dimension span { font-size:10px; letter-spacing:.1em; color:#8a867e; }
.dimension strong { display:block; margin:7px 0 8px; font-size:18px; }
.dimension p { margin:0; color:#727069; font-size:13px; }
.type-note { margin-top:34px; padding:14px 16px; background:#f3f0eb; color:#77736c; font-size:11px; }

.papers-section { background:#151515; color:white; }
.papers-section .section-index { color:#d4958d; }
.papers-section .section-note { color:#adaba6; }
.note-link { display:inline-block; margin-top:8px; color:#d4958d; font-size:12px; border-bottom:1px solid rgba(212,149,141,.4); transition:border-color .2s ease, color .2s ease; }
.note-link:hover { color:#fff; border-color:#fff; }
.paper-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.paper-card { min-height:425px; border:1px solid #333; background:#1d1d1d; padding:28px; position:relative; overflow:hidden; }
.paper-card::after { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(255,255,255,.08); border-radius:50%; right:-75px; bottom:-75px; }
.paper-card-top { display:flex; justify-content:space-between; font-size:10px; letter-spacing:.14em; }
.paper-card-top em { font-style:normal; color:#d4958d; }
.paper-placeholder { margin-top:88px; }
.placeholder-icon { width:48px; height:48px; border:1px dashed #555; display:grid; place-items:center; color:#8b8985; font-size:26px; font-weight:300; }
.paper-placeholder h3 { margin:18px 0 7px; font-size:24px; letter-spacing:-.03em; }
.paper-placeholder p { margin:0; color:#999; font-size:12px; }
.paper-template { margin-top:20px; border:1px solid #333; padding:20px 22px; display:grid; grid-template-columns:210px 1fr; gap:28px; align-items:start; }
.template-title { display:flex; flex-direction:column; gap:5px; }
.template-title span { font-size:9px; letter-spacing:.13em; color:#777; }
.template-title strong { font-size:15px; }
.template-items { display:flex; flex-wrap:wrap; gap:9px; }
.template-items span { border:1px solid #333; padding:6px 9px; font-size:10px; color:#b6b4ae; }

.debate-section { background:#ece8e0; }
.debate-layout { display:grid; grid-template-columns:1.25fr .75fr; background:var(--ink); color:white; min-height:360px; overflow:hidden; }
.debate-main { padding:48px 52px; }
.debate-badge { font-size:10px; color:#c9c7c1; letter-spacing:.13em; }
.debate-main h3 { margin:35px 0 14px; font-size:42px; letter-spacing:-.05em; }
.debate-main p { max-width:630px; color:#aeaca8; font-size:14px; }
.evidence-panel { border-left:1px solid #343434; background:#1b1b1b; padding:28px 30px; transform:translateX(20px); opacity:0; pointer-events:none; transition:opacity .35s ease, transform .35s ease; }
.evidence-panel.open { transform:translateX(0); opacity:1; pointer-events:auto; }
.evidence-title { font-size:9px; letter-spacing:.13em; color:#8f8d89; margin-bottom:24px; }
.evidence-row { padding:17px 0; border-bottom:1px solid #313131; display:flex; flex-direction:column; gap:5px; }
.evidence-row span { color:#7d7a74; font-size:10px; }
.evidence-row strong { font-size:13px; font-weight:500; }

.process-section { background:#fff; }
.process-head { margin-bottom:55px; }
.process-steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.process-step { padding:28px 28px 12px 0; border-right:1px solid var(--line); }
.process-step:not(:first-child) { padding-left:28px; }
.process-step:last-child { border-right:0; }
.process-step span { font-size:10px; color:var(--accent); letter-spacing:.12em; }
.process-step h3 { margin:20px 0 6px; font-size:25px; }
.process-step p { margin:0; color:#77736c; font-size:13px; max-width:260px; }

.references-section { background:#f4f1ea; }
.reference-empty { border:1px dashed #cfc9bd; min-height:270px; display:grid; place-items:center; align-content:center; text-align:center; gap:10px; background:rgba(255,255,255,.35); }
.reference-empty span { font-family:Georgia,serif; color:var(--accent); font-size:32px; }
.reference-empty strong { font-size:25px; }
.reference-empty p { margin:0; color:#77746e; font-size:13px; }

footer { background:#111; color:white; padding:58px 0; }
.footer-grid { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.footer-kicker { margin:0 0 12px; font-size:9px; letter-spacing:.15em; color:#8b8b88; }
footer h2 { margin:0; font-size:34px; letter-spacing:-.04em; }
.footer-meta { display:flex; gap:28px; align-items:center; font-size:9px; letter-spacing:.13em; color:#83817d; }
.footer-meta a:hover { color:#fff; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay { transition-delay:.08s; }
.reveal-delay-2 { transition-delay:.16s; }

@media (max-width: 980px) {
  .container { width:min(100% - 40px, 760px); }
  .main-nav { display:none; }
  .menu-btn { display:block; }
  .hero { padding-top:64px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-visual { min-height:420px; margin-top:-20px; }
  .hero-footer { display:grid; grid-template-columns:repeat(2,1fr); }
  .section-top { grid-template-columns:1fr; gap:18px; }
  .graph-wrap { min-height:610px; }
  .graph-node { width:150px; height:150px; padding:16px; }
  .graph-node strong { font-size:23px; }
  .node-a { left:6%; top:155px; }
  .node-b { right:6%; top:155px; }
  .node-c { left:calc(50% - 75px); bottom:36px; }
  .graph-center { width:104px; height:104px; }
  .connection-label { max-width:175px; }
  .label-into-through { left:24%; top:365px; }
  .label-for-through { right:24%; top:365px; }
  .framework-explain { grid-template-columns:1fr; }
  .selected-cue { border-left:0; border-top:1px solid var(--line); padding-left:0; padding-top:16px; }
  .type-layout { grid-template-columns:1fr; }
  .type-tabs { flex-direction:row; border-right:0; border-bottom:1px solid var(--line); }
  .type-tab { flex:1; border-right:1px solid var(--line); border-bottom:0; }
  .dimension-grid { grid-template-columns:1fr; }
  .paper-grid { grid-template-columns:1fr; }
  .paper-card { min-height:340px; }
  .paper-template { grid-template-columns:1fr; }
  .debate-layout { grid-template-columns:1fr; }
  .evidence-panel { border-left:0; border-top:1px solid #343434; }
  .process-steps { grid-template-columns:1fr; }
  .process-step, .process-step:not(:first-child) { padding:26px 0; border-right:0; border-bottom:1px solid var(--line); }
  .footer-grid { flex-direction:column; align-items:flex-start; }
  .footer-meta { flex-wrap:wrap; }
}

@media (max-width: 620px) {
  .container { width:calc(100% - 28px); }
  .nav-wrap { min-height:68px; }
  .brand-copy small { display:none; }
  .hero { min-height:auto; padding-bottom:30px; }
  .hero h1 { font-size:58px; }
  .hero-intro { font-size:15px; }
  .hero-visual { min-height:330px; }
  .orbit-1 { width:210px; height:210px; }
  .orbit-2 { width:290px; height:290px; }
  .orbit-3 { width:350px; height:350px; }
  .hero-core { width:135px; height:135px; }
  .hero-core strong { font-size:19px; }
  .hero-node { font-size:9px; padding:8px 10px; }
  .node-into { top:45px; left:3%; }
  .node-for { right:0; top:43%; }
  .node-through { bottom:20px; left:4%; }
  .hero-caption { font-size:8px; }
  .hero-footer { font-size:8px; }
  .section { padding:82px 0; }
  .section-top h2, .process-head h2 { font-size:44px; }
  .graph-wrap { min-height:700px; }
  .graph-wrap::before { inset:24px 14px 18px; }
  .graph-topnote { top:24px; left:18px; right:18px; grid-template-columns:1fr; gap:7px; }
  .graph-node { width:124px; height:124px; padding:12px; }
  .graph-node strong { font-size:19px; margin:7px 0 5px; }
  .graph-node small, .graph-node em { font-size:8px; }
  .node-a { left:3%; top:165px; }
  .node-b { right:3%; top:165px; }
  .node-c { left:calc(50% - 65px); bottom:54px; }
  .graph-center { width:90px; height:90px; }
  .graph-center span { font-size:8px; }
  .graph-center small { font-size:7px; }
  .connection-label { max-width:132px; padding:7px 8px; }
  .connection-label strong { font-size:8px; }
  .connection-label span { font-size:7px; }
  .label-into-for { top:118px; }
  .label-into-through { left:18%; top:420px; }
  .label-for-through { right:18%; top:420px; }
  .axis-purpose, .axis-role, .axis-contribution { display:none; }
  .type-tabs { overflow:auto; }
  .type-tab { min-width:150px; }
  .type-panel { padding:30px 22px 34px; }
  .type-panel-head h3 { font-size:32px; }
  .debate-main { padding:34px 24px; }
  .debate-main h3 { font-size:33px; }
  footer h2 { font-size:28px; }
}

/* ===== Populated paper & comparison styles ===== */
.logic-notes { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-top:0; background:#fff; }
.logic-note { padding:24px 26px 26px; border-right:1px solid var(--line); }
.logic-note:last-child { border-right:0; }
.logic-note span { font-size:10px; letter-spacing:.14em; color:var(--accent); }
.logic-note p { margin:11px 0 0; color:#66645d; font-size:12px; }

.paper-card-full { min-height:480px; display:flex; flex-direction:column; }
.paper-card-full .paper-kicker { margin-top:58px; color:#8d8a84; font-size:9px; letter-spacing:.13em; }
.paper-card-full h3 { margin:16px 0 12px; font-size:25px; line-height:1.2; letter-spacing:-.035em; }
.paper-authors { margin:0 0 9px; color:#c7c5c1; font-size:11px; line-height:1.6; }
.paper-meta { margin:0; color:#898681; font-size:10px; line-height:1.6; }

/* ===== Paper tabs：卡片即切换器，面板就地更新 ===== */
.paper-tab { cursor:pointer; transition:border-color .2s ease, background .2s ease; }
.paper-tab::before { content:""; position:absolute; top:0; left:0; right:0; height:2px; background:transparent; transition:background .2s ease; z-index:2; }
.paper-tab:hover { border-color:#5a5a5a; background:#202020; }
.paper-tab:focus-visible { outline:2px solid #d4958d; outline-offset:3px; }
.paper-tab.selected { border-color:#d4958d; background:#222; }
.paper-tab.selected::before { background:#d4958d; }
.paper-cta { margin-top:auto; width:max-content; display:inline-flex; align-items:center; gap:8px; border:1px solid #454545; padding:9px 13px; background:#242424; color:#fff; font-size:10px; z-index:2; }
.paper-cta-label { font-style:normal; }
.paper-tab.selected .paper-cta { border-color:#d4958d; color:#d4958d; }
.paper-tab.selected .paper-cta-icon { transform:rotate(180deg); }
.paper-cta-icon { display:inline-block; transition:transform .2s ease; }

.paper-stage { margin-top:20px; position:relative; scroll-margin-top:90px; }
.paper-detail { display:none; border:1px solid #353535; background:#1a1a1a; padding:42px 42px 48px; }
.paper-detail.active { display:block; animation:stageFade .18s ease-out; }
@keyframes stageFade { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion: reduce) {
  .paper-detail.active { animation:none; }
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; }
  .reveal, .graph-node:hover, .graph-node.selected, .btn:hover { transform:none; }
  .evidence-panel { transform:none; }
}
.paper-detail-header { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; }
.paper-detail-header a { flex:0 0 auto; color:#d4958d; font-size:10px; letter-spacing:.1em; text-decoration:none; padding-top:5px; }
.detail-number { display:block; color:#d4958d; font-size:9px; letter-spacing:.15em; margin-bottom:11px; }
.paper-detail-header h3 { margin:0; font-size:34px; line-height:1.15; letter-spacing:-.04em; max-width:790px; }
.detail-citation { margin:15px 0 34px; color:#8c8984; font-size:12px; }
.detail-section { margin-top:28px; }
.detail-section h4, .evidence-box h4 { margin:0 0 10px; color:#fff; font-size:13px; letter-spacing:.01em; }
.detail-section p { margin:0; color:#bbb8b2; font-size:13px; line-height:1.85; }
.detail-section ul, .debate-detail-card ol, .limitation-panel ul { margin:0; padding-left:20px; color:#bdbab4; font-size:12px; line-height:1.9; }
.detail-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.judgement-box { margin-top:28px; padding:22px 24px; border-left:2px solid #d4958d; background:#202020; }
.judgement-box span { color:#d4958d; font-size:9px; letter-spacing:.14em; }
.judgement-box p { margin:10px 0 0; color:#ddd9d2; font-size:13px; line-height:1.8; }
.evidence-box { border:1px solid #333; background:#171717; padding:22px 24px; margin-top:28px; }
.evidence-item { border-top:1px solid #303030; padding:15px 0 0; margin-top:15px; }
.evidence-item:first-of-type { margin-top:0; border-top:0; padding-top:0; }
.evidence-item span { display:block; color:#8f8b84; font-size:10px; letter-spacing:.05em; }
.evidence-item p { margin:6px 0 0; color:#bab7b1; font-size:11px; line-height:1.75; }
.stat-strip { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #343434; margin-top:28px; }
.stat-strip div { padding:20px; border-right:1px solid #343434; }
.stat-strip div:last-child { border-right:0; }
.stat-strip strong { display:block; color:#fff; font-size:26px; letter-spacing:-.03em; }
.stat-strip span { display:block; color:#85817b; font-size:9px; margin-top:6px; letter-spacing:.08em; text-transform:uppercase; }

.debate-authors { font-size:11px !important; color:#8d8a84 !important; margin-bottom:14px !important; }
.debate-actions { display:flex; align-items:center; gap:20px; margin-top:27px; }
.debate-doi { color:#d4958d; font-size:10px; letter-spacing:.1em; text-decoration:none; }
.evidence-box-wide { margin-top:0; }
.evidence-columns { display:grid; grid-template-columns:1fr 1fr; column-gap:36px; }
.debate-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.debate-detail-card { background:#f7f4ee; border:1px solid #d6d0c5; padding:30px; }
.debate-detail-card span, .limitation-panel span { display:block; color:#8f514a; font-size:9px; letter-spacing:.14em; }
.debate-detail-card h3 { margin:14px 0 15px; font-size:23px; letter-spacing:-.025em; }
.debate-detail-card li strong { color:#272727; }
.debate-detail-card ol { color:#595650; }
.limitation-panel { padding:30px; background:#ded8cf; border:1px solid #d0c9be; }
.limitation-panel ul { color:#595650; }

.comparison-section { background:#fff; }
.comparison-table-wrap { overflow-x:auto; border:1px solid var(--line); background:#fff; }
.comparison-table { width:100%; border-collapse:collapse; min-width:820px; }
.comparison-table th, .comparison-table td { border-bottom:1px solid var(--line); border-right:1px solid var(--line); text-align:left; vertical-align:top; padding:19px 18px; font-size:12px; }
.comparison-table th:last-child, .comparison-table td:last-child { border-right:0; }
.comparison-table th { background:#f2efe9; color:#7b7770; font-size:9px; letter-spacing:.12em; }
.comparison-table td { color:#5d5a54; line-height:1.75; }
.comparison-table td:first-child { width:70px; }
.comparison-table td strong { color:#171717; }
.comparison-conclusion { margin-top:20px; padding:24px 28px; border:1px solid #d6d0c5; background:#f7f4ee; }
.conclusion-label { font-size:9px; letter-spacing:.14em; color:#8f514a; margin-bottom:9px; }
.comparison-conclusion p { margin:0; color:#57544d; font-size:13px; line-height:1.85; }

.references-list { border-top:1px solid var(--line); }
.reference-row { display:grid; grid-template-columns:50px 1fr 35px; align-items:start; gap:14px; padding:20px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit; }
.reference-row span { color:var(--accent); font-size:12px; }
.reference-row p { margin:0; color:#5f5c55; font-size:12px; line-height:1.7; }
.reference-row strong { color:#8a5d56; font-size:14px; justify-self:end; }
.reference-row:hover p { color:#1b1b1b; }

@media (max-width: 980px) {
  .logic-notes, .detail-grid-2, .debate-detail-grid, .evidence-columns { grid-template-columns:1fr; }
  .logic-note { border-right:0; border-bottom:1px solid var(--line); }
  .logic-note:last-child { border-bottom:0; }
  .paper-detail-header { flex-direction:column; }
  .paper-detail-header a { padding-top:0; }
  .stat-strip { grid-template-columns:1fr; }
  .stat-strip div { border-right:0; border-bottom:1px solid #343434; }
  .stat-strip div:last-child { border-bottom:0; }
}

@media (max-width: 620px) {
  .paper-detail { padding:30px 22px 34px; }
  .paper-detail-header h3 { font-size:28px; }
  .paper-card-full h3 { font-size:22px; }
  .debate-actions { align-items:flex-start; flex-direction:column; gap:13px; }
  .reference-row { grid-template-columns:38px 1fr 20px; }
}
