/* The Theme and Accent settings (Settings, Display; theme and accent,
   mod.js): dev2's Modern Dark and its dark palettes (Midnight, Forest,
   Ember, Ocean), and its light themes (Modern Light, Parchment), for the
   game frames and the page around them, with the same colours as dev2's
   React client (frontend/src/styles/themes.css there). Classic (0) sets no
   data-theme, so none of the theme rules apply and the game looks as it
   always has.

   <html data-theme> picks the theme and <html data-accent> the accent,
   set on each frame by cs2() and applyLook() in mod.js; the light themes
   also set data-tone="light". A theme recolours the page, the text,
   labels, headings, panels and Settings controls, and the named colours
   the game writes inline (<font color='orange'>, ...) to dev2's readable
   equivalents. In the dark themes the colours that mean something
   (alignment, health, monster titles, fight lines, chat line types,
   server-sent item colours) stay as they are.

   The light themes, as dev2 has them: the fight, the chat log, chat
   command results, the Hunt Info block and the anti-macro popup stay dark
   "consoles" (their colours
   carry meaning, many come from the server, all picked for a black page),
   and everywhere else every colour the game writes is swapped for a darker
   shade that reads at 4.5:1 on the light pages (the light-inks block at
   the end, made by tools/themes/light_inks.cjs). The zone backdrops are
   hidden: dark rock under dark text.

   The accent colours buttons.css's finishes in every theme, Classic too,
   and the theme's highlights (Settings switches and choices). */

:root[data-theme],
:root[data-tone="light"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){
    --font:system-ui,-apple-system,"Segoe UI",sans-serif;

    --bg:#0d1117;
    --surface:#151b23;
    --surface-2:#1c2430;
    --input-bg:#0d1117;
    --border:#2a3441;
    --border-subtle:#1f2732;
    --text:#e6edf3;
    --text-muted:#9aa6b2;
    --text-faint:#6e7a87;
    --accent:#4cb3d4;
    --accent-text:#041c24;
    --accent-soft:rgba(76,179,212,0.14);

    --game-text:#e6edf3;
    --game-label:#9aa6b2;
    --game-link:#4ade80;
    --game-heading:#e3b341;
    --game-bright:#f0f6fc;
    --game-white:#f0f6fc;
    --game-dim:#9aa6b2;
    --game-muted:#6e7a87;

    --c-lime:#4ade80;
    --c-green:#4ade80;
    --c-orange:#f0a347;
    --c-red:#f47067;
    --c-pink:#f7a8c8;
    --c-purple:#c297ff;
    --c-silver:#b7c0cc;
    --c-yellow:#e3d34a;

    color-scheme:dark;
}

/* ---- Palettes: Modern Dark with their own page colours ------------------- */
:root[data-theme="midnight"]{
    --bg:#0b0e1a;
    --surface:#121729;
    --surface-2:#1a2038;
    --input-bg:#0b0e1a;
    --border:#2a3152;
    --border-subtle:#1d2340;
    --text:#e4e7f5;
    --text-muted:#9ba1c0;
    --text-faint:#6b7194;
    --accent:#8b9cff;
    --accent-text:#0b0e1a;
    --accent-soft:rgba(139,156,255,0.15);
    --game-text:#e4e7f5;
    --game-label:#9ba1c0;
    --game-bright:#f2f4ff;
    --game-white:#f2f4ff;
    --game-dim:#9ba1c0;
    --game-muted:#6b7194;
}

:root[data-theme="forest"]{
    --bg:#0c130f;
    --surface:#121c16;
    --surface-2:#19261e;
    --input-bg:#0c130f;
    --border:#2a3b30;
    --border-subtle:#1d2a22;
    --text:#e3ece4;
    --text-muted:#9db0a2;
    --text-faint:#6c8073;
    --accent:#8cc56f;
    --accent-text:#0c130f;
    --accent-soft:rgba(140,197,111,0.15);
    --game-text:#e3ece4;
    --game-label:#9db0a2;
    --game-bright:#f1f7f1;
    --game-white:#f1f7f1;
    --game-dim:#9db0a2;
    --game-muted:#6c8073;
}

