/* Plain finish: takes away the „AI-generated” tells from every look (Manor, 2026-10-13: „improve your current ui
   themes to not seem so much as AI generated”). Loaded LAST in index.html, after every theme file, and wins by
   specificity (the `html:root:root[data-theme]` prefix), so style.css and the theme files keep their structure.

   What it removes: the indigo-cyan-violet gradient on buttons, logo and badges (Dark / Light now use one accent
   colour), gradient text, the coloured light blobs behind the page and the banner, the fading grid, the moving
   shimmer line, neon glows on buttons, icons, numbers, menu and focus rings, cards that lift on hover, and very
   round corners. What stays: each theme's palette, fonts, texture pattern and corner shape, so the looks remain
   different from each other. Documents still print black on white (print rules in style.css are untouched).

   Not for the eight original game looks (Crystal, Terran, Nova, Zerg, Night Elf, Human, Blood Elf, High Elf):
   Manor, 2026-10-17: „the originals look better than the last iterations”. Every rule below that would reach them
   carries the `:not([data-theme=crystal], …)` list, so they render exactly as first shipped on 5 October
   (commit 990ff92, written up in project files themes/warcraft-original-themes.md). */

/* Dark and Light: one calm accent instead of the three-colour gradient, smaller corners, no grid. */
:root, [data-theme=dark] {
    --radius: 10px;
    --radius-sm: 7px;
}
[data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg],
[data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf] {
    --radius: 16px;
    --radius-sm: 10px;
}
[data-theme=dark] {
    --bg: #0f141b;
    --surface: #161c25;
    --surface-solid: #161c25;
    --surface-2: #1d2531;
    --chrome: #12171f;
    --input-bg: #0f141b;
    --line: #273140;
    --line-strong: #364253;
    --accent: #5aa9e6;
    --accent-soft: rgba(90, 169, 230, .12);
    --grad: #2f7fc1;
    --grad-text: none;
    --trim: #5aa9e6;
    --trim-rgb: 90 169 230;
    --shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
[data-theme=light] {
    --bg: #f4f5f7;
    --surface: #ffffff;
    --chrome: #ffffff;
    --line: #dde1e7;
    --line-strong: #c4cad3;
    --grad: #0e7490;
    --grad-text: none;
    --shadow: 0 1px 2px rgba(15, 23, 42, .08);
}
html:root:root:is([data-theme=dark], [data-theme=light]) body { background: var(--bg); }
html:root:root:is([data-theme=dark], [data-theme=light]) body::before { display: none; }
html:root:root:is([data-theme=dark], [data-theme=light]) .sidebar { -webkit-backdrop-filter: none; backdrop-filter: none; }
html:root:root:is([data-theme=dark], [data-theme=light]) .logo { background: var(--accent); }
html:root:root:is([data-theme=dark], [data-theme=light]) .logo span { color: var(--surface-solid); }
html:root:root:is([data-theme=dark], [data-theme=light]) .primary { background: var(--grad); }
html:root:root:is([data-theme=dark], [data-theme=light]) :is(.card, .stat, .hero) { background: var(--surface); }
html:root:root[data-theme=light] .logo span { color: #fff; }

/* Every look: the page sits on its flat colour; the theme's pattern (if any) stays. */
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) body { background: var(--bg); background-attachment: scroll; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) body::before { -webkit-mask-image: none; mask-image: none; }

/* Text: solid colours only. */
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .grad { background: none; color: var(--heading, var(--ink)); -webkit-text-fill-color: currentColor; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .eyebrow, html:root:root[data-theme] .section-title { letter-spacing: .07em; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .stat-num.live { text-shadow: none; }

/* The banner on the home page: a plain panel, no light blob, no moving line. */
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .hero { background: var(--surface); box-shadow: var(--shadow); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .hero::after { display: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .hero::before { animation: none; box-shadow: none; }
html:root:root:is([data-theme=dark], [data-theme=light]) .hero { border-radius: 12px; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .avatar-lg { box-shadow: 0 0 0 2px var(--surface-solid), 0 0 0 3px var(--line-strong); }

/* Cards: no coloured haze, no lift on hover; the border answers instead. */
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .stat::before { display: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .stat:hover { transform: none; box-shadow: var(--shadow); border-color: var(--line-strong); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .stat:hover .stat-go { transform: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .stat-icon { box-shadow: none; background: var(--surface-2); border-color: var(--line); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .stat.tone-brand .stat-icon { box-shadow: none; background: var(--accent); border-color: transparent; }
html:root:root:not([data-theme=dark], [data-theme=light]):not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .stat.tone-brand .stat-icon { background: var(--trim-grad); }
html:root:root:is([data-theme=dark], [data-theme=light]) .stat { border-radius: 12px; }
html:root:root:is([data-theme=dark], [data-theme=light]) .stat-icon { border-radius: 9px; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .theme-card:hover { transform: none; }

/* Menu: the current page is marked by a plain bar and a tint, without glow. */
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .nav-link[aria-current=page] { box-shadow: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .nav-link[aria-current=page] .icon { filter: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .nav-link[aria-current=page]::before { box-shadow: none; }
html:root:root:is([data-theme=dark], [data-theme=light]) .nav-link[aria-current=page]::before { background: var(--accent); }
html:root:root:is([data-theme=dark], [data-theme=light]) .nav-link { border-radius: 7px; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .badge { box-shadow: none; }
html:root:root:is([data-theme=dark], [data-theme=light]) .badge { background: var(--accent); color: var(--surface-solid); }
html:root:root[data-theme=light] .badge { color: #fff; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .logo { box-shadow: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .logo::after { display: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .theme-dot { box-shadow: 0 0 0 2px var(--surface-solid); }

/* Buttons and fields: no neon, no bloom on hover; a focus ring stays for the keyboard. */
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .primary { text-shadow: none; box-shadow: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .primary:hover:not(:disabled) { box-shadow: none; filter: brightness(1.1); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .secondary:hover:not(:disabled) { box-shadow: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .danger { background: #c62842; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .danger:hover:not(:disabled) { box-shadow: none; filter: brightness(1.1); }
html:root:root:is([data-theme=dark], [data-theme=light]) :is(button, .button, .big, .icon-btn) { border-radius: 7px; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) :is(input, select, textarea):focus { box-shadow: 0 0 0 3px var(--accent-soft); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) :is(input[type=checkbox], input[type=radio]) { accent-color: var(--trim, var(--accent)); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .theme-btn:hover { box-shadow: none; }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .steps li.now { border-image: none; border-color: var(--accent); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .tab.active { box-shadow: inset 0 -2px 0 var(--trim, var(--accent)); }

/* Lists, samples and progress: no glow. */
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .sample::before { box-shadow: none; background: var(--accent); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) progress::-webkit-progress-value { box-shadow: none; background: var(--accent); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) progress::-moz-progress-bar { background: var(--accent); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .thumb:hover img { box-shadow: 0 0 0 2px var(--accent); }
html:root:root[data-theme]:not([data-theme=crystal], [data-theme=terran], [data-theme=nova], [data-theme=zerg], [data-theme=nightelf], [data-theme=human], [data-theme=bloodelf], [data-theme=highelf]) .modal { box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .6); }

/* The CRT title cursor and the CRT / Cassette title glow read as gimmicks on a work tool. */
html:root:root[data-theme=crt] h1::after { content: none; }
html:root:root:is([data-theme=crt], [data-theme=cassette]) h1 { text-shadow: none; }
