/* Fall harvest: parchment, chestnut and cranberry. Shared by both pages. */
html.knox-seasonal[data-theme="dark"] {
 --cream:#FBF3E5; --cream-warm:#F4E6CF; --gray:#F1E2CB;
 --surface:#FFF9EF; --border:#D7BE99; --text:#38291F;
 --text-light:#78604B; --text-body:#594332;
 --orange-cream:#FBE4C6; --orange-light:#F5C78C;
 --purple-light:#F1DADD; --purple-on-tint:#8C3C4D;
 --blue-light:#DDECEF; --blue-dark:#24647A; --blue-on-tint:#24647A;
 --green-light:#E6EACD; --shadow:0 4px 0 #D7BE99; color-scheme:light;
}
.harvest-bough,.harvest-wheat,.harvest-sun { display:none; }
html.knox-seasonal #welcomeScreen,html.knox-seasonal #home {
 background-color:var(--cream)!important;
 background-image:radial-gradient(ellipse at 85% 10%,#F3D5A580,transparent 48%),radial-gradient(ellipse at 5% 95%,#DDBA8540,transparent 48%); isolation:isolate;
}
html.knox-seasonal .harvest-bough { display:block; position:absolute!important; top:0; left:0; width:clamp(140px,22vw,330px); height:auto; pointer-events:none; z-index:0!important; opacity:.7; }
html.knox-seasonal .harvest-wheat { display:block; position:absolute!important; right:28px; bottom:25px; width:95px; pointer-events:none; z-index:0!important; }
html.knox-seasonal .harvest-sun { display:block; position:absolute; width:260px; height:260px; top:-75px; right:-70px; border:1px solid #BD854C35; border-radius:50%; background:#ECC57835; box-shadow:0 0 0 24px #ECC57815,0 0 0 48px #ECC57810; }
html.knox-seasonal .fall-leaf { opacity:.55; animation-name:harvestDrift; top:0; }
@keyframes harvestDrift { from { transform:translate3d(0,-70px,0); } to { transform:translate3d(28px,85vh,0); } }
html.knox-seasonal .fall-harvest { width:clamp(100px,13vw,185px); bottom:9px; opacity:.9; }
html.knox-seasonal .fall-harvest.right { right:90px; width:115px; }
html.knox-seasonal .welcome-badge,html.knox-seasonal .hero-badge { color:#873D28!important; background:#FBE4C6!important; border-color:#D99857!important; box-shadow:0 3px 0 #D8AE79!important; }
html.knox-seasonal .welcome-accent,html.knox-seasonal .hero-accent { color:#B94D24; text-shadow:none; }
html.knox-seasonal .suggestion-chip { background:#FFF9EF; } /* keeps each card's own color border, like Light and Dark */
html.knox-seasonal #rightSidebar,html.knox-seasonal .sidebar-top { background:#F1E3CE; border-right-color:#D7BE99; box-shadow:none; }
html.knox-seasonal #inputOuter { background:#FBF3E5; border-color:#C97837; box-shadow:0 -6px 24px #7953360A; }
html.knox-seasonal #inputBox { background:#FFF9EF; border-color:#B89A73; }
html.knox-seasonal .fc-deck,html.knox-seasonal .fc-card-row { background:var(--surface); }
html.knox-seasonal #home .hero-mascot { filter:none!important; outline:none; display:block; margin:0 auto 22px; }
html.knox-seasonal #home .hero-badge::after { content:' • A season to grow'; font-size:.85em; }
html.knox-seasonal .knox-theme-menu button[data-mode="seasonal"] .ktm-icon { background:#F4D7A6; }
html.knox-seasonal :is(input,textarea,select) { color:var(--text); }
html.knox-seasonal .sidebar-extension-card { background:#E1EFF2; color:#245368; }
html.knox-seasonal .sidebar-extension-card strong { color:#245368; }
/* Seasonal uses a light surface even though the theme engine sets dark. */
html.knox-seasonal .subject-showcase-card.math { --subject-tint:#FBE4C6; --subject-ink:#A34314; }
html.knox-seasonal .subject-showcase-card.science { --subject-tint:#E6EACD; --subject-ink:#4B641E; }
html.knox-seasonal .subject-showcase-card.history { --subject-tint:#ECE2F2; --subject-ink:#72518E; }
html.knox-seasonal .subject-showcase-card.english { --subject-tint:#DDECEF; --subject-ink:#24647A; }
html.knox-seasonal .subject-showcase-card.computer-science { --subject-tint:#F3DFE7; --subject-ink:#963E68; }
html.knox-seasonal .subject-showcase-card.languages { --subject-tint:#DCECE4; --subject-ink:#286D61; }
html.knox-seasonal .subject-showcase-card.economics { --subject-tint:#F5E6C1; --subject-ink:#825A1E; }
html.knox-seasonal .subject-showcase-card.test-prep { --subject-tint:#F3DDD5; --subject-ink:#9D4237; }
@media(max-width:768px) {
 html.knox-seasonal .harvest-bough { width:145px; opacity:.35; }
 html.knox-seasonal .harvest-wheat { width:55px; right:8px; opacity:.45; }
 html.knox-seasonal .fall-leaf { opacity:.25; }
 html.knox-seasonal #home .hero-badge::after { content:none; }
}
@media(prefers-reduced-motion:reduce) { html.knox-seasonal .fall-leaf { animation:none!important; top:var(--rest); } }

/* A quiet seasonal visitor shared by Ask Knox and Learn. */
html.knox-seasonal { --danger-bg:#F7E3DA; --danger-border:#DDAA98; }
.harvest-turkey-track { display:none; }
html.knox-seasonal #welcomeScreen > .harvest-turkey-track { position:absolute!important; z-index:0!important; width:100%; }
html.knox-seasonal #chatColumn { position:relative; isolation:isolate; }
html.knox-seasonal .harvest-turkey-track { display:block; position:absolute; inset: auto 0 8px; height:85px; overflow:hidden; pointer-events:none; z-index:0; }
html.knox-seasonal .harvest-turkey { position:absolute; width:90px; height:77px; left:-100px; bottom:0; opacity:.55; animation:turkey-run 30s linear infinite; }
html.knox-seasonal :is(#welcomeScreen,#chatThread,#learnModeBar) { position:relative; z-index:1; }
.turkey-body { animation:turkey-bob .34s ease-in-out infinite alternate; }
.turkey-leg { transform-origin:65px 77px; animation:turkey-stride .34s ease-in-out infinite alternate; }
.turkey-leg-back { animation-delay:-.34s; }
/* One crossing (~18s), then a short rest off-screen (~12s) before it walks back in. */
@keyframes turkey-run { 0% { left:-100px; } 60%, 100% { left:calc(100% + 10px); } }
@keyframes turkey-bob { to { transform:translateY(-3px) rotate(2deg); } }
@keyframes turkey-stride { from { transform:rotate(-24deg); } to { transform:rotate(24deg); } }
@media(prefers-reduced-motion:reduce) {
 html.knox-seasonal .harvest-turkey { animation:none; left:auto; right:16px; }
 .turkey-body,.turkey-leg { animation:none; }
}

/* Shared autumn framing for the app and landing hero. No ground strip. */
.harvest-trunk,.harvest-corn { display:none; }
html.knox-seasonal :is(#welcomeScreen,#home) {
 --harvest-size:clamp(92px,15%,175px);
}
html.knox-seasonal :is(#welcomeScreen,#home) > .harvest-trunk {
 display:block; position:absolute!important; left:0; top:0; bottom:9px;
 width:clamp(22px,3.5%,48px); height:calc(100% - 9px);
 pointer-events:none; z-index:0!important;
}
html.knox-seasonal .harvest-bough {
 left:0; top:0; width:clamp(110px,23%,300px); opacity:1;
}
html.knox-seasonal :is(#welcomeScreen,#home) .harvest-corn {
 display:block; position:absolute!important; width:var(--harvest-size); height:auto;
 right:clamp(72px,12%,145px); bottom:9px; pointer-events:none; z-index:0!important;
}
html.knox-seasonal :is(#welcomeScreen,#home) .fall-harvest {
 display:block; width:var(--harvest-size); bottom:9px; opacity:1; z-index:0!important;
}
html.knox-seasonal .fall-harvest.left { left:12px; }
html.knox-seasonal .fall-harvest.right { right:12px; }
html.knox-seasonal .harvest-wheat { display:none; }
html.knox-seasonal :is(#welcomeScreen,#home) > .fall-sky {
 bottom:125px; height:auto;
 mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%);
}
html.knox-seasonal .harvest-turkey { opacity:1; }
html.knox-seasonal :is(#welcomeScreen,#home) .harvest-turkey-track {
 position:absolute!important; bottom:9px; z-index:0!important;
}
@media(max-width:768px) {
 html.knox-seasonal .harvest-bough { opacity:1; }
 html.knox-seasonal .harvest-turkey { width:70px; height:60px; }
}
.harvest-footer { display:none; }
html.knox-seasonal :is(#welcomeScreen,#home) > .harvest-footer {
 display:block; position:relative; width:100%; height:110px; flex:0 0 110px;
 margin-top:24px; pointer-events:none; z-index:0;
}
html.knox-seasonal #welcomeScreen { overflow-y:auto; padding-bottom:0; }
html.knox-seasonal #home { padding-bottom:0!important; }
html.knox-seasonal .harvest-footer .fall-harvest { z-index:1!important; }
html.knox-seasonal .harvest-footer .harvest-corn { z-index:1!important; width:100px; }
@media(max-width:480px) {
 html.knox-seasonal .harvest-footer .harvest-corn { width:78px; right:68px; }
}

/* A continuous ochre ground with the harvest resting on its upper edge. */
.harvest-tree-branches { display:none; }
html.knox-seasonal :is(#welcomeScreen,#home) > .harvest-tree-branches {
 display:block; position:absolute!important; left:0; top:13%;
 width:clamp(70px,14%,180px); height:auto; z-index:0!important; pointer-events:none;
}
html.knox-seasonal :is(#welcomeScreen,#home) > .harvest-trunk {
 width:clamp(36px,5%,70px);
}
html.knox-seasonal #welcomeScreen { justify-content:flex-start; min-height:0; }
html.knox-seasonal #chatColumn { min-height:0; }
html.knox-seasonal #welcomeScreen > .harvest-footer { margin-top:auto; }
html.knox-seasonal :is(#welcomeScreen,#home) > .harvest-footer {
 width:calc(100% + 48px); margin-left:-24px; margin-right:-24px;
 height:132px; flex-basis:132px; align-self:center;
}
html.knox-seasonal .harvest-footer::before {
 content:''; position:absolute; left:-24px; right:-24px; bottom:0; height:25px;
 background:linear-gradient(#D6BE87,#C6A66C); border-top:2px solid #B99961;
 border-radius:48% 40% 0 0 / 12% 14% 0 0; z-index:0;
}
html.knox-seasonal .harvest-footer .fall-harvest,
html.knox-seasonal .harvest-footer .harvest-turkey-track { bottom:13px; }
html.knox-seasonal :is(#welcomeScreen,#home) .harvest-footer .harvest-truck {
 width:clamp(150px,22%,215px); right:clamp(110px,20%,210px); bottom:13px;
 transform:scaleX(-1);
}
/* Leaves stay at the outer edges, away from headings, copy and controls. */
html.knox-seasonal :is(#welcomeScreen,#home) > .fall-sky {
 mask-image:linear-gradient(90deg,#000 0%,#000 7%,transparent 25%,transparent 75%,#000 93%,#000 100%);
}
@media(max-width:768px) {
 html.knox-seasonal :is(#welcomeScreen,#home) > .harvest-tree-branches { top:5%; width:64px; }
 html.knox-seasonal :is(#welcomeScreen,#home) > .harvest-footer {
  width:calc(100% + 32px); margin-left:-16px; margin-right:-16px;
 }
 html.knox-seasonal .harvest-footer .fall-harvest { width:80px; }
 html.knox-seasonal :is(#welcomeScreen,#home) .harvest-footer .harvest-truck { width:132px; right:95px; }
 html.knox-seasonal .fall-sky .fall-leaf { display:block; }
 html.knox-seasonal .fall-sky .fall-leaf:nth-child(n+9) { display:none; }
}
@media(max-width:360px) {
 html.knox-seasonal :is(#welcomeScreen,#home) .harvest-footer .harvest-truck { width:112px; right:80px; }
 html.knox-seasonal .harvest-footer .fall-harvest { width:68px; }
}
/* Phones: the app's message box covers the bottom of the screen, so the
   harvest scene would peek out half-hidden. The tree and leaves carry the
   look there; the landing page keeps the full scene. */
@media(max-width:768px) {
 html.knox-seasonal #welcomeScreen > .harvest-footer { display:none; }
}

/* The turkey holds still while you type, and walks behind the pumpkins. */
html.knox-seasonal:has(#appChatInput:not(:placeholder-shown)) :is(.harvest-turkey,.turkey-body,.turkey-leg) { animation-play-state:paused; }
html.knox-seasonal :is(#welcomeScreen,#home) .harvest-footer .fall-harvest { z-index:2!important; }
/* "Fall mode is resting" note after the season. */
.fall-rest-note { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:10060; display:inline-flex !important; }

/* ── Falling leaves ──────────────────────────────────────────────────────
   Original fall-theme diagonal drift and gentle side-to-side sway. */
html.knox-seasonal :is(#welcomeScreen,#home) > .fall-sky {
 top:0; bottom:14px; height:auto; mask-image:none; -webkit-mask-image:none;
}
html.knox-seasonal .fall-leaf {
 top:0; opacity:.55;
 animation:harvestDrift var(--d,14s) linear infinite var(--delay,0s);
}
html.knox-seasonal .fall-leaf svg { animation:fallSway var(--sway,4s) ease-in-out infinite alternate; }
@media(max-width:768px) { html.knox-seasonal .fall-leaf { opacity:.25; } }
@media(prefers-reduced-motion:reduce) {
 html.knox-seasonal .fall-leaf { animation:none!important; top:var(--rest); opacity:.55; }
 html.knox-seasonal .fall-leaf svg { animation:none!important; transform:rotate(14deg); }
}