:root[data-theme="ember"]{
    --bg:#140e0c;
    --surface:#1d1512;
    --surface-2:#281c18;
    --input-bg:#140e0c;
    --border:#3d2b24;
    --border-subtle:#2a1e19;
    --text:#f2e8e3;
    --text-muted:#b8a59b;
    --text-faint:#85736a;
    --accent:#f0883e;
    --accent-text:#1a0d05;
    --accent-soft:rgba(240,136,62,0.15);
    --game-text:#f2e8e3;
    --game-label:#b8a59b;
    --game-bright:#fbf3ef;
    --game-white:#fbf3ef;
    --game-dim:#b8a59b;
    --game-muted:#85736a;
}

:root[data-theme="ocean"]{
    --bg:#08141a;
    --surface:#0e1e26;
    --surface-2:#142a34;
    --input-bg:#08141a;
    --border:#234452;
    --border-subtle:#18323d;
    --text:#e2f1f4;
    --text-muted:#95b4bd;
    --text-faint:#64838c;
    --accent:#2dd4bf;
    --accent-text:#042420;
    --accent-soft:rgba(45,212,191,0.15);
    --game-text:#e2f1f4;
    --game-label:#95b4bd;
    --game-bright:#f0fafc;
    --game-white:#f0fafc;
    --game-dim:#95b4bd;
    --game-muted:#64838c;
}

/* ---- Light: Modern Light and Parchment ------------------------------------
   Their page, text and game colours; the status colours (--c-*) are
   darkened to 4.5:1 on every light surface, as on dev2. The consoles keep
   Modern Dark's tokens (the first block). */
:root[data-theme="light"],
:root[data-theme="parchment"]{
    --bg:#f4f5f7;
    --surface:#ffffff;
    --surface-2:#eef0f3;
    --input-bg:#ffffff;
    --border:#d8dce1;
    --border-subtle:#e6e9ed;
    --text:#1c2128;
    --text-muted:#57606a;
    --text-faint:#626b75;
    --accent:#2a729d;
    --accent-text:#ffffff;
    --accent-soft:rgba(47,127,174,0.1);

    --game-text:#1c2128;
    --game-label:#57606a;
    --game-link:#187432;
    --game-heading:#895c00;
    --game-bright:#1c2128;
    --game-white:#1c2128;
    --game-dim:#5e656e;
    --game-muted:#626b75;

    --c-lime:#187432;
    --c-green:#187432;
    --c-orange:#ab4500;
    --c-red:#c3202b;
    --c-pink:#ae347d;
    --c-purple:#7649cb;
    --c-silver:#57606a;
    --c-yellow:#796308;

    color-scheme:light;
}

:root[data-theme="parchment"]{
    --bg:#f4ecd8;
    --surface:#fbf6e9;
    --surface-2:#efe4cb;
    --input-bg:#fffaf0;
    --border:#d9c9a3;
    --border-subtle:#e6dabd;
    --text:#2e2418;
    --text-muted:#6b5a43;
    --text-faint:#73624a;
    --accent:#8b5a2b;
    --accent-soft:rgba(139,90,43,0.12);
    --game-text:#2e2418;
    --game-label:#6b5a43;
    --game-heading:#8a5a00;
    --game-bright:#2e2418;
    --game-white:#2e2418;
    --game-dim:#71634c;
    --game-muted:#73624a;
}

