
/* Sitewide seasonal palettes. Decorative artwork never covers controls. */
:root,[data-theme="autumn"]{--ink:#422b1d;--muted:#80614b;--paper:#f7eddd;--card:#fffaf1;--line:#e2c9a3;--accent:#a74c2d;--dark:#633b22;--soft:#f3dfba;--season-a:#fff5df;--season-b:#e8bc6b;--season-side:#633b22;--season-text:#422b1d;--season-mark:"🍁"}
[data-theme="halloween"]{--ink:#39243d;--muted:#786076;--paper:#f4edf3;--card:#fff8f0;--line:#dfc4bd;--accent:#a94f1e;--dark:#48304e;--soft:#f5dfc6;--season-a:#fff1d9;--season-b:#e8ad72;--season-side:#392440;--season-text:#3f2743;--season-mark:"☾"}
[data-theme="christmas"]{--ink:#244039;--muted:#60766b;--paper:#edf3ec;--card:#fffdf5;--line:#cbd9c8;--accent:#a53a3a;--dark:#234c3e;--soft:#e5eddf;--season-a:#fffef2;--season-b:#d5e5d6;--season-side:#1f493d;--season-text:#294a3b;--season-mark:"❄"}
[data-theme="springfestival"]{--ink:#59281c;--muted:#926445;--paper:#fbefe0;--card:#fff9e9;--line:#e8c799;--accent:#b33525;--dark:#8c2b22;--soft:#f6deaf;--season-a:#fff3cb;--season-b:#efbf79;--season-side:#8c2923;--season-text:#612a1d;--season-mark:"福"}
body,.main,.content{background-color:var(--paper);color:var(--ink)}.side,.sidebar{background:var(--season-side);color:#fff4dc}.topbar,.card,.student-row{background-color:var(--card);border-color:var(--line)}.nav button.active{background:#ffffff19;color:#fff7dc}.family-hero,.teacher-profile{background-image:linear-gradient(115deg,var(--season-a),var(--season-b));color:var(--season-text);border-color:var(--line);position:relative;overflow:hidden}.family-hero:before,.teacher-profile:before{content:var(--season-mark);position:absolute;right:12px;bottom:-14px;font-size:140px;opacity:.065;pointer-events:none}.family-hero h2,.family-hero h2 span,.family-hero .family-greeting,.family-hero .family-classnames span,.family-hero small{color:var(--season-text)}[data-theme="autumn"] .family-hero,[data-theme="autumn"] .teacher-profile{background-image:linear-gradient(110deg,#fff5ded9,#e8bc6b77),url('/portal-assets/assets/profile-gold-v312.png');background-size:cover}.btn,.menu-toggle{background-color:var(--dark)}.btn.light,.student-row.selected{background-color:var(--soft);color:var(--ink)}.conversation-card,.conversation-card.from-studio{background:var(--card);border-color:var(--line)}.field{color:var(--ink)}.tag{background:var(--soft);color:var(--ink)}
.brand>span,.mobile-studio-brand>span{width:116px;letter-spacing:0;font-family:"PingFang SC","Heiti SC","Microsoft YaHei",sans-serif;text-align:left;text-align-last:auto;display:flex;flex-direction:column;font-size:23px;line-height:1.25}.brand small{width:116px;letter-spacing:.01em;font-size:13px;text-align:left;text-align-last:auto;font-family:Arial,sans-serif;white-space:nowrap;line-height:1.25}.side .brand>span{color:#fff4dc}.theme-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.theme-option{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);text-align:left;cursor:pointer}.theme-option[aria-pressed="true"]{outline:2px solid var(--accent);outline-offset:2px}.theme-option b,.theme-option small{display:block;margin-top:8px}.theme-option small{color:var(--muted);line-height:1.5}.theme-swatch{display:block;height:72px;border-radius:9px;background:linear-gradient(130deg,#a54b2c,#e7ba65,#fff5db)}[data-theme-swatch="halloween"]{background:linear-gradient(130deg,#3c244d,#dd842d,#ffe9b8)}[data-theme-swatch="christmas"]{background:linear-gradient(130deg,#245b45,#b93e39,#fcf6e7)}[data-theme-swatch="springfestival"]{background:linear-gradient(130deg,#a82d25,#e7ae48,#fff4d0)}@media(max-width:700px){.theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-studio-brand>span{width:116px}}

.real-header,.real-nav,.real-section,.real-register-card,.real-hero{background-color:var(--card);color:var(--ink)}.real-home{background:var(--paper);color:var(--ink)}.real-logo-text,.real-brand{color:var(--ink)}.real-footer{background:var(--season-side);color:#fff7df}.real-header a,.real-nav a{color:var(--ink)}

.brand>span,.mobile-studio-brand>span{width:100px;text-align:justify;text-align-last:justify;letter-spacing:0}.brand small{width:100px;font-size:13px;letter-spacing:.025em;text-align:center;text-align-last:center}.real-site{background:var(--paper);color:var(--ink)}.real-intro,.real-schedule-section,.real-register,.real-section{background-color:var(--paper)}.real-register-card,.real-schedule-card{background-color:var(--card);border-color:var(--line)}

[data-theme="halloween"] .family-hero,[data-theme="halloween"] .teacher-profile{background-image:url("./assets/theme-halloween.svg"),linear-gradient(115deg,var(--season-a),var(--season-b));background-size:240px auto,cover;background-position:right bottom,center;background-repeat:no-repeat}

[data-theme="christmas"] .family-hero,[data-theme="christmas"] .teacher-profile{background-image:url("./assets/theme-christmas.svg"),linear-gradient(115deg,var(--season-a),var(--season-b));background-size:240px auto,cover;background-position:right bottom,center;background-repeat:no-repeat}

[data-theme="springfestival"] .family-hero,[data-theme="springfestival"] .teacher-profile{background-image:url("./assets/theme-springfestival.svg"),linear-gradient(115deg,var(--season-a),var(--season-b));background-size:240px auto,cover;background-position:right bottom,center;background-repeat:no-repeat}

.family-hero:before,.teacher-profile:before{display:none}

.real-hero-copy{background-color:var(--season-a);color:var(--ink)}.real-hero-copy h1,.real-hero-copy p,.real-hero-copy h2{color:var(--ink)}
