.winter-floes{padding:6px;margin:8px 0;color:#eaf6f4;background:linear-gradient(155deg,#154154,#082b3b);border-radius:22px;overflow-x:auto;isolation:isolate}
body.play-ready .winter-floes .wf-progress{color:#fff6dc;font:16px/1.5 Georgia,serif;text-align:center;margin:8px 0}
.wf-banks{display:flex;justify-content:space-between;gap:12px;max-width:300px;margin:8px auto;color:#d4e6e7;font:12px/1.4 system-ui}
.wf-board{display:grid;grid-template-columns:repeat(var(--floes-size,3),minmax(48px,1fr));gap:3px;width:min(100%,300px);min-width:252px;margin:8px auto 14px;outline-offset:4px}
.wf-board button{position:relative;display:grid;place-items:center;min-width:48px;min-height:48px;aspect-ratio:1;padding:0!important;border:0!important;border-radius:14px;background:transparent!important;color:#234d62;touch-action:manipulation;isolation:isolate}
.wf-ice{position:absolute;inset:0;width:100%;height:100%;fill:#bbdfeb;stroke:#d9f0f3;stroke-width:1.5;filter:drop-shadow(0 3px 1px #001a2b80)}
.wf-ice path+path{fill:none;stroke:#79b7d3;opacity:.6;stroke-width:1}
.wf-board button:disabled{opacity:.72;cursor:default}
.wf-board button.wf-reachable:not(:disabled){opacity:1;cursor:pointer}
.wf-board .wf-known .wf-ice{fill:#d8ece4;stroke:#fff4c4}
.wf-board .wf-hinted .wf-ice{fill:#f5e9bc;stroke:#fff4d5;filter:drop-shadow(0 0 5px #ffe2a588)}
.wf-board .wf-current .wf-ice{fill:#f1f4df;stroke:#fff2b8}
.wf-board .wf-broken .wf-ice{fill:#1c5673;stroke:#6591a4;opacity:.42;transform:scale(.84) rotate(8deg)}
.wf-marker{position:relative;z-index:1;font:28px/1 Georgia,serif;color:#375149;text-shadow:0 1px #fff8d7}
.wf-board button:focus-visible{outline:3px solid #ffe4a7;outline-offset:1px}
.wf-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 4px}
.winter-floes .wf-controls button,.winter-floes>[data-floes-action=complete]{min-height:48px;margin:0;padding:9px;border:1px solid #ffffff4d;border-radius:13px;background:#e4eee6;color:#24474c;font:13px/1.4 system-ui;white-space:normal}
.winter-floes>[data-floes-action=complete]{display:block;width:100%;margin:8px 0}
body.play-ready .winter-floes .wf-message{color:#eef7ef;background:#103544;border-radius:12px;padding:10px;margin:9px 0 0;font:14px/1.5 system-ui}
.winter-floes [hidden]{display:none!important}
html.comfort-high .winter-floes{background:#fff;color:#111;border:2px solid #163442}
html.comfort-high body.play-ready .winter-floes :is(.wf-message,.wf-progress){color:#17221f!important;background:#ecf2eb}
html.comfort-high .wf-banks{color:#17221f}
@media(max-width:350px){.wf-board{gap:2px;min-width:248px}.winter-floes{padding:4px}}
@media(prefers-reduced-motion:reduce){.winter-floes *{animation:none!important;transition:none!important}}

.senior-edition .winter-floes .wf-controls button{font-size:17px}
.senior-edition body.play-ready .winter-floes .wf-message{font-size:17px}

/* The hit grid stays exact; only the ice silhouettes and lake dressing vary. */
.winter-floes.minigame-enhanced{box-sizing:border-box;width:100%;padding:12px 8px;background:linear-gradient(#102f46cc,#0d3247f5),url(assets/minigame-lake-v84.webp) center 45%/cover;border:1px solid #e0f5ee55;box-shadow:inset 0 0 45px #8dcadd12}
.minigame-enhanced .wf-banks{font:14px Georgia,serif;max-width:330px;margin-block:12px}
.minigame-enhanced .wf-board{max-width:330px;min-width:252px;width:100%;gap:3px;border-radius:30%;background:radial-gradient(ellipse,#7db3c444,transparent 70%)}
.minigame-enhanced .wf-ice{transform:rotate(var(--floe-turn,0deg));fill:#c7e4e9;stroke:#f3faf5;transition:fill .25s,filter .25s}
.minigame-enhanced .wf-reachable:not(:disabled) .wf-ice{stroke:#fff1c6;stroke-width:3;fill:#dbeeea;filter:drop-shadow(0 2px 3px #182d3a88)}
.minigame-enhanced .wf-current .wf-ice{fill:#fff3d6;stroke:#fff9e2}
.minigame-enhanced .wf-broken .wf-ice{transform:scale(.8) rotate(8deg);fill:#2d586b;filter:none}
.wf-traveler{display:block;width:clamp(28px,8vw,48px);height:clamp(34px,10vw,58px);max-width:100%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 3px 2px #16283655)}
.minigame-enhanced .wf-traveler{animation:wf-soft-landing .35s ease-out}
.minigame-enhanced .wf-marker{display:grid;place-items:center;width:80%;height:85%}
.minigame-enhanced .wf-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.winter-floes .minigame-tools{padding:7px 10px;margin:12px 0;border:1px solid #e0efeb44;border-radius:15px;background:#103342aa;color:#eaf5ed;font:14px/1.5 system-ui}
.winter-floes .minigame-tools summary{min-height:48px;display:flex;align-items:center;cursor:pointer;list-style:revert;font-weight:600}
.winter-floes .minigame-tools button{min-height:48px;max-width:100%;margin:5px 4px 5px 0;border:1px solid #ffffff4d;border-radius:12px;padding:9px;background:#e4eee6;color:#24474c;font:inherit;white-space:normal}
.winter-floes .minigame-tools :focus-visible{outline:3px solid #ffe4a7;outline-offset:2px}
@keyframes wf-soft-landing{from{transform:translateY(-5px);opacity:.6}to{transform:translateY(0);opacity:1}}
.winter-floes.minigame-paused *,.winter-floes.minigame-calm *{animation:none!important;transition:none!important}
html.comfort-reduce .winter-floes *{animation:none!important;transition:none!important}
