/* AUTO-GENERATED by scripts/build-variants.js — DO NOT EDIT. */
/* ==========================================================================
   DARK ROAST: NIGHT SHIFT — DESIGN TOKEN FOUNDATION (Standalone)
   GENERATED FILE — do not edit. Source: src/variants/night-shift.json
   plus the Black Label CSS templates. Regenerate with `npm run build:variants`.

   scripts/build-variants.js owns the palette transform, keyframe namespace,
   and companion quality layer; shared component structure comes from
   src/css-templates/.
   ========================================================================== */


:root {

    /* @generated:tokens — from src/variants/night-shift.json, do not edit by hand */
    /* Monotonic dark→light: void → obsidian → darkCacao → espresso → roastedBean → crater */
    --dr-void: #0D0906;
    --dr-obsidian: #120C06;
    --dr-dark-cacao: #1B120C;
    --dr-espresso: #251A11;
    --dr-espresso-hover: #302117;
    --dr-roasted-bean: #4F392B;
    --dr-crater: #6A5140;

    /* crema = hero/display, bone = reading midpoint, mocha = muted body, warmWhite = bright callouts */
    --dr-crema: #FFF8F0;
    --dr-warm-white: #F4E8D8;
    --dr-bone: #E9DCCF;
    --dr-mocha: #BBA188;

    /* craterDeep = darker geological accent, asparagus = tertiary metadata, rustic/rose = grounded error states */
    --dr-crater-deep: #5A4234;
    --dr-asparagus: #89B481;
    --dr-rustic: #5C211C;
    --dr-rose: #572039;

    /* Color-name primitives. Semantic roles below alias these. */
    --dr-amber: #E9922E;
    --dr-amber-hot: #FF853D;
    --dr-amber-muted: #DA9763;
    --dr-gold: #D0A200;
    --dr-brass: #BDA45D;
    --dr-scarlet: #FE8175;
    --dr-burnt-sienna: #FB864D;
    --dr-teal: #2CB9AA;

    /* Directional severity uses distinct hue families plus required iconography; color is category, icon is direction. */
    --dr-magenta: #ED85B8;
    --dr-harvest: #D79B29;
    --dr-olive: #9DAF48;

    /* Semantic role aliases */
    --dr-accent: var(--dr-amber);
    --dr-accent-hot: var(--dr-amber-hot);
    --dr-accent-muted: var(--dr-amber-muted);
    --dr-success: var(--dr-teal);
    --dr-warning: var(--dr-brass);
    --dr-error: var(--dr-burnt-sienna);
    --dr-critical: var(--dr-scarlet);
    --dr-stable: var(--dr-gold);
    --dr-live: var(--dr-teal);
    --dr-fg-display: var(--dr-crema);
    --dr-fg-workhorse: var(--dr-bone);
    --dr-fg-secondary: var(--dr-mocha);
    --dr-fg-tertiary: var(--dr-asparagus);
    --dr-fg-body: var(--dr-bone);
    --dr-fg-muted: var(--dr-mocha);

    /* Opacity variants (dim 40% / subtle 10% / ghost 5%) */
    --dr-amber-dim: rgba(233, 146, 46, 0.4);
    --dr-amber-subtle: rgba(233, 146, 46, 0.1);
    --dr-amber-ghost: rgba(233, 146, 46, 0.05);
    --dr-amber-hot-dim: rgba(255, 133, 61, 0.4);
    --dr-amber-hot-subtle: rgba(255, 133, 61, 0.1);
    --dr-amber-hot-ghost: rgba(255, 133, 61, 0.05);
    --dr-gold-dim: rgba(208, 162, 0, 0.4);
    --dr-gold-subtle: rgba(208, 162, 0, 0.1);
    --dr-gold-ghost: rgba(208, 162, 0, 0.05);
    --dr-scarlet-dim: rgba(254, 129, 117, 0.4);
    --dr-scarlet-subtle: rgba(254, 129, 117, 0.1);
    --dr-scarlet-ghost: rgba(254, 129, 117, 0.05);
    --dr-teal-dim: rgba(44, 185, 170, 0.4);
    --dr-teal-subtle: rgba(44, 185, 170, 0.1);
    --dr-teal-ghost: rgba(44, 185, 170, 0.05);
    --dr-brass-dim: rgba(189, 164, 93, 0.4);
    --dr-brass-subtle: rgba(189, 164, 93, 0.1);
    --dr-brass-ghost: rgba(189, 164, 93, 0.05);
    --dr-burnt-sienna-dim: rgba(251, 134, 77, 0.4);
    --dr-burnt-sienna-subtle: rgba(251, 134, 77, 0.1);
    --dr-burnt-sienna-ghost: rgba(251, 134, 77, 0.05);
    --dr-magenta-dim: rgba(237, 133, 184, 0.4);
    --dr-magenta-subtle: rgba(237, 133, 184, 0.1);
    --dr-magenta-ghost: rgba(237, 133, 184, 0.05);
    --dr-harvest-dim: rgba(215, 155, 41, 0.4);
    --dr-harvest-subtle: rgba(215, 155, 41, 0.1);
    --dr-harvest-ghost: rgba(215, 155, 41, 0.05);
    --dr-olive-dim: rgba(157, 175, 72, 0.4);
    --dr-olive-subtle: rgba(157, 175, 72, 0.1);
    --dr-olive-ghost: rgba(157, 175, 72, 0.05);
    --dr-divider: rgba(255, 248, 240, 0.04);

    /* Glow effects — white hotspot / color midband / color wash */
    --dr-glow-amber:
        0 0 2px rgba(255, 255, 255, 0.3),
        0 0 10px rgba(233, 146, 46, 0.25),
        0 0 24px rgba(233, 146, 46, 0.1);
    --dr-glow-amber-intense:
        0 0 4px rgba(255, 255, 255, 0.5),
        0 0 14px rgba(233, 146, 46, 0.4),
        0 0 32px rgba(233, 146, 46, 0.15);
    --dr-glow-teal:
        0 0 2px rgba(255, 255, 255, 0.4),
        0 0 8px rgba(44, 185, 170, 0.35),
        0 0 24px rgba(44, 185, 170, 0.12);
    --dr-glow-teal-intense:
        0 0 4px rgba(255, 255, 255, 0.6),
        0 0 16px rgba(44, 185, 170, 0.5),
        0 0 36px rgba(44, 185, 170, 0.2);
    --dr-glow-scarlet:
        0 0 2px rgba(255, 255, 255, 0.3),
        0 0 8px rgba(254, 129, 117, 0.4),
        0 0 16px rgba(254, 129, 117, 0.15);
    --dr-glow-scarlet-intense:
        0 0 4px rgba(255, 255, 255, 0.5),
        0 0 14px rgba(254, 129, 117, 0.55),
        0 0 28px rgba(254, 129, 117, 0.2);
    --dr-glow-gold:
        0 0 2px rgba(255, 255, 255, 0.3),
        0 0 10px rgba(208, 162, 0, 0.25),
        0 0 24px rgba(208, 162, 0, 0.1);
    --dr-glow-gold-intense:
        0 0 4px rgba(255, 255, 255, 0.5),
        0 0 14px rgba(208, 162, 0, 0.4),
        0 0 32px rgba(208, 162, 0, 0.15);
    --dr-glow-amber-hot:
        0 0 2px rgba(255, 255, 255, 0.3),
        0 0 8px rgba(255, 133, 61, 0.3),
        0 0 20px rgba(255, 133, 61, 0.1);
    --dr-glow-magenta:
        0 0 2px rgba(255, 255, 255, 0.3),
        0 0 8px rgba(237, 133, 184, 0.4),
        0 0 16px rgba(237, 133, 184, 0.15);
    --dr-glow-harvest:
        0 0 2px rgba(255, 255, 255, 0.3),
        0 0 10px rgba(215, 155, 41, 0.25),
        0 0 24px rgba(215, 155, 41, 0.1);
    --dr-glow-olive:
        0 0 2px rgba(255, 255, 255, 0.3),
        0 0 10px rgba(157, 175, 72, 0.25),
        0 0 24px rgba(157, 175, 72, 0.1);
    --dr-glow-teal-ghost:
        0 0 4px rgba(44, 185, 170, 0.08),
        0 0 12px rgba(44, 185, 170, 0.03);
    --dr-glass-gradient: linear-gradient(145deg, var(--dr-espresso), rgba(90, 66, 52, 0.2));

    /* Elevation — shadow + border pairs */
    --dr-elevation-flat-shadow: none;
    --dr-elevation-flat-border: 1px solid rgba(255,255,255,0.04);
    --dr-elevation-raised-shadow: 0 2px 8px rgba(0,0,0,0.4);
    --dr-elevation-raised-border: 1px solid rgba(255,255,255,0.06);
    --dr-elevation-floating-shadow: 0 8px 24px rgba(0,0,0,0.5), 0 0 20px rgba(233, 146, 46,0.12);
    --dr-elevation-floating-border: 1px solid rgba(255,255,255,0.08);
    --dr-elevation-critical-shadow: 0 8px 24px rgba(0,0,0,0.6), 0 0 24px rgba(254, 129, 117,0.20);
    --dr-elevation-critical-border: 1px solid rgba(254, 129, 117,0.30);
    --dr-elevation-live-shadow: 0 4px 16px rgba(0,0,0,0.4), 0 0 16px rgba(44, 185, 170,0.15);
    --dr-elevation-live-border: 1px solid rgba(44, 185, 170,0.20);

    /* Typography */
    --dr-font-display: 'Playfair Display', Georgia, serif;
    --dr-font-heading: 'Instrument Sans', -apple-system, sans-serif;
    --dr-font-body: 'DM Sans', -apple-system, sans-serif;
    --dr-font-mono: 'Fira Code', 'SF Mono', monospace;
    --dr-text-xs: 0.625rem;
    --dr-text-sm: 0.75rem;
    --dr-text-base: 0.875rem;
    --dr-text-md: 1rem;
    --dr-text-lg: 1.125rem;
    --dr-text-xl: 1.375rem;
    --dr-text-2xl: 1.75rem;
    --dr-text-3xl: 2.25rem;
    --dr-text-4xl: 3rem;
    --dr-text-5xl: 4rem;
    --dr-text-huge: 4.5rem;
    --dr-leading-xs: 1.4;
    --dr-leading-sm: 1.5;
    --dr-leading-base: 1.6;
    --dr-leading-md: 1.5;
    --dr-leading-lg: 1.4;
    --dr-leading-xl: 1.3;
    --dr-leading-2xl: 1.2;
    --dr-leading-3xl: 1.15;
    --dr-leading-4xl: 1.1;
    --dr-leading-5xl: 1;
    --dr-tracking-tight: -0.01em;
    --dr-tracking-normal: 0;
    --dr-tracking-wide: 0.05em;
    --dr-tracking-wider: 0.10em;
    --dr-tracking-widest: 0.20em;
    --dr-tracking-display: 0.15em;

    /* Spacing (4px base) */
    --dr-space-0: 0;
    --dr-space-1: 4px;
    --dr-space-2: 8px;
    --dr-space-3: 12px;
    --dr-space-4: 16px;
    --dr-space-5: 20px;
    --dr-space-6: 24px;
    --dr-space-8: 32px;
    --dr-space-10: 40px;
    --dr-space-12: 48px;
    --dr-space-16: 64px;
    --dr-space-20: 80px;
    --dr-space-24: 96px;
    --dr-space-px: 1px;
    --dr-space-0-5: 2px;
    --dr-space-1-5: 6px;
    --dr-space-xs: var(--dr-space-1);
    --dr-space-sm: var(--dr-space-2);
    --dr-space-md: var(--dr-space-3);
    --dr-space-lg: var(--dr-space-4);
    --dr-space-xl: var(--dr-space-6);
    --dr-space-2xl: var(--dr-space-8);
    --dr-space-3xl: var(--dr-space-12);

    /* Border radii */
    --dr-radius-none: 0;
    --dr-radius-xs: 2px;
    --dr-radius-sm: 4px;
    --dr-radius-md: 8px;
    --dr-radius-lg: 12px;
    --dr-radius-xl: 16px;
    --dr-radius-2xl: 24px;
    --dr-radius-full: 9999px;

    /* Geo stripe */
    --dr-stripe-height: 2px;
    --dr-stripe-opacity: 0.5;

    /* Icon sizes */
    --dr-icon-xs: 12px;
    --dr-icon-sm: 14px;
    --dr-icon-md: 16px;
    --dr-icon-lg: 20px;
    --dr-icon-xl: 24px;
    --dr-icon-2xl: 32px;
    --dr-icon-3xl: 48px;

    /* Motion — durations + easings */
    --dr-duration-instant: 0ms;
    --dr-duration-fast: 120ms;
    --dr-duration-base: 200ms;
    --dr-duration-moderate: 320ms;
    --dr-duration-slow: 480ms;
    --dr-duration-deliberate: 640ms;
    --dr-duration-ambient: 1200ms;
    --dr-duration-normal: 300ms;
    --dr-duration-theatrical: 500ms;
    --dr-duration-entrance: 600ms;
    --dr-easing-linear: linear;
    --dr-easing: cubic-bezier(0.4, 0, 0.2, 1);
    --dr-easing-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --dr-easing-ease-in: cubic-bezier(0.7, 0, 0.84, 0);
    --dr-easing-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --dr-easing-dramatic: cubic-bezier(0.22, 1, 0.36, 1);
    --dr-easing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
    --dr-easing-spring-snappy: cubic-bezier(0.175, 0.885, 0.32, 1.275);

    /* Z-index scale */
    --dr-z-base: 0;
    --dr-z-raised: 1;
    --dr-z-sticky: 100;
    --dr-z-header: 200;
    --dr-z-dropdown: 300;
    --dr-z-overlay: 400;
    --dr-z-modal: 500;
    --dr-z-popover: 600;
    --dr-z-toast: 700;
    --dr-z-tooltip: 800;
    --dr-z-debug: 9999;
/* @end:tokens */

    /* ── App-layer & derived tokens (hand-authored) ──────────────────────
       These consume the generated primitives above. Severity / workflow / CExE
       are somaCURA app-layer contracts; deprecated aliases ease v3 migration. */

    /* Deprecated v3 aliases (slated for removal in a future major) */
    --dr-grain:          var(--dr-espresso);
    --dr-grain-hover:    var(--dr-espresso-hover);
    --dr-crater-lt:      var(--dr-crater);

    /* Clinical severity mapping (Option C, v4.1.0) — color is category only;
       pair directional states with iconography (DESIGN-SYSTEM §6). */
    --dr-severity-critical:   var(--dr-scarlet);
    --dr-severity-worsening:  var(--dr-magenta);
    --dr-severity-improving:  var(--dr-harvest);
    --dr-severity-stable:     var(--dr-olive);
    --dr-severity-resolved:   var(--dr-teal);

    --dr-glow-severity-critical:  var(--dr-glow-scarlet);
    --dr-glow-severity-worsening: var(--dr-glow-magenta);
    --dr-glow-severity-improving: var(--dr-glow-harvest);
    --dr-glow-severity-stable:    var(--dr-glow-olive);
    --dr-glow-severity-resolved:  var(--dr-glow-teal);

    --dr-severity-critical-bg:    var(--dr-scarlet-subtle);
    --dr-severity-worsening-bg:   var(--dr-magenta-subtle);
    --dr-severity-improving-bg:   var(--dr-harvest-subtle);
    --dr-severity-stable-bg:      var(--dr-olive-subtle);
    --dr-severity-resolved-bg:    var(--dr-teal-subtle);

    /* Clinical workflow states */
    --dr-status-idle:        var(--dr-mocha);
    --dr-status-generating:  var(--dr-teal);
    --dr-status-ready:       var(--dr-gold);
    --dr-status-editing:     var(--dr-amber);
    --dr-status-error:       var(--dr-burnt-sienna);

    /* CExE component tokens (Clinical Expression Engine) */
    --dr-cexe-eval-badge-bg:       var(--dr-espresso);
    --dr-cexe-eval-badge-border:   var(--dr-crater-deep);
    --dr-cexe-answer-text:         var(--dr-crema);
    --dr-cexe-answer-highlight:    var(--dr-amber);
    --dr-cexe-scope-indicator:     var(--dr-asparagus);
    --dr-cexe-whatif-highlight:    var(--dr-amber-subtle);
    --dr-cexe-whatif-border:       var(--dr-amber-dim);
    --dr-cexe-provenance-hover:    var(--dr-espresso-hover);
    --dr-cexe-provenance-border:   var(--dr-crater);
    --dr-cexe-running-total:       var(--dr-gold);
    --dr-cexe-running-total-bg:    var(--dr-gold-ghost);
    --dr-cexe-abx-badge:           var(--dr-amber-hot);
    --dr-cexe-abx-badge-bg:        var(--dr-amber-hot-subtle);
    --dr-cexe-expr-detect:         var(--dr-teal-subtle);
    --dr-cexe-expr-detect-border:  var(--dr-teal-dim);

    /* Texture */
    --dr-grain-texture: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}


