/* ambience.css —— 氛围引擎装饰层（v0.23.69 P1，规格书唯一事实源）
   铁律：只动背景/插画/点缀——文字颜色、对比度、字号、布局、组件结构一寸不动；
   降级链永不破图（地标缺失=纯色渐变）；性能：粒子 ≤12 纯 CSS 动画，prefers-reduced-motion 全静止，
   Save-Data 降到纯色兜底；暗色模式有对应压暗变体；运行时零 AI、零外部图床（全本地自托管）。 */

/* ---------- ① 四季背景渐变（登录页全屏 / 页头轻带） ---------- */
:root{
  --amb-sky1:#FBF7EE; --amb-sky2:#FBF7EE;            /* 季节渐变两端（默认=品牌纸底） */
  --amb-accent:#2E6B4F;                              /* 当季点缀色（取品牌色谱，不新造） */
  --amb-lm-op:.2;                                    /* 地标水印不透明度（15~25% 规格书口径） */
  --amb-card-tint:transparent;
}
html[data-amb-season="spring"]{--amb-sky1:#EAF3E6;--amb-sky2:#FBF7EE;--amb-accent:#2E6B4F;--amb-card-tint:rgba(46,107,79,.06)}
html[data-amb-season="summer"]{--amb-sky1:#F7EFD8;--amb-sky2:#FBF7EE;--amb-accent:#8A5A12;--amb-card-tint:rgba(138,90,18,.06)}
html[data-amb-season="autumn"]{--amb-sky1:#F3E8D3;--amb-sky2:#FBF0E3;--amb-accent:#B03A2E;--amb-card-tint:rgba(176,58,46,.05)}
html[data-amb-season="winter"]{--amb-sky1:#E8EEF4;--amb-sky2:#F7F9FB;--amb-accent:#1F4E79;--amb-card-tint:rgba(31,78,121,.06)}

/* E1 四时流转：仅背景层渐变偏移（不动任何文字色） */
html[data-amb-part="dawn"]{--amb-sky1:color-mix(in srgb, var(--amb-sky1) 78%, #F7E7C3)}
html[data-amb-part="day"]{/* 正午=本色 */}
html[data-amb-part="dusk"]{--amb-sky1:color-mix(in srgb, var(--amb-sky1) 75%, #EFC9A8);--amb-sky2:color-mix(in srgb, var(--amb-sky2) 88%, #F2D8C2)}
html[data-amb-part="night"]{--amb-sky1:#1C2433;--amb-sky2:#242E40;--amb-lm-op:.28}
/* 暗色模式：装饰层自动压暗（不亮瞎） */
html[data-theme="dark"]{--amb-lm-op:.16}
html[data-theme="dark"][data-amb-season]{--amb-sky1:#232B38;--amb-sky2:#1E2530}
html[data-theme="dark"][data-amb-part="night"]{--amb-sky1:#171D28;--amb-sky2:#1B2230}

/* ---------- ② 登录页全屏氛围（渐变+地标水印+粒子） ---------- */
.amb-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
  background:linear-gradient(160deg, var(--amb-sky1), var(--amb-sky2))}
.amb-landmark{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:min(920px,96vw);opacity:var(--amb-lm-op);filter:grayscale(.35) contrast(.92)}
.amb-landmark img{width:100%;display:block}
html[data-amb-part="night"] .amb-landmark{filter:grayscale(.6) brightness(1.12)}

/* 粒子层（≤12 个，纯 CSS 动画） */
.amb-particles{position:absolute;inset:0}
.amb-particles i{position:absolute;display:block;width:9px;height:9px;border-radius:50%;
  background:var(--amb-accent);opacity:.5;animation:amb-fall 11s linear infinite}
html[data-amb-season="summer"] .amb-particles i{border-radius:50%;box-shadow:0 0 10px 2px rgba(138,90,18,.35);animation-name:amb-float}
html[data-amb-season="autumn"] .amb-particles i{border-radius:0 60% 60% 60%;animation-name:amb-sway}
html[data-amb-season="winter"] .amb-particles i{background:#FFF;opacity:.85;box-shadow:0 0 3px rgba(31,78,121,.25)}
.amb-particles i:nth-child(1){left:6%;animation-delay:-1s}
.amb-particles i:nth-child(2){left:14%;animation-delay:-5s;animation-duration:13s}
.amb-particles i:nth-child(3){left:23%;animation-delay:-8s}
.amb-particles i:nth-child(4){left:31%;animation-delay:-3s;animation-duration:9s}
.amb-particles i:nth-child(5){left:40%;animation-delay:-10s}
.amb-particles i:nth-child(6){left:49%;animation-delay:-6s;animation-duration:12s}
.amb-particles i:nth-child(7){left:57%;animation-delay:-2s}
.amb-particles i:nth-child(8){left:65%;animation-delay:-9s;animation-duration:10s}
.amb-particles i:nth-child(9){left:73%;animation-delay:-4s}
.amb-particles i:nth-child(10){left:81%;animation-delay:-11s;animation-duration:14s}
.amb-particles i:nth-child(11){left:88%;animation-delay:-7s}
.amb-particles i:nth-child(12){left:95%;animation-delay:-12s;animation-duration:12s}
@keyframes amb-fall{0%{top:-4%;transform:translateX(0) rotate(0)}100%{top:104%;transform:translateX(4vw) rotate(300deg)}}
@keyframes amb-sway{0%{top:-4%;transform:translateX(0) rotate(0)}50%{transform:translateX(3vw) rotate(160deg)}100%{top:104%;transform:translateX(-2vw) rotate(320deg)}}
@keyframes amb-float{0%{top:104%;transform:translateY(0) scale(.8)}50%{transform:translateY(-46vh) scale(1.05)}100%{top:-4%;transform:translateY(-100vh) scale(.8)}}

/* ---------- ③ 页头/工作台氛围（渐变轻带+卡片边角点缀，正文区一寸不动） ---------- */
html[data-amb-on="1"] .page-h{position:relative;background:linear-gradient(90deg, var(--amb-card-tint), transparent 55%);border-radius:10px}
html[data-amb-on="1"] .page-h::after{content:"";position:absolute;right:10px;top:8px;width:26px;height:26px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, var(--amb-accent), transparent 70%);opacity:.28;pointer-events:none}
html[data-amb-on="1"] .card{border-color:color-mix(in srgb, var(--amb-accent) 14%, var(--bd))}

/* ---------- ④ 降级与无障碍（铁律） ---------- */
html[data-amb-on="0"] .amb-bg, html[data-amb-on="0"] .amb-landmark{display:none}   /* 用户关闭=纯色兜底 */
@media (prefers-reduced-motion: reduce){
  .amb-particles i{animation:none !important;top:6% !important;opacity:.25}      /* 减弱动效=全静止 */
}
@media (prefers-reduced-data: reduce){
  .amb-landmark{display:none}                                                     /* Save-Data=不要背景图 */
}
/* 移动端：地标锚下中不压表单不压按钮，窄屏等比缩小不裁主体 */
@media (max-width:760px){
  .amb-landmark{width:130vw;left:50%;bottom:-2vw}
  html[data-amb-on="1"] .page-h::after{display:none}
}
