:root{
    --paper:#EFE5CC; --paper-2:#E3D7B8; --ink:#2E2517; --muted:#7A6C55;
    --line:#C3B18A; --orange:#C25A1D; --teal:#0B5750; --amber:#C98F24; --red:#B8152E;
    --mono:'Space Mono','Noto Sans SC','Microsoft YaHei',monospace;
    --display:'Bungee','Noto Sans SC','Microsoft YaHei',sans-serif;
    --typewriter:'Special Elite','Space Mono','Noto Sans SC','Microsoft YaHei',monospace;
    --shadow:4px 4px 0 var(--ink);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper);color:var(--ink);font-family:var(--mono);line-height:1.65;font-size:16px;}
  ::selection{background:var(--orange);color:var(--paper);}

  /* ---------- age overlay: scanlines + grain + vignette + stains ---------- */
  body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;
    background:repeating-linear-gradient(0deg, transparent 0 3px, rgba(46,37,23,.03) 3px 4px);}
  body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;mix-blend-mode:multiply;opacity:.85;
    background-image:
      url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='linear' slope='0.055'/></feComponentTransfer></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
      radial-gradient(ellipse at center, transparent 55%, rgba(58,40,20,.14) 100%),
      radial-gradient(ellipse 340px 260px at 10% 20%, rgba(122,90,40,.10), transparent 60%),
      radial-gradient(ellipse 280px 220px at 90% 80%, rgba(100,70,30,.09), transparent 60%);}
  .container{max-width:1040px;margin:0 auto;padding:0 24px;}

  /* ---------- hazard stripes ---------- */
  .hazard{height:14px;background:repeating-linear-gradient(-45deg,var(--ink) 0 14px,var(--amber) 14px 28px);}

  /* ---------- top bar ---------- */
  .topbar{border-bottom:2px solid var(--ink);background:var(--paper);position:sticky;top:0;z-index:50;}
  .topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;}
  .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
  .brand svg{width:30px;height:30px;flex:none;}
  .brand-name{font-family:var(--display);font-size:22px;letter-spacing:1px;}
  .topbar-right{display:flex;align-items:center;gap:12px;}
  .lang-toggle{display:flex;border:2px solid var(--ink);background:var(--paper-2);}
  .lang-toggle button{font-family:var(--mono);font-weight:700;font-size:13px;padding:10px 14px;background:transparent;border:none;cursor:pointer;color:var(--muted);min-height:44px;}
  .lang-toggle button.active{background:var(--ink);color:var(--paper);}
  .gh-link{font-weight:700;font-size:13px;color:var(--ink);text-decoration:none;border:2px solid var(--ink);padding:10px 14px;min-height:44px;display:inline-flex;align-items:center;background:var(--paper);}
  .gh-link:hover{background:var(--orange);color:var(--paper);box-shadow:var(--shadow);transform:translate(-2px,-2px);}
  .nav-link{font-weight:700;font-size:13px;color:var(--ink);text-decoration:none;border:2px solid var(--ink);padding:10px 14px;min-height:44px;display:inline-flex;align-items:center;background:var(--paper-2);}
  .nav-link:hover{background:var(--ink);color:var(--paper);box-shadow:var(--shadow);transform:translate(-2px,-2px);}

  /* ---------- hero ---------- */
  .hero{position:relative;overflow:hidden;border-bottom:2px solid var(--ink);
    background-image:radial-gradient(var(--line) 1.2px, transparent 1.2px),
      repeating-conic-gradient(from 215deg at 100% 100%, rgba(200,16,46,.10) 0deg 4deg, transparent 4deg 17deg);background-size:22px 22px, auto;}
  .hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:repeating-linear-gradient(-45deg,var(--red) 0 18px,var(--ink) 18px 36px);z-index:0;}
  .hero .ring{position:absolute;left:-170px;top:50%;width:560px;height:560px;transform:translateY(-50%);border:3px solid rgba(200,16,46,.22);border-radius:50%;pointer-events:none;z-index:0;}
  .hero .ring::after{content:"";position:absolute;inset:26px;border:2px dashed rgba(33,29,23,.15);border-radius:50%;}
  .hero .giant{position:absolute;right:-2vw;bottom:-8vw;font-family:var(--display);font-size:clamp(140px,28vw,340px);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(33,29,23,.07);transform:skewX(-8deg);pointer-events:none;user-select:none;z-index:0;letter-spacing:2px;}
  .hero .hero-star{position:absolute;top:26px;right:6%;width:92px;height:92px;pointer-events:none;z-index:0;filter:drop-shadow(3px 3px 0 rgba(33,29,23,.28));}
  .hero-inner{position:relative;z-index:1;padding:72px 0 64px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;}
  .hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:2px;color:var(--paper);background:var(--red);border:2px solid var(--ink);padding:6px 12px;margin-bottom:22px;box-shadow:3px 3px 0 var(--ink);}
  .hero-kicker svg{width:16px;height:16px;}
  .hero h1{font-family:var(--display);font-size:clamp(44px,7vw,84px);line-height:1.02;text-transform:uppercase;letter-spacing:1px;transform:skewX(-6deg);
    text-shadow:1.6px 1px 0 rgba(184,21,46,.16), -1.1px -0.6px 0 rgba(11,87,80,.13);}
  .hero h1 .dot{color:var(--orange);}
  .hero .tagline{margin-top:20px;font-size:17px;max-width:52ch;color:var(--ink);}
  .hero .cta{margin-top:30px;display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:700;font-size:15px;text-decoration:none;color:var(--paper);background:var(--ink);border:2px solid var(--ink);padding:14px 22px;box-shadow:var(--shadow);}
  .hero .cta:hover{background:var(--red);border-color:var(--red);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}

  /* atom */
  .atom{justify-self:center;width:min(300px,70vw);aspect-ratio:1;position:relative;}
  .atom .nucleus{position:absolute;inset:0;margin:auto;width:26px;height:26px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px rgba(232,80,30,.18);z-index:2;}
  .orbit-wrap{position:absolute;inset:0;}
  .orbit-wrap.a{transform:rotate(0deg);} .orbit-wrap.b{transform:rotate(60deg);} .orbit-wrap.c{transform:rotate(120deg);}
  .orbit{position:absolute;inset:0;width:100%;height:38%;top:31%;border:2px solid var(--teal);border-radius:50%;}
  .orbit::before{content:"";position:absolute;right:-7px;top:50%;width:13px;height:13px;border-radius:50%;background:var(--amber);transform:translateY(-50%);}
  .orbit-wrap.a .orbit{animation:spin 7s linear infinite;}
  .orbit-wrap.b .orbit{animation:spin 9s linear infinite reverse;}
  .orbit-wrap.c .orbit{animation:spin 11s linear infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  @media (prefers-reduced-motion:reduce){.orbit{animation:none !important;}}

  /* ---------- sections ---------- */
  section{padding:64px 0;border-bottom:2px solid var(--ink);}
  .section-tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:3px;color:var(--paper);background:var(--red);border:2px solid var(--ink);padding:6px 12px;box-shadow:3px 3px 0 var(--ink);}
  .section-tag svg{width:15px;height:15px;}
  .star-ic{width:15px;height:15px;flex:none;}
  footer .star-ic{display:none;}
  h2.section-title{font-family:var(--display);font-size:clamp(26px,3.6vw,40px);margin-top:18px;text-transform:uppercase;letter-spacing:.5px;}
  h2.section-title::before{content:"";display:inline-block;width:13px;height:13px;background:var(--red);margin-right:14px;transform:rotate(45deg);}
  h2.section-title::after{font-family:var(--typewriter);font-size:.42em;color:var(--muted);letter-spacing:3px;margin-left:12px;vertical-align:middle;}
  #problem h2::after{content:"№ 01";}
  #philosophy h2::after{content:"№ 02";}
  #principles h2::after{content:"№ 03";}
  #status h2::after{content:"№ 04";}
  #doc-philosophy h2::after{content:"№ 01";}
  #doc-foundation h2::after{content:"№ 02";}
  #doc-directions h2::after{content:"№ 03";}
  #doc-research h2::after{content:"№ 04";}
  #doc-status h2::after{content:"№ 05";}
  #doc-reference h2::after{content:"№ 06";}
  .section-sub{margin-top:10px;color:var(--muted);max-width:70ch;}

  /* ---------- defects ---------- */
  .defects{list-style:none;margin-top:36px;display:grid;gap:0;border:2px solid var(--ink);}
  .defects li{display:grid;grid-template-columns:84px 1fr;gap:20px;padding:26px 28px;border-bottom:2px solid var(--ink);background:var(--paper);}
  .defects li:last-child{border-bottom:none;}
  .defects li:nth-child(odd){background:var(--paper-2);}
  .defects .num{font-family:var(--display);font-size:34px;color:var(--red);line-height:1;}
  .defects h3{font-family:var(--display);font-size:20px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase;}
  .defects p{color:var(--ink);}
  .defects .zh-sub{display:block;color:var(--muted);font-size:14px;}

  .callout{margin-top:36px;background:var(--ink);color:var(--paper);border-left:10px solid var(--red);padding:26px 30px;font-size:16.5px;box-shadow:var(--shadow);}
  .callout strong{color:var(--amber);}

  /* ---------- philosophy ---------- */
  .philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:36px;}
  .panel{border:2px solid var(--ink);padding:28px;position:relative;background:var(--paper);}
  .panel.sage{border-top:10px solid var(--teal);}
  .panel.doer{border-top:10px solid var(--orange);}
  .panel .role{font-size:13px;font-weight:700;letter-spacing:3px;margin-bottom:14px;}
  .panel.sage .role{color:var(--teal);}
  .panel.doer .role{color:var(--orange);}
  .panel h3{font-family:var(--display);font-size:24px;text-transform:uppercase;margin-bottom:10px;}
  .panel p{font-size:15.5px;}
  .panel .zh-sub{display:block;color:var(--muted);font-size:14px;margin-top:8px;}

  .one-pct{margin-top:40px;display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;border:2px dashed var(--ink);padding:30px 34px;background:var(--paper-2);position:relative;overflow:hidden;}
  .one-pct::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from 0deg, rgba(184,21,46,.07) 0deg 6deg, transparent 6deg 22deg);pointer-events:none;}
  .one-pct::after{content:"";position:absolute;left:16px;top:12px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%, rgba(46,37,23,.4), rgba(46,37,23,.1) 65%, transparent);box-shadow:26px 0 0 0 rgba(46,37,23,.16);}
  .one-pct .big{font-family:var(--display);font-size:clamp(64px,9vw,110px);line-height:.9;color:var(--orange);-webkit-text-stroke:2px var(--ink);}
  .one-pct .text{font-size:16.5px;}
  .one-pct .text strong{display:block;font-size:19px;margin-bottom:6px;}
  .starburst{position:absolute;top:-26px;right:28px;width:52px;height:52px;color:var(--amber);}

  /* ---------- principles ---------- */
  .principles{list-style:none;margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .principles li{border:2px solid var(--ink);background:var(--paper);padding:20px 22px;display:flex;gap:16px;box-shadow:3px 3px 0 var(--line);}
  .principles .idx{font-family:var(--display);font-size:22px;color:var(--red);flex:none;}
  .principles h3{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
  .principles p{font-size:14px;color:var(--muted);margin-top:4px;}
  .principles .zh-sub{display:block;}

  /* ---------- status ---------- */
  .status-block{border:2px solid var(--ink);background:var(--ink);color:var(--paper);margin-top:36px;box-shadow:var(--shadow);}
  .status-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:2px solid var(--paper-2);}
  .status-head .led{width:12px;height:12px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber);animation:blink 1.6s steps(2) infinite;}
  @keyframes blink{50%{opacity:.25;}}
  .status-head .st{font-weight:700;letter-spacing:2px;font-size:14px;}
  .status-body{padding:8px 0;}
  .dir-row{display:grid;grid-template-columns:150px 1fr auto;gap:16px;align-items:baseline;padding:14px 22px;border-bottom:1px solid var(--paper-2);}
  .dir-row:last-child{border-bottom:none;}
  .dir-row .name{font-family:var(--display);font-size:15px;color:var(--amber);}
  .dir-row .desc{font-size:14px;color:var(--paper);}
  .dir-row .w{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--teal);border:1px solid var(--teal);padding:3px 8px;white-space:nowrap;}
  .status-foot{padding:14px 22px;font-size:14px;border-top:1px solid var(--paper-2);color:var(--paper);}

  /* ---------- stamps (age marks) ---------- */
  .stamp-circ{width:132px;height:132px;margin-top:34px;color:var(--red);opacity:.82;transform:rotate(-9deg);mix-blend-mode:multiply;filter:blur(.3px);}
  .stamp-sq{position:absolute;right:20px;bottom:14px;width:150px;color:var(--red);opacity:.72;transform:rotate(4deg);mix-blend-mode:multiply;z-index:2;filter:blur(.3px);}
  .stamp text{font-family:var(--mono);}

  /* ---------- footer ---------- */
  footer{padding:48px 0 0;background:var(--ink);color:var(--paper);}
  .footer-inner{display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center;padding-bottom:40px;}
  .footer-inner .trefoil{width:56px;height:56px;color:var(--amber);}
  .footer-quote{font-size:15px;font-style:italic;color:var(--paper-2);max-width:56ch;font-family:var(--typewriter);}
  .footer-meta{font-size:13px;color:var(--muted);}
  .footer-meta a{color:var(--orange);text-decoration:none;}
  .footer-meta a:hover{text-decoration:underline;}
  .scan-note{font-size:11px;letter-spacing:2.5px;color:var(--muted);}

  /* ---------- responsive ---------- */
  @media (max-width:840px){
    .hero-inner{grid-template-columns:1fr;padding:48px 0;}
    .atom{order:-1;width:min(240px,60vw);}
    .hero .ring{display:none;}
    .hero .hero-star{width:54px;height:54px;top:12px;right:4%;}
    .stamp-circ{width:104px;height:104px;margin-top:24px;}
    .stamp-sq{width:118px;right:12px;bottom:10px;}
    .philosophy-grid{grid-template-columns:1fr;}
    .principles{grid-template-columns:1fr;}
    .dir-row{grid-template-columns:1fr;gap:4px;}
    .defects li{grid-template-columns:1fr;gap:10px;padding:20px;}
    .one-pct{grid-template-columns:1fr;gap:12px;}
  }
  @media (max-width:560px){
    .gh-link{display:none;}
    .nav-link,.lang-toggle button{padding:8px 10px;font-size:12px;}
  }

