
/* Kyle-approved black screen ground, 18 October 2026. Brand colour ramps and
   supplied artwork remain unchanged; semantic roles adapt to dark surfaces. */
@media screen {
 html{overflow-x:clip}
 html,body{background:var(--surface-page);color:var(--text-primary);color-scheme:dark}
 .dn-edition-glyphs{background:var(--paper);color:var(--ink-900);color-scheme:light}
 .dn-wordmark{color:var(--paper)}
 .btn{border-color:var(--neutral-400)}
 .on-maroon .t-label,.skill-block .t-label{color:var(--paper)}
 .btn:not(.btn-accent):hover{border-color:var(--neutral-400)}
 .btn-accent{border-color:var(--maroon-400);color:var(--paper)}
 .btn-accent:hover{border-color:var(--maroon-300);color:var(--paper)}
 .btn-ghost{color:var(--paper);border-color:var(--neutral-400)}
 .btn-ghost:hover{background:var(--ink-700);color:var(--paper)}
 input,textarea,select{background:var(--ink-800);color:var(--paper);border-color:var(--neutral-400)}
 input::placeholder,textarea::placeholder{color:var(--neutral-300);opacity:1}
 input[type=checkbox],input[type=radio]{accent-color:var(--maroon-300)}
 .nav a.current::after{background:var(--maroon-300)}
 .dn-kit .formkit-form .formkit-submit{border-color:var(--maroon-400)}
 .dn-enquiry [aria-invalid="true"]{border-color:var(--maroon-400)}
 .dn-scene-home .t-lede,.dn-scene-home .dn-audience-note{color:var(--neutral-200)}
 .nav-toggle span{background:var(--paper)}
 .dn-editorial{--ed-muted:var(--neutral-300);--ed-maroon-tint:var(--maroon-900)}
 .sk-tag--free{border-color:var(--neutral-400);color:var(--neutral-200)}
 :focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
}
@media screen and (max-width:900px){
 .site-header .nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:44px;min-height:44px}
 .site-header .nav-toggle span{margin:0}
}
/* Worksheets keep the existing printable layout and a light reading surface. */
@media print {
 :root{--text-primary:var(--ink-900);--text-secondary:var(--ink-600);--text-link:var(--maroon-700);--text-link-hover:var(--maroon-800);--surface-page:var(--paper);--surface-page-alt:var(--neutral-50);--surface-card:var(--paper);--border-default:var(--neutral-300);--border-subtle:var(--neutral-200);--border-strong:var(--ink-900)}
 html,body{background:var(--paper);color:var(--ink-900);color-scheme:light}
 main :not(.dn-edition *):not(svg *){color:var(--ink-900)!important}
 .dn-editorial{--ed-muted:var(--ink-600);--ed-maroon-tint:var(--maroon-100)}
}


@media screen and (min-width:901px){
 .dn-scene-home:after{background:linear-gradient(90deg,var(--surface-page) 27%,rgba(0,0,0,.98) 40%,rgba(0,0,0,.88) 54%,rgba(0,0,0,0) 78%),linear-gradient(0deg,var(--surface-page),rgba(0,0,0,0) 26%)}
}

/* Softer maroon cover backlight approved by Kyle, 18 October 2026.
   Shared by static and rendered Bold editions. No motion or layout changes. */
@media screen {
 body{overflow-x:clip} /* Light may fade at the viewport edge without widening it. */
 :root{--dn-cover-glow:0 0 12px 2px rgba(134,0,27,.72),0 0 36px 10px rgba(134,0,27,.48),0 0 72px 20px rgba(134,0,27,.25)}
 .dn-edition{border-color:rgba(134,0,27,.8);box-shadow:var(--dn-cover-glow)}
 /* Article media frames clip their contents, so light belongs on the frame. */
 .dn-editorial .dn-scene-card:has(.dn-edition){box-shadow:var(--dn-cover-glow)}
 .dn-editorial .dn-scene-card .dn-edition{box-shadow:none}
}
