/*
Theme Name: WordPlay Kids — Gallery
Theme URI: https://english.abq.kz/
Author: ABQ
Description: WordPlay English 2.3: refined carousel geometry, no cropped icons, responsive media blocks, site-wide home link and embedded-app enhancements. Hero preserved. Requires WordPlay English plugin v2.
Version: 2.3.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: wordplay-kids
*/
:root{--ink:#172747;--muted:#6b7995;--blue:#3157d7;--deep:#1b378e;--teal:#05a7c2;--line:#e5ebf7;--bg:#f7faff;--shadow:0 15px 45px rgba(37,60,124,.08)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(145deg,#f5f8ff,#f9fcff 65%,#f1fbff);font:400 16px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);min-width:320px}
button,input,select,textarea{font:inherit}a{text-decoration:none;color:inherit}img,video{max-width:100%}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #55c5e1;outline-offset:3px}
.wp-container{max-width:1200px;margin:0 auto;padding:27px 26px 65px}
.wp-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}
.wp-logo{display:flex;align-items:center;gap:11px;font-size:25px;font-weight:900;letter-spacing:-.7px;white-space:nowrap;line-height:1.2}
.wp-logo-mark{height:43px;width:43px;border-radius:14px;background:var(--blue);display:grid;place-items:center;color:#fff;box-shadow:inset 0 -4px 0 rgba(0,0,0,.14);font-size:24px}
.wp-logo .accent{color:var(--teal)}
.wp-nav{display:flex;align-items:center;gap:7px}
.wp-nav a{color:#546582;border-radius:13px;padding:12px 17px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;min-height:43px}
.wp-nav a:hover,.wp-nav a[aria-current=page],.wp-nav a.is-active{background:#e5efff;color:var(--deep)}
.wp-nav a.nav-game{background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.04);color:var(--deep)}
.hero{background:#2853cc;color:#fff;border-radius:34px;min-height:300px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:12px;padding:46px 52px;position:relative;overflow:hidden;box-shadow:0 23px 55px rgba(36,79,187,.16)}
.hero::before{content:"";position:absolute;width:470px;height:470px;border-radius:50%;right:-160px;top:-235px;background:rgba(255,255,255,.08)}
.hero::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;bottom:-270px;left:37%;box-shadow:0 0 0 85px rgba(255,255,255,.025)}
.hero-text{position:relative;z-index:1}.eyebrow{font-size:16px;font-weight:850;text-transform:uppercase;letter-spacing:1.6px;color:#c9edff}
.hero h1{font-size:clamp(30px,4vw,54px);line-height:1.12;letter-spacing:-1.6px;max-width:650px;margin:16px 0;font-weight:850}
.hero p{max-width:555px;color:#e1ecff;font-size:17px;line-height:1.55;margin:0 0 23px}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap}.hero-badges span{padding:10px 15px;border-radius:12px;background:rgba(255,255,255,.12);font-weight:750;font-size:16px}
.hero-art{position:relative;z-index:1;height:260px;display:grid;place-items:center}.hero-art img{height:255px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 9px rgba(4,32,96,.15))}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:32px 0 17px}
.section-head h2{font-size:27px;letter-spacing:-.8px;margin:0 0 4px;line-height:1.25}
.section-head p{color:var(--muted);margin:0;line-height:1.5}
.section-link{font-size:16px;font-weight:800;color:var(--blue);white-space:nowrap}
.section-link:hover{text-decoration:underline}
.topic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.topic-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:150px;background:#fff;border:1px solid #e8edf9;border-radius:23px;padding:14px 9px 15px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;text-align:center}
.topic-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(44,70,140,.14)}
.topic-card img{width:90px;height:82px;object-fit:contain;display:block;aspect-ratio:1/1}
.topic-card strong{font-size:17px;line-height:1.35;letter-spacing:-.2px;overflow-wrap:anywhere}
.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.game-card{position:relative;display:flex;flex-direction:column;align-items:start;text-align:left;min-width:0;min-height:204px;padding:21px;border:1px solid #e8edf9;background:#fff;border-radius:26px;box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s}
.game-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(44,70,140,.15)}
.game-card .icon-tile{width:65px;height:65px;border-radius:20px;display:grid;place-items:center;margin-bottom:17px;background:var(--tile-bg,#e9efff)}
.game-card .icon-tile img{width:54px;height:54px;object-fit:contain}
.game-card strong{font-size:20px;letter-spacing:-.3px;line-height:1.32}
.game-card p{color:var(--muted);font-size:16px;line-height:1.4;margin:8px 0 0}
.game-card .arrow{position:absolute;right:20px;top:23px;font-size:24px;color:#a2b4d4}
.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:15px;padding:15px 23px;font-weight:850;font-size:16px;min-height:52px}
.btn-primary{background:var(--blue);color:#fff;border:1px solid var(--blue);box-shadow:0 8px 16px rgba(39,83,197,.16)}.btn-primary:hover{background:var(--deep);color:#fff}
.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--deep)}.btn-secondary:hover{border-color:#9db5ef}
.action-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:26px 0}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.media-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:15px;box-shadow:var(--shadow)}
.media-card video{display:block;width:100%;aspect-ratio:16/9;border-radius:15px;background:#eef5ff;object-fit:contain}.media-card strong{display:block;font-size:19px;margin:12px 3px 3px}.media-card p{margin:0 3px 4px;color:var(--muted);font-size:16px}
.info-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}
.info-item{min-width:0;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);border-radius:23px;padding:21px 24px;box-shadow:var(--shadow)}.info-item .info-number{font-size:34px;letter-spacing:-1px;font-weight:900;color:#3157d7;display:block}.info-item span{color:var(--muted);font-size:16px;font-weight:750}
.wp-footer{margin-top:45px;padding:18px 0;border-top:1px solid var(--line);color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:16px}
.wp-footer a:hover{color:var(--blue)}
.inner-content{max-width:900px;margin:36px auto 0}.inner-content h1,.entry-title{font-size:clamp(32px,4vw,46px);line-height:1.2;letter-spacing:-1px;margin:0 0 20px}.inner-content p{line-height:1.7}.inner-content a:not(.btn-primary){color:#3157d7;text-decoration:underline}.inner-content img{height:auto}
.archive-list{display:grid;gap:16px;margin-top:22px}.archive-item{background:#fff;border:1px solid var(--line);border-radius:23px;padding:24px}.archive-item h2{margin:0 0 10px;font-size:23px}.archive-item p{color:var(--muted);margin:0}
.wp-games-container{max-width:1200px;margin:auto;padding:0 26px 36px}
.wp-games-container .wordplay-embed{width:100%;max-width:1200px;margin:auto}.wp-games-container .wordplay-frame{display:block;width:100%;height:1000px;min-height:600px;border:0;background:#f5f8ff}
body.page-template-page-games .wp-container{max-width:none;padding:0}body.page-template-page-games .wp-header,body.page-template-page-games .wp-footer{display:none}
body.page-template-page-games .wp-games-container{padding:0;max-width:none}body.page-template-page-games .wordplay-embed{max-width:none}
.plugin-required{background:white;border:1px solid #dce6f6;border-radius:24px;padding:28px;margin:28px auto;max-width:820px}
.plugin-required h1{font-size:29px;margin:0 0 8px}.plugin-required p{color:var(--muted)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;word-wrap:normal!important}
@media(max-width:1050px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{padding:40px}.topic-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){.topic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wp-nav a{padding:11px 12px}}
@media(max-width:730px){.wp-container{padding:17px 14px 48px}.wp-header{flex-direction:column;align-items:flex-start;gap:15px}.wp-nav{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.wp-nav a{font-size:16px;padding:12px 6px;text-align:center;white-space:nowrap}.hero{grid-template-columns:1fr;border-radius:26px;min-height:initial;padding:28px 26px}.hero h1{font-size:36px}.hero-art{display:none}.section-head{align-items:stretch;flex-direction:column}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-card{padding:16px;min-height:193px;border-radius:20px}.game-card strong{font-size:18px}.game-card .icon-tile{height:58px;width:58px;margin-bottom:14px}.game-card p{font-size:16px}.game-card .arrow{right:13px;top:14px}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.topic-card{min-height:135px;padding:11px 7px;border-radius:18px}.topic-card img{width:69px;height:68px}.topic-card strong{font-size:16px}.media-grid{grid-template-columns:1fr}.info-row{grid-template-columns:repeat(3,1fr);gap:9px}.info-item{padding:17px 11px;border-radius:17px}.info-item .info-number{font-size:26px}.info-item span{font-size:16px}}
@media(max-width:405px){.game-card{min-height:184px}.game-card strong{font-size:17px}.hero h1{font-size:32px}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-item .info-number{font-size:23px}.wp-nav a{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* WordPlay Pidu-inspired playful editorial additions v2.1: the v2 hero is intentionally unchanged. */
.tiny-kicker{display:inline-block;font-size:13px;font-weight:900;letter-spacing:1.5px;color:#506cc1;margin-bottom:7px}
.play-hub{margin:7px 0 28px}.play-hub-head{margin-top:31px}.play-hub-head h2{font-size:29px;letter-spacing:-.8px}.play-hub-actions{display:flex;align-items:center;gap:18px;white-space:nowrap}.play-count{display:inline-flex;padding:9px 15px;border-radius:99px;background:#E4F8EA;color:#168560;font-size:15px;font-weight:850}
.play-carousel-wrap{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:10px;align-items:stretch}.play-carousel{min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:3px 2px 17px;scroll-behavior:smooth}.play-carousel::-webkit-scrollbar{display:none}.play-carousel:focus-visible{outline:3px solid #52BDEB;outline-offset:2px;border-radius:20px}
.carousel-side{align-self:center;display:grid;place-items:center;background:#fff;color:#3157D7;border:1px solid #DFE8F8;border-radius:19px;box-shadow:0 12px 25px rgba(35,68,136,.1);height:110px;min-width:0;cursor:pointer;transition:transform .15s,background .15s}.carousel-side span{font-size:70px;line-height:.6;font-weight:300;margin-top:-7px}.carousel-side:hover:not(:disabled){background:#EEF5FF;transform:scale(1.045)}.carousel-side:disabled{opacity:.35;box-shadow:none;cursor:default}
.play-card{scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;background:#fff;overflow:hidden;border:1px solid #E7ECF8;border-radius:25px;box-shadow:0 10px 22px rgba(47,72,131,.075);transition:transform .18s,box-shadow .18s}.play-card:hover{transform:translateY(-4px);box-shadow:0 19px 35px rgba(42,65,121,.14)}.play-art{height:145px;display:block;overflow:hidden;background:var(--play-bg);position:relative}.play-art img{width:100%;height:100%;display:block;object-fit:cover}.play-detail{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:17px 19px 18px;gap:4px}.play-tag{font-size:13px;font-weight:850;letter-spacing:.3px;color:#1D9179;background:#E5F9F0;border-radius:8px;padding:4px 9px;margin-bottom:4px}.play-detail strong{font-size:19px;line-height:1.28;letter-spacing:-.4px;font-weight:900;min-height:25px}.play-desc{font-size:16px;line-height:1.45;color:#687A96;min-height:47px;margin:2px 0 10px;max-width:100%}.play-link{margin-top:auto;display:flex;justify-content:space-between;align-items:center;align-self:stretch;background:#EFF4FF;color:#2F57C3;border-radius:12px;padding:10px 13px;font-weight:850;font-size:16px}.play-link span{font-size:25px;line-height:16px}.play-card:hover .play-link{background:#3157D7;color:#fff}.play-dots{display:flex;align-items:center;gap:6px;justify-content:center;margin:3px 0 0}.play-dots span{height:6px;width:19px;background:#DFE8F8;border-radius:20px}.play-dots span:first-child{background:#58B4DF;width:36px}
.progress-zone{display:grid;grid-template-columns:1.13fr .87fr;gap:16px;margin:33px 0 8px}.daily-adventure,.buddy-panel{min-width:0;min-height:260px;border-radius:26px;position:relative;overflow:hidden}.daily-adventure{background:#E9F9F2;padding:25px 28px 23px;border:1px solid #D0EFE3}.daily-top{display:flex;justify-content:space-between}.daily-top .tiny-kicker{color:#138D71}.daily-star{font-size:29px;color:#F4C744;line-height:1}.daily-adventure h2,.buddy-panel h2{font-size:25px;letter-spacing:-.75px;line-height:1.2;margin:1px 0 8px}.daily-adventure p,.buddy-panel p{font-size:16px;line-height:1.45;color:#60798A;margin:0}.steps-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 17px}.route-step{display:flex;flex-direction:column;gap:9px;align-items:flex-start;padding:13px 11px;border:1px solid #D2EDE2;border-radius:16px;background:rgba(255,255,255,.81);min-width:0}.route-step:hover{background:white;transform:translateY(-2px)}.step-num{width:29px;height:29px;border-radius:9px;background:#22B995;color:#fff;display:grid;place-items:center;font-size:17px;font-weight:900}.route-step strong,.route-step small{display:block}.route-step strong{font-size:16px;font-weight:900}.route-step small{font-size:14px;color:#658577}.daily-link{font-size:16px;color:#117F66;font-weight:850;display:inline-flex;gap:9px;align-items:center}.daily-link:hover{text-decoration:underline}
.buddy-panel{background:linear-gradient(128deg,#EAF0FF 0%,#E8F8FF 100%);border:1px solid #DDE8FE;padding:26px 25px 22px;display:flex;flex-direction:column;justify-content:space-between}.buddy-copy{width:66%;z-index:2;position:relative}.buddy-copy .tiny-kicker{color:#5571C9}.buddy-bee{position:absolute;width:39%;height:auto;object-fit:contain;right:-14px;bottom:55px;filter:drop-shadow(0 10px 9px rgba(38,71,142,.10));animation:bee-bob 4s ease-in-out infinite;transform-origin:50% 88%;pointer-events:none}.buddy-cta{display:inline-flex;margin-top:15px;align-items:center;background:#3157D7;color:white;padding:11px 15px;border-radius:13px;font-size:16px;font-weight:850;box-shadow:0 7px 17px #3157D725}.buddy-cta:hover{background:#2346B6;color:#fff}.buddy-progress{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#FFFFFFCF;border-radius:13px;padding:12px 13px;z-index:2;margin-top:16px;font-size:14px;color:#61779D;font-weight:750}.buddy-progress strong{font-size:18px;color:#2747AD}.buddy-progress-detail{white-space:nowrap}
@keyframes bee-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
.quick-zone{margin-top:26px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:17px;min-height:210px;position:relative;border:1px solid #E0E9F7;border-radius:24px;background:var(--quick-bg);transition:transform .16s,box-shadow .16s;overflow:hidden}.quick-card:hover{transform:translateY(-3px);box-shadow:0 14px 24px #2D5A9F18}.quick-flash{--quick-bg:#E8F3FF}.quick-listen{--quick-bg:#E5F8FC}.quick-speak{--quick-bg:#E7F9F1}.quick-video{--quick-bg:#F0EDFF}.quick-icon{display:block;height:102px;width:155px;max-width:100%;align-self:center}.quick-icon img{width:100%;height:100%;object-fit:contain}.quick-card strong{font-size:18px;line-height:1.25;font-weight:900;letter-spacing:-.25px}.quick-card>span:not(.quick-icon):not(.quick-arr){font-size:16px;color:#647994}.quick-arr{position:absolute;top:13px;right:16px;font-size:22px;color:#7B9CD4}.quick-card:hover .quick-arr{color:#3157D7}
.more-zone{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:35px}.more-main,.more-side{background:#fff;border:1px solid #E6ECF7;border-radius:25px;padding:25px;display:flex;flex-direction:column;min-height:220px;box-shadow:0 8px 22px #223E7610;overflow:hidden;position:relative}.more-main{background:linear-gradient(105deg,#E8F0FF,#FAFCFF)}.more-side{background:linear-gradient(105deg,#EBF9F6,#FAFCFF)}.more-zone h2{font-size:24px;letter-spacing:-.6px;margin:2px 0 7px}.more-zone p{font-size:16px;color:#657891;max-width:350px;margin:0}.more-arrow{margin-top:17px;display:inline-flex;align-self:flex-start;align-items:center;gap:12px;font-size:16px;font-weight:850;color:#3157D7}.more-arrow:hover{text-decoration:underline}.more-path{margin-top:auto;display:flex;gap:8px;align-items:center;padding-top:18px}.more-path span{display:grid;place-items:center;background:#fff;border:2px solid #A9C4F6;color:#3157D7;border-radius:50%;height:34px;width:34px;font-weight:850}.more-path span:last-child{background:#FFEDAF;border-color:#FFDB65;color:#C18C12}.more-path i{height:3px;width:37px;background:#ACD0EF;border-radius:12px}
.video-zone{margin-top:28px}.compact-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.compact-video{border:1px solid #E5EAF6;background:#fff;border-radius:21px;padding:12px;box-shadow:0 7px 19px #213C760D;min-width:0}.compact-video video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#EDF4FF;border-radius:13px;display:block}.compact-video>div{display:flex;flex-direction:column;gap:3px;padding:12px 3px 4px}.compact-video strong{font-size:18px}.compact-video span{font-size:16px;color:#6A7A96}
@media(max-width:1050px){.play-carousel{grid-auto-columns:calc((100% - 28px)/3);gap:14px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.play-carousel{grid-auto-columns:calc((100% - 14px)/2)}.progress-zone{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.buddy-copy{width:67%}.buddy-bee{width:28%;right:20px}.more-zone{grid-template-columns:1fr 1fr}}
@media(max-width:730px){.play-hub-head{gap:12px}.play-hub-actions{gap:10px}.play-count{font-size:14px;padding:7px 10px}.play-carousel-wrap{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px}.play-carousel{grid-auto-columns:calc((100% - 12px) / 1.20);gap:12px;padding-bottom:12px}.carousel-side{height:90px;border-radius:13px}.carousel-side span{font-size:57px}.play-art{height:140px}.play-detail{padding:15px}.progress-zone{margin-top:27px}.daily-adventure{padding:21px}.daily-adventure h2,.buddy-panel h2{font-size:23px}.quick-zone .section-head{margin-bottom:16px}.quick-grid{gap:10px}.quick-card{padding:13px;min-height:195px;border-radius:20px}.quick-icon{height:82px}.quick-card strong{font-size:17px}.more-zone{grid-template-columns:1fr}.compact-video-grid{grid-template-columns:1fr}}
@media(max-width:405px){.play-hub-actions{align-self:flex-start}.steps-route{gap:5px}.route-step{padding:10px 6px}.route-step small{font-size:12px}.buddy-bee{width:35%;right:-16px;bottom:60px}.buddy-copy{width:69%}.buddy-progress{font-size:12px}}
@media(prefers-reduced-motion:reduce){.buddy-bee{animation:none}.play-carousel{scroll-behavior:auto}}

/* Readable new UI captions at minimum 16px */
.tiny-kicker,.play-count,.play-tag,.route-step small,.buddy-progress,.buddy-progress-detail{font-size:16px}
@media(max-width:730px){.play-count,.play-tag,.tiny-kicker,.route-step small{font-size:16px}}
@media(max-width:405px){.route-step small,.buddy-progress{font-size:16px}}


/* 2.2: precise game-card geometry from approved reference; intentionally does not touch HERO. */
.play-hub{margin:6px 0 32px}
.play-hub-head{margin-top:30px;margin-bottom:18px}
.play-hub-head h2{font-size:30px;line-height:1.2;letter-spacing:-.85px;color:#11234F}
.play-hub-head p{font-size:17px;color:#6A7FA8}
.play-carousel-wrap{grid-template-columns:48px minmax(0,1fr) 48px;gap:11px;align-items:center}
.play-carousel{grid-auto-columns:calc((100% - 48px)/4);gap:16px;scroll-padding-inline:2px;padding:5px 2px 21px;align-items:stretch}
.play-card{border-radius:30px;background:#fff;border:1px solid #E7EAF6;box-shadow:0 11px 31px rgba(39,65,121,.10);isolation:isolate;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.play-card:hover{transform:translateY(-5px);box-shadow:0 22px 40px rgba(39,65,121,.17)}
.play-art{display:block;position:relative;height:auto;aspect-ratio:720/420;margin:12px 12px 0;border-radius:25px;overflow:hidden;background:var(--play-bg);flex:none}
.play-art picture,.play-art img{width:100%;height:100%;display:block}
.play-art img{object-fit:fill;transform:none;transition:transform .22s ease}
.play-card:hover .play-art img{transform:scale(1.018)}
.play-detail{padding:14px 19px 18px;min-height:205px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.play-tag{font-size:16px;line-height:1.2;padding:5px 10px;margin-bottom:7px;border-radius:10px;color:#168A77;background:#DBF7EE;letter-spacing:0;font-weight:850}
.play-card:nth-child(4n+1) .play-tag{background:#D9EEFF;color:#1878DC}
.play-card:nth-child(4n+3) .play-tag{background:#EAE0FF;color:#6D3DE7}
.play-card:nth-child(4n+4) .play-tag{background:#FFE2F0;color:#C72E7B}
.play-detail strong{font-size:20px;line-height:1.26;letter-spacing:-.48px;color:#10214D;font-weight:900;min-height:26px}
.play-desc{font-size:16px;line-height:1.44;color:#697BA0;margin:2px 0 14px;min-height:47px;max-width:100%}
.play-link{background:linear-gradient(110deg,#6651E1,#5137CD);color:white;border-radius:15px;min-height:48px;padding:10px 15px;box-shadow:inset 0 -2px 0 rgba(25,14,100,.09);font-size:16px;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:8px}
.play-link::before{content:"";border-left:13px solid white;border-top:8px solid transparent;border-bottom:8px solid transparent;display:block;filter:drop-shadow(0 2px 1px rgba(0,0,0,.05))}
.play-link span{margin-left:auto;font-size:27px;line-height:16px}
.play-card:hover .play-link{background:linear-gradient(110deg,#5742D2,#452DBB)}
.carousel-side{width:48px;height:48px;min-height:48px;border:1px solid #DCE5FA;background:#FFFFFFE8;border-radius:50%;display:grid;place-items:center;color:#4F46CE;box-shadow:0 8px 23px rgba(52,70,129,.09);align-self:center;justify-self:center;padding:0;transition:background .16s ease,color .16s ease}
.carousel-side span{font-size:39px;line-height:1;transform:translateY(-3px);font-weight:350}
.carousel-side:hover:not(:disabled){background:#F1EEFF;color:#4730CC}
.carousel-side:disabled{opacity:.36;cursor:default;box-shadow:none}
.play-carousel-hint{font-size:16px;text-align:center;color:#8190AA;margin:-5px 0 0}
/* Keep card visual hierarchy and family-friendliness consistent across other home modules. */
.daily-adventure,.buddy-panel{border-radius:29px}
.daily-adventure{background:linear-gradient(130deg,#E3F9F1,#F4FFFC)}
.buddy-panel{background:linear-gradient(135deg,#ECF1FF,#E7F8FF)}
.quick-card{border-radius:25px}
.quick-flash{--quick-bg:#E9F3FF}.quick-listen{--quick-bg:#E9F8FB}.quick-speak{--quick-bg:#EAF9F1}.quick-video{--quick-bg:#F1EDFF}
.more-main,.more-side{border-radius:27px}
@media(max-width:1140px){.play-carousel{grid-auto-columns:calc((100% - 28px)/3);gap:14px}}
@media(max-width:870px){.play-carousel{grid-auto-columns:calc((100% - 15px)/2);gap:15px}}
@media(max-width:730px){.play-hub-head h2{font-size:27px}.play-carousel-wrap{grid-template-columns:38px minmax(0,1fr) 38px;gap:5px}.play-carousel{grid-auto-columns:calc((100% - 12px)/1.18);gap:12px;padding-bottom:18px}.carousel-side{width:38px;height:38px;min-height:38px;border-radius:50%;align-self:center}.carousel-side span{font-size:32px;transform:translateY(-2px)}.play-art{margin:10px 10px 0;border-radius:22px}.play-detail{padding:14px 17px 17px;min-height:205px}.play-detail strong{font-size:19px}.play-tag{font-size:16px}.play-carousel-hint{font-size:16px}}
@media(max-width:390px){.play-carousel-wrap{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}.carousel-side{width:32px;height:32px;min-height:32px}.play-carousel{grid-auto-columns:calc((100% - 10px)/1.14);gap:10px}}
@media(prefers-reduced-motion:reduce){.play-card:hover,.play-card:hover .play-art img{transform:none}}

/* WordPlay 2.3 visual refinements - the hero selectors above are deliberately unchanged. */
:root{--wp-purple:#543bd4;--wp-purple-hover:#472dbb}
.play-hub,.quick-zone,.progress-zone,.more-zone,.video-zone{width:100%;max-width:100%;margin-left:0;margin-right:0}
.play-hub-head{margin-top:32px}
.play-carousel-wrap{display:block;position:relative;margin:0}
.play-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 1px 20px;scroll-padding:1px;scroll-behavior:smooth}
.play-card{border-radius:31px;min-height:438px;box-shadow:0 10px 24px rgba(38,59,115,.09);border:1px solid #e2eaf8;overflow:hidden}
.play-art{height:auto;aspect-ratio:12/7;flex:0 0 auto;border-radius:24px;overflow:hidden;margin:14px 14px 0;background:var(--play-bg)}
.play-art picture{display:block;width:100%;height:100%}.play-art img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block}
.play-detail{padding:15px 17px 18px;gap:5px;flex:1;align-items:flex-start}
.play-tag{font-size:15px;border-radius:10px;padding:5px 12px;background:#dff3ff;color:#227cd4;margin-bottom:5px;font-weight:850;letter-spacing:0}
.play-card:nth-child(4n+2) .play-tag{background:#d7f8eb;color:#118b77}
.play-card:nth-child(4n+3) .play-tag{background:#eae0ff;color:#6742cf}
.play-card:nth-child(4n+4) .play-tag{background:#fbe1f0;color:#c72b79}
.play-detail strong{font-size:21px;line-height:1.28;letter-spacing:-.35px;min-height:28px;color:#112553}
.play-desc{font-size:16px;min-height:49px;color:#687b9d;line-height:1.5;margin:2px 0 12px}
.play-link{min-height:52px;background:var(--wp-purple);color:#fff;border-radius:14px;font-size:17px;font-weight:850;padding:11px 16px}
.play-link:before{content:'▶';font-size:15px;margin-right:9px}
.play-link span{margin-left:auto;color:white}.play-card:hover .play-link{background:var(--wp-purple-hover)}
.carousel-side{position:absolute;top:45%;transform:translateY(-50%);z-index:3;width:48px;height:60px;min-width:48px;border-radius:32px;background:#fff;border:1px solid #e1e9f9;box-shadow:0 8px 20px #10285e1b}
.carousel-side:hover:not(:disabled){transform:translateY(-50%) scale(1.04)}
.carousel-side span{font-size:46px;margin-top:-4px;font-weight:300;color:#5a45d8}
.carousel-prev{left:-21px}.carousel-next{right:-21px}.play-carousel-hint{text-align:center}
.quick-zone{margin-top:40px}
.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.quick-card{min-height:250px;padding:16px 18px 21px;border-radius:27px;gap:4px;box-shadow:0 7px 18px rgba(45,77,140,.04);transition:transform .16s,box-shadow .16s}
.quick-icon{display:block;width:100%;max-width:none;height:132px;align-self:center;margin:0 auto 10px;border-radius:19px;overflow:hidden}
.quick-icon img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}
.quick-card strong{font-size:19px;line-height:1.3;letter-spacing:-.35px}
.quick-arr{top:19px;right:19px;z-index:2;color:#4874ce}
.quick-flash{--quick-bg:#e9f3ff}.quick-listen{--quick-bg:#e8faff}.quick-speak{--quick-bg:#e9f9f2}.quick-video{--quick-bg:#f1edff}
@media(max-width:1050px){.play-carousel{grid-auto-columns:calc((100% - 28px)/3);gap:14px}}
@media(max-width:850px){.play-carousel{grid-auto-columns:calc((100% - 14px)/2);gap:14px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-card{min-height:245px}}
@media(max-width:730px){.play-hub-head{margin-top:24px}.play-carousel{grid-auto-columns:82%;gap:12px;padding-bottom:18px}.play-card{min-height:414px;border-radius:27px}.play-art{margin:12px 12px 0;border-radius:21px}.play-detail{padding:13px 15px 16px}.carousel-side{width:36px;min-width:36px;height:48px;border-radius:24px}.carousel-side span{font-size:35px}.carousel-prev{left:-12px}.carousel-next{right:-12px}.quick-grid{gap:12px}.quick-card{min-height:215px;padding:11px 12px 16px}.quick-icon{height:105px;border-radius:17px}.quick-card strong{font-size:17px}}
@media(max-width:400px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-icon{height:90px}.quick-card{min-height:205px}.quick-card strong{font-size:16px}.play-detail strong{font-size:20px}}
/* Standalone topic gallery (not duplicated on home). */
.wp-topics{margin:40px 0}.wp-topics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.wp-topic-tile{border-radius:27px;background:#fff;border:1px solid #e8ecfa;min-height:178px;padding:17px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;box-shadow:0 9px 25px rgba(37,70,142,.07);font-size:18px;font-weight:850;text-align:center}
.wp-topic-tile img{display:block;width:120px;height:104px;object-fit:contain;object-position:center;border-radius:20px}
.wp-topic-tile:hover{transform:translateY(-3px);box-shadow:0 15px 32px #263e8629}
@media(max-width:850px){.wp-topics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:550px){.wp-topics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Original, lightweight custom 404; visually related to supplied cobalt reference. */
.wp-404{margin:25px 0 30px;background:#315af0;color:#fff;border-radius:30px;min-height:440px;padding:clamp(30px,6vw,72px);position:relative;overflow:hidden;display:flex;align-items:center;isolation:isolate}
.wp-404:before{content:'';position:absolute;inset:-20%;background:repeating-linear-gradient(152deg,transparent 0,transparent 80px,#173fbe35 82px,#173fbe35 84px,transparent 86px,transparent 155px);z-index:-1;transform:rotate(-7deg)}
.wp-404-copy{position:relative;z-index:2;max-width:450px}
.wp-404-copy h1{font-size:clamp(30px,5vw,54px);line-height:1.05;letter-spacing:-1.5px;margin:0 0 16px}
.wp-404-copy p{font-size:17px;line-height:1.6;color:#e0ebff;margin:0 0 25px}
.wp-404-link{display:inline-flex;align-items:center;background:white;color:#254aca;padding:14px 22px;border-radius:15px;font-size:17px;font-weight:850}
.wp-404-art{display:flex;gap:3px;position:absolute;right:4%;top:30%;transform:rotate(-13deg);font-weight:950;font-size:clamp(90px,14vw,220px);line-height:1;text-shadow:13px 18px 0 #0e259a40}
.wp-404-art span:first-child{color:#ffde57}.wp-404-art span:nth-child(2){color:#fff}.wp-404-art span:last-child{color:#ff785e}
@media(max-width:780px){.wp-404-art{opacity:.24;right:-22px;top:35%}.wp-404{min-height:390px}}
