/* v8 development branch. Child-friendly, accessible upgrades, no third-party JS. */
.topbar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between}
.topbar .brand{flex:0 0 auto;white-space:nowrap;font-size:clamp(16px,1.8vw,21px);letter-spacing:-.045em}
.topbar .toplinks{min-width:0;flex:1 1 560px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px}
.topbar .toplinks a{white-space:nowrap;line-height:1.6}
.v8-banner{display:flex;align-items:center;gap:14px;margin:14px 0;padding:14px 18px;background:linear-gradient(115deg,#eaf5ff,#fff1da);border:2px solid #d7e6f5;border-radius:20px}
.v8-banner img{width:76px;height:58px;object-fit:contain}
.v8-banner strong{display:block;font-size:1.1rem;color:#33466e}.v8-banner p{margin:3px 0;color:#516985;font-size:.88rem;line-height:1.5}
.v8-stars{display:flex;gap:10px;justify-content:center;align-items:center;margin:9px auto 14px}
.v8-star{height:36px;width:36px;background:#f3f2f8;border:2px solid #dad6e9;border-radius:50%;display:grid;place-items:center;font-size:1.1rem;transition:transform .2s,background .2s}
.v8-star.done{background:#fff0b8;border-color:#edce64;transform:scale(1.05)}
.v7-message[data-kind='yes']{border-radius:15px;background:#e9faed}
.v8-sparkle{position:relative;isolation:isolate;animation:v8pop .45s ease-out both}
.v8-sparkle:before,.v8-sparkle:after{content:'✦ ✧ ✦';position:absolute;top:-15px;color:#e9af39;font-size:21px;animation:v8confetti 1.3s ease-out both;pointer-events:none}
.v8-sparkle:before{left:5%}.v8-sparkle:after{right:5%;animation-delay:.2s}
@keyframes v8pop{0%{transform:scale(.9);opacity:.1}100%{transform:scale(1);opacity:1}}
@keyframes v8confetti{0%{transform:translateY(0) scale(.7);opacity:0}50%{opacity:1}100%{transform:translateY(70px) rotate(28deg);opacity:0}}
.v8-filter-bar{padding:18px 20px;margin:22px 0;background:#fff;border:1px solid #dedaed;border-radius:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.v8-filter-bar label{font-weight:850;color:#344d71;font-size:.9rem;margin-right:4px}
.v8-filter-chip{border:2px solid #ded7f0;color:#5d4ba7;background:#fff;border-radius:100px;min-height:41px;padding:7px 13px;font-weight:850;font-size:.82rem;cursor:pointer}
.v8-filter-chip[aria-pressed='true']{background:#6b56c1;color:#fff;border-color:#6b56c1}
.v8-filter-count{margin-left:auto;color:#596c83;font-weight:750;font-size:.8rem}
.v8-game-feature{display:flex;gap:20px;align-items:center;background:linear-gradient(108deg,#f7e9ff,#e2f9ed);border-radius:24px;padding:18px 23px;margin:16px 0 24px;border:2px solid #e4dafa;text-decoration:none;color:#283a5c}
.v8-game-feature img{width:104px;height:90px;object-fit:contain}.v8-game-feature h3{font-size:clamp(1.1rem,2.7vw,1.45rem);margin:4px 0}.v8-game-feature p{margin:4px 0;color:#51617b}
.v8-game-feature .v8-play-link{display:inline-block;background:#6b56c1;color:white;border-radius:14px;padding:10px 15px;font-weight:900;margin-top:7px}
.v8-game-card-mascot{width:84px;height:62px;object-fit:contain;display:block;filter:drop-shadow(0 8px 5px #24415b22)}
.v8-maze-main{color:#243953;padding:0 0 45px}
.v8-maze-hero{text-align:center;border-radius:27px;background:linear-gradient(112deg,#fff0dc,#f1ebff,#e6f8ff);padding:20px 18px 15px;margin:12px 0 22px}
.v8-eyebrow{background:#fff;border-radius:99px;padding:6px 12px;font-size:.82rem;color:#6954bd;font-weight:800}
.v8-maze-hero h1{font-size:clamp(1.7rem,4vw,2.7rem);margin:12px 0 0;color:#264063}
.v8-maze-hero p{margin:7px 0 0;font-size:1.02rem}
.v8-maze-hero img{display:block;margin:0 auto;width:110px;height:77px}
.v8-maze-layout{display:grid;grid-template-columns:minmax(185px,.29fr) 1fr;gap:19px}
.v8-maze-sidebar,.v8-maze-panel{background:#fff;border:2px solid #e7e3f2;border-radius:22px;padding:20px;min-width:0}
.v8-maze-sidebar h2{margin:0 0 12px;font-size:1rem}
.v8-maze-sidebar p{font-size:.86rem;color:#596d82;line-height:1.8}
.v8-maze-sidebar a{font-weight:850;color:#6451b5}
.v8-maze-stages{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.v8-maze-stages button{border:2px solid #d9d2ed;border-radius:15px;min-height:51px;color:#6453a8;background:#faf8ff;font-weight:900;cursor:pointer}
.v8-maze-stages button.is-current{border-color:#735cd5;background:#735cd5;color:white}
.v8-maze-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 13px;color:#5d4aa5;font-weight:850}
.v8-maze-map{display:grid;grid-template-columns:repeat(var(--maze-cols),minmax(0,1fr));gap:5px;margin:auto;max-width:490px;border-radius:18px;padding:12px;background:#e6f2fc;border:2px solid #d2e8f6}
.v8-maze-cell{min-width:0;aspect-ratio:1;border:2px solid #e4f2f6;background:#fffdf7;border-radius:12px;font-size:clamp(1.15rem,3vw,2rem);display:grid;place-items:center;cursor:pointer;touch-action:manipulation;transition:background .15s,transform .15s}
.v8-maze-cell.is-wall{border-color:#c8e6c9;background:#d9f0dc;cursor:default}
.v8-maze-cell:disabled{opacity:1}.v8-maze-cell.is-hint{outline:4px solid #ffbd42;outline-offset:-4px;animation:v8hint 1s infinite alternate}
.v8-maze-cell.has-car{border-color:#f3c765;background:#fff3cf;box-shadow:0 3px 0 #f4d480}
.v8-maze-cell.has-car img{display:block;width:95%;height:80%;object-fit:contain}
.v8-maze-cell.is-goal{background:#fff8da}
@keyframes v8hint{from{background:#fff6ca}to{background:#fff}}
.v8-maze-message{min-height:51px;padding:12px;border-radius:14px;background:#f4f6ff;text-align:center;color:#4b587a;font-weight:850}
.v8-maze-controls{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap}
.v8-dir-grid{display:grid;grid-template-columns:repeat(3,46px);gap:5px;place-items:stretch}
.v8-dir-grid button{border:2px solid #d8cff3;background:#f4efff;border-radius:12px;min-height:46px;font-size:1.35rem;font-weight:900;color:#6050ae;cursor:pointer}
.v8-dir-grid button[data-dir='down']{grid-column:2;grid-row:2}.v8-dir-grid button[data-dir='right']{grid-column:3;grid-row:2}
.v8-dir-grid button[data-dir='left']{grid-column:1;grid-row:2}
.v8-maze-extra{display:flex;gap:8px;flex-wrap:wrap;max-width:340px}
.v8-maze-extra button{border:2px solid #dcd4ef;border-radius:12px;background:#fff;min-height:45px;padding:9px 11px;font-weight:850;color:#5e4baa;cursor:pointer}
.v8-maze-finish{margin:14px auto 0;background:linear-gradient(110deg,#fff3bf,#e3fbe8);border-radius:18px;padding:19px;text-align:center;animation:v8pop .35s ease both}
.v8-maze-finish[hidden]{display:none}.v8-maze-finish strong{font-size:1.4rem}.v8-maze-finish button{background:#6b57c5;border:0;border-radius:12px;color:white;padding:12px 20px;font-weight:900;cursor:pointer}
.v8-adult-tip{margin:24px 0;background:#edf9fa;border:1px solid #d8ecee;border-radius:20px;padding:20px;line-height:1.9;color:#50617a}
.v8-adult-tip h2{color:#213c5b;margin:0 0 8px;font-size:1.25rem}
@media(max-width:900px){.v8-maze-layout{grid-template-columns:1fr}}
@media(max-width:760px){.topbar .brand{font-size:16px}.topbar .toplinks{flex:1 1 100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}.topbar .toplinks a:not(.navpill){display:inline-flex}.topbar .toplinks a{flex:0 0 auto}.v8-game-feature{padding:14px}.v8-game-feature img{width:78px}.v8-maze-sidebar,.v8-maze-panel{padding:13px}.v8-maze-map{padding:7px;gap:4px}.v8-maze-cell{border-radius:8px}.v8-filter-count{margin-left:0;width:100%}}
@media(max-width:375px){.v8-maze-cell{font-size:1rem}.v8-maze-hero{padding:14px}.v8-dir-grid{grid-template-columns:repeat(3,45px)}}
@media(prefers-reduced-motion:reduce){.v8-sparkle,.v8-sparkle:before,.v8-sparkle:after,.v8-maze-cell.is-hint,.v8-maze-finish{animation:none!important}.v8-maze-cell,.v8-star{transition:none!important}}
@media print{.v8-maze-main,.v8-filter-bar{display:none}}
.v7-game-card[hidden],.v8-game-feature[hidden]{display:none!important}

@media(max-width:900px){.v8-maze-panel{order:1}.v8-maze-sidebar{order:2}.v8-maze-layout{display:flex;flex-direction:column}}
@media(max-width:760px){.topbar .toplinks:after{content:'→';position:sticky;right:0;align-self:center;padding:4px 8px;background:#fffaf0;color:#7664ce;font-size:18px;font-weight:900}}
