/* Alleen spel-specifieke opmaak: de bestaande header, body en footer blijven intact. */
.zv-page{max-width:1240px;margin:0 auto;padding:25px 20px 48px;color:#382923}
.zv-back{display:inline-block;margin:0 0 16px;color:#8e2733;font-weight:700;text-decoration:none}
.zv-back:hover{text-decoration:underline}
.zv-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:29px 32px;border-radius:25px;background:linear-gradient(120deg,#fff0d9 0%,#ffe3d9 100%);border:1px solid #f4d6bf;box-shadow:0 11px 24px rgba(72,38,27,.07)}
.zv-hero-copy{flex:1;min-width:0}.zv-hero h1{font-size:clamp(2.15rem,4vw,3.55rem);line-height:1.07;color:#942131;margin:10px 0 13px}
.zv-hero p{font-size:1.1rem;line-height:1.65;max-width:760px;margin:0}.zv-kicker{font-size:.84rem;display:inline-flex;border-radius:50px;background:#9d2633;color:#fff;padding:8px 13px;font-weight:800;letter-spacing:.03em}
.zv-hero-art{font-size:clamp(4rem,11vw,7.9rem);line-height:1;filter:drop-shadow(0 8px 6px rgba(83,38,29,.12))}
.zv-game{margin-top:24px;background:#fff;border:1px solid #eadbd0;border-radius:23px;padding:24px;box-shadow:0 10px 24px rgba(67,38,27,.06)}
.zv-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:15px}
.zv-toolbar h2{margin:0;color:#762831;font-size:clamp(1.35rem,2.5vw,1.95rem)}
.zv-level{font-weight:800;color:#8a2533;font-size:.89rem;margin-bottom:4px;display:block}
.zv-stat-row{display:flex;flex-wrap:wrap;gap:8px}
.zv-stat{background:#fbf4ed;border:1px solid #f1e2d5;border-radius:11px;padding:9px 13px;min-width:91px;display:flex;flex-direction:column;gap:1px}
.zv-stat small{font-size:.72rem;color:#695a55}.zv-stat b{font-size:1.19rem;color:#84232c;font-variant-numeric:tabular-nums}
.zv-progress{height:10px;border-radius:20px;background:#f3e5db;overflow:hidden;margin:0 0 14px}.zv-progress span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#eab14e,#a32838);border-radius:20px;transition:width .25s ease}
.zv-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.zv-scene{min-width:0;padding:10px;background:#fff9f1;border:1px solid #e9d4c3;border-radius:17px}
.zv-scene-title{font-size:.93rem;font-weight:800;text-align:center;color:#6d3b30;margin:2px 0 8px}
.zv-scene svg{display:block;width:100%;height:auto;aspect-ratio:640/420;border-radius:9px;background:#fbdfb2;touch-action:manipulation;overflow:hidden;user-select:none}
.zv-scene svg [data-spot]{cursor:pointer;outline:none}
.zv-scene svg [data-spot]:focus-visible .zv-hit{stroke:#2c78d6;stroke-width:4}
.zv-scene .zv-correct{fill:rgba(42,157,83,.14);stroke:#198c43;stroke-width:6}
.zv-scene .zv-hint-ring{fill:none;stroke:#fcbb21;stroke-width:8;stroke-dasharray:14 8;animation:zv-pulse 1s ease-in-out infinite}
@keyframes zv-pulse{0%,100%{opacity:.5}50%{opacity:1}}
.zv-caption{margin:15px 0 0;text-align:center;font-size:.97rem;color:#5d514b}
.zv-caption strong{color:#882733}.zv-status{background:#f8f0e5;border-left:4px solid #b12b39;border-radius:10px;padding:12px 16px;margin:16px 0 14px;min-height:47px;color:#503f34;font-weight:650}
.zv-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.zv-actions button,.zv-level-buttons button,.zv-finish button{font:inherit;border-radius:12px;border:1px solid #d5bcb4;padding:11px 17px;cursor:pointer;font-weight:800;background:#fff;color:#7d2a32;transition:transform .12s,background .15s}
.zv-actions button:hover,.zv-level-buttons button:hover,.zv-finish button:hover{transform:translateY(-1px);background:#ffefe7}
.zv-actions .zv-primary,.zv-finish .zv-primary{background:#ac2838;border-color:#ac2838;color:#fff}
.zv-actions .zv-primary:hover,.zv-finish .zv-primary:hover{background:#8d1c2b;color:#fff}
.zv-actions button:disabled{opacity:.46;cursor:not-allowed;transform:none}
.zv-finish{margin:18px 0 0;padding:20px;background:#e9f7e9;border:1px solid #9fcfa5;border-radius:16px;text-align:center}
.zv-finish[hidden]{display:none}.zv-finish h3{color:#286135;font-size:1.6rem;margin:0 0 8px}.zv-finish p{margin:7px 0 15px}.zv-stars{font-size:2rem;letter-spacing:.2rem}
.zv-extra{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin:24px 0 0}
.zv-panel{padding:22px 25px;border:1px solid #e8d8ca;border-radius:18px;background:#fff9f3}
.zv-panel h2{color:#852735;font-size:1.6rem;margin:0 0 10px}.zv-panel p,.zv-panel li{line-height:1.65}.zv-panel p{margin:8px 0}
.zv-panel ol{margin:8px 0;padding-left:20px}.zv-panel a{color:#9d2432;text-decoration:underline}
.zv-level-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:15px}
.zv-level-buttons button{padding:10px 5px;display:flex;flex-direction:column;gap:1px;min-height:55px}
.zv-level-buttons button small{font-size:.72rem;font-weight:500}
.zv-level-buttons button[aria-current=true]{background:#a52736;color:#fff;border-color:#a52736}
.zv-note{color:#76665c;font-size:.87rem}
.zv-page .sint-gift-trio{max-width:none;margin:30px 0 0}
@media(max-width:760px){.zv-page{padding:17px 12px 32px}.zv-hero{padding:19px;gap:12px}.zv-hero-art{font-size:4rem}.zv-game{padding:14px}.zv-scenes{grid-template-columns:1fr}.zv-scene{padding:8px}.zv-stat{min-width:70px;flex:1;padding:8px 10px}.zv-extra{grid-template-columns:1fr}.zv-panel{padding:19px}.zv-actions button{flex:1;min-width:120px}.zv-level-buttons{grid-template-columns:repeat(5,1fr)}}
@media(max-width:430px){.zv-hero-art{display:none}.zv-hero p{font-size:1rem}.zv-stat b{font-size:1rem}.zv-actions button{padding:10px 8px}.zv-caption{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){.zv-scene .zv-hint-ring{animation:none}.zv-actions button{transition:none}}
