/* 月下仍是宣纸；色调只落在首页和登录左幅，员工工作区不换主题。 */
.home,.auth{--season-sun-y:16%;--season-sun-filter:none;--season-glow-filter:none;--season-glow-alpha:1;--season-mist-filter:none;--season-far-alpha:.7;--season-paper-alpha:0;--season-contrast:1}
html.tod-dawn .home,html.tod-dawn .auth{--season-sun-y:24%;--season-sun-filter:saturate(.3) brightness(1.3);--season-glow-filter:saturate(0) brightness(1.6);--season-glow-alpha:.6;--season-mist-filter:brightness(1.4) opacity(.95);--season-far-alpha:.58}
html.tod-day .home,html.tod-day .auth{--season-sun-y:6%;--season-sun-filter:saturate(.2) brightness(1.25) opacity(.6);--season-glow-alpha:.08;--season-mist-filter:opacity(.6);--season-contrast:1.05}
html.tod-night .home,html.tod-night .auth{--season-sun-filter:opacity(0);--season-glow-alpha:0;--season-mist-filter:opacity(.55);--season-far-alpha:.35;--season-paper-alpha:.13}
.home>.ink-scene,.auth>.ink-scene{isolation:isolate}
.home>.ink-scene::after,.auth>.ink-scene::after{content:"";position:absolute;inset:0;background:#4a5568;mix-blend-mode:multiply;opacity:var(--season-paper-alpha);transition:opacity 3s;pointer-events:none;z-index:1}
.auth>.ink-scene{right:47.619%}
.home .ink-scene .ls-sun,.auth .ink-scene .ls-sun{top:var(--season-sun-y);filter:var(--season-sun-filter);transition:top 3s,filter 3s}
.home .ink-scene .ls-glow,.auth .ink-scene .ls-glow{filter:var(--season-glow-filter) opacity(var(--season-glow-alpha));transition:filter 3s}
.home .ink-scene .mist,.auth .ink-scene .mist{filter:var(--season-mist-filter);transition:filter 3s}
.home .ink-scene .ls-far,.auth .ink-scene .ls-far{filter:opacity(var(--season-far-alpha));transition:filter 3s,transform .8s}
.home .ink-scene .far,.auth .ink-scene .far{filter:opacity(var(--season-far-alpha)) contrast(var(--season-contrast));transition:filter 3s,transform .8s}
.season-sky{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 3s}
html.tod-night .season-sky{opacity:1}
.season-moon{position:absolute;left:63%;top:15%;width:clamp(35px,5.4vw,77px);aspect-ratio:1;border-radius:50%;background:#f7f2df;box-shadow:0 0 28px 8px rgba(247,242,223,.14),inset -6px -3px 11px rgba(135,138,145,.12)}
.season-star{position:absolute;height:auto;opacity:.65;animation:season-twinkle 6s var(--season-delay) ease-in-out infinite alternate}
@keyframes season-twinkle{from{opacity:.18}to{opacity:.82}}
.season-particles{position:absolute;z-index:1;pointer-events:none}
.auth>.season-particles{z-index:1;clip-path:inset(0)}
html.fx-paused .season-star,html.fx-idle .season-star,html.fx-hold .season-star{animation-play-state:paused}
html.season-static .season-star{animation:none;opacity:.45}

/* 两列从右到左，逐字墨晕；手机移入标题与按钮之间。 */
.home .ls-title.season-poem{display:flex;top:30%;right:max(3.5vw,22px);max-width:230px;gap:15px;opacity:1;animation:none;pointer-events:none;padding:22px 16px 16px;background:linear-gradient(180deg,rgba(252,249,241,.95),rgba(246,240,227,.93));border:1px solid rgba(148,102,26,.3);border-radius:2px;box-shadow:0 14px 34px rgba(38,28,14,.2),0 2px 6px rgba(38,28,14,.12),inset 0 0 0 5px rgba(252,249,241,.7),inset 0 0 0 6px rgba(179,32,42,.22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
/* 题签上下两根轴头：一看就是挂起来的一条，不是印在山上的字（gw-r31b） */
.home .ls-title.season-poem::before,.home .ls-title.season-poem::after{content:"";position:absolute;left:-7px;right:-7px;height:8px;border-radius:4px;background:linear-gradient(180deg,#8a7350,#4f3f2a);box-shadow:0 2px 4px rgba(38,28,14,.3)}
.home .ls-title.season-poem::before{top:-5px}.home .ls-title.season-poem::after{bottom:-5px}
html.tod-night .home .ls-title.season-poem{background:linear-gradient(180deg,rgba(240,234,219,.95),rgba(228,221,204,.93))}
.home .season-poem b.season-couplet{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:18px;writing-mode:horizontal-tb;font:900 clamp(17px,1.55vw,23px)/1.4 var(--season-serif);letter-spacing:.22em}
.season-line{display:flex;flex-direction:column}
.season-char{display:inline-block;opacity:0;filter:blur(4px);transform:scale(1.08)}
.season-ready .season-char{animation:season-ink 1.3s var(--season-delay) ease-out both}
@keyframes season-ink{to{opacity:1;filter:blur(0);transform:scale(1)}}
.season-seal{display:grid;place-items:center;width:31px;height:31px;padding:4px;background:var(--red);color:var(--panel);border:1px solid var(--red);box-shadow:inset 0 0 0 2px var(--panel);font:900 11px/1 var(--season-serif);letter-spacing:1px;transform:rotate(-3deg)}
.season-credit{max-width:190px;color:var(--fg2);font:12px/1.8 var(--season-serif);letter-spacing:.08em;text-align:center;text-shadow:0 0 4px var(--bg),0 0 8px var(--bg),0 0 12px var(--bg)}
.season-still .season-char{animation:none!important;opacity:1;filter:none;transform:none}
html.fx-paused .season-char,html.fx-idle .season-char,html.fx-hold .season-char{animation-play-state:paused}

/* 顶栏签不盖住原有按钮；浮层不接指针，Esc 可收起。 */
:root{--season-serif:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","SimSun",serif}  /* 完整宋体：SD Serif 只是一小份子集，节气与诗里的字会掉到别的字体，粗细不一（gw-r31d） */
.me-top .season-sign{position:relative;margin-left:auto;flex:0 0 auto;order:1}
.season-sign-button{display:flex;align-items:center;gap:9px;border:0;background:none;padding:3px 4px;cursor:pointer;color:var(--fg2);font:600 13px/1 var(--season-serif);letter-spacing:.14em}
.season-sign-button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.season-tip{position:absolute;top:calc(100% + 10px);right:0;width:260px;max-width:calc(100vw - 32px);padding:15px 18px;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 8px 25px rgba(52,40,24,.1);color:var(--ink);font:15px/1.9 var(--season-serif);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s;z-index:8}
.season-tip p{margin:0 0 7px}
.season-tip small{display:block;font-size:12px;color:var(--muted)}
.season-sign.is-open .season-tip{visibility:visible;opacity:1}
@media(max-width:1050px) and (min-width:761px){.home .ls-title.season-poem{right:20px}.home .season-poem b.season-couplet{font-size:17px;gap:10px}}
@media(max-width:760px){
  .home .ls-title.season-poem{position:relative;top:auto;right:auto;max-width:100%;margin:20px 0 0;gap:8px}
  .home .season-poem b.season-couplet{display:block;font-size:15px;line-height:1.9;letter-spacing:.09em}
  .home .season-line{display:inline;white-space:nowrap}
  .home .season-seal{width:27px;height:27px;font-size:10px}.home .season-credit{font-size:10px;max-width:100%}
  .home .season-poem+.go{margin-top:22px}.home .hero{padding-bottom:12vh}
  .me-top:has(.season-sign){flex-wrap:wrap}.me-top .season-sign{margin-left:auto}
}
@media(max-width:900px){.auth>.ink-scene{right:0;bottom:50%}}
@media(prefers-reduced-motion:reduce){
  .season-particles{display:none}.season-star,.season-char{animation:none!important;opacity:1;filter:none;transform:none}
  .season-sky,.home .ink-scene *,.auth .ink-scene *{transition:none!important}
}
/* gw-r31c：有生成的题签图时，整张图就是题签（纸、轴、字、印、落款都在图里），CSS 的纸条与文字退场；挂上时由上往下展开 */
.home .ls-title.season-poem.season-has-slip{padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;max-width:none}
.home .ls-title.season-has-slip::before,.home .ls-title.season-has-slip::after,.home .ls-title.season-has-slip>:not(.season-slip){display:none!important}
.season-slip{display:none;width:clamp(110px,8.8vw,136px);height:auto;filter:drop-shadow(0 12px 20px rgba(38,28,14,.26)) drop-shadow(0 2px 4px rgba(38,28,14,.16))}
.season-has-slip .season-slip{display:block;clip-path:inset(0 0 100% 0)}
.season-ready.season-has-slip .season-slip{animation:season-unroll 1.8s .2s cubic-bezier(.22,.7,.3,1) both}
.season-still.season-has-slip .season-slip{animation:none;clip-path:none}
@keyframes season-unroll{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@media(max-width:760px){.home .season-has-slip{display:flex;justify-content:center}.season-slip{width:84px}}
@media(prefers-reduced-motion:reduce){.season-has-slip .season-slip{animation:none!important;clip-path:none}}
/* gw-r31d：节气签——一方小朱印（节气两字直排、白文、略斜）加时辰；悬停或点开时，印下垂下这个节气的题签图 */
.season-sign-seal{display:grid;place-items:center;width:30px;height:30px;background:var(--red);color:#fbf3e4;font:700 11px/1.05 var(--season-serif);letter-spacing:0;writing-mode:vertical-rl;border-radius:3px;box-shadow:inset 0 0 0 2px rgba(251,243,228,.88),inset 0 0 0 3px var(--red),0 1px 2px rgba(60,20,15,.25);transform:rotate(-4deg);transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.season-sign-time{color:var(--muted)}
.season-sign-button:hover .season-sign-seal,.season-sign.is-open .season-sign-seal{transform:rotate(0) scale(1.06)}
.season-tip.has-slip{width:auto;padding:0;background:none;border:0;box-shadow:none}
.season-tip.has-slip>:not(img){display:none}
.season-tip>img{display:none}
.season-tip.has-slip>img{display:block;width:112px;height:auto;filter:drop-shadow(0 14px 20px rgba(38,28,14,.24)) drop-shadow(0 2px 4px rgba(38,28,14,.14))}
.season-sign.is-open .season-tip.has-slip>img{animation:season-unroll 1.2s cubic-bezier(.22,.7,.3,1) both}
@media(prefers-reduced-motion:reduce){.season-sign.is-open .season-tip.has-slip>img{animation:none}}
/* gw-r32d：打油诗题签——四列的那张更宽；题签可点（换一首） */
.season-slip.wide{width:clamp(150px,12vw,186px)}
@media(max-width:760px){.season-slip.wide{width:118px}}
.home .ls-title.season-poem[role=button]{cursor:pointer}
.home .ls-title.season-poem[role=button]:focus-visible{outline:2px solid rgba(179,32,42,.55);outline-offset:6px}
