/* Custom seasonal and holiday themes (v0.9.132). Active only when an administrator switches one on and the user has it
   on (html[data-custom-theme=...]); each has a dark (default) and a light variant, following the dark/light switch. */
:root[data-custom-theme] body{background-image:var(--ct-bg-image);background-attachment:fixed}
:root[data-custom-theme] .site-header{border-bottom:4px solid transparent;border-image:var(--ct-stripe) 1}
:root[data-custom-theme] body::after{content:var(--ct-decor);position:fixed;right:16px;bottom:12px;font-size:26px;letter-spacing:4px;opacity:.6;pointer-events:none;z-index:0}
@media (max-width:700px){:root[data-custom-theme] body::after{font-size:18px;opacity:.45}}
@media print{:root[data-custom-theme] body::after{display:none}}
:root[data-custom-theme="spring"]{--bg:#13201a;--panel:#1b2b23;--panel2:#243a2f;--line:#36513f;--text:#eef6ef;--muted:#a7bfae;--blue:#d94f8a;--blue2:#c13c76;--ok:#5cc98a;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(217,79,138,.16),transparent 42%),radial-gradient(circle at 95% 100%,rgba(92,201,138,.10),transparent 48%);--ct-stripe:linear-gradient(90deg,#f28fb5,#9be28f,#f7e27a,#f28fb5);--ct-decor:'🌸  🌿  🌷'}
:root[data-custom-theme="spring"][data-theme="light"]{--bg:#f6fbf4;--panel:#ffffff;--panel2:#eaf5e8;--line:#cfe3cc;--text:#1f2d22;--muted:#5f7563;--blue:#c7386f;--blue2:#ab2a5c;--ok:#2f8f55;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(217,79,138,.12),transparent 42%),radial-gradient(circle at 95% 100%,rgba(92,201,138,.09),transparent 48%);--ct-stripe:linear-gradient(90deg,#f28fb5,#9be28f,#f7e27a,#f28fb5);--ct-decor:'🌸  🌿  🌷'}
:root[data-custom-theme="summer"]{--bg:#1a1712;--panel:#25201a;--panel2:#312a21;--line:#4a3f30;--text:#fbf5ea;--muted:#c7b89f;--blue:#d9730d;--blue2:#bd6208;--ok:#3bb3a4;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(245,165,36,.16),transparent 42%),radial-gradient(circle at 95% 100%,rgba(59,179,164,.10),transparent 48%);--ct-stripe:linear-gradient(90deg,#f5a524,#ffd166,#3bb3a4,#118ab2);--ct-decor:'☀️  🌊  🏖️'}
:root[data-custom-theme="summer"][data-theme="light"]{--bg:#fffaf1;--panel:#ffffff;--panel2:#fdf0da;--line:#efd9b3;--text:#2d2416;--muted:#7a6848;--blue:#c2410c;--blue2:#a3370a;--ok:#0f8a7e;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(245,165,36,.12),transparent 42%),radial-gradient(circle at 95% 100%,rgba(59,179,164,.09),transparent 48%);--ct-stripe:linear-gradient(90deg,#f5a524,#ffd166,#3bb3a4,#118ab2);--ct-decor:'☀️  🌊  🏖️'}
:root[data-custom-theme="autumn"]{--bg:#1c1511;--panel:#271d17;--panel2:#33261e;--line:#4d392c;--text:#f7ede4;--muted:#c4ab98;--blue:#c8601a;--blue2:#ab5014;--ok:#7fb069;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(200,96,26,.16),transparent 42%),radial-gradient(circle at 95% 100%,rgba(163,64,32,.10),transparent 48%);--ct-stripe:linear-gradient(90deg,#b4531a,#e09f3e,#9e2a2b,#e09f3e);--ct-decor:'🍂  🍁  🌰'}
:root[data-custom-theme="autumn"][data-theme="light"]{--bg:#fbf5ef;--panel:#ffffff;--panel2:#f3e7db;--line:#e2cbb6;--text:#2e2119;--muted:#7a6352;--blue:#b4531a;--blue2:#984414;--ok:#5b8a3c;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(200,96,26,.12),transparent 42%),radial-gradient(circle at 95% 100%,rgba(163,64,32,.09),transparent 48%);--ct-stripe:linear-gradient(90deg,#b4531a,#e09f3e,#9e2a2b,#e09f3e);--ct-decor:'🍂  🍁  🌰'}
:root[data-custom-theme="winter"]{--bg:#0f1a24;--panel:#152433;--panel2:#1d3042;--line:#2e4a63;--text:#eef6fc;--muted:#a3bdd1;--blue:#3a8fd0;--blue2:#2c79b6;--ok:#4fbf9f;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(95,179,234,.16),transparent 42%),radial-gradient(circle at 95% 100%,rgba(200,225,245,.10),transparent 48%);--ct-stripe:linear-gradient(90deg,#bfe3ff,#ffffff,#8fc9f2,#ffffff);--ct-decor:'❄️  ⛄  ❄️'}
:root[data-custom-theme="winter"][data-theme="light"]{--bg:#f2f7fb;--panel:#ffffff;--panel2:#e3eef6;--line:#c5d8e6;--text:#16283a;--muted:#5a7186;--blue:#1f6fb2;--blue2:#185c95;--ok:#1f8a6d;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(95,179,234,.12),transparent 42%),radial-gradient(circle at 95% 100%,rgba(200,225,245,.09),transparent 48%);--ct-stripe:linear-gradient(90deg,#bfe3ff,#ffffff,#8fc9f2,#ffffff);--ct-decor:'❄️  ⛄  ❄️'}
:root[data-custom-theme="starwars"]{--bg:#05060a;--panel:#0d1017;--panel2:#151a24;--line:#262d3d;--text:#f4f1e1;--muted:#a9a58f;--blue:#2b7de9;--blue2:#1f66c7;--ok:#3ddc84;--ct-bg-image:radial-gradient(1px 1px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 120px 80px,#ffe81f,transparent),radial-gradient(1.5px 1.5px at 200px 150px,#fff,transparent),radial-gradient(1px 1px at 60px 190px,#9ec9ff,transparent),radial-gradient(circle at 50% -20%,rgba(43,125,233,.18),transparent 55%);--ct-stripe:linear-gradient(90deg,#2b7de9,#ffe81f,#c0392b,#3ddc84);--ct-decor:'✨  🌌  🚀'}
:root[data-custom-theme="starwars"][data-theme="light"]{--bg:#eef0f5;--panel:#ffffff;--panel2:#e2e6ee;--line:#c8cedb;--text:#121722;--muted:#5c6477;--blue:#c0392b;--blue2:#a02f23;--ok:#1e8e5a;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(43,125,233,.12),transparent 42%),radial-gradient(circle at 95% 100%,rgba(255,232,31,.09),transparent 48%);--ct-stripe:linear-gradient(90deg,#2b7de9,#ffe81f,#c0392b,#3ddc84);--ct-decor:'✨  🌌  🚀'}
:root[data-custom-theme="starwars"]:not([data-theme="light"]) body{background-size:240px 240px,240px 240px,240px 240px,240px 240px,100% 100%}
:root[data-custom-theme="starwars"]:not([data-theme="light"]) h1{color:#f0dc8c;letter-spacing:.5px}
:root[data-custom-theme="christmas"]{--bg:#0f1a14;--panel:#16251c;--panel2:#1f3226;--line:#2f4b39;--text:#f6f1ea;--muted:#b7c4b8;--blue:#c8323c;--blue2:#ab2831;--ok:#3fae6a;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(200,50,60,.16),transparent 42%),radial-gradient(circle at 95% 100%,rgba(63,174,106,.10),transparent 48%);--ct-stripe:repeating-linear-gradient(135deg,#c8323c 0 14px,#ffffff 14px 28px,#2f8f55 28px 42px,#ffffff 42px 56px);--ct-decor:'🎄  🎁  ⭐'}
:root[data-custom-theme="christmas"][data-theme="light"]{--bg:#fbf8f4;--panel:#ffffff;--panel2:#f1ebe3;--line:#dcd0c2;--text:#22271f;--muted:#6c6a5f;--blue:#b3202c;--blue2:#961a24;--ok:#23804b;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(200,50,60,.12),transparent 42%),radial-gradient(circle at 95% 100%,rgba(63,174,106,.09),transparent 48%);--ct-stripe:repeating-linear-gradient(135deg,#c8323c 0 14px,#ffffff 14px 28px,#2f8f55 28px 42px,#ffffff 42px 56px);--ct-decor:'🎄  🎁  ⭐'}
:root[data-custom-theme="easter"]{--bg:#1a1824;--panel:#232033;--panel2:#2d2942;--line:#433d5e;--text:#f5f2fb;--muted:#bdb5d6;--blue:#7d5fd0;--blue2:#6a4dbb;--ok:#6cc497;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(139,111,214,.16),transparent 42%),radial-gradient(circle at 95% 100%,rgba(255,209,102,.10),transparent 48%);--ct-stripe:linear-gradient(90deg,#c3b1f5,#ffd6e8,#b8f2d2,#fff1a8);--ct-decor:'🐣  🥚  🌷'}
:root[data-custom-theme="easter"][data-theme="light"]{--bg:#fbf9fe;--panel:#ffffff;--panel2:#f1ecfa;--line:#ddd3f0;--text:#2a2340;--muted:#6d6488;--blue:#7a52c7;--blue2:#6541ad;--ok:#2f8f64;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(139,111,214,.12),transparent 42%),radial-gradient(circle at 95% 100%,rgba(255,209,102,.09),transparent 48%);--ct-stripe:linear-gradient(90deg,#c3b1f5,#ffd6e8,#b8f2d2,#fff1a8);--ct-decor:'🐣  🥚  🌷'}
:root[data-custom-theme="halloween"]{--bg:#120e14;--panel:#1c1520;--panel2:#271d2c;--line:#3d2c44;--text:#f6efe6;--muted:#bba8c0;--blue:#d9600b;--blue2:#bb5209;--ok:#7bc47f;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(232,102,12,.16),transparent 42%),radial-gradient(circle at 95% 100%,rgba(122,60,160,.10),transparent 48%);--ct-stripe:linear-gradient(90deg,#e8660c,#1c1520,#7a3ca0,#e8660c);--ct-decor:'🎃  🦇  👻'}
:root[data-custom-theme="halloween"][data-theme="light"]{--bg:#fbf6f0;--panel:#ffffff;--panel2:#f5e9dc;--line:#e6cfb8;--text:#2a1d24;--muted:#7a6470;--blue:#c2410c;--blue2:#a3370a;--ok:#3f8f45;--ct-bg-image:radial-gradient(circle at 8% 0%,rgba(232,102,12,.12),transparent 42%),radial-gradient(circle at 95% 100%,rgba(122,60,160,.09),transparent 48%);--ct-stripe:linear-gradient(90deg,#e8660c,#1c1520,#7a3ca0,#e8660c);--ct-decor:'🎃  🦇  👻'}

/* The custom theme switch in the header (shown only while a theme is active). */
.custom-theme-toggle{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--text);font-size:13px;cursor:pointer;white-space:nowrap}
.custom-theme-toggle[aria-pressed="true"]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.custom-theme-toggle[aria-pressed="false"] .custom-theme-icon{filter:grayscale(1);opacity:.6}
.custom-theme-state{font-weight:600}
/* Administration > Appearance: theme cards with a light and a dark preview. */
.theme-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.theme-choice{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-weight:400}
.theme-choice:has(input:checked){border-color:var(--blue);box-shadow:inset 0 0 0 2px var(--blue)}
.theme-choice-head{display:flex;align-items:center;gap:8px;font-weight:600}
.theme-swatches{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.theme-swatch{height:46px;border-radius:8px;border:1px solid rgba(127,127,127,.35);display:flex;align-items:flex-end;justify-content:space-between;padding:4px 6px;font-size:10px}
.theme-swatch i{display:inline-block;width:14px;height:14px;border-radius:50%}

/* v0.9.132: the general form label and radio styles made the card heads uneven - keep radio and name on the left */
.theme-choice-head{justify-content:flex-start;text-align:left;width:100%}
.theme-choice-head input[type="radio"]{width:18px;height:18px;margin:0;flex:0 0 auto}
.theme-choice-head span,.theme-choice-head strong{flex:1 1 auto;text-align:left}
.theme-choice>small,.theme-choice>p{margin:0;text-align:left}

/* v0.9.133: the dark/light switch takes the colours of the active custom theme (it had fixed blue/yellow colours) */
:root[data-custom-theme] .theme-track,:root[data-custom-theme][data-theme="light"] .theme-track{background:var(--panel2);box-shadow:inset 0 0 0 1px var(--line)}
:root[data-custom-theme] .theme-knob,:root[data-custom-theme][data-theme="light"] .theme-knob{background:var(--blue);color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.28)}
:root[data-custom-theme] .theme-sun{color:var(--blue)}
/* Appearance page: status line and schedule */
.appearance-status{margin:0 0 12px}
.theme-choice-auto{border-style:dashed}
.schedule-now td{background:var(--panel2)}
.schedule-form{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-top:12px}
.schedule-form label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.schedule-form label.check{flex-direction:row;align-items:center;height:40px;font-weight:400}
.schedule-form .primary-link{width:auto;min-width:160px;height:40px}
