/*
Theme Name: Ms Jillian ABC Classroom
Description: Professional daycare website and four-wall classroom discovery game.
Version: 1.0.11
Author: Ms Jillian ABC
Text Domain: ms-jillian-abc
Requires PHP: 7.4
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@400;500;600&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#233951;background:#fcfcf8;font-size:16px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #f0a530;outline-offset:4px}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #e8ebe8}.brand{text-decoration:none;color:#233951;display:flex;gap:13px;align-items:center;font-family:Fredoka,sans-serif;font-size:26px;font-weight:500}.brand-sub{display:block;font:600 10px 'DM Sans';letter-spacing:1.6px;margin-top:5px}.abc{display:flex;transform:rotate(-5deg);gap:2px}.abc b{font-size:23px;display:grid;place-items:center;width:31px;height:35px;border-radius:7px;color:white;background:#ec6b58;box-shadow:0 3px 0 #c94f3e}.abc b:nth-child(2){background:#f3bf3a;box-shadow:0 3px 0 #d4a025;transform:translateY(-5px)}.abc b:nth-child(3){background:#3878c6;box-shadow:0 3px 0 #215993}nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:600}.contact{border:1px solid #233951;border-radius:100px;padding:12px 20px}main{max-width:1500px;margin:auto;padding:30px 5% 28px}.intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#577068}h1{font:500 44px/1.03 Fredoka,sans-serif;margin:12px 0 0}h1 br{display:none}h1 em{font-style:normal;color:#39806b}.intro p{font-size:15px;line-height:1.6;margin:0;color:#63726d}.playground{position:relative;border:1px solid #dce5df;background:#dfeae4;border-radius:24px;overflow:hidden;height:560px}#scene{height:100%;width:100%;touch-action:none}#scene canvas{display:block}#loading{position:absolute;inset:0;display:grid;place-items:center}.scene-label{position:absolute;top:24px;left:25px;font-size:10px;font-weight:700;letter-spacing:1.6px;display:flex;align-items:center;gap:9px;pointer-events:none}.live-dot{width:7px;height:7px;background:#388364;border-radius:50%}.season{margin-left:8px;border-left:1px solid #a4b9ad;padding-left:14px;color:#6b7b69}.view-controls{position:absolute;top:20px;right:20px;display:flex;gap:5px}.view-controls button{width:36px;height:36px;background:#fffdf9;border-radius:50%;font-size:23px;box-shadow:0 2px 7px #26453b15}.hint{position:absolute;bottom:137px;left:0;right:0;text-align:center;font-size:12px;color:#60736c;pointer-events:none}.challenge{position:absolute;bottom:17px;left:17px;right:17px;background:#fffef9;border-radius:16px;padding:21px 25px;display:flex;align-items:center;gap:17px;box-shadow:0 7px 24px #18362912}.guide{background:#ffdc75;color:#806422;border-radius:20px;font-size:42px;width:62px;height:62px;display:grid;place-items:center;transform:rotate(-5deg)}.challenge-copy{flex:1}.challenge-copy .eyebrow{color:#b18231;font-size:10px}h2{font:500 26px Fredoka;margin:6px 0}.challenge p{font-size:14px;color:#65756b;margin:4px 0 0}#speak{font-size:24px;width:40px;height:40px;border-radius:50%;background:#f1f4ec}#next{background:#2d705b;color:white;border-radius:10px;padding:13px 19px;font-size:14px;font-weight:600}.score{border-left:1px solid #e4e8df;padding-left:20px;font-size:24px;color:#e5ae2b;white-space:nowrap}.score span{color:#233951}.below{display:flex;justify-content:space-between;margin-top:25px;gap:15px}.game-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.game-buttons button{border:1px solid #e0e6df;padding:9px 14px;border-radius:9px;font-size:14px;background:white}.game-buttons button.selected{background:#e3eee7;color:#28634f;border-color:#b7d1bf}.small-note{display:flex;flex-direction:column;justify-content:center;gap:5px;font-size:12px;color:#77867c;text-align:right;flex-shrink:0}.small-note button{text-decoration:underline;font-size:13px}dialog{border:0;border-radius:22px;padding:40px;max-width:530px;width:calc(100% - 30px);box-shadow:0 20px 100px #17352930;color:#233951}dialog::backdrop{background:#19382a66;backdrop-filter:blur(5px)}dialog h2{font-size:35px;margin:16px 0}dialog p,dialog li{line-height:1.7}dialog .close{position:absolute;right:16px;top:12px;font-size:30px}#toast{position:fixed;top:120px;left:50%;transform:translateX(-50%);background:#243e31;color:white;padding:13px 22px;border-radius:50px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}.object-list{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.object-list button{background:#eff4ed;border-radius:8px;padding:9px;font-size:14px} .photo-note{background:#edf4ed;border-radius:12px;padding:18px}@media(max-width:850px){header{padding:18px 5%;height:auto;gap:20px;align-items:flex-start}nav{gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:55%;font-size:12px}nav button{padding:5px}.contact{padding:6px 12px}main{padding-top:25px}h1{font-size:36px}h1 br{display:block}.intro p{max-width:40%;font-size:13px}.playground{height:590px}.scene-label{font-size:9px;top:20px;left:15px}.season{display:none}.view-controls{top:48px;right:12px}.challenge{gap:9px;padding:15px;flex-wrap:wrap}.guide{width:42px;height:42px;font-size:30px;border-radius:13px}.challenge-copy{min-width:190px}.challenge h2{font-size:22px}.challenge p{font-size:12px}.challenge .eyebrow{font-size:8px}.score{margin-left:auto}.hint{bottom:163px;font-size:10px}.below{flex-direction:column}.small-note{text-align:left}.brand{font-size:22px}.brand-sub{font-size:8px}.abc b{width:24px;height:29px;font-size:19px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.family-info{margin-top:65px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;padding:42px 0;border-top:1px solid #dce5df}.family-info h2{font-size:34px}.family-info h3{font:500 25px Fredoka}.family-info p{line-height:1.7;color:#63726d}.family-info article{padding:25px;background:#f1f4eb;border-radius:18px}.family-info article:last-child{background:#fff1d5}.family-info article>span{font-size:12px;font-weight:700;letter-spacing:1px}.family-info button{font-weight:700;font-size:14px;text-decoration:underline;padding:8px 0}footer{padding:25px 5%;border-top:1px solid #e0e6df;display:flex;gap:25px;align-items:center;font-size:14px}footer span{flex:1;color:#63726d}#sound{border:1px solid #dce5df;border-radius:8px;padding:9px;font-size:12px;white-space:nowrap}.object-access{float:right;font-size:12px;text-decoration:underline}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td{padding:12px;border-bottom:1px solid #e3e8de;line-height:1.5}td:first-child{font-weight:700;width:32%}.note{background:#f4ecd8;padding:15px;border-radius:10px}.preserve{white-space:pre-line}dialog{max-width:730px;max-height:85vh;overflow:auto}.brand-sub,.scene-label,.challenge-copy .eyebrow{font-size:11px}.challenge .eyebrow{font-size:10px}@media(max-width:850px){.family-info{grid-template-columns:1fr;gap:18px;margin-top:40px}.family-info article{padding:20px}footer{flex-wrap:wrap}.challenge{padding:13px;gap:8px}.challenge-copy{min-width:170px}#sound{font-size:11px}.brand-sub{font-size:9px}dialog{padding:30px 22px}.game-buttons button{min-height:44px}.view-controls button{width:40px;height:40px}.intro p{font-size:14px}}

.confetti{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}.confetti i{position:absolute;left:var(--x);top:-25px;width:11px;height:17px;border-radius:3px;animation:confetti-drop 1.7s var(--d) ease-in forwards}@keyframes confetti-drop{to{transform:translateY(100vh) rotate(var(--r));opacity:.15}}@media(prefers-reduced-motion:reduce){.confetti i{animation:none;top:15%;opacity:.8}.confetti{height:130px}}

#view{width:auto;font-size:13px;padding:0 14px;border-radius:20px}.level-label{display:block;margin-bottom:18px;font-size:14px;font-weight:600}.level-label select{font:inherit;color:#233951;border:1px solid #cad8cf;border-radius:8px;padding:9px;margin-left:10px;background:white}.hint{background:#ffffffbb;width:max-content;max-width:90%;margin:auto;border-radius:20px;padding:6px 12px}.playground{height:640px}.view-controls{flex-wrap:wrap;justify-content:flex-end;max-width:55%}@media(max-width:850px){.playground{height:650px}.level-label select{max-width:75%}.scene-label{top:16px}.view-controls{max-width:80%;top:42px}.hint{bottom:190px}.challenge-copy{min-width:190px}.score{padding-left:12px}}

#music{font-size:12px;background:#fff1cf;padding:9px;border-radius:8px;max-width:130px}.adventure-strip{padding:30px;border-radius:20px;background:#e6edf4;display:flex;align-items:center;justify-content:space-between;gap:25px}.adventure-strip button{border:1px solid #9eb2c4;border-radius:12px;padding:13px;font-size:14px}.adventure-list{display:grid;gap:14px}.adventure-list article{background:#eef3ea;padding:20px;border-radius:12px}.adventure-list article h3{margin-top:0}.adventure-list article span{font-size:12px;color:#587565}.challenge{gap:12px}.challenge-copy{min-width:200px}@media(max-width:850px){.adventure-strip{flex-direction:column;align-items:flex-start}.challenge{gap:7px}#music{font-size:11px;max-width:115px}.hint{bottom:215px}}

.page-info{max-width:850px;margin:25px auto 45px;padding:32px;background:#f1f4eb;border-radius:20px}.page-info p,.page-info li{line-height:1.7}.page-info h1{font-size:38px}.page-info h2{margin-top:25px}.page-info .back-link{font-size:14px;font-weight:700}a[data-panel]{color:inherit;text-decoration:none;font:inherit;cursor:pointer}.contact[data-panel]{display:inline-block}nav a{padding:8px 0}nav a.contact{padding:12px 20px}#monthly-notes{white-space:pre-line}@media(max-width:850px){nav a.contact{padding:7px 12px}.page-info{padding:24px}.page-info h1{font-size:30px}}
nav a{color:#233951;text-decoration:none;font-weight:600}nav a:hover{color:#39806b}nav a:focus-visible{outline:3px solid #f0a530;outline-offset:4px}#gdl-publish-guide{display:none!important}@media(max-width:600px){header{flex-direction:column;align-items:stretch;gap:16px}.brand{font-size:25px}.brand-sub{font-size:10px}nav{max-width:none;justify-content:flex-start;gap:10px 18px;font-size:14px}nav a{padding:7px 0}.intro{display:block}.intro p{max-width:none;margin-top:15px}.intro h1{font-size:34px}.intro h1 br{display:none}.view-controls{max-width:90%}.challenge{left:10px;right:10px}.challenge .guide{display:grid;width:42px;height:42px;font-size:27px;flex-shrink:0}.challenge-copy{flex-basis:calc(100% - 55px);min-width:0}.hint{font-size:11px}.page-info h1{font-size:30px}}

.laminated-example{margin:30px 0}.laminated-frame{overflow:hidden;border-radius:15px;border:1px solid #d6ddd3;background:#eee8db}.laminated-frame img{display:block;width:100%;height:auto}.laminated-frame.landscape-rotate{aspect-ratio:4/3;position:relative}.landscape-rotate img{position:absolute;width:75%;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-90deg)}.laminated-example figcaption{font-size:14px;line-height:1.5;color:#5b7062;margin-top:12px}.music-library{display:grid;gap:18px;margin:25px 0}.music-library article{border:1px solid #d9e2d4;border-radius:14px;padding:18px;background:#fffef9}.music-library h2{font-size:25px;margin:0 0 15px}.music-library audio{width:100%;display:block}.page-info{max-width:1000px}.page-info>h2{margin-top:32px}
.fresh-poster{margin:30px 0;background:white;border:1px solid #ded7bc;padding:10px;border-radius:16px;box-shadow:0 10px 30px #24384a12}.fresh-poster img{display:block;width:100%;height:auto}.fresh-poster figcaption,.poster-caption{font-size:14px;color:#526354;padding:12px}.puppet-link{display:inline-flex;align-items:center;gap:12px;padding:12px 22px;border-radius:20px;background:#e4edd9;font-weight:700;color:#2f6348;text-decoration:none}.puppet-link img{width:80px;height:80px;object-fit:contain}.puppet-stage{text-align:center;padding:24px;border-radius:24px;background:radial-gradient(circle,#fff7db,#dfead7)}.puppet-stage img{width:min(420px,90%);height:380px;object-fit:contain}.puppet-stage button{font-size:26px}.puppet-stage .roaring{animation:puppet-roar .6s ease-in-out 2}@keyframes puppet-roar{50%{transform:rotate(-7deg) scale(1.08)}}@media(prefers-reduced-motion:reduce){.puppet-stage .roaring{animation:none}}
.puppet-stage{position:relative;overflow:hidden}.puppet-confetti{position:absolute;top:10px;font-size:24px;pointer-events:none;animation:puppet-fall 1.5s ease-in forwards}@keyframes puppet-fall{to{transform:translateY(550px) rotate(360deg);opacity:0}}@media(prefers-reduced-motion:reduce){.puppet-confetti{animation:none;top:50%}}
.puppet-stage button{background:#2f6e50;color:white;padding:15px 24px;border-radius:50px;margin:8px;font-weight:700;border:2px solid transparent}.puppet-stage button:disabled{opacity:.45}.puppet-stage button:focus-visible{outline:3px solid #efaa32;outline-offset:3px}.puppet-stage [role=status]{font-size:25px;min-height:40px}.puppet-stage [hidden]{display:none!important}footer a{color:inherit;text-decoration:none}

/* Illustrated storybook information pages */
body:not(.home){background:#fff8e9}body:not(.home) .page-info{max-width:1160px;padding:36px 28px 60px;margin:auto}body:not(.home) .page-info>h1{font-size:clamp(32px,5vw,58px);color:#305b48;margin:20px 0 28px}.story-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:38px;align-items:center;margin:16px 0 38px;background:#fffdf5;border:2px solid #dfcda2;border-radius:24px;padding:20px;box-shadow:0 8px 0 #eddcb7}.story-hero img{width:100%;display:block;border-radius:15px;aspect-ratio:1.48;object-fit:cover}.story-hero h2{font-size:clamp(29px,4vw,44px);line-height:1.12;color:#954534;margin:18px 0}.story-hero p{font-size:19px;line-height:1.65}.story-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0}.story-cards article,.songbook article{padding:26px;background:#fffdf5;border:2px solid #ddc79b;border-radius:20px}.story-cards article:nth-child(2){background:#edf4de}.story-cards article:nth-child(3){background:#ffeddc}.story-cards h2{font-size:25px;color:#375c46;margin-top:0}.page-info p{line-height:1.75}.page-info .fresh-poster{padding:16px;background:white;border:2px solid #d9c291;border-radius:20px;margin:24px auto 42px;max-width:1050px}.page-info .fresh-poster img{width:100%;height:auto;display:block}.page-info:has(.story-hero img[src*="story-day.jpg"]) .fresh-poster{max-width:760px}.songbook{display:grid;grid-template-columns:1fr 1fr;gap:20px}.songbook audio{width:100%}.story-button{display:inline-block;background:#315c47;color:white!important;border-radius:30px;padding:13px 23px;text-decoration:none;margin:8px}.coming{display:inline-block;font-weight:bold;font-size:13px;color:#865237;background:#ffe7bb;border-radius:12px;padding:7px 12px}header nav{flex-wrap:wrap;gap:14px!important}@media(max-width:760px){.story-hero,.story-cards,.songbook{grid-template-columns:1fr}.story-hero{gap:12px;padding:14px}.story-hero img{aspect-ratio:1.3}body:not(.home) .page-info{padding:24px 16px 45px}.story-cards{gap:14px}}

.puppet-character{position:relative;width:min(420px,90%);height:380px;margin:auto}.puppet-stage .puppet-character img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.puppet-character .puppet-closed{opacity:1}.puppet-character .puppet-open{opacity:0}.puppet-character.roaring .puppet-closed{animation:puppet-mouth-closed 1.8s steps(1,end) forwards}.puppet-character.roaring .puppet-open{animation:puppet-mouth-open 1.8s steps(1,end) forwards}@keyframes puppet-mouth-open{0%,12%,42%,72%,100%{opacity:0}4%,20%,50%,80%{opacity:1}}@keyframes puppet-mouth-closed{0%,12%,42%,72%,100%{opacity:1}4%,20%,50%,80%{opacity:0}}@media(prefers-reduced-motion:reduce){.puppet-character.roaring .puppet-closed{animation:none;opacity:0}.puppet-character.roaring .puppet-open{animation:none;opacity:1}}

.page-info:has(img[src*="story-adventures"]) .story-cards{grid-template-columns:repeat(2,1fr)}@media(max-width:760px){.page-info:has(img[src*="story-adventures"]) .story-cards{grid-template-columns:1fr}}

/* Bright song players, with familiar accessible playback controls. */
.songbook article,.music-library article{--song-color:#bd493f;--song-tint:#ffe4d8;background:var(--song-tint);border:3px solid var(--song-color);box-shadow:0 6px 0 color-mix(in srgb,var(--song-color) 25%,transparent);position:relative;padding-top:24px}.songbook article:nth-child(5n+2),.music-library article:nth-child(5n+2){--song-color:#356c9e;--song-tint:#dceffc}.songbook article:nth-child(5n+3),.music-library article:nth-child(5n+3){--song-color:#54803d;--song-tint:#e4f2cf}.songbook article:nth-child(5n+4),.music-library article:nth-child(5n+4){--song-color:#78518d;--song-tint:#eee0f7}.songbook article:nth-child(5n+5),.music-library article:nth-child(5n+5){--song-color:#a46a18;--song-tint:#fff0bd}.songbook article h2,.music-library article h2{color:var(--song-color);display:flex;align-items:center;gap:12px;font-size:25px}.songbook article h2:before,.music-library article h2:before{content:'♫';display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--song-color);color:white;flex-shrink:0}.songbook audio,.music-library audio{display:block;width:100%;border-radius:30px;border:2px solid var(--song-color);background:var(--song-tint);accent-color:var(--song-color);box-shadow:0 3px 10px #24384a12}.songbook audio::-webkit-media-controls-panel,.music-library audio::-webkit-media-controls-panel{background:var(--song-tint)}.songbook audio:focus-visible,.music-library audio:focus-visible{outline:3px solid var(--song-color);outline-offset:4px}#music{background:#ffe08c;color:#563e17;border:2px solid #d89729;box-shadow:0 3px 0 #d8972938}#music[aria-pressed="true"]{background:#d7efc2;color:#315d35;border-color:#598343}#sound,#speak{background:#e1eafa;border-color:#7292bb;color:#304d76}

footer a[href^="tel:"]{font-weight:700;color:#315c47;white-space:nowrap}