/* ==========================================================================
   SECTION 13: ANIMATION KEYFRAMES
   ========================================================================== */

@keyframes dr-night-shift-pulse-teal {
    0%   { box-shadow: 0 0 0 0 rgba(44, 185, 170, 0.6); }
    70%  { box-shadow: 0 0 0 12px rgba(44, 185, 170, 0); }
    100% { box-shadow: 0 0 0 0 rgba(44, 185, 170, 0); }
}

@keyframes dr-night-shift-pulse-scarlet {
    0%, 100% { box-shadow: 0 0 0 rgba(254, 129, 117, 0); }
    50%      { box-shadow: 0 0 16px rgba(254, 129, 117, 0.3); }
}

@keyframes dr-night-shift-breathe-amber {
    0%, 100% { opacity: 0.6; }
    50%      { opacity: 1.0; }
}

@keyframes dr-night-shift-shimmer-skeleton {
    0%   { background-position: -200% 0; }
    100% { background-position:  200% 0; }
}

@keyframes dr-night-shift-fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes dr-night-shift-slideIn {
    from { opacity: 0; transform: translateX(-20px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes dr-night-shift-glow {
    0%, 100% { box-shadow: 0 0 8px rgba(233, 146, 46, 0.2); }
    50%      { box-shadow: 0 0 20px rgba(233, 146, 46, 0.4); }
}

@keyframes dr-night-shift-grain-drift {
    0%, 100% { transform: translate(0, 0); }
    50%      { transform: translate(-2px, -2px); }
}


/* ==========================================================================
   SECTION 14: UTILITY CLASSES
   Unscoped — classes work standalone without data-theme attribute.
   ========================================================================== */

/* Glass morphism panel — the standard Dark Roast card surface */
.dr-glass-panel {
    background: var(--dr-glass-gradient);
    border: 1px solid var(--dr-crater-deep);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    border-radius: var(--dr-radius-lg);
}

/* Geological sediment stripe — thin warm gradient at card bottom */
.dr-geo-stripe {
    position: relative;
}
.dr-geo-stripe::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--dr-stripe-height);
    background: linear-gradient(90deg, var(--dr-crater-deep), var(--dr-crater), transparent);
    opacity: var(--dr-stripe-opacity);
    border-radius: 0 0 var(--dr-radius-lg) var(--dr-radius-lg);
}

/* Severity badge classes — inline pill/chip for clinical states */
.dr-severity-critical {
    color: var(--dr-severity-critical);
    background: var(--dr-severity-critical-bg);
    box-shadow: var(--dr-glow-severity-critical);
}
.dr-severity-worsening {
    color: var(--dr-severity-worsening);
    background: var(--dr-severity-worsening-bg);
    box-shadow: var(--dr-glow-severity-worsening);
}
.dr-severity-improving {
    color: var(--dr-severity-improving);
    background: var(--dr-severity-improving-bg);
    box-shadow: var(--dr-glow-severity-improving);
}
.dr-severity-stable {
    color: var(--dr-severity-stable);
    background: var(--dr-severity-stable-bg);
    box-shadow: var(--dr-glow-severity-stable);
}
.dr-severity-resolved {
    color: var(--dr-severity-resolved);
    background: var(--dr-severity-resolved-bg);
    box-shadow: var(--dr-glow-severity-resolved);
}

/* Live data pulsing indicator */
.dr-pulse-teal {
    animation: dr-night-shift-pulse-teal 2.5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}

/* Critical breathing ring */
.dr-pulse-scarlet {
    animation: dr-night-shift-pulse-scarlet var(--dr-duration-ambient) var(--dr-easing-ease-in-out) infinite;
}

/* Amber ambient breathing opacity */
.dr-breathe-amber {
    animation: dr-night-shift-breathe-amber var(--dr-duration-ambient) var(--dr-easing-ease-in-out) infinite;
}

/* Fractal noise grain overlay — fixed fullscreen with drift animation */
.dr-grain-overlay {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: var(--dr-z-debug);
    opacity: 0.025;
    mix-blend-mode: overlay;
    background-image: var(--dr-grain-texture);
    animation: dr-night-shift-grain-drift 8s ease-in-out infinite;
}

/* Fade-up entrance utility */
.dr-fade-up {
    animation: dr-night-shift-fadeUp 0.7s ease-out both;
}

/* Slide-in entrance utility */
.dr-slide-in {
    animation: dr-night-shift-slideIn 0.5s ease-out both;
}

/* Amber glow breathing animation */
.dr-glow-breathe {
    animation: dr-night-shift-glow 3s ease-in-out infinite;
}


/* ==========================================================================
   SECTION 15: BASE STYLES
   Activated by adding class="dark-roast-night-shift" to body (or any container).
   ========================================================================== */

.dark-roast-night-shift {
    background-color: var(--dr-void);
    color: var(--dr-bone);
    font-family: var(--dr-font-body);
    font-size: var(--dr-text-base);
    line-height: var(--dr-leading-base);
    margin: 0;
    padding: 0;
}

.dark-roast-night-shift ::selection {
    background: rgba(233, 146, 46, 0.22);
    color: var(--dr-crema);
}

.dark-roast-night-shift ::-moz-selection {
    background: rgba(233, 146, 46, 0.22);
    color: var(--dr-crema);
}

/* Scrollbars */
.dark-roast-night-shift {
    scrollbar-color: var(--dr-crater-deep) var(--dr-void);
    scrollbar-width: thin;
}
.dark-roast-night-shift ::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
.dark-roast-night-shift ::-webkit-scrollbar-track {
    background: var(--dr-void);
}
.dark-roast-night-shift ::-webkit-scrollbar-thumb {
    background: var(--dr-crater-deep);
    border-radius: 3px;
}
.dark-roast-night-shift ::-webkit-scrollbar-thumb:hover {
    background: var(--dr-amber);
}

/* Focus ring */
.dark-roast-night-shift *:focus-visible {
    outline: 2px solid var(--dr-teal);
    outline-offset: 2px;
}

/* Accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .dark-roast-night-shift {
        animation: none;
    }
    .dark-roast-night-shift .dr-pulse-teal,
    .dark-roast-night-shift .dr-pulse-scarlet,
    .dark-roast-night-shift .dr-breathe-amber,
    .dark-roast-night-shift .dr-fade-up,
    .dark-roast-night-shift .dr-slide-in,
    .dark-roast-night-shift .dr-glow-breathe,
    .dark-roast-night-shift .dr-shimmer-skeleton,
    .dark-roast-night-shift .dr-grain-overlay {
        animation: none;
    }
}

/* Accessibility: high contrast strengthens foregrounds, disables shadows */
@media (prefers-contrast: more) {
    .dark-roast-night-shift {
        text-shadow: none !important;
        --dr-bone:      var(--dr-warm-white);
        --dr-mocha:     var(--dr-bone);
        --dr-asparagus: var(--dr-mocha);
        --dr-divider:   rgba(255, 255, 255, 0.12);
    }
}

/* Accessibility: Windows High Contrast Mode — map DR tokens to system colors */
@media (forced-colors: active) {
  .dark-roast-night-shift {
    --dr-void: Canvas;
    --dr-obsidian: Canvas;
    --dr-crema: CanvasText;
    --dr-bone: CanvasText;
    --dr-mocha: CanvasText;
    --dr-amber: Highlight;
    --dr-teal: LinkText;
    --dr-scarlet: Mark;
    --dr-divider: ButtonBorder;
  }
}


/* Companion quality layer: informational structure, complete utilities. */
.dark-roast-night-shift {
    --dr-structural: #A88C73;
    --dr-fg-structural: var(--dr-structural);
}

.dark-roast-night-shift .dr-shimmer-skeleton {
    background: linear-gradient(90deg, var(--dr-espresso) 0%, var(--dr-espresso-hover) 50%, var(--dr-espresso) 100%);
    background-size: 200% 100%;
    animation: dr-night-shift-shimmer-skeleton 1.5s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
    .dark-roast-night-shift .dr-shimmer-skeleton { animation: none; }
}

.dark-roast-night-shift :is(.dr-severity-critical, .dr-severity-worsening, .dr-severity-improving, .dr-severity-stable, .dr-severity-resolved) {
    display: inline-flex;
    align-items: center;
    gap: var(--dr-space-1-5);
    min-height: 28px;
    padding: var(--dr-space-1) var(--dr-space-2);
    border: 1px solid currentColor;
    border-radius: var(--dr-radius-full);
    font-family: var(--dr-font-body);
    font-size: var(--dr-text-sm);
    font-weight: 600;
    line-height: 1;
}
