/* Fleet Snowfluff: a quiet indigo broadcast deck, with pink and ice-blue signals. */
.swatch-snowfluff { background: #efaccb; border-color: #ad7297; border-radius: 2px; }

html[data-theme="snowfluff"] {
  color-scheme: dark;
  --page: #111426;
  --surface: #1d2139;
  --surface-raised: #252940;
  --ink: #f5edf6;
  --muted: #c3bdd4;
  --line: #464761;
  --strong-line: #7e7899;
  --accent: #efaccb;
  --accent-ink: #ffd0e5;
  --on-accent: #352439;
  --accent-wash: #382d48;
  --focus: #b6deff;
  --digit: #f7e9f4;
  --button-radius: 11px;
  --timer-font: "Jersey Timer", sans-serif;
}

html[data-theme="snowfluff"] body::before {
  z-index: 0;
  background: radial-gradient(circle at 6% 22%, #a5b7df80 0 1px, transparent 1.5px),
    radial-gradient(circle at 94% 13%, #efaccb80 0 1px, transparent 1.5px),
    radial-gradient(circle at 3% 71%, #efaccb66 0 1px, transparent 1.5px),
    radial-gradient(circle at 97% 83%, #b6deff80 0 1px, transparent 1.5px);
}
html[data-theme="snowfluff"] .site-header { border-bottom-color: #464761; }
html[data-theme="snowfluff"] .brand-name { color: #f4d8ed; }
html[data-theme="snowfluff"] .brand-mark { color: #b6deff; }
html[data-theme="snowfluff"] .theme-switch { padding: 4px; border-radius: 13px; background: #1d2139; }
html[data-theme="snowfluff"] .theme-option { border-radius: 8px; }
html[data-theme="snowfluff"] .theme-option.is-active { color: #352439; border-color: #efaccb; background: #efaccb; box-shadow: none; }
html[data-theme="snowfluff"] .icon-button { padding-inline: 9px; border: 1px solid #595672; border-radius: 10px; color: #e0d8eb; }
html[data-theme="snowfluff"] .icon-button:hover { border-color: #b6deff; color: #b6deff; }
html[data-theme="snowfluff"] .challenge-heading { min-height: 122px; }
html[data-theme="snowfluff"] h1 { color: #f4d8ed; font-size: 32px; letter-spacing: -.025em; }
html[data-theme="snowfluff"] h1 span { color: #e6e8fa; }
html[data-theme="snowfluff"] .challenge-tag { margin-right: 180px; color: #c3bdd4; }
html[data-theme="snowfluff"] .timer-stage {
  height: 464px;
  border: 1px solid #7b718f;
  border-radius: 19px;
  background: #191d33;
  box-shadow: 0 13px 32px #03061530;
}
html[data-theme="snowfluff"] .timer-stage::before,
html[data-theme="snowfluff"] .timer-stage::after {
  position: absolute;
  width: 26px;
  height: 26px;
  pointer-events: none;
  content: "";
}
html[data-theme="snowfluff"] .timer-stage::before { top: -1px; left: -1px; border-top: 3px solid #efaccb; border-left: 3px solid #efaccb; border-radius: 18px 0 0; }
html[data-theme="snowfluff"] .timer-stage::after { bottom: -1px; right: -1px; border-bottom: 3px solid #b6deff; border-right: 3px solid #b6deff; border-radius: 0 0 18px; }
html[data-theme="snowfluff"] .stage-topline { top: 23px; left: 27px; right: 27px; }
html[data-theme="snowfluff"] .status-dot { background: #b6deff; border-radius: 1px; }
html[data-theme="snowfluff"] .relay-caption { top: 49px; }
html[data-theme="snowfluff"] #turn-count { color: #d9eaff; border: 1px solid #6b7394; border-radius: 5px; background: #252d49; }
html[data-theme="snowfluff"] .timer-readout { top: 65px; height: 240px; font-size: clamp(252px, 28vw, 352px); font-weight: 400; letter-spacing: -.01em; }
html[data-theme="snowfluff"] #time-whole,
html[data-theme="snowfluff"] #time-fraction { width: .86em; }
html[data-theme="snowfluff"] .timer-readout.is-long { font-size: clamp(212px, 24vw, 302px); }
html[data-theme="snowfluff"] .timer-readout.is-long #time-whole { width: 1.29em; }
html[data-theme="snowfluff"] .time-dot { width: .19em; color: #efaccb; }
html[data-theme="snowfluff"] .timer-underlay { top: 311px; color: #c3bdd4; }
html[data-theme="snowfluff"] .progress-track { top: 344px; left: 27px; right: 27px; height: 6px; border: 1px solid #6b7394; border-radius: 2px; background: #282b46; }
html[data-theme="snowfluff"] .progress-fill { background: #b6deff; }
html[data-theme="snowfluff"] .play-prompt { top: 366px; color: #c3bdd4; }
html[data-theme="snowfluff"] .play-prompt kbd { color: #f5edf6; border-color: #7e7899; background: #303047; border-radius: 6px; }
html[data-theme="snowfluff"] .play-actions { top: 405px; }
html[data-theme="snowfluff"] .primary-button { border: 1px solid #efaccb; background: #efaccb; color: #352439; box-shadow: 0 5px 14px #090b1e40; }
html[data-theme="snowfluff"] .primary-button:hover { border-color: #ffd0e5; background: #ffd0e5; }
html[data-theme="snowfluff"] .secondary-button { border-color: #7e7899; background: #303047; color: #f5edf6; box-shadow: none; }
html[data-theme="snowfluff"] .secondary-button:hover { border-color: #b6deff; background: #373c57; color: #f5edf6; }
html[data-theme="snowfluff"] .timer-stage[data-status="running"] .primary-button:not(.secondary-button) { color: #1b273a; border-color: #b6deff; background: #b6deff; }
html[data-theme="snowfluff"] .timer-stage[data-status="expired"] .timer-readout { color: #b6deff; }
html[data-theme="snowfluff"] .theme-art { top: -119px; right: 43px; bottom: auto; display: block; width: 113px; height: 113px; overflow: hidden; opacity: 1; }
html[data-theme="snowfluff"] .theme-art img,
html[data-theme="snowfluff"] .scenery-friend img { width: 800%; max-width: none; height: 100%; max-height: none; object-fit: fill; image-rendering: pixelated; animation: snowfluff-frames .8s steps(8, end) infinite; }
html[data-theme="snowfluff"] .duration-field { border-color: #7e7899; border-radius: 9px; background: #252940; }
html[data-theme="snowfluff"] .duration-field input { color: #f5edf6; font-family: "Jersey Timer", sans-serif; font-size: 24px; font-weight: 400; }
html[data-theme="snowfluff"] .confirm-button { color: #ffd0e5; border-color: #595672; border-radius: 0 8px 8px 0; }
html[data-theme="snowfluff"] .confirm-button:hover { color: #352439; background: #efaccb; }
html[data-theme="snowfluff"] .mode-switch { border-color: #595672; border-radius: 10px; background: #1d2139; }
html[data-theme="snowfluff"] .mode-option { border-radius: 6px; }
html[data-theme="snowfluff"] .mode-option.is-active { color: #352439; background: #efaccb; box-shadow: none; }
html[data-theme="snowfluff"] .mode-option.is-active .same-key-badge { color: #303047; background: #f7dbe9; }
html[data-theme="snowfluff"] .turn-item { border-radius: 9px; border-color: #595672; background: #1d2139; }
html[data-theme="snowfluff"] .turn-remaining { color: #f4d8ed; font-family: "Jersey Timer", sans-serif; font-size: 34px; font-weight: 400; }
html[data-theme="snowfluff"] .current-turn-list .turn-item:last-child { border-color: #efaccb; background: #382d48; }
html[data-theme="snowfluff"] .game-history-details { border-color: #595672; border-radius: 11px; background: #1d2139; }
html[data-theme="snowfluff"] .game-summary:hover { background: #252940; }
html[data-theme="snowfluff"] .game-target { color: #f4d8ed; font-family: "Jersey Timer", sans-serif; font-size: 27px; font-weight: 400; }
html[data-theme="snowfluff"] .rules-dialog { border: 1px solid #7e7899; border-radius: 16px; background: #1d2139; box-shadow: 0 20px 80px #05071480; }
html[data-theme="snowfluff"] .rules-dialog::backdrop { background: #090b1bd9; }
html[data-theme="snowfluff"] .dialog-heading { border-color: #464761; }
html[data-theme="snowfluff"] .rule-number { color: #352439; background: #efaccb; border-radius: 4px; }
html[data-theme="snowfluff"] .rule-step h3 { color: #f4d8ed; }
html[data-theme="snowfluff"] .toast { color: #f5edf6; border-color: #7e7899; background: #303047; }

/* A single, low flight arc follows the paper plane, away from the readout. */
html[data-theme="snowfluff"] .theme-scenery { display: block; position: absolute; z-index: 2; inset: auto 0 48px; height: 112px; overflow: hidden; }
html[data-theme="snowfluff"] .scenery-cast[data-scenery-theme="snowfluff"] { display: block; }
html[data-theme="snowfluff"] .scenery-friend { top: auto; bottom: 7px; left: 21%; right: auto; display: block; width: 100px; height: 100px; overflow: hidden; opacity: 1; filter: none; animation: snowfluff-flight 30s ease-in-out infinite alternate; }
html[data-theme="snowfluff"] .page-end { padding-block: 117px 24px; min-height: 0; }
html[data-theme="snowfluff"] body:is([data-state="running"], [data-state="arming"], [data-page-hidden="true"]) .scenery-friend,
html[data-theme="snowfluff"] .theme-scenery[data-offscreen="true"] .scenery-friend { animation-play-state: paused; }
html[data-theme="snowfluff"] body:is([data-state="running"], [data-state="arming"], [data-page-hidden="true"]) .theme-art img,
html[data-theme="snowfluff"] body:is([data-state="running"], [data-state="arming"], [data-page-hidden="true"]) .scenery-friend img,
html[data-theme="snowfluff"] .theme-art[data-offscreen="true"] img,
html[data-theme="snowfluff"] .theme-scenery[data-offscreen="true"] .scenery-friend img { animation-play-state: paused; }
@keyframes snowfluff-frames { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes snowfluff-flight { from { transform: translate3d(-12px, 4px, 0) rotate(-3deg); } to { transform: translate3d(12px, -8px, 0) rotate(2deg); } }

@media (min-width: 1141px) and (max-width: 1320px) {
  .brand-en { display: none; }
}
@media (max-width: 900px) {
  html[data-theme="snowfluff"] .timer-stage { height: 444px; }
  html[data-theme="snowfluff"] .timer-readout { top: 62px; height: 226px; font-size: clamp(228px, 32vw, 290px); }
  html[data-theme="snowfluff"] .timer-readout.is-long { font-size: clamp(194px, 27vw, 248px); }
  html[data-theme="snowfluff"] .timer-underlay { top: 290px; }
  html[data-theme="snowfluff"] .progress-track { top: 323px; }
  html[data-theme="snowfluff"] .play-prompt { top: 346px; }
  html[data-theme="snowfluff"] .play-actions { top: 385px; }
  html[data-theme="snowfluff"] .challenge-tag { margin-right: 160px; }
}
@media (max-width: 640px) {
  .theme-switch .theme-option:nth-child(n) { grid-column: span 2; }
  html[data-theme="snowfluff"] .challenge-heading { min-height: 103px; }
  html[data-theme="snowfluff"] h1 { font-size: 26px; }
  html[data-theme="snowfluff"] .challenge-tag { display: none; }
  html[data-theme="snowfluff"] .theme-art { top: -97px; right: 1px; width: 88px; height: 88px; }
  html[data-theme="snowfluff"] .timer-stage { height: 410px; border-radius: 14px; }
  html[data-theme="snowfluff"] .timer-stage::before { border-radius: 13px 0 0; }
  html[data-theme="snowfluff"] .timer-stage::after { border-radius: 0 0 13px; }
  html[data-theme="snowfluff"] .stage-topline { top: 19px; left: 17px; right: 17px; }
  html[data-theme="snowfluff"] .relay-caption { top: 46px; }
  html[data-theme="snowfluff"] .timer-readout { top: 69px; height: 181px; font-size: 45.2vw; }
  html[data-theme="snowfluff"] .timer-readout.is-long { font-size: 36.5vw; }
  html[data-theme="snowfluff"] .timer-underlay { top: 255px; }
  html[data-theme="snowfluff"] .progress-track { top: 287px; left: 17px; right: 17px; }
  html[data-theme="snowfluff"] .play-prompt { top: 307px; }
  html[data-theme="snowfluff"] .play-actions { top: 348px; }
  html[data-theme="snowfluff"] .duration-field input { font-size: 25px; }
  html[data-theme="snowfluff"] .icon-button { border-radius: 8px; }
  html[data-theme="snowfluff"] .theme-scenery { bottom: 47px; height: 103px; }
  html[data-theme="snowfluff"] .scenery-friend { left: 13%; bottom: 4px; width: 86px; height: 86px; animation: none; transform: none; }
  html[data-theme="snowfluff"] .theme-art img, html[data-theme="snowfluff"] .scenery-friend img { animation: none; transform: none; }
  html[data-theme="snowfluff"] .page-end { padding-block: 108px 24px; }
}
@media (max-width: 370px) {
  html[data-theme="snowfluff"] h1 { font-size: 23px; }
  html[data-theme="snowfluff"] .theme-art { right: 0; width: 78px; height: 78px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-theme="snowfluff"] .scenery-friend,
  html[data-theme="snowfluff"] .theme-art img,
  html[data-theme="snowfluff"] .scenery-friend img { animation: none !important; transform: none !important; }
}
