
    :root {
      --bg: #0b0f14;
      --fg: #e8eef5;
      --muted: #a7b3c2;
      --accent: #8fd3ff;
      --line: #243140;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
      background: var(--bg);
      color: var(--fg);
      line-height: 1.6;
    }
    main {
      max-width: 820px;
      margin: 0 auto;
      padding: 56px 20px 72px;
    }
    h1, h2 {
      line-height: 1.15;
      margin: 0 0 16px;
    }
    h1 {
      font-size: clamp(2rem, 5vw, 3.4rem);
      letter-spacing: -0.02em;
      color: #009423;
    }
    h2 {
      font-size: 1.15rem;
      margin-top: 40px;
      color: var(--accent);
    }
    p {
      margin: 0 0 16px;
      font-size: 1.04rem;
    }
    .lead {
      font-size: 1.18rem;
      color: var(--fg);
    }
    .muted {
      color: var(--muted);
    }
    .box {
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 18px 18px 14px;
      margin: 26px 0;
      background: rgba(255,255,255,0.02);
    }
    .math {
      font-size: 1.1rem;
      color: var(--accent);
      margin: 12px 0 4px;
      font-weight: 600;
    }
    a {
      color: var(--accent);
      text-decoration: none;
    }
    a:hover {
      text-decoration: underline;
    }
    .links a {
      display: inline-block;
      margin-right: 18px;
      margin-bottom: 10px;
    }
.project-anchor{
margin:48px 0 36px 0;
}

.anchor-lead{
font-size:1.12rem;
max-width:760px;
margin-bottom:12px;
}

.anchor-map{
font-family:monospace;
color:var(--accent);
margin-bottom:10px;
}

.anchor-links a{
color:var(--accent);
text-decoration:none;
font-weight:600;
}

.anchor-links a:hover{
text-decoration:underline;
}
.spine {
  margin: 56px 0;
}

.spine h2 {
  margin-bottom: 14px;
}

.spine-intro {
  max-width: 760px;
  margin-bottom: 22px;
}

.spine-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.spine-card {
  display: block;
  padding: 18px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,0.02);
  color: var(--fg);
  text-decoration: none;
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.spine-card:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
  background: rgba(255,255,255,0.035);
  text-decoration: none;
}

.spine-label {
  color: var(--accent);
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 1rem;
  letter-spacing: 0.01em;
}

.spine-symbol {
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 1rem;
}

.spine-text {
  color: var(--muted);
  font-size: 0.97rem;
  line-height: 1.5;
}
    
.site-footer{
  margin-top:60px;
  border-top:1px solid #1d2a38;
  padding:32px 20px;
  font-size:0.95rem;
  color:#a7b4c5;
}

.footer-inner{
  max-width:900px;
  margin:0 auto;
  text-align:center;
}

.footer-nav{
  margin-bottom:14px;
}

.footer-nav a{
  margin:0 12px;
  color:#8fd8ff;
  text-decoration:none;
}

.footer-nav a:hover{
  text-decoration:underline;
}

.footer-physics{
  margin-bottom:10px;
  letter-spacing:0.04em;
}

.footer-note{
  margin-bottom:12px;
}

.footer-links a{
  margin:0 10px;
  color:#8fd8ff;
  text-decoration:none;
}

.footer-links a:hover{
  text-decoration:underline;
}