/* ---- Accent: over the theme's own, after the palettes so it wins --------- */
:root[data-accent]{
    --accent-text:#0d1117;
    --accent-soft:color-mix(in srgb,var(--accent) 15%,transparent);
}
:root[data-accent="blue"]{ --accent:#58a6ff; }
:root[data-accent="teal"]{ --accent:#2dd4bf; }
:root[data-accent="green"]{ --accent:#4ade80; }
:root[data-accent="gold"]{ --accent:#e3b341; }
:root[data-accent="orange"]{ --accent:#f0883e; }
:root[data-accent="red"]{ --accent:#f47067; }
:root[data-accent="pink"]{ --accent:#f778ba; }
:root[data-accent="purple"]{ --accent:#b083f0; }

/* On the light pages, darker shades that read on them; the consoles keep
   the dark-page shade of the accent picked. */
:root[data-tone="light"][data-accent]{ --accent-text:#ffffff; }
:root[data-tone="light"][data-accent="blue"]{ --accent:#0861c9; }
:root[data-tone="light"][data-accent="teal"]{ --accent:#0e716a; }
:root[data-tone="light"][data-accent="green"]{ --accent:#187432; }
:root[data-tone="light"][data-accent="gold"]{ --accent:#895c00; }
:root[data-tone="light"][data-accent="orange"]{ --accent:#ab4500; }
:root[data-tone="light"][data-accent="red"]{ --accent:#c3202b; }
:root[data-tone="light"][data-accent="pink"]{ --accent:#ae347d; }
:root[data-tone="light"][data-accent="purple"]{ --accent:#7649cb; }
:root[data-tone="light"][data-accent="blue"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){ --accent:#58a6ff; }
:root[data-tone="light"][data-accent="teal"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){ --accent:#2dd4bf; }
:root[data-tone="light"][data-accent="green"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){ --accent:#4ade80; }
:root[data-tone="light"][data-accent="gold"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){ --accent:#e3b341; }
:root[data-tone="light"][data-accent="orange"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){ --accent:#f0883e; }
:root[data-tone="light"][data-accent="red"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){ --accent:#f47067; }
:root[data-tone="light"][data-accent="pink"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){ --accent:#f778ba; }
:root[data-tone="light"][data-accent="purple"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){ --accent:#b083f0; }
:root[data-tone="light"][data-accent] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){ --accent-text:#0d1117; }

/* ---- The page around the frames (modern.php) ------------------------------ */
:root[data-theme] body,
:root[data-theme] .container{
    background-color:var(--bg);
}

/* ---- The frames ---------------------------------------------------------- */
:root[data-theme] body{
    color:var(--game-text);
    font-family:var(--font);
}

/* Plain links only: :where() keeps this rule at a bare a's weight, so
   links coloured by their line or class (a PM's name, .private_message a
   in chat.css; clan info, kills, market lines, monster titles) keep
   their colours, as they do in Classic. */
:where(:root[data-theme]) a,
:where(:root[data-theme]) a:where(:visited){
    color:var(--game-link);
}

/* Visited plain links: game.css's a:visited (#00ff50, faint on the light
   pages) outweighs the rule above, so this matches its weight and comes
   later. Chat and the movement pad are left out: their links are coloured
   by their line (.private_message a, ...), at the same weight but earlier. */
:where(:root[data-theme]) a:visited:where(:not(:is(td.chat,#chatres,.direction-block) *)){
    color:var(--game-link);
}

:root[data-theme] td.chat{
    background-color:var(--bg);
    color:var(--game-bright);
}

:root[data-theme] :is(h4,.stat em,.stats-form .stat1 em,.stats-form .stat2 em){
    color:var(--game-label);
}

:root[data-theme] .stats-form .name{
    color:var(--text);
}

:root[data-theme] :is(.location h2,.location h4,.lvl-up){
    color:var(--game-heading);
}

:root[data-theme] :is(.zone-info span.zone-desc,.fight-screen .info,.action-msg){
    color:var(--game-bright);
}

:root[data-theme] .qtable{
    background:var(--surface);
    color:var(--game-text);
}

:root[data-theme] .qtable td{
    border-color:var(--border);
}

:root[data-theme] :is(.qtable tr.hrow td,.qtable th){
    background:var(--game-heading);
    color:var(--bg);
}

/* Chat's plain lines; the coloured kinds (clan, PMs, kills, ...) keep
   their colours. */
:root[data-theme] :is(.cline,.market_place,.market_buy){
    color:var(--game-dim);
}

:root[data-theme] :is(.cline em,.market_place em,.market_buy em){
    color:var(--game-label);
}

:root[data-theme] :is(.cline span,.market_place span,.market_buy span,.eline a,.description,.priest,.official_announcement){
    color:var(--game-bright);
}

/* The Hunt Info panel: a raised panel tinted with the theme's accent (or
   the one picked), edged in it, as dev2's modern themes have it. */
:root[data-theme] .hunt-info-block{
    background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));
    border-color:color-mix(in srgb,var(--accent) 45%,var(--border));
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--accent) 25%,transparent),0 4px 14px -6px color-mix(in srgb,var(--accent) 40%,transparent);
}

:root[data-theme] .hunt-info-row{
    border-bottom-color:var(--border-subtle);
}

:root[data-theme] .hunt-info-row em{
    color:var(--text-muted);
}

:root[data-theme] .hunt-info-row b{
    color:var(--text);
}

/* Controls with the Classic Button Style: the game's own shapes in the
   theme's colours (the other Button Styles bring their own). */
:root[data-theme] :is(input,button,select){
    color:var(--text);
    text-shadow:none;
    background-color:var(--surface-2);
    border-color:var(--border);
    box-shadow:none;
}

:root[data-theme] :is(select,textarea,input[type="text"],input[type="number"],input[type="password"],input[type="search"],input:not([type])){
    background-color:var(--input-bg);
}

:root[data-theme] :is(input,button,select):focus{
    border-color:var(--accent);
}

/* The chat channels: with a finish picked, buttons.css colours them. */
:root[data-theme]:not([data-buttons]) .chat-form input[type="button"]{
    color:var(--text-muted);
}

:root[data-theme]:not([data-buttons]) .chat-form input[type="button"]:is(.c,.nc){
    color:var(--text);
}

/* Settings and the Training Log */
:root[data-theme] .settings-group{
    border-color:var(--border);
    background:color-mix(in srgb,var(--surface) 88%,transparent);
}

:root[data-theme] .settings-group summary,
:root[data-theme] .setting-label{
    color:var(--text);
}

:root[data-theme] .settings-group[open] summary{
    border-bottom-color:var(--border);
}

:root[data-theme] .setting-row{
    border-bottom-color:var(--border-subtle);
}

:root[data-theme] .setting-hint{
    color:var(--text-faint);
}

:root[data-theme] :is(.setting-switch span,.setting-chip span){
    background:var(--surface-2);
    border-color:var(--border);
}

:root[data-theme] .setting-chip span{
    color:var(--text-faint);
}

:root[data-theme] .setting-switch span:before{
    background:var(--text);
}

:root[data-theme] :is(.setting-switch input:checked + span,.setting-chip input:checked + span,.setting-choice button.active){
    color:var(--accent-text);
    background:var(--accent);
}

:root[data-theme] .setting-switch input:checked + span:before{
    background:var(--accent-text);
}

/* The colours the game writes inline by name, as dev2's modern themes
   show them: readable on the theme's page. */
:root[data-theme] :is(font[color="white" i],font[color="#fffffa" i],font[color="fffffa" i]){
    color:var(--game-white);
}
:root[data-theme] font[color="orange" i]{ color:var(--c-orange); }
:root[data-theme] font[color="limegreen" i]{ color:var(--c-lime); }
:root[data-theme] :is(font[color="lime" i],font[color="#00ff00" i]){ color:var(--c-green); }
:root[data-theme] :is(font[color="red" i],font[color="#ff0000" i]){ color:var(--c-red); }
:root[data-theme] font[color="pink" i]{ color:var(--c-pink); }
:root[data-theme] font[color="purple" i]{ color:var(--c-purple); }
:root[data-theme] font[color="silver" i]{ color:var(--c-silver); }
:root[data-theme] :is(font[color="yellow" i],font[color="#ffff00" i]){ color:var(--c-yellow); }

/* A long chat command result's panel (cmdPanel() in base.js, game.css). */
:root[data-theme] .cmd-panel{
    background:var(--surface);
    border-color:var(--border);
}

:root[data-theme] .cmd-panel-bar{
    border-color:var(--border);
}

:root[data-theme] .cmd-panel-bar a{
    color:var(--game-bright);
}

/* ---- Light: the frames ---------------------------------------------------- */
/* No zone backdrop (ch_bg() in mod.js): dark rock under dark text. */
:root[data-tone="light"] body{
    background-image:none !important;
}

/* The consoles: dark boxes on the light page, the fight's and the chat
   command results' only while there's something in them. */
:root[data-tone="light"] :is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check){
    color-scheme:dark;
    color:var(--game-text);
}

:root[data-tone="light"] :is(#act_bstuff,#chatres):not(:empty){
    background:var(--bg);
    border-radius:8px;
    padding:6px 10px;
}

/* Between fights the fight's box still holds the Attack / Cast form
   (createFightButtons(), mod.js) and an empty log: no box then. A browser
   without :has() skips this and keeps the box. */
:root[data-tone="light"] #act_bstuff:not(:has(input:not([type="hidden"]),.fight-screen > :not(form),> :not(.fight-screen))){
    background:none;
    padding:0;
}

:root[data-tone="light"] #chatres:not(:empty){
    display:block;
    margin-bottom:6px;
}

:root[data-tone="light"] td.chat{
    border-radius:8px;
}

/* Every colour the game writes, darkened for the light pages (outside the
   consoles). */
/* light-inks:start (generated by tools/themes/light_inks.cjs: don't edit by hand) */
:root[data-tone="light"] :is(font[color="#08e" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#0067b5 !important; }
:root[data-tone="light"] :is(font[color="#0085ec" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#0068b8 !important; }
:root[data-tone="light"] :is(font[color="00aaee" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#006d98 !important; }
:root[data-tone="light"] :is(font[color="0099dd" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#006d9d !important; }
:root[data-tone="light"] :is(font[color="00ccff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#006e8a !important; }
:root[data-tone="light"] :is(font[color="00dfff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#006f7f !important; }
:root[data-tone="light"] :is(font[color="aqua" i],font[color="cyan" i],[style^="color:cyan" i],[style^="color: cyan" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#007070 !important; }
:root[data-tone="light"] :is(font[color="008080" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#007272 !important; }
:root[data-tone="light"] :is([style^="color:#01f9c6" i],[style^="color: #01f9c6" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#00735b !important; }
:root[data-tone="light"] :is(font[color="00ee00" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#007700 !important; }
:root[data-tone="light"] :is(font[color="#00b403" i],[style^="color:#00b403" i],[style^="color: #00b403" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#007702 !important; }
:root[data-tone="light"] :is(font[color="00cc00" i],font[color="green" i],[style^="color:green" i],[style^="color: green" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#007800 !important; }
:root[data-tone="light"] :is(font[color="#03af03" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#027702 !important; }
:root[data-tone="light"] :is(font[color="#12bccc" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#0b717a !important; }
:root[data-tone="light"] :is(font[color="#19f" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#0c68ad !important; }
:root[data-tone="light"] :is(font[color="#1ab2ff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#106d9c !important; }
:root[data-tone="light"] :is([style^="color:#27ed00" i],[style^="color: #27ed00" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#137600 !important; }
:root[data-tone="light"] :is(font[color="dodgerblue" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#1566b5 !important; }
:root[data-tone="light"] :is(font[color="#22ac53" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#177538 !important; }
:root[data-tone="light"] :is(font[color="#36ff00" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#197500 !important; }
:root[data-tone="light"] :is(font[color="33cc00" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#1e7600 !important; }
:root[data-tone="light"] :is(font[color="#43f4ff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#1f7075 !important; }
:root[data-tone="light"] :is(font[color="#43df20" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#247611 !important; }
:root[data-tone="light"] :is(font[color="#3cb371" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#277449 !important; }
:root[data-tone="light"] :is(font[color="3f7eff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#3161c4 !important; }
:root[data-tone="light"] :is([style^="color:#4eb76c" i],[style^="color: #4eb76c" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#317344 !important; }
:root[data-tone="light"] :is(font[color="66caf5" i],[style^="color:#66caf5" i],[style^="color: #66caf5" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#376d84 !important; }
:root[data-tone="light"] :is(font[color="#4682b4" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#396992 !important; }
:root[data-tone="light"] :is(font[color="#4876ff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#3a5ecc !important; }
:root[data-tone="light"] :is(font[color="79cffc" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#3f6c83 !important; }
:root[data-tone="light"] :is(font[color="#8e0" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#417200 !important; }
:root[data-tone="light"] :is(font[color="lightgreen" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#447044 !important; }
:root[data-tone="light"] :is(font[color="#75b2ec" i],[style^="color:#75b2ec" i],[style^="color: #75b2ec" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#45698b !important; }
:root[data-tone="light"] :is(font[color="#9df7ea" i],[style^="color:#9df7ea" i],[style^="color: #9df7ea" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#456d67 !important; }
:root[data-tone="light"] :is(font[color="#98f019" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#47710c !important; }
:root[data-tone="light"] :is([style^="color:#4c4cff" i],[style^="color: #4c4cff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#4a4afa !important; }
:root[data-tone="light"] :is(font[color="#aaff00" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#4b7000 !important; }
:root[data-tone="light"] :is(font[color="c0ffff" i],font[color="coffff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#516b6b !important; }
:root[data-tone="light"] :is(font[color="lightblue" i],[style^="color:lightblue" i],[style^="color: lightblue" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#556a71 !important; }
:root[data-tone="light"] :is(font[color="#778899" i],font[color="778899" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#5a6774 !important; }
:root[data-tone="light"] :is(font[color="#c3e3e6" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#5a686a !important; }
:root[data-tone="light"] :is(font[color="#736aff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#5c55cc !important; }
:root[data-tone="light"] :is(font[color="#7777cc" i],[style^="color:#7777cc" i],[style^="color: #7777cc" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#5f5fa3 !important; }
:root[data-tone="light"] :is(font[color="d2d830" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#676a18 !important; }
:root[data-tone="light"] :is(font[color="#9fa337" i],[style^="color:#9fa337" i],[style^="color: #9fa337" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#676a24 !important; }
:root[data-tone="light"] :is(font[color="dddd50" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#686826 !important; }
:root[data-tone="light"] :is([style^="color:#888844" i],[style^="color: #888844" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#696934 !important; }
:root[data-tone="light"] :is(font[color="#808000" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#6a6a00 !important; }
:root[data-tone="light"] :is(font[color="f4e0b8" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#6e6553 !important; }
:root[data-tone="light"] :is(font[color="ffe5b4" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#70654f !important; }
:root[data-tone="light"] :is(font[color="fedc18" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#75650b !important; }
:root[data-tone="light"] :is(font[color="#ffdb31" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#756517 !important; }
:root[data-tone="light"] :is(font[color="#ffd700" i],font[color="ffd700" i],font[color="gold" i],[style^="color:#ffd700" i],[style^="color: #ffd700" i],[style^="color:gold" i],[style^="color: gold" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#786500 !important; }
:root[data-tone="light"] :is(font[color="f4ca16" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#7a650b !important; }
:root[data-tone="light"] :is(font[color="#d88ff8" i],[style^="color:#d88ff8" i],[style^="color: #d88ff8" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#7f5492 !important; }
:root[data-tone="light"] :is(font[color="daa520" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#816113 !important; }
:root[data-tone="light"] :is(font[color="#ffaec9" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#855a69 !important; }
:root[data-tone="light"] :is(font[color="c48c4b" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#855f33 !important; }
:root[data-tone="light"] :is(font[color="#d580f3" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#865199 !important; }
:root[data-tone="light"] :is(font[color="#f4a460" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#895c36 !important; }
:root[data-tone="light"] :is(font[color="f78cff" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#8d5091 !important; }
:root[data-tone="light"] :is(font[color="violet" i],[style^="color:violet" i],[style^="color: violet" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#8f4e8f !important; }
:root[data-tone="light"] :is(font[color="#ff9999" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#8f5656 !important; }
:root[data-tone="light"] :is(font[color="#da70d6" i],[style^="color:#da70d6" i],[style^="color: #da70d6" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#924b8f !important; }
:root[data-tone="light"] :is(font[color="#f90" i],font[color="#ff9900" i],[style^="color:#f90" i],[style^="color: #f90" i],[style^="color:#ff9900" i],[style^="color: #ff9900" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#945900 !important; }
:root[data-tone="light"] :is(font[color="#f08080" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#975151 !important; }
:root[data-tone="light"] :is(font[color="#f38585" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#975252 !important; }
:root[data-tone="light"] :is(font[color="#f38080" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#995151 !important; }
:root[data-tone="light"] :is(font[color="#ff8866" i],font[color="#ff8965" i],[style^="color:#ff8866" i],[style^="color: #ff8866" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#99523d !important; }
:root[data-tone="light"] :is(font[color="ff8c00" i],[style^="color:#ff8c00" i],[style^="color: #ff8c00" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#995400 !important; }
:root[data-tone="light"] :is(font[color="#ff7c7c" i],[style^="color:#ff7c7c" i],[style^="color: #ff7c7c" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#9e4d4d !important; }
:root[data-tone="light"] :is(font[color="#ff7f50" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#9e4f32 !important; }
:root[data-tone="light"] :is(font[color="e14bf5" i],[style^="color:#e14bf5" i],[style^="color: #e14bf5" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#a236b0 !important; }
:root[data-tone="light"] :is(font[color="#ff69b4" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#a34373 !important; }
:root[data-tone="light"] :is(font[color="ba40bd" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#a438a6 !important; }
:root[data-tone="light"] :is(font[color="#ff6347" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#ad4330 !important; }
:root[data-tone="light"] :is(font[color="ff6600" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#ad4500 !important; }
:root[data-tone="light"] :is(font[color="ca25d4" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#ae20b6 !important; }
:root[data-tone="light"] :is(font[color="#f0f" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#b500b5 !important; }
:root[data-tone="light"] :is(font[color="#f527cc" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#b81d99 !important; }
:root[data-tone="light"] :is(font[color="#f54927" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#ba371e !important; }
:root[data-tone="light"] :is(font[color="#ff3737" i],font[color="ff3737" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#c22a2a !important; }
:root[data-tone="light"] :is(font[color="#ff2400" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#c91c00 !important; }
:root[data-tone="light"] :is(font[color="00ff00" i],font[color="lime" i],[style^="color:lime" i],[style^="color: lime" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--c-green) !important; }
:root[data-tone="light"] :is(font[color="32cd32" i],font[color="limegreen" i],[style^="color:limegreen" i],[style^="color: limegreen" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--c-lime) !important; }
:root[data-tone="light"] :is(font[color="orange" i],[style^="color:orange" i],[style^="color: orange" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--c-orange) !important; }
:root[data-tone="light"] :is(font[color="pink" i],[style^="color:pink" i],[style^="color: pink" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--c-pink) !important; }
:root[data-tone="light"] :is(font[color="purple" i],[style^="color:purple" i],[style^="color: purple" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--c-purple) !important; }
:root[data-tone="light"] :is(font[color="ff0000" i],font[color="red" i],[style^="color:#f00" i],[style^="color: #f00" i],[style^="color:red" i],[style^="color: red" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--c-red) !important; }
:root[data-tone="light"] :is(font[color="silver" i],[style^="color:silver" i],[style^="color: silver" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--c-silver) !important; }
:root[data-tone="light"] :is(font[color="#ffff00" i],font[color="ffff00" i],font[color="yellow" i],[style^="color:#ffff00" i],[style^="color: #ffff00" i],[style^="color:yellow" i],[style^="color: yellow" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--c-yellow) !important; }
:root[data-tone="light"] :is(font[color="#999999" i],font[color="#b5b3b3" i],font[color="gray" i],[style^="color:#bbbbbb" i],[style^="color: #bbbbbb" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--game-dim) !important; }
:root[data-tone="light"] :is(font[color="#cccccc" i],font[color="#d1d1d1" i],font[color="#fff" i],font[color="fffffa" i],font[color="ffffff" i],font[color="white" i],[style^="color:#ccc" i],[style^="color: #ccc" i],[style^="color:#dedede" i],[style^="color: #dedede" i],[style^="color:white" i],[style^="color: white" i]):not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--game-white) !important; }
/* game.css's own colours */
:root[data-tone="light"] .stats-form .good:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#1f7075 !important; }
:root[data-tone="light"] .stat em.good:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#1f7075 !important; }
:root[data-tone="light"] .stat em.hp100:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#1f7075 !important; }
:root[data-tone="light"] .stat em.hp80:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#007525 !important; }
:root[data-tone="light"] .stat em.hp60:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#915a00 !important; }
:root[data-tone="light"] .stat em.hp40:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#6a6a00 !important; }
:root[data-tone="light"] .stats-form .evil:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#c90164 !important; }
:root[data-tone="light"] .stat em.evil:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#c90164 !important; }
:root[data-tone="light"] .stat em.hp20:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#c90164 !important; }
:root[data-tone="light"] .stats-form .neutral:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--game-dim) !important; }
:root[data-tone="light"] .stat em.neutral:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--game-dim) !important; }
:root[data-tone="light"] .stat em.hp0:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--game-dim) !important; }
:root[data-tone="light"] .stat-increased:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#007525; }
:root[data-tone="light"] .stat-favorite-increase:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#756331; }
:root[data-tone="light"] .fav-stat-pick:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#756331; }
:root[data-tone="light"] .assassin:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--game-dim); }
:root[data-tone="light"] .merchant:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#027702; }
:root[data-tone="light"] .fanatic:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#855a69; }
:root[data-tone="light"] .fool:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#99523d; }
:root[data-tone="light"] .veteran:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#756517; }
:root[data-tone="light"] .mimic:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#945900; }
:root[data-tone="light"] .trainer:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#b500b5; }
:root[data-tone="light"] .king:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#c22a2a; }
:root[data-tone="light"] .defender:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#0068b8; }
:root[data-tone="light"] .elder:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#177538; }
:root[data-tone="light"] .saint:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#1f7075; }
:root[data-tone="light"] .brute:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#a34373; }
:root[data-tone="light"] .hero:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#3a5ecc; }
:root[data-tone="light"] .villain:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#c91c00; }
:root[data-tone="light"] .master:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--game-white); }
:root[data-tone="light"] .wraith:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#975151; }
:root[data-tone="light"] .champion:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:var(--c-yellow); }
:root[data-tone="light"] .glutton:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#277449; }
:root[data-tone="light"] .warlock:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#396992; }
:root[data-tone="light"] .executioner:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#5a6774; }
:root[data-tone="light"] .guardian:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#47710c; }
:root[data-tone="light"] .scoundrel:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#895c36; }
:root[data-tone="light"] .maniac:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#9e4f32; }
:root[data-tone="light"] .spectre:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#ad4330; }
:root[data-tone="light"] .colossus:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#786500; }
:root[data-tone="light"] .harlot:not(:is(#act_bstuff,td.chat,#chatres,.hunt-info-block,.macro-check) *){ color:#924b8f; }
/* light-inks:end */
