html[data-season="winter"]{--season-garden-cinematic:url('assets/winter/garden-cinematic.webp');--season-meadow:url('assets/winter/meadow.webp');--season-stream:url('assets/winter/stream.webp');--season-bridge:url('assets/winter/bridge.webp');--season-sky:url('assets/winter/sky.webp');--season-lanterns:url('assets/winter/lanterns.webp');--season-keeper:url('assets/winter/pixie-purple-v2.webp')}
html[data-season="autumn"]{--season-garden-cinematic:url('assets/autumn/garden-cinematic.webp');--season-meadow:url('assets/autumn/meadow.webp');--season-stream:url('assets/autumn/stream.webp');--season-bridge:url('assets/autumn/bridge.webp');--season-sky:url('assets/autumn/sky.webp');--season-lanterns:url('assets/autumn/lanterns.webp');--season-keeper:url('assets/autumn/body-purple.webp')}
html[data-season="autumn"] .stone-board button{background:linear-gradient(135deg,#ffeac2,#c99457);border-color:#a96a35}
html[data-season="autumn"] .stone-board button.lit{background:linear-gradient(135deg,#fff4c7,#efb44f);box-shadow:0 0 14px #ffeab6}
html[data-season="autumn"] .sol-card.back{background:repeating-linear-gradient(45deg,#a34c2e 0 8px,#e8af53 8px 16px);border-color:#ffdfaa}
html[data-season="autumn"] .blossom-board button{background-color:#fff1d5;border-color:#b98449}
html[data-season="autumn"] .match-stage{background:linear-gradient(#fff3d7b8,#f6e2bec2),var(--season-meadow) center/cover}
html[data-season="autumn"] .mj-tile{border-color:#b78545;background:#fff5dd}
.season-choices{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:420px){.season-choices{gap:8px}.season-choices strong{padding:10px 3px;font-size:14px}}
.season-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.season-choices button{padding:6px;overflow:hidden;border:2px solid #9caeab;border-radius:18px;background:#fff9ec;color:#29434b}.season-choices button[aria-pressed="true"]{border:3px solid #b88020;box-shadow:0 0 0 2px #ffe7a0}.season-choices img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.season-choices strong{display:block;padding:10px}.season-choices button:disabled{opacity:.65}#seasons-dialog{width:min(580px,calc(100% - 24px))}
html[data-season="winter"] .stone-board button{background:linear-gradient(135deg,#f2ffff,#91c8dc);border-color:#759fad;box-shadow:inset 0 3px 0 #fff9,0 3px 6px #264f592b}
html[data-season="winter"] .stone-board button.lit{background:linear-gradient(135deg,#fff8d6,#e6f8ff);box-shadow:0 0 14px #ffeab6}
html[data-season="winter"] .sol-card.back{background:repeating-linear-gradient(45deg,#a5cddb 0 8px,#d8edf1 8px 16px);border-color:#fff}
html[data-season="winter"] .blossom-board button{background-color:#e8f4ff;border-color:#91baca}
html[data-season="winter"] .match-stage{background:linear-gradient(#eff8ffb8,#f6f3ffc2),var(--season-meadow) center/cover}
html[data-season="winter"] .bridge-piece{box-shadow:inset 0 3px 0 #effbffb8}
html[data-season="winter"] .bridge-cell.filled,html[data-season="winter"] .bridge-mini i{box-shadow:inset 0 4px 0 #effbffdc,0 2px 3px #18393275}
.kindness-dates{grid-column:1/-1;padding:22px;border-radius:22px;background:#fffbedbd;border:1px solid #e4d1a0;margin-top:12px}.kindness-dates h2{font-size:26px}.kindness-dates ul{padding-left:20px}.kindness-dates li{margin:14px 0;line-height:1.5}.kindness-dates time{display:block;font-size:.88rem}

html[data-season="spring"]{--season-garden-cinematic:url('assets/spring/garden-cinematic.webp');--season-meadow:url('assets/spring/meadow.webp');--season-stream:url('assets/spring/stream.webp');--season-bridge:url('assets/spring/bridge.webp');--season-sky:url('assets/spring/sky.webp');--season-lanterns:url('assets/spring/lanterns.webp');--season-keeper:url('assets/spring/body-purple.webp')}
html[data-season="summer"]{--season-garden-cinematic:url('assets/summer/garden-cinematic.webp');--season-meadow:url('assets/summer/meadow.webp');--season-stream:url('assets/summer/stream.webp');--season-bridge:url('assets/summer/bridge.webp');--season-sky:url('assets/summer/sky.webp');--season-lanterns:url('assets/summer/lanterns.webp');--season-keeper:url('assets/summer/body-purple.webp')}
html[data-season="spring"] .blossom-board button{background-color:#fff2f6;border-color:#c49fbd}html[data-season="spring"] .match-stage{background:linear-gradient(#fff3f1ae,#edf7e9b5),var(--season-meadow) center/cover}
html[data-season="summer"] .match-stage{background:linear-gradient(#efffe9b8,#fff4cfbe),var(--season-meadow) center/cover}
html[data-season="halloween"]{--season-garden-cinematic:url('assets/halloween/garden-cinematic.webp');--season-meadow:url('assets/halloween/meadow.webp');--season-stream:url('assets/halloween/stream.webp');--season-bridge:url('assets/halloween/bridge.webp');--season-sky:url('assets/halloween/sky.webp');--season-lanterns:url('assets/halloween/lanterns.webp');--season-keeper:url('assets/halloween/body-purple.webp')}
html[data-season="halloween"] .stone-board button{background:linear-gradient(135deg,#e7d7fa,#9d82be);border-color:#796296}
html[data-season="halloween"] .stone-board button.lit{background:linear-gradient(135deg,#fff2c0,#ffc367);box-shadow:0 0 14px #ffd77b}
html[data-season="halloween"] .sol-card.back{background:repeating-linear-gradient(45deg,#745095 0 8px,#bea3dc 8px 16px);border-color:#e8d5fc}
html[data-season="halloween"] .blossom-board button{background-color:#f4eaff;border-color:#b090c6}
html[data-season="halloween"] .match-stage{background:linear-gradient(#eee0f99e,#e9d5f3b0),var(--season-meadow) center/cover}
html[data-season="halloween"] .mj-tile{border-color:#ac87bd;background:#fff2e5}
.autumn-season-choice{position:relative;min-width:0;display:grid}
.season-choices .autumn-season-choice>[data-season-choice="autumn"]{width:100%;height:100%}
.season-choices .autumn-season-choice>[data-season-choice="halloween"]{position:absolute;right:10px;bottom:53px;width:auto;max-width:calc(100% - 20px);min-height:44px;padding:7px 10px;border:1px solid #dfb7f2;border-radius:12px;background:#563471f2;color:#fff4cf;font-size:13px;line-height:1.2;box-shadow:0 2px 7px #25123565;z-index:1}
.season-choices .autumn-season-choice>[data-season-choice="halloween"][aria-pressed="true"]{border-color:#ffe0a1;box-shadow:0 0 0 2px #ffe7a0}

/* Compact landscape previews; override the image's intrinsic height. */
#seasons-dialog{box-sizing:border-box;max-height:calc(100dvh - 24px);overflow-y:auto}
.season-choices img{height:clamp(80px,18dvh,140px);aspect-ratio:auto;object-fit:cover}
.season-choices strong{padding:8px 3px}
.season-choices .autumn-season-choice>[data-season-choice="halloween"]{bottom:43px;right:8px}
@media(max-width:600px){
 #seasons-dialog{padding:16px}
 #seasons-dialog h2{margin:8px 0;font-size:26px}
 #seasons-dialog>p{margin:8px 0;line-height:1.4}
 #season-status:empty{display:none}
 .season-choices{gap:8px}
 .season-choices img{height:clamp(72px,15dvh,110px)}
 .season-choices strong{font-size:16px;padding:7px 3px}
 .season-choices .autumn-season-choice>[data-season-choice="halloween"]{bottom:40px;right:7px;font-size:12px;padding:5px 7px;max-width:calc(100% - 14px)}
}

/* Turn edge-on before exchanging the two tile faces. */
.blossom-board button.pair-turning,.stone-board button.pair-turning{animation:pair-turn 400ms ease-in-out both;transform-origin:center}
.pair-turning .pair-old-face{animation:pair-old 400ms steps(1,end) both}
.pair-turning .pair-new-face{animation:pair-new 400ms steps(1,end) both}
@keyframes pair-turn{0%{transform:scaleX(1)}49.9%{transform:scaleX(.015)}50%{transform:scaleX(.015)}100%{transform:scaleX(1)}}
@keyframes pair-old{0%{visibility:visible}50%,100%{visibility:hidden}}
@keyframes pair-new{0%{visibility:hidden}50%,100%{visibility:visible}}
@media(prefers-reduced-motion:reduce){.blossom-board button.pair-turning,.stone-board button.pair-turning{animation:none}.pair-turning .pair-old-face{display:none}.pair-turning .pair-new-face{animation:none}}
