/* v13: premium seasonal home art, stronger rating gate UX, iOS search zoom prevention */
@media (max-width: 900px){
  input,select,textarea,.header-search input,.search-field input,.main-search input{font-size:16px!important}
}

html[data-season="spring"]{--blue:#e8669a;--blue-ink:#c94d7e;--blue-light:#fff0f6;--pink:#e8669a;--bg:#fff9fb;--line:#f1e2e9;--season-soft:#fff0f6;--season-deep:#ce4d7f;--season-rgb:232,102,154}
html[data-season="summer"]{--blue:#2f9fd5;--blue-ink:#2479ad;--blue-light:#eaf8ff;--pink:#f0a93c;--bg:#f7fcff;--line:#dceef6;--season-soft:#eaf8ff;--season-deep:#2479ad;--season-rgb:47,159,213}
html[data-season="autumn"]{--blue:#d46f39;--blue-ink:#a85028;--blue-light:#fff2e9;--pink:#bc5434;--bg:#fffaf5;--line:#f0dfd3;--season-soft:#fff2e9;--season-deep:#a85028;--season-rgb:212,111,57}
html[data-season="winter"]{--blue:#5f82d6;--blue-ink:#4564ad;--blue-light:#eef4ff;--pink:#8580cf;--bg:#f8fbff;--line:#dfe7f3;--season-soft:#eef4ff;--season-deep:#4564ad;--season-rgb:95,130,214}

html[data-season] body{background:
  radial-gradient(circle at 88% 3%,rgba(var(--season-rgb),.10),transparent 27rem),
  radial-gradient(circle at 6% 96%,rgba(var(--season-rgb),.07),transparent 24rem),var(--bg);transition:background .25s ease,color .25s ease}
html[data-season] .topbar{background:color-mix(in srgb,#fff 88%,var(--season-soft));border-color:var(--line)}
html[data-season] .sidebar{background:color-mix(in srgb,#fff 92%,var(--season-soft));border-color:var(--line)}
html[data-season] .side-nav a.active{background:var(--season-soft);color:var(--season-deep)}
html[data-season] .button:not(.secondary):not(.danger){background:var(--blue)}
html[data-season] .button:not(.secondary):not(.danger):hover{filter:brightness(.94)}
html[data-season] .logo-note,html[data-season] .text-button{color:var(--season-deep)}
html[data-season] .bottom-nav a.active{color:var(--season-deep)}
html[data-season] .personal-rating-chip{background:var(--season-soft)!important;color:var(--season-deep)!important;border:1px solid rgba(var(--season-rgb),.17)!important;font-weight:750!important}

.season-showcase{display:grid;gap:16px;margin:-2px 0 28px}
.season-hero{position:relative;overflow:hidden;border-radius:28px;min-height:260px;border:1px solid rgba(var(--season-rgb),.18);box-shadow:0 18px 40px rgba(36,47,73,.12);background:#fff}
.season-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.season-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,18,30,.48) 0%,rgba(15,18,30,.24) 38%,rgba(15,18,30,.08) 60%,rgba(255,255,255,0) 100%)}
.season-hero-copy{position:relative;z-index:2;max-width:min(520px,75%);padding:26px 28px 30px;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.18)}
.season-hero-copy .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.24)}
.season-hero-copy h3{margin:15px 0 9px;font-size:clamp(24px,3.4vw,38px);line-height:1.2;letter-spacing:.02em}
.season-hero-copy p{margin:0;font-size:14px;line-height:1.7;color:rgba(255,255,255,.92)}
.season-hero-badge{position:absolute;right:18px;bottom:18px;z-index:2;width:86px;height:86px;border-radius:26px;padding:6px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);box-shadow:0 10px 22px rgba(16,24,40,.18);border:1px solid rgba(255,255,255,.3)}
.season-hero-badge img{display:block;width:100%;height:100%;border-radius:20px;object-fit:cover}

.season-switcher{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,color-mix(in srgb,#fff 40%,var(--season-soft)));box-shadow:0 12px 30px rgba(44,55,79,.055);padding:16px 18px;display:flex;gap:18px;align-items:center;justify-content:space-between}
.season-switcher:after{content:"✦";position:absolute;right:12px;top:5px;color:rgba(var(--season-rgb),.17);font-size:44px;pointer-events:none}
.season-switcher-title{min-width:156px;display:flex;flex-direction:column;gap:2px;z-index:1}
.season-switcher-title b{font-size:14px;letter-spacing:.03em}
.season-switcher-title span{font-size:11px;color:var(--muted)}
.season-choices{display:grid;grid-template-columns:repeat(4,minmax(96px,1fr));gap:9px;width:min(620px,100%);z-index:1}
.season-choice{min-height:70px;border:1px solid transparent;border-radius:18px;padding:9px 11px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.78);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.season-choice:hover{transform:translateY(-1px)}
.season-choice.selected{background:#fff;border-color:rgba(var(--season-rgb),.38);box-shadow:0 8px 17px rgba(var(--season-rgb),.12)}
.season-choice>span:last-child{display:flex;flex-direction:column;text-align:left;line-height:1.25}
.season-choice b{font-size:13px}
.season-choice small{color:var(--muted);font-size:10px;margin-top:2px}
.season-slime{width:46px;height:46px;border-radius:16px;overflow:hidden;flex:0 0 46px;display:block;box-shadow:0 5px 14px rgba(29,40,67,.14)}
.season-slime img{width:100%;height:100%;object-fit:cover;display:block}

.manage-sheet-hidden dialog.sheet,.manage-sheet-hidden dialog.sheet::backdrop{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.rating-gate-open{overflow:hidden!important}
.rating-gate-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(25,30,49,.42);backdrop-filter:blur(7px);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .18s ease;padding:16px}
.rating-gate-backdrop.visible{opacity:1}
.rating-gate{position:relative;width:min(560px,100%);background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,#fff 90%,var(--season-soft)) 100%);border:1px solid rgba(var(--season-rgb),.15);border-radius:28px 28px 20px 20px;box-shadow:0 -18px 70px rgba(20,28,48,.23);padding:19px 24px max(24px,env(safe-area-inset-bottom));text-align:center;overflow:hidden;transform:translateY(18px);transition:transform .2s ease}
.rating-gate-backdrop.visible .rating-gate{transform:translateY(0)}
.rating-gate:before,.rating-gate:after{content:"";position:absolute;border-radius:50%;background:rgba(var(--season-rgb),.07);pointer-events:none}
.rating-gate:before{width:190px;height:190px;left:-95px;top:80px}
.rating-gate:after{width:150px;height:150px;right:-70px;bottom:20px}
.rating-gate-handle{width:44px;height:5px;border-radius:999px;background:#dfe3ed;margin:0 auto 14px}
.rating-step{display:inline-block;border-radius:999px;background:var(--season-soft);color:var(--season-deep);padding:4px 12px;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px}
.rating-gate h2{font-size:28px;letter-spacing:.04em;position:relative;z-index:1}
.rating-help{font-size:13px;color:var(--muted);margin-top:6px;position:relative;z-index:1}
.rating-number{display:block;color:var(--season-deep);font-size:64px;line-height:1;margin:27px 0 8px;font-variant-numeric:tabular-nums;position:relative;z-index:1}
.rating-stars-wrap{display:flex;justify-content:center;position:relative;z-index:1}
.rating-stars{font-size:40px;letter-spacing:7px;line-height:1;position:relative;display:inline-block;color:#e1e4ea;white-space:nowrap}
.rating-stars b{position:absolute;left:0;top:0;overflow:hidden;color:var(--blue);white-space:nowrap;font-weight:inherit}
.rating-range{width:100%;margin:32px 0 0;accent-color:var(--blue);height:30px;position:relative;z-index:1}
.rating-range::-webkit-slider-thumb{width:28px;height:28px}
.rating-scale{display:flex;justify-content:space-between;color:#748198;font-size:11px;margin-top:-1px;position:relative;z-index:1}
.rating-actions{display:grid;grid-template-columns:.78fr 1.22fr;gap:10px;margin-top:28px;position:relative;z-index:1}
.rating-actions button{min-height:54px;border-radius:14px;font-size:15px;font-weight:700}
.rating-back{border:1px solid var(--line);background:#fff}
.rating-save{background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 75%,#ff7ea9));color:#fff;box-shadow:0 8px 22px rgba(var(--season-rgb),.2)}
.rating-save span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:var(--season-deep);margin-right:7px}
.rating-mascot{position:absolute;right:23px;top:62px;display:flex;align-items:center;gap:6px;color:var(--season-deep);font-size:11px;transform:rotate(-4deg)}
.rating-mascot img{width:46px;height:46px;border-radius:13px;object-fit:cover;box-shadow:0 4px 12px rgba(var(--season-rgb),.15)}

@media (max-width:700px){
  .season-showcase{gap:12px;margin-top:-6px}
  .season-hero{min-height:220px;border-radius:24px}
  .season-hero-copy{max-width:78%;padding:18px 18px 22px}
  .season-hero-copy .eyebrow{font-size:10px;padding:6px 10px}
  .season-hero-copy h3{margin:12px 0 7px;font-size:28px}
  .season-hero-copy p{font-size:12px;line-height:1.6}
  .season-hero-badge{right:12px;bottom:12px;width:70px;height:70px;border-radius:20px}
  .season-hero-badge img{border-radius:14px}
  .season-switcher{align-items:flex-start;flex-direction:column;gap:10px;padding:14px 14px 13px}
  .season-switcher-title{min-width:0}
  .season-choices{grid-template-columns:repeat(4,1fr);gap:6px}
  .season-choice{min-width:0;min-height:66px;padding:5px;justify-content:center;align-items:center}
  .season-choice>span:last-child{display:none}
  .season-slime{width:42px;height:42px;border-radius:14px}
  .rating-gate-backdrop{padding:0;align-items:flex-end}
  .rating-gate{width:100%;border-radius:26px 26px 0 0;padding:17px 20px max(21px,calc(env(safe-area-inset-bottom) + 13px))}
  .rating-gate h2{font-size:25px}
  .rating-number{font-size:57px;margin-top:25px}
  .rating-stars{font-size:34px;letter-spacing:5px}
  .rating-mascot{right:18px;top:58px}
  .rating-mascot span{display:none}
  .rating-actions button{min-height:52px;font-size:14px}
}
