/* MemeBox color themes for extension pages (Options, popup, welcome). lib/theme.js sets
   <html data-theme>. "auto" (or no attribute) follows the computer's light/dark setting.
   The on-call panel has the same themes in ui.js. The website has them in site.css. */
:root, :root[data-theme="light"] {
  --bg: #f4f6f8; --card: #ffffff; --text: #182029; --muted: #65707c; --line: #e3e5e8; --field: #ffffff;
  --brand: #ffd43b; --brand-2: #ffa94d; --on-brand: #1c1b20; --accent: #ffd43b; --accent-strong: #f59f00;
  --focus: #1a73e8; --danger: #c5221f; --danger-bg: #fdecea; --ok: #2b8a3e;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]), :root[data-theme="auto"] {
    --bg: #141417; --card: #1f1f24; --text: #ecebf0; --muted: #a3a4ad; --line: #34343c; --field: #18181c;
    --brand: #ffd43b; --brand-2: #ffa94d; --on-brand: #1c1b20; --accent: #ffd43b; --accent-strong: #ffa94d;
    --focus: #74a9ff; --danger: #f28b82; --danger-bg: #3b1f1d; --ok: #8ce99a;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #141417; --card: #1f1f24; --text: #ecebf0; --muted: #a3a4ad; --line: #34343c; --field: #18181c;
  --brand: #ffd43b; --brand-2: #ffa94d; --on-brand: #1c1b20; --accent: #ffd43b; --accent-strong: #ffa94d;
  --focus: #74a9ff; --danger: #f28b82; --danger-bg: #3b1f1d; --ok: #8ce99a;
  color-scheme: dark;
}
:root[data-theme="sunny"] {
  --bg: #fff8d6; --card: #fffdf0; --text: #3d2c00; --muted: #7a6320; --line: #f3dd8a; --field: #fffef7;
  --brand: #ffd43b; --brand-2: #ff922b; --on-brand: #3d2c00; --accent: #ffd43b; --accent-strong: #e67700;
  --focus: #1864ab; --danger: #c92a2a; --danger-bg: #ffe3e3; --ok: #2b8a3e;
  color-scheme: light;
}
:root[data-theme="neon"] {
  --bg: #100b24; --card: #1a1238; --text: #f3eaff; --muted: #b8a6e6; --line: #3b2d6e; --field: #130d2c;
  --brand: #f72585; --brand-2: #7209b7; --on-brand: #ffffff; --accent: #f72585; --accent-strong: #4cc9f0;
  --focus: #4cc9f0; --danger: #ff8fab; --danger-bg: #3a1030; --ok: #80ffdb;
  color-scheme: dark;
}
:root[data-theme="candy"] {
  --bg: #fff0f6; --card: #ffffff; --text: #3b1030; --muted: #8c4a73; --line: #fcc2d7; --field: #fffafd;
  --brand: #faa2c1; --brand-2: #f06595; --on-brand: #3b1030; --accent: #faa2c1; --accent-strong: #d6336c;
  --focus: #7048e8; --danger: #c2255c; --danger-bg: #ffdeeb; --ok: #2b8a3e;
  color-scheme: light;
}
:root {
  --wave-bg: color-mix(in srgb, var(--muted) 12%, var(--card));
  --sel: color-mix(in srgb, var(--brand) 35%, transparent);
}
/* Diwali is a free interface theme; it never unlocks paid effects. */
:root[data-theme="diwali"] {
  --bg:#171126;--card:#251b35;--text:#fff4df;--muted:#cbb8ce;--line:#58405c;--field:#1d142a;
  --brand:#ffd17a;--brand-2:#f1a94d;--on-brand:#29172e;--accent:#ffd17a;--accent-strong:#ffbc60;
  --focus:#a8dfff;--danger:#ffadb5;--danger-bg:#4b2436;--ok:#a2e4ba;color-scheme:dark;
}
:root[data-theme="diwali"] body {isolation:isolate;background-color:var(--bg);background-image:radial-gradient(ellipse at 8% 0%,#b0562526,transparent 50%),radial-gradient(ellipse at 100% 80%,#823d6b26,transparent 50%);}
:root[data-theme="diwali"] body::before {content:"";position:fixed;inset:0 0 auto;height:70px;background:url('icons/diwali-garland.svg') repeat-x center top/480px 70px;opacity:.42;pointer-events:none;z-index:-1;}
.diwali-news {display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:14px 18px;margin:12px 0 20px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);}
.diwali-news strong{color:var(--accent-strong)}.diwali-news p{flex:1 1 220px;margin:0;font-size:14px;line-height:1.5}.diwali-news select{max-width:100%;font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:10px;min-height:44px;padding:8px;}.diwali-news a{color:var(--accent-strong)}.diwali-news button{min-height:44px;font:inherit;white-space:normal}.diwali-news .diwali-dismiss{font-size:20px;min-width:44px;background:transparent;color:var(--muted);border:0}
@media(prefers-reduced-motion:reduce){:root[data-theme="diwali"] *, :root[data-theme="diwali"] *::before{scroll-behavior:auto!important;}}

.theme-chooser{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0;font-size:14px;color:var(--muted)}.theme-chooser select{font:inherit;max-width:100%;min-height:44px;padding:8px 12px;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:10px}

/* Canonical studio type, geometry and document-scroll tokens. */
:root{--font-body:system-ui,"Noto Sans",sans-serif;--font-display:"Trebuchet MS",system-ui,sans-serif;--radius-card:20px;--radius-control:12px;--studio-accent:#087e8b;--scrollbar-thumb:#9aa6b2;--scrollbar-track:var(--bg);--scrollbar-hover:#65707c;--scrollbar-active:#182029;scrollbar-gutter:stable;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:auto}
:root[data-theme=dark],:root[data-theme=neon],:root[data-theme=diwali],:root[data-theme=halloween],:root[data-theme=christmas],:root[data-theme=new-year],:root[data-theme=lunar],:root[data-theme=marigold]{--studio-accent:#75d6df;--scrollbar-thumb:#65707c;--scrollbar-hover:#9aa6b2;--scrollbar-active:#c9d4df}
@media(prefers-color-scheme:dark){:root[data-theme=auto]{--studio-accent:#75d6df;--scrollbar-thumb:#65707c;--scrollbar-hover:#9aa6b2;--scrollbar-active:#c9d4df}}
*{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:auto}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid var(--scrollbar-track);border-radius:12px;min-height:36px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}::-webkit-scrollbar-thumb:active{background:var(--scrollbar-active)}
:lang(ja){font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif;line-break:strict;line-height:1.7}
@media(forced-colors:active){:root,*{scrollbar-color:auto}::-webkit-scrollbar-thumb{background:ButtonText}::-webkit-scrollbar-track{background:Canvas}}
:root[data-theme="halloween"]{--bg:#130d1d;--card:#281b32;--text:#fff3e5;--muted:#d2b8cb;--line:#60435a;--field:#1b1424;--brand:#ffb44d;--brand-2:#f06c31;--on-brand:#281426;--accent:#ffb44d;--accent-strong:#eeb7ff;--focus:#ffd28c;--danger:#ff9a9a;--danger-bg:#4a2633;--ok:#a7e8b2;color-scheme:dark}
:root[data-theme="halloween"] body{background-color:var(--bg);background-image:radial-gradient(circle at 90% 5%,#b75c4e2b,transparent 38%),radial-gradient(circle at 0% 90%,#7d4aa12b,transparent 45%)}
:root[data-theme="christmas"]{--bg:#0d1f1d;--card:#15332f;--text:#f8f4e9;--muted:#c2d7cb;--line:#456f61;--field:#102a27;--brand:#f3c879;--brand-2:#a7d5bd;--on-brand:#14302c;--accent:#f3c879;--accent-strong:#f3c879;--focus:#fff0b6;--danger:#ffabab;--danger-bg:#472a33;--ok:#b6efcf;color-scheme:dark}
:root[data-theme="christmas"] body{background-image:radial-gradient(circle at 0 0,#b6615533,transparent 40%),radial-gradient(circle at 95% 85%,#5a9b7433,transparent 40%)}
:root[data-theme="new-year"]{--bg:#111b30;--card:#1d2943;--text:#f4f4ff;--muted:#c6d1e5;--line:#4b6083;--field:#142038;--brand:#ffdb87;--brand-2:#a8c8f0;--on-brand:#17233c;--accent:#ffdb87;--accent-strong:#ffdb87;--focus:#ffe8ad;--danger:#ffabab;--danger-bg:#472a33;--ok:#b6efcf;color-scheme:dark}
:root[data-theme="new-year"] body{background-image:radial-gradient(circle at 95% 0,#d8ae6a33,transparent 40%),radial-gradient(circle at 0 90%,#697dc033,transparent 45%)}
:root[data-theme="lunar"]{--bg:#260d16;--card:#421a25;--text:#fff5e6;--muted:#ecc6c6;--line:#88515b;--field:#35151d;--brand:#ffd083;--brand-2:#ec9b75;--on-brand:#34141e;--accent:#ffd083;--accent-strong:#ffd083;--focus:#ffe7a9;--danger:#ffc2c2;--danger-bg:#5a2930;--ok:#b6efcf;color-scheme:dark}
:root[data-theme="lunar"] body{background-image:radial-gradient(circle at 90% 0,#c45e4b33,transparent 43%),radial-gradient(circle at 10% 95%,#e4ad5f26,transparent 45%)}
:root[data-theme="marigold"]{--bg:#211622;--card:#38253a;--text:#fff4e9;--muted:#e7cfd9;--line:#875875;--field:#2c1c2e;--brand:#ffc77e;--brand-2:#f1a16e;--on-brand:#30182c;--accent:#ffc77e;--accent-strong:#ffc77e;--focus:#ffe2a6;--danger:#ffb9b9;--danger-bg:#562e3a;--ok:#b6efcf;color-scheme:dark}
:root[data-theme="marigold"] body{background-image:radial-gradient(circle at 8% 0,#e99b4736,transparent 42%),radial-gradient(circle at 90% 90%,#9c599a30,transparent 45%)}

:root[data-theme="halloween"] body{background-image:url("icons/season-halloween.svg"),radial-gradient(ellipse at 85% 0%,#a8754326,transparent 55%);background-repeat:repeat-x,no-repeat;background-size:640px 180px,cover;background-position:center top;background-attachment:fixed;}

:root[data-theme="christmas"] body{background-image:url("icons/season-christmas.svg"),radial-gradient(ellipse at 85% 0%,#a8754326,transparent 55%);background-repeat:repeat-x,no-repeat;background-size:640px 180px,cover;background-position:center top;background-attachment:fixed;}

:root[data-theme="new-year"] body{background-image:url("icons/season-new-year.svg"),radial-gradient(ellipse at 85% 0%,#a8754326,transparent 55%);background-repeat:repeat-x,no-repeat;background-size:640px 180px,cover;background-position:center top;background-attachment:fixed;}

:root[data-theme="diwali"] body{background-image:url("icons/season-diwali.svg"),radial-gradient(ellipse at 85% 0%,#a8754326,transparent 55%);background-repeat:repeat-x,no-repeat;background-size:640px 180px,cover;background-position:center top;background-attachment:fixed;}

/* A full-width, compact rail: every overlapping festival keeps its own actions. */
/* One compact notification, including when festival windows overlap. */
.festival-news{display:grid!important;grid-template-columns:minmax(0,1fr) 32px;align-items:center!important;gap:10px;padding:10px 14px;margin:10px 0 16px;min-width:0;grid-column:1/-1}
.festival-news-items,.festival-news-copy{min-width:0}
.festival-news-item{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;min-width:0}
.festival-news-copy strong{color:var(--text);font-size:14px;line-height:1.4}
.festival-news-item p{margin:2px 0 0!important;font-size:12px;line-height:1.4}
.festival-news-actions{display:flex;gap:8px;align-items:center;min-width:0;flex-shrink:0}
.festival-news-actions select{max-width:190px;min-width:80px;min-height:36px;padding:6px 8px;font:inherit;font-size:13px}
.festival-news-actions button{font:inherit;font-size:13px;min-height:36px;padding:6px 10px;white-space:nowrap}
.festival-news-actions a{color:var(--text);text-decoration:underline;display:inline-flex;align-items:center;min-height:36px;font-size:13px;white-space:nowrap}
.festival-news .diwali-dismiss{min-width:32px;min-height:36px;padding:4px}
@media(max-width:800px){.festival-news{padding:8px 10px;gap:6px;align-items:start!important}.festival-news-item{flex-direction:column;align-items:stretch;gap:4px}.festival-news-item p{display:none}.festival-news-actions{width:100%;gap:6px}.festival-news-actions select{flex:1 1 0;min-width:0;max-width:none;min-height:40px}.festival-news-actions button,.festival-news-actions a{min-height:40px}.festival-news-copy strong{font-size:13px}.festival-news .diwali-dismiss{min-height:40px}}

:root[data-theme="holi"]{--bg:#201e30;--bg-2:#28243a;--card:#302b43;--field:#252038;--text:#fff4f6;--muted:#d2bed4;--line:#65516f;--brand:#edbf81;--brand-2:#e4a7c4;--on-brand:#30243a;--brand-ink:#30243a;--accent:#e7b9d5;--accent-strong:#f2c5dd;--focus:#f4d8aa;--ok:#b0dcbb;--danger:#f5a0aa;color-scheme:dark;}
:root[data-theme="holi"] body{background-color:var(--bg);background-image:url("icons/season-holi.svg");background-repeat:repeat-x;background-position:center top;background-size:640px 180px;}
:root[data-theme="valentines"]{--bg:#201e30;--bg-2:#28243a;--card:#302b43;--field:#252038;--text:#fff4f6;--muted:#d2bed4;--line:#65516f;--brand:#edbf81;--brand-2:#e4a7c4;--on-brand:#30243a;--brand-ink:#30243a;--accent:#e7b9d5;--accent-strong:#f2c5dd;--focus:#f4d8aa;--ok:#b0dcbb;--danger:#f5a0aa;color-scheme:dark;}
:root[data-theme="valentines"] body{background-color:var(--bg);background-image:url("icons/season-valentines.svg");background-repeat:repeat-x;background-position:center top;background-size:640px 180px;}
