
:root{
  --sb-paper:#fffdf7;
  --sb-ink:#111827;
  --sb-line:#1f2937;
  --sb-muted:#64748b;
  --sb-gold:#f6c45c;
  --sb-blue:#61a8ff;
  --sb-panel:#0d1726;
  --sb-panel-2:#111f32;
}
.sourcebook-page{background:#07101d;color:#f7fbff;}
.sb-hero{position:relative;overflow:hidden;padding:56px 0 34px;background:radial-gradient(circle at 18% 16%,rgba(246,196,92,.18),transparent 28%),linear-gradient(135deg,#06101e 0%,#0d1829 58%,#132239 100%);border-bottom:1px solid rgba(255,255,255,.14)}
.sb-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.92fr);gap:26px;align-items:center;position:relative;z-index:1}
.sb-hero h1{font-size:clamp(2.2rem,5.4vw,4.9rem);line-height:.96;margin:0 0 16px;letter-spacing:-.055em;color:#fff;}
.sb-hero__image{background:#fff;border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:12px;box-shadow:0 28px 80px rgba(0,0,0,.35);}
.sb-hero__image img{display:block;width:100%;height:auto;border-radius:14px;}
.sb-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;}
.sb-section{padding:34px 0;}
.sb-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.sb-card{background:#f8fafc;color:#142033;border:1px solid rgba(15,23,42,.1);border-radius:24px;padding:24px;box-shadow:0 18px 46px rgba(0,0,0,.16)}
.sb-card h2,.sb-card h3{color:#0f172a;margin:0 0 12px;letter-spacing:-.02em;}.sb-card p,.sb-card li{color:#46556b;line-height:1.65;}.sb-card ul{margin:10px 0 0;padding-left:20px;}
.sb-card--dark{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.052));border-color:rgba(255,255,255,.14);color:#fff}.sb-card--dark h2,.sb-card--dark h3{color:#fff}.sb-card--dark p,.sb-card--dark li{color:#b9c5d8}
.sb-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:900;color:#f6c45c;}
.sb-doctrine{font-size:clamp(1.4rem,3vw,2.25rem);line-height:1.12;color:#fff;letter-spacing:-.035em;margin:0;}
.sb-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.sb-mech-card{display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:20px;color:#fff;text-decoration:none;box-shadow:0 18px 44px rgba(0,0,0,.2);transition:transform .16s ease,border-color .16s ease;}
.sb-mech-card:hover{transform:translateY(-2px);border-color:rgba(246,196,92,.55);text-decoration:none;}.sb-mech-card small{color:#f6c45c;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.sb-mech-card p{color:#b9c5d8;line-height:1.5;margin:0}.sb-mech-card .sb-takeaway-mini{margin-top:auto;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);color:#dffcf5;font-weight:850;}
.sb-page-hero{padding:42px 0 28px;background:linear-gradient(135deg,#06101e 0%,#0d1829 65%,#132239 100%);border-bottom:1px solid rgba(255,255,255,.14);}
.sb-page-title{font-size:clamp(2.3rem,5vw,4.4rem);line-height:.96;margin:0 0 14px;letter-spacing:-.055em;color:#fff;}
.sb-lead{font-size:clamp(1.02rem,2vw,1.28rem);line-height:1.55;color:#b9c5d8;max-width:900px;margin:0;}
.sb-page-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;padding:34px 0 64px;align-items:start;}
.sb-sidebar{position:sticky;top:18px;display:grid;gap:12px;}.sb-side-card{border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px;background:rgba(255,255,255,.06);color:#fff}.sb-side-card a{color:#fff;font-weight:900;}.sb-side-card p{color:#b9c5d8;line-height:1.5;}
.sb-article{display:grid;gap:18px;}.sb-section-card{background:#f8fafc;color:#142033;border-radius:22px;padding:24px;border:1px solid rgba(15,23,42,.1);box-shadow:0 18px 46px rgba(0,0,0,.15)}.sb-section-card h2{color:#0f172a;margin:0 0 12px;font-size:1.55rem;letter-spacing:-.02em}.sb-section-card h3{color:#102033;margin:18px 0 8px}.sb-section-card p,.sb-section-card li{color:#46556b;line-height:1.72}.sb-section-card ul,.sb-section-card ol{padding-left:22px}.sb-section-card a{color:#0f3d73;font-weight:900;}
.sb-takeaway{background:linear-gradient(180deg,#f0fdfa,#ecfeff);border-color:rgba(20,184,166,.28)}.sb-takeaway h2{color:#0f766e}.sb-takeaway p{font-size:1.08rem;color:#274356;font-weight:800}
.sb-stop{background:linear-gradient(180deg,#fff7ed,#fff1f2);border-color:rgba(251,113,133,.25)}.sb-stop h2{color:#9f1239}.sb-stop h2::before{content:"⚠ ";}
.sb-load{background:linear-gradient(180deg,#fffbeb,#fefce8);border-color:rgba(217,119,6,.28)}.sb-load h2{color:#92400e}.sb-load .sb-doctrine-line{font-weight:950;color:#4b2b08;}
.sb-plate-frame{background:var(--sb-paper);border:1px solid rgba(15,23,42,.18);border-radius:18px;padding:12px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);}.sb-plate-frame img{display:block;width:100%;height:auto;border-radius:10px}.sb-plate-note{font-size:.9rem;color:#64748b;margin:10px 0 0;}
.sb-fig-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.sb-fig-card{border:1px solid rgba(15,23,42,.12);border-radius:16px;padding:14px;background:#fff}.sb-fig-card strong{color:#0f172a;display:block}.sb-fig-card p{margin:6px 0 0;color:#64748b;line-height:1.45}
.sb-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sb-pill-list{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:12px 0 0;list-style:none}.sb-pill-list li{margin:0}.sb-pill-list a,.sb-pill{display:inline-flex;border:1px solid rgba(15,23,42,.14);border-radius:999px;padding:8px 12px;background:#fff;color:#0f3d73;text-decoration:none;font-weight:900;}
.sb-footer-note{padding:26px 0 56px;color:#b9c5d8;text-align:center}.sb-footer-note strong{color:#f6c45c}
@media(max-width:980px){.sb-hero__grid,.sb-grid-2,.sb-page-layout,.sb-related-grid{grid-template-columns:1fr}.sb-sidebar{position:relative;top:auto}.sb-card-grid{grid-template-columns:1fr}.sb-fig-grid{grid-template-columns:1fr}}
@media(max-width:560px){.sb-shell{width:min(100% - 24px,1180px)}.sb-section-card,.sb-card{padding:20px}.sb-hero{padding-top:38px}.sb-page-hero{padding-top:30px}.sb-plate-frame{padding:8px}}

/* Personality pass v1.1: give the white cards a warmer patent-paper / inventor notebook feel */
.sb-card,
.sb-section-card,
.sb-fig-card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,250,238,.985)),
    repeating-linear-gradient(0deg,rgba(15,23,42,.018) 0 1px,transparent 1px 18px),
    repeating-linear-gradient(90deg,rgba(15,23,42,.014) 0 1px,transparent 1px 18px);
  border-color:rgba(100,73,35,.18);
  box-shadow:0 18px 46px rgba(0,0,0,.17), inset 0 0 0 1px rgba(255,255,255,.72);
}
.sb-card:before,
.sb-section-card:before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(246,196,92,.0),rgba(246,196,92,.95),rgba(97,168,255,.72),rgba(246,196,92,.0));
  opacity:.85;
}
.sb-card:after,
.sb-section-card:after{
  content:"";
  position:absolute;
  top:14px;
  right:16px;
  width:34px;
  height:34px;
  border-top:1px solid rgba(15,23,42,.13);
  border-right:1px solid rgba(15,23,42,.13);
  opacity:.55;
  pointer-events:none;
}
.sb-card > *,
.sb-section-card > *,
.sb-fig-card > *{position:relative;z-index:1;}
.sb-card h2,
.sb-card h3,
.sb-section-card h2,
.sb-section-card h3{letter-spacing:-.028em;}
.sb-card .sb-kicker,
.sb-section-card .sb-kicker{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid rgba(146,64,14,.16);border-radius:999px;background:rgba(246,196,92,.12);color:#92400e;}
.sb-card .sb-kicker:before,
.sb-section-card .sb-kicker:before{content:"FIG.";font-size:.68rem;letter-spacing:.08em;color:#0f3d73;opacity:.8;}
.sb-card--dark{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.052));border-color:rgba(255,255,255,.14);box-shadow:0 18px 44px rgba(0,0,0,.22);}
.sb-card--dark:before{background:linear-gradient(90deg,rgba(246,196,92,.0),rgba(246,196,92,.75),rgba(110,231,183,.55),rgba(246,196,92,.0));}
.sb-card--dark:after{border-color:rgba(255,255,255,.18);}
.sb-card--dark .sb-kicker{background:rgba(246,196,92,.12);border-color:rgba(246,196,92,.25);color:#f6c45c;}
.sb-mech-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 0%,rgba(246,196,92,.16),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.112),rgba(255,255,255,.052));
}
.sb-mech-card:after{
  content:"";
  position:absolute;
  inset:auto 16px 14px auto;
  width:46px;
  height:46px;
  border:1px solid rgba(246,196,92,.18);
  border-radius:50%;
  opacity:.6;
  pointer-events:none;
}
.sb-plate-frame{
  background:#fffdf7;
  border-color:rgba(100,73,35,.22);
  box-shadow:0 16px 36px rgba(0,0,0,.12), inset 0 0 0 1px rgba(15,23,42,.055);
}
.sb-plate-frame:before{content:"ORIGINAL DINGFELDER PATENT-PLATE STYLE";display:block;margin:0 0 8px;padding:6px 8px;border:1px solid rgba(15,23,42,.10);border-radius:10px;background:rgba(246,196,92,.10);color:#4b5563;font-weight:950;letter-spacing:.12em;font-size:.68rem;text-align:center;}
.sb-fig-card{transition:transform .16s ease,border-color .16s ease;}
.sb-fig-card:hover{transform:translateY(-1px);border-color:rgba(246,196,92,.42);}
