/* Shared seasonal layers. The default keeps the original studio palette. */
[data-price], [data-price-unit] { font: inherit; font-weight: inherit; }
html[data-season="winter"] { --season-paper: #f3f0e9; --season-card: #fcfaf4; --season-wash: #e7e9df; --season-wine: #6d343c; --season-leaf: #819384; --season-glow: #dfc591; --season-line: #72827830; --season-muted: #827b71; }
html[data-season="autumn"] { --season-paper: #f4e9dc; --season-card: #fcf2e5; --season-wash: #ead5bf; --season-wine: #884638; --season-leaf: #bd8b5f; --season-glow: #d5ae77; --season-line: #9c745635; --season-muted: #8e715f; }
html[data-season="summer"] { --season-paper: #f7f2e4; --season-card: #fffaf0; --season-wash: #ece8ce; --season-wine: #85503d; --season-leaf: #8c9c6b; --season-glow: #ddba73; --season-line: #8c905630; --season-muted: #897c60; }
html[data-season="spring"] { --season-paper: #f7eeeb; --season-card: #fff8f3; --season-wash: #efdfda; --season-wine: #864b61; --season-leaf: #94a383; --season-glow: #d7a6ad; --season-line: #ad7c8730; --season-muted: #947a7c; }
html[data-season]:not([data-season="default"]) body {
  --paper: var(--season-paper); --wine: var(--season-wine); --muted: var(--season-muted); --line: var(--season-line);
  --tile: var(--season-card); --tile-peach: var(--season-wash); --tile-line: var(--season-line);
  --tools-paper: var(--season-card); --tools-wine: var(--season-wine); --tools-line: var(--season-line); --tools-field: var(--season-card); --tools-muted: var(--season-muted);
  background: var(--season-paper);
}
html[data-season]:not([data-season="default"]) :is(.mini-shell, .admin-tabs, .bottom-nav) { background: var(--season-paper); }
html[data-season]:not([data-season="default"]) :is(.admin-welcome, .mini-page-heading, .garden-income, .contact-address, .admin-form, .booking:not(.landing-booking), .approach:not(.landing-approach), .upload-box, .dashboard-toolbar) { background: linear-gradient(125deg, var(--season-wash), var(--season-paper)); border-color: var(--season-line); }
html[data-season]:not([data-season="default"]) :is(.lead-card, .material-group, .garden-tax, .mini-card, .mini-plan:not(.featured), .contact-socials, .login-form, .bulk-builder, .completed-homework, .lesson-history, .price-card:not(.featured), .admin-filters, .booking-dialog) { background: var(--season-card); border-color: var(--season-line); }
html[data-season]:not([data-season="default"]) :is(.admin-body input:not([type="checkbox"]), .admin-body select, .admin-body textarea, .admin-body .bulk-day, .admin-body .material-download, .admin-body #notification-fields label, .admin-body .admin-tabs > button[data-panel]:not(.active), .mini-body input, .mini-body textarea) { background: var(--season-card); border-color: var(--season-line); }
html[data-season]:not([data-season="default"]) :is(.admin-welcome h1 em, .garden-money, .welcome-note, .admin-body .dashboard-toolbar h2) { color: var(--season-wine); }
html[data-season]:not([data-season="default"]) :is(.studio-calendar, .admin-body .calendar-day-panel .slot-form) { background: var(--season-card); }
html[data-season]:not([data-season="default"]) :is(.calendar-day-panel, .lessons-next) { background: linear-gradient(125deg, var(--season-wash), var(--season-paper)); }
html[data-season]:not([data-season="default"]) :is(.calendar-arrow, .calendar-day:not([aria-pressed="true"])) { background: var(--season-wash); }
html[data-season]:not([data-season="default"]) :is(.offer-plans > span, .debt-note) { background: var(--season-wash); }
html[data-season]:not([data-season="default"]) .garden-canopy > path[fill]:not([fill="none"]) { fill: var(--season-leaf); }
html[data-season]:not([data-season="default"]) .garden-canopy > path[fill]:not([fill="none"]):nth-child(2n) { opacity: .82; }
.season-atmosphere { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 8; contain: strict; }
.season-particle { position: absolute; left: var(--x); top: -25px; width: var(--size); height: var(--size); animation: season-fall var(--duration) var(--delay) linear infinite; will-change: transform; }
[data-season="winter"] .season-particle { background: #fffdf5; border-radius: 50%; box-shadow: 0 0 2px #a3a99e66; opacity: .7; }
[data-season="autumn"] .season-particle { background: #b78254; border-radius: 85% 0 85% 0; opacity: .22; }
[data-season="autumn"] .season-particle::after { content: ''; position: absolute; width: 1px; height: 90%; background: #f8eddb; left: 50%; transform: rotate(42deg); }
[data-season="spring"] .season-particle { background: #d7a6ad; border-radius: 80% 15% 65% 40%; opacity: .25; }
[data-season="summer"] .season-particle { background: #e2bc73; border-radius: 50%; opacity: .15; filter: blur(1px); animation-name: season-sun; }
@keyframes season-fall { 0% { transform: translate3d(0,-35px,0) rotate(0); } 50% { transform: translate3d(var(--drift),55vh,0) rotate(105deg); } 100% { transform: translate3d(0,calc(100dvh + 60px),0) rotate(230deg); } }
@keyframes season-sun { 0% { transform: translate3d(0,95vh,0); opacity: 0; } 25%,70% { opacity: .25; } 100% { transform: translate3d(var(--drift),15vh,0); opacity: 0; } }
.season-garland { display: none; pointer-events: none; }
.season-blossoms,.season-snowcap { display:none;pointer-events:none; }
[data-season="winter"] .season-snowcap { display:inline;fill:#fffcf5;opacity:.85; }
[data-season="spring"] .season-blossoms { display:inline; }
.season-flower ellipse { fill:#e1b5b7;stroke:#fff8ef;stroke-width:.45; }
.season-flower circle { fill:#c7a16e; }
.season-flower:nth-child(2n) ellipse { fill:#f0d0c5; }
[data-season="winter"] .season-garland { display: inline; }
.season-garland circle { fill: #f2d397; stroke: #fff0c1; stroke-width: .7; animation: season-light 5s ease-in-out infinite alternate; }
@keyframes season-light { from { opacity: .55; } to { opacity: 1; } }
.brand-bird > span, .wordmark { position: relative; }
html[data-season]:not([data-season="default"]) :is(.brand-bird > span, .wordmark)::after { content: ''; position: absolute; top: -13px; right: -9px; width: 24px; height: 24px; pointer-events: none; background: var(--season-glow); border-radius: 85% 0 85% 0; transform: rotate(-20deg); }
html[data-season][data-season="winter"] :is(.brand-bird > span, .wordmark)::after { width: 33px; height: 25px; top: -16px; right: -8px; border-radius: 0; transform: rotate(12deg); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cpath d='M6 24Q8 7 21 2L33 13 24 11 28 24Z' fill='%2387474d'/%3E%3Cpath d='M5 23Q16 20 29 23L30 28H4Z' fill='%23fffaf0'/%3E%3Ccircle cx='33' cy='13' r='4' fill='%23fffaf0'/%3E%3C/svg%3E") center/contain no-repeat; }
html[data-season][data-season="summer"] :is(.brand-bird > span, .wordmark)::after { border-radius: 50%; width: 17px; height: 17px; box-shadow: 0 0 0 4px #ddba731c; }
html[data-season][data-season="spring"] :is(.brand-bird > span, .wordmark)::after { border-radius: 60% 45% 60% 45%; width: 19px; height: 19px; box-shadow: -5px 4px 0 #e7c3c0, 4px 5px 0 #e7c3c0; }
/* Quiet garland above the little welcome plant, even before the first payment. */
[data-season="winter"] .admin-welcome { background: radial-gradient(ellipse at 90% 0, #dfc59125, transparent 65%), var(--season-wash); }
[data-season="winter"] .welcome-illustration { filter: drop-shadow(0 0 8px #dfc59130); }
.season-paused .season-particle, .season-paused .season-garland circle { animation-play-state: paused; }

.admin-body .admin-tabs { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.appearance-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 26px 0; }
.appearance-options > button { position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: left; min-width: 0; border: 1px solid var(--tile-line); border-radius: 22px; padding: 15px 15px 20px; background: var(--tile); color: var(--wine); transition: background .2s, border-color .2s; }
.appearance-options > button:hover { border-color: #b18b70; }
.appearance-options > button[aria-pressed="true"] { border-color: var(--wine); background: var(--tile-peach); }
.appearance-preview { display: grid; place-items: center; width: 100%; height: 140px; border-radius: 14px; margin-bottom: 18px; background: #eee2d1; }
.appearance-preview svg { width: 120px; height: 85px; }
.preview-winter { background: #e4e8df; color: #8b9b8b; }
.preview-winter circle { fill: #d6b67d; }
.preview-autumn { background: #ead5bf; color: #89583e; }
.preview-summer { background: #eee9cc; color: #b29455; }
.preview-spring { background: #efdedb; color: #b38793; }
.preview-default { background: #efe2d1; color: #9a8467; }
.appearance-options strong { font: 400 29px/1.2 var(--serif); margin: 0 4px 8px; }
.appearance-options > button > span:not(.appearance-preview) { font: 11px/1.6 Arial,sans-serif; color: var(--muted); margin: 0 4px; }
.appearance-options small { margin: 14px 4px 0; font: 10px Arial,sans-serif; min-height: 12px; visibility: hidden; }
.appearance-options [aria-pressed="true"] small { visibility: visible; }
#appearance-result { min-height: 20px; color: var(--wine); }
@media (max-width: 1100px) { .admin-body .admin-tabs > button[data-panel] { flex-direction: column; gap: 6px; padding: 10px 4px; font-size: 11px; } }
@media (max-width: 700px) {
  .admin-body .admin-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .admin-body .admin-tabs > button[data-panel] { flex-direction: column; font-size: 10px; padding: 8px 2px; }
  .appearance-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .appearance-options > button { padding: 10px 10px 16px; border-radius: 18px; }
  .appearance-preview { height: 112px; margin-bottom: 15px; }
  .appearance-options strong { font-size: 26px; }
  .appearance-options > button > span:not(.appearance-preview) { font-size: 10px; }
  .appearance-options > button:last-child { grid-column: 1 / -1; }
  .appearance-options > button:last-child .appearance-preview { height: 90px; }
}
@media (max-width: 360px) { .admin-body .admin-tabs > button[data-panel] { font-size: 9.5px; } }
@media (prefers-reduced-motion: reduce) {
  .season-atmosphere { display: none; }
  .season-garland circle { animation: none; }
  .appearance-options > button { transition: none; }
}

/* A little more winter and spring, while keeping the working surface quiet. */
.season-frame{position:fixed;inset:0;z-index:8;overflow:hidden;pointer-events:none;contain:strict}
.season-header-lights{position:absolute;width:max(100%,700px);height:48px;left:50%;top:-10px;transform:translateX(-50%);overflow:visible}
.season-header-bulb ellipse{fill:#f0cf91;stroke:#fff6d8;stroke-width:.7;filter:drop-shadow(0 0 3px #ebc37c);animation:season-light 4s ease-in-out infinite alternate}
.season-spring-branch{position:absolute;bottom:5%;width:150px;height:200px;opacity:.48}
.season-branch-left{left:-55px}.season-branch-right{right:-55px;transform:scaleX(-1)}
[data-season="winter"] .season-particle.particle-snowflake{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17 20.7 7M8.5 5.5 12 9l3.5-3.5M8.5 18.5 12 15l3.5 3.5M3.7 11.2l4.8-1.3-1.3-4.8M16.8 18.9l-1.3-4.8 4.8-1.3M7.2 18.9l1.3-4.8-4.8-1.3M20.3 11.2l-4.8-1.3 1.3-4.8' fill='none' stroke='%239faea5' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;opacity:.5}
[data-season="spring"] .season-particle.particle-flower{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cg fill='%23dfb3b6'%3E%3Cellipse cx='13' cy='7' rx='4' ry='6'/%3E%3Cellipse cx='13' cy='7' rx='4' ry='6' transform='rotate(72 13 13)'/%3E%3Cellipse cx='13' cy='7' rx='4' ry='6' transform='rotate(144 13 13)'/%3E%3Cellipse cx='13' cy='7' rx='4' ry='6' transform='rotate(216 13 13)'/%3E%3Cellipse cx='13' cy='7' rx='4' ry='6' transform='rotate(288 13 13)'/%3E%3C/g%3E%3Ccircle cx='13' cy='13' r='2.6' fill='%23c8aa73'/%3E%3C/svg%3E") center/contain no-repeat;border-radius:0;opacity:.45}
[data-season="spring"] .season-particle:not(.particle-flower):nth-child(3n){background:#a8b698;opacity:.25;border-radius:90% 0 90% 0}
html[data-season="spring"] body{background:radial-gradient(ellipse at 0 15%,#dce5d63d,transparent 45%),radial-gradient(ellipse at 100% 50%,#f0cece38,transparent 50%),var(--season-paper)}
html[data-season="winter"] body{background:radial-gradient(ellipse at 100% 0,#e4e9e05c,transparent 45%),var(--season-paper)}
html[data-season]:not([data-season="default"]) :is(.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.workspace-dialog,.admin-toolbox,.subscription-tile,.song-tools-card,.studio-report,.finance-debts,.finance-debt-card,.refund-calculation){background:linear-gradient(125deg,var(--season-wash),var(--season-card));border-color:var(--season-line)}
html[data-season]:not([data-season="default"]) :is(#subscription-tools-admin,#student-subscriptions,#student-songs,#student-tools-materials){background:linear-gradient(125deg,var(--season-wash),var(--season-card));border-color:var(--season-line)}
html[data-season]:not([data-season="default"]) :is(.admin-toolbox-body>#subscription-tools-admin,.admin-toolbox-body>.studio-report,.admin-toolbox-body>.schedule-tools){background:transparent}
html[data-season]:not([data-season="default"]) :is(.studio-report-metric,.studio-report-load,.subscription-badge,.song-tools-file,.refund-history-note){background:var(--season-wash);border-color:var(--season-line)}
.season-paused .season-header-bulb ellipse{animation-play-state:paused}
@media(max-width:650px){.season-spring-branch{display:none}.season-header-lights{top:-15px;height:44px}.season-particle:nth-child(n+19){display:none}}
@media(prefers-reduced-motion:reduce){.season-header-bulb ellipse{animation:none;opacity:.85}}
@media print{.season-frame,.season-atmosphere{display:none!important}}

/* Stationary seasonal details stay behind content and never intercept taps. */
.season-tree{display:none;pointer-events:none}
[data-season="winter"] .season-tree{display:inline}
[data-season="winter"] :is(.mini-sprig,.hero-sprig,.offer-sprig)>use,
[data-season="winter"] .garden-canopy>path,
[data-season="winter"] .garden-canopy>.season-garland,
[data-season="winter"] .garden-canopy>.season-snowcap,
[data-season="winter"] .welcome-illustration>.landing-foliage{display:none}
[data-season="winter"] :is(.mini-page-heading,.hero-copy) .season-tree{opacity:.9}
html[data-season="autumn"][data-season] :is(.dashboard-toolbar,.calendar-day-panel,.mini-page-heading,.upload-box,.contact-address,.pending-payments){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20130%2080%27%3E%3Cg%20opacity%3D%27.78%27%3E%3Cpath%20d%3D%27M15%2056Q7%2023%2040%2012Q59%2045%2015%2056Z%27%20fill%3D%27%23b86c43%27%2F%3E%3Cpath%20d%3D%27m15%2056%2022-36%27%20fill%3D%27none%27%20stroke%3D%27%23ecd5af%27%20stroke-width%3D%271.1%27%2F%3E%3Cpath%20d%3D%27M47%2065Q44%2035%2082%2033Q83%2061%2047%2065Z%27%20fill%3D%27%23d2a351%27%2F%3E%3Cpath%20d%3D%27m47%2065%2029-27%27%20fill%3D%27none%27%20stroke%3D%27%23f2daba%27%20stroke-width%3D%271.1%27%2F%3E%3Cpath%20d%3D%27M75%2072Q78%2046%20109%2051Q107%2075%2075%2072Z%27%20fill%3D%27%239b694b%27%2F%3E%3Cpath%20d%3D%27m75%2072%2028-17%27%20fill%3D%27none%27%20stroke%3D%27%23dfbd96%27%20stroke-width%3D%271.1%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),linear-gradient(125deg,var(--season-wash),var(--season-paper));background-repeat:no-repeat;background-position:right 8px bottom 0,center;background-size:105px 65px,cover}
html[data-season="autumn"][data-season] :is(.mini-card,.lead-card,.price-card):nth-of-type(3n+1){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20130%2080%27%3E%3Cg%20opacity%3D%27.78%27%3E%3Cpath%20d%3D%27M15%2056Q7%2023%2040%2012Q59%2045%2015%2056Z%27%20fill%3D%27%23b86c43%27%2F%3E%3Cpath%20d%3D%27m15%2056%2022-36%27%20fill%3D%27none%27%20stroke%3D%27%23ecd5af%27%20stroke-width%3D%271.1%27%2F%3E%3Cpath%20d%3D%27M47%2065Q44%2035%2082%2033Q83%2061%2047%2065Z%27%20fill%3D%27%23d2a351%27%2F%3E%3Cpath%20d%3D%27m47%2065%2029-27%27%20fill%3D%27none%27%20stroke%3D%27%23f2daba%27%20stroke-width%3D%271.1%27%2F%3E%3Cpath%20d%3D%27M75%2072Q78%2046%20109%2051Q107%2075%2075%2072Z%27%20fill%3D%27%239b694b%27%2F%3E%3Cpath%20d%3D%27m75%2072%2028-17%27%20fill%3D%27none%27%20stroke%3D%27%23dfbd96%27%20stroke-width%3D%271.1%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right -9px bottom -4px;background-size:64px 40px}
[data-season="winter"] :is(.hero-copy>.button,.calendar-day-panel .slot-form>.button,.balance-card>button,.mini-plan.featured .primary,.pending-payments .lead-card>.text-button:first-of-type){position:relative;overflow:visible}
[data-season="winter"] :is(.hero-copy>.button,.calendar-day-panel .slot-form>.button,.balance-card>button,.mini-plan.featured .primary,.pending-payments .lead-card>.text-button:first-of-type)::before{content:'';position:absolute;inset-inline:8px;top:-6px;height:16px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20180%2018%27%3E%3Cpath%20d%3D%27M2%2013Q7%203%2018%207Q27-1%2038%205Q48-2%2059%205Q72%201%2082%207Q91%204%20103%208Q118-1%20129%205Q139%200%20151%206Q165%201%20178%2010L180%2014Q165%2013%20158%2012Q150%2017%20144%2013Q128%2013%20117%2012Q110%2017%20104%2013L72%2013Q64%2019%2057%2013Q43%2013%2035%2011Q24%2017%2017%2013Z%27%20fill%3D%27%23fffdf7%27%20stroke%3D%27%23dbe4dc%27%20stroke-width%3D%27.7%27%2F%3E%3C%2Fsvg%3E") center top/100% 16px no-repeat;pointer-events:none;animation:none;filter:drop-shadow(0 1px 1px #70837722)}
[data-season="winter"] .welcome-illustration>.season-garland{display:none}

[data-season="winter"] .season-original-plant{display:none}