/* ============ details page (档案室) ============ */
.details-hero{padding:56px 0 44px;border-bottom:2px solid var(--ink);
  background-image:radial-gradient(var(--line) 1.2px, transparent 1.2px);background-size:22px 22px;position:relative;overflow:hidden;}
.details-hero .giant{position:absolute;right:-2vw;bottom:-6vw;font-family:var(--display);font-size:clamp(110px,22vw,260px);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(46,37,23,.07);transform:skewX(-8deg);pointer-events:none;user-select:none;letter-spacing:2px;}
.details-hero h1{font-family:var(--display);font-size:clamp(30px,4.5vw,52px);text-transform:uppercase;letter-spacing:1px;position:relative;}
.details-hero h1::after{content:"№ 00";font-family:var(--typewriter);font-size:.4em;color:var(--muted);letter-spacing:3px;margin-left:14px;vertical-align:middle;}
.details-hero .tagline{margin-top:12px;color:var(--muted);max-width:72ch;font-size:15px;}
.doc-section{padding:56px 0;border-bottom:2px solid var(--ink);}
.doc-section:last-of-type{border-bottom:none;}
.doc-body{margin-top:24px;max-width:86ch;font-size:15px;}
.doc-body p{margin-bottom:14px;}
.doc-body strong{color:var(--ink);}
.doc-body em{color:var(--muted);}
.doc-body ol,.doc-body ul{margin:0 0 16px 22px;}
.doc-body li{margin-bottom:8px;}
.doc-body h3{font-family:var(--display);font-size:17px;text-transform:uppercase;letter-spacing:.5px;margin:28px 0 10px;}
.doc-body h3::before{content:"";display:inline-block;width:9px;height:9px;background:var(--red);margin-right:10px;transform:rotate(45deg);}
.doc-table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:13.5px;}
.doc-table th{font-family:var(--typewriter);text-align:left;letter-spacing:1px;background:var(--ink);color:var(--paper);padding:9px 12px;border:2px solid var(--ink);}
.doc-table td{padding:9px 12px;border:2px solid var(--line);vertical-align:top;}
.doc-table tr:nth-child(even) td{background:var(--paper-2);}
.doc-quote{margin:18px 0;padding:16px 20px;border-left:6px solid var(--red);background:var(--paper-2);font-style:italic;color:var(--ink);}
.doc-code{display:block;font-family:var(--mono);font-size:12.5px;background:var(--ink);color:var(--paper);padding:14px 16px;margin:14px 0;overflow-x:auto;white-space:pre;line-height:1.55;}
.dir-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px;}
.dir-card{border:2px solid var(--ink);background:var(--paper);padding:22px;position:relative;box-shadow:3px 3px 0 var(--line);}
.dir-card .dir-name{font-family:var(--display);font-size:17px;color:var(--red);text-transform:uppercase;letter-spacing:.5px;}
.dir-card .dir-weight{position:absolute;top:16px;right:16px;font-size:11px;font-weight:700;letter-spacing:1px;color:var(--teal);border:1px solid var(--teal);padding:2px 7px;}
.dir-card h4{font-size:13px;font-weight:700;margin:12px 0 4px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);}
.dir-card p{font-size:13.5px;}
.stamp-mini{width:74px;height:74px;color:var(--red);opacity:.75;transform:rotate(-7deg);mix-blend-mode:multiply;filter:blur(.3px);flex:none;}
@media (max-width:840px){
  .dir-grid{grid-template-columns:1fr;}
  .doc-table{font-size:12px;}
}

/* ============ reference tier badges + cards (details page) ============ */
.tier{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:1.5px;padding:2px 8px;border:1.5px solid;text-transform:uppercase;white-space:nowrap;}
.tier.critical{color:var(--red);border-color:var(--red);}
.tier.enhancement{color:var(--teal);border-color:var(--teal);}
.tier.noise{color:var(--muted);border-color:var(--muted);}
.ref-list{display:grid;gap:14px;margin-top:26px;}
.ref-card{border:2px solid var(--ink);background:var(--paper);padding:18px 20px;box-shadow:3px 3px 0 var(--line);}
.ref-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.ref-title{font-family:var(--display);font-size:14.5px;text-transform:uppercase;letter-spacing:.4px;}
.ref-file{font-size:11.5px;color:var(--muted);font-family:var(--typewriter);}
.ref-card p{font-size:13.5px;margin-top:8px;}
.ref-hook{margin-top:6px;font-size:12.5px;color:var(--teal);}
