*{box-sizing:border-box}html{background:#070a08;color:#f0e8d7;font-family:Arial Narrow,Roboto Condensed,Arial,sans-serif}body{margin:0;background:#070a08;color:#f0e8d7}.site{max-width:1180px;margin:0 auto;padding:18px}.mono{font-family:IBM Plex Mono,Courier New,monospace}.label{letter-spacing:.12em;text-transform:uppercase;font-weight:800}.paper{background:linear-gradient(180deg,#ded0b2,#d7c7a7);color:#171a16;border:1px solid #706b58;border-radius:2px}.dark{background:#101512;color:#f0e8d7}.darker{background:#070a08;color:#f0e8d7}.gridbg{background-image:linear-gradient(rgba(120,130,110,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(120,130,110,.055) 1px,transparent 1px);background-size:22px 22px}.section{margin-top:16px;border:1px solid #25362e;padding:22px}.hero{padding:0}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-bottom:1px solid #25362e;padding:12px 20px;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#aaad9f}.hero-inner{padding:42px 24px}.hero h1{margin:12px 0 0;max-width:900px;font-size:clamp(3rem,8vw,6.2rem);line-height:.88;text-transform:uppercase}.hero p{max-width:760px;font-size:1.12rem;line-height:1.65;color:#d7c7a7}.callout{max-width:760px;margin-top:20px;border-left:4px solid #b37b25;background:#101512;padding:15px 16px;font-size:1.12rem;font-weight:800}.section h2{margin:4px 0 0;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1;text-transform:uppercase}.muted{color:#9aa486}.trade-grid,.featured-grid,.mode-grid,.family-grid{display:grid;gap:12px}.trade-grid{grid-template-columns:repeat(4,1fr)}.featured-grid{grid-template-columns:repeat(3,1fr);margin-top:22px}.mode-grid{grid-template-columns:repeat(2,1fr);margin-top:18px}.family-grid{grid-template-columns:repeat(3,1fr);margin-top:18px}.trade-card{border:1px solid #8e846a;padding:16px}.trade-card h3{margin:8px 0 0;font-size:1.15rem}.trade-card p{margin:8px 0 0;line-height:1.5;font-size:.92rem}.file-card{position:relative;padding:18px;min-height:180px;text-decoration:none;display:block}.file-card:before{content:'';position:absolute;right:18px;top:-7px;width:72px;height:8px;background:#c7b795;border:1px solid #8e846a;border-bottom:0}.file-card h3{margin:12px 0 0;font-size:1.55rem;line-height:1.02;text-transform:uppercase}.file-card p{border-top:1px solid #8e846a;margin:16px 0 0;padding-top:12px;line-height:1.45}.open-files{margin-top:30px;border-top:1px solid #314239;padding-top:20px}.open-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.open-card{display:block;text-decoration:none;color:#f0e8d7;background:#101512;border-left:4px solid #b37b25;padding:14px}.open-card h3{margin:5px 0 0;font-size:1.2rem}.open-card p{margin:6px 0 0;color:#d7c7a7;line-height:1.45;font-size:.9rem}.open-card.green{border-left-color:#4d5833}.open-card.red{border-left-color:#a33829}.open-card.fenced{border-left-color:#6e7558}.mode-card{background:#0d120f;padding:16px;border-left:4px solid #4d5833}.mode-card:nth-child(2){border-left-color:#b37b25}.mode-card:nth-child(3){border-left-color:#245276}.mode-card:nth-child(4){border-left-color:#a33829}.mode-card h3{margin:4px 0 0;font-size:1.2rem}.mode-card p{color:#d7c7a7;line-height:1.5}.counter{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:14px}.counter-code{border:1px solid #8e846a;padding:18px;font-family:IBM Plex Mono,Courier New,monospace;line-height:1.8}.steps{margin-top:18px;border-top:1px solid #8e846a;border-bottom:1px solid #8e846a}.step{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid #8e846a}.step:last-child{border-bottom:0}.step-num{font-size:1.45rem;font-weight:900;color:#4d5833}.family-card{background:#101512;border:1px solid #4d5833;padding:16px}.family-card.active{border-color:#b37b25;background:#15150f}.family-card h3{margin:8px 0 0;font-size:1.45rem}.family-card p{color:#d7c7a7;line-height:1.5}.final-rule{font-size:clamp(1.65rem,3.5vw,2.5rem);font-weight:900;line-height:1.08;margin:8px 0 0}.placeholder{max-width:800px;margin:70px auto}.placeholder a{color:#d7c7a7}.placeholder .paper{padding:24px}.placeholder h1{font-size:clamp(2.4rem,7vw,4.8rem);line-height:.95;margin:12px 0;text-transform:uppercase}
.article-site{max-width:980px}.back-link{display:inline-block;margin:8px 0 4px;color:#d7c7a7;text-decoration:none}.article-hero{padding:0}.article-topline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-bottom:1px solid #25362e;padding:12px 18px;font-size:12px}.article-hero-inner{padding:34px 22px}.article-hero h1,.placeholder-card h1{font-size:clamp(2.8rem,7vw,5.4rem);line-height:.92;margin:10px 0 0;text-transform:uppercase}.article-hero p,.placeholder-card p{max-width:760px;color:#d7c7a7;font-size:1.08rem;line-height:1.65}.article-panel{margin-top:16px;padding:22px}.article-panel h2{margin:4px 0 0;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1;text-transform:uppercase}.article-panel p,.section p{line-height:1.65}.article-lead{font-size:clamp(1.45rem,3vw,2rem);font-weight:900;line-height:1.1!important;margin:8px 0 0}.article-body-lg{font-size:1.08rem}.paper-callout,.plain-callout{margin-top:16px;border-left:4px solid #b37b25;padding-left:14px;font-size:1.2rem;font-weight:900}.plain-callout{border-left-color:#4d5833}.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.path-box{border:1px solid #314239;background:#0d120f;padding:18px}.path-stack{display:grid;gap:8px;text-align:center;margin-top:16px}.function-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:16px}.function-grid span{border:1px solid #314239;padding:8px;text-align:center;color:#d7c7a7;font-size:.9rem}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.benefit-card{border:1px solid #314239;background:#101512;padding:15px}.benefit-card p{color:#d7c7a7;font-size:.92rem;margin-bottom:0}.article-emphasis{font-weight:900;font-size:1.08rem}.dependency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.dependency-grid span{border:1px solid #8e846a;padding:10px}.source-note{color:#d7c7a7}.evidence-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.evidence-links a{color:#ded0b2;border:1px solid #4d5833;padding:8px 10px;text-decoration:none;font-size:.82rem}.age-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.age-grid div{border:1px solid #314239;background:#0d120f;padding:15px;color:#d7c7a7;line-height:1.55}.bottom-line .callout{max-width:none}.placeholder-card{margin-top:16px}.inline-file-link{display:inline-block;margin-top:8px;color:#3d4b2b;font-weight:800;text-decoration:none;border-bottom:1px solid #6f7957}.article-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin:16px 0 8px}.article-nav>div>a,.article-nav-home{display:flex;flex-direction:column;justify-content:center;min-height:82px;padding:12px;border:1px solid #314239;background:#101512;color:#f0e8d7;text-decoration:none}.article-nav>div:last-child>a{text-align:right;align-items:flex-end}.article-nav span{font-size:11px;color:#b7bcaa}.article-nav strong{margin-top:5px;font-size:.92rem;line-height:1.15;text-transform:uppercase}.article-nav-home{min-width:100px;align-items:center;text-align:center;color:#d7b36e;font-size:11px}.affiliate-rail{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin-top:16px;padding:22px}.affiliate-rail h2{margin:5px 0 0;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1;text-transform:uppercase}.affiliate-rail p{line-height:1.55}.affiliate-actions{display:flex;flex-direction:column;justify-content:center;gap:8px}.affiliate-primary,.affiliate-secondary{display:block;padding:12px 14px;text-decoration:none;font-weight:900;line-height:1.25}.affiliate-primary{background:#101512;color:#f0e8d7;border:1px solid #101512}.affiliate-secondary{color:#25362e;border:1px solid #4d5833;background:transparent}.affiliate-disclosure{margin:4px 0 0;font-size:.76rem;color:#555746}.affiliate-disclosure a{color:#354323;font-weight:800}
@media(max-width:850px){.trade-grid{grid-template-columns:repeat(2,1fr)}.featured-grid{grid-template-columns:repeat(2,1fr)}.family-grid{grid-template-columns:1fr}.counter{grid-template-columns:1fr}.benefit-grid{grid-template-columns:1fr}.dependency-grid{grid-template-columns:repeat(2,1fr)}.affiliate-rail{grid-template-columns:1fr}}@media(max-width:650px){.path-grid,.age-grid{grid-template-columns:1fr}.article-nav{grid-template-columns:1fr}.article-nav>div:last-child>a{text-align:left;align-items:flex-start}.article-nav-home{min-height:48px}}@media(max-width:560px){.site{padding:10px}.section{padding:18px}.hero-inner{padding:32px 18px}.trade-grid,.featured-grid,.mode-grid,.open-grid{grid-template-columns:1fr}.file-card{min-height:0}.topbar{padding:10px 16px}.hero h1{font-size:3.2rem}.article-hero-inner{padding:28px 18px}.article-panel{padding:18px}.function-grid,.dependency-grid{grid-template-columns:1fr}.article-topline{padding:10px 14px}.affiliate-rail{padding:18px}}


/* Contrast housekeeping for the Driving Dossier Technology Files family skin.
   Keep this file small: it fixes legibility only, not layout or visual identity. */

/* Small utility/meta text on dark surfaces was too close to the panel tone. */
.dark .label,
.darker .label,
.dark .muted,
.darker .muted,
.article-topline,
.path-box .mono {
  color:#bcc3a8;
}

/* Body/support text on dark article panels gets a modest lift. */
.article-panel.dark p,
.article-panel.darker p,
.article-hero p,
.benefit-card p,
.age-grid div,
.function-grid span,
.source-note {
  color:#ded6c5;
}

/* Cream-paper evidence blocks need dark source text and links.
   The previous generic evidence-link color was nearly the same as the paper. */
.paper .source-note {
  color:#34382f;
}
.paper .evidence-links a {
  color:#243026;
  border-color:#706b58;
  background:rgba(255,255,255,.14);
  font-weight:700;
}
.paper .evidence-links a:hover,
.paper .evidence-links a:focus-visible {
  background:rgba(255,255,255,.28);
  outline:1px solid #4d5833;
  outline-offset:2px;
}

/* Keep dark-surface evidence links warm and readable. */
.dark .evidence-links a,
.darker .evidence-links a {
  color:#eee4cf;
  border-color:#6d7757;
}

/* Tiny cream-panel labels need slightly more ink without becoming heavy. */
.paper .label,
.paper .mono {
  color:#454a38;
}

/* Navigation/back link should never look disabled. */
.back-link {
  color:#e4dac6;
}
