:root{font-family:ui-rounded,'Avenir Next',system-ui,sans-serif;color:#283d35;background:#faf9f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d9e0d4;background:#fffef9;color:#354b3d;border-radius:12px;padding:12px 17px;font-weight:650;transition:transform .2s}button:hover{transform:translateY(-2px);background:#edf2e7}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c57e32;outline-offset:4px}.primary{background:#536e56;color:white;border-color:#536e56}.primary:hover{background:#3c5942}header{max-width:1320px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-size:32px;font-weight:800;color:#536e56;text-decoration:none}.brand small{font-size:9px;display:block;letter-spacing:2px;margin-top:3px}.brand>span{font-size:24px}main{max-width:1240px;margin:auto;padding:25px 30px}.intro{position:relative;margin-bottom:36px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#7c8466}h1{font-size:clamp(34px,4.2vw,56px);letter-spacing:-2px;line-height:1.12;margin:15px 0}h1 em{font-style:normal;color:#78916a}.intro p{color:#788076;font-size:16px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:26px}.player-card{border:1px solid #e1e4d9;border-radius:24px;background:white;padding:12px;box-shadow:0 12px 35px #33483405}.player{aspect-ratio:16/10;background:#edf1e5;position:relative;border-radius:16px;overflow:hidden;display:grid;place-items:center}video{width:100%;height:100%;position:absolute;object-fit:contain;background:#1d3028}video:not([src]){visibility:hidden}#empty{text-align:center;padding:20px}#empty h2{font-size:24px;margin:5px 0}#empty p{font-size:14px;line-height:1.7;color:#697662}.landscape{font-size:60px;height:120px;color:#d9ad51;position:relative}.landscape span{display:inline-block;font-size:82px;vertical-align:bottom;margin-left:15px}.transport{display:flex;gap:12px;align-items:center;padding:16px 5px}.transport button{font-size:12px;padding:10px}.transport span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#788076;font-size:12px}.progress{height:4px;background:#edf1e7;border-radius:4px;overflow:hidden}.progress span{display:block;height:100%;width:0;background:#88a16f}.under{display:flex;justify-content:space-between;font-size:10px;color:#7c8678;gap:10px;padding:14px 5px 6px}.buddy-card{background:#edf0e4;border-radius:24px;text-align:center;padding:25px 20px}.pill{display:inline-block;background:#ffffff90;border-radius:20px;padding:7px 12px;font-size:9px;letter-spacing:1.5px;color:#728066;font-weight:750}.buddy{width:142px;height:158px;background:#9db784;border-radius:46% 46% 44% 44%;margin:43px auto 25px;position:relative;box-shadow:inset -12px -10px #89a474;animation:bob 3s ease-in-out infinite}.leaf{position:absolute;width:32px;height:43px;border-radius:100% 0 100% 0;background:#617e50;top:-28px;left:74px;transform:rotate(20deg)}.eyes{position:absolute;top:54px;left:36px;font-size:15px;color:#30452c}.smile{position:absolute;top:72px;left:60px;font-size:32px}.cheek{width:23px;height:12px;border-radius:50%;background:#d9a88c;position:absolute;top:88px;opacity:.7}.left{left:16px}.right{right:16px}.buddy-card h2{font-size:22px;margin:0}.buddy-card p{font-size:14px;line-height:1.8;color:#697762;min-height:50px}.stars{padding:16px 0 0;border-top:1px solid #d9dfcf;font-size:12px;color:#748069}.stars span{color:#b68a40;font-size:24px;margin-right:8px}.stars strong{color:#3f5738}.note{display:flex;gap:13px;padding:24px 10px;font-size:13px}.note>span{font-size:25px}.note p{color:#7c8474;line-height:1.6;font-size:12px}footer{display:flex;justify-content:space-between;color:#8b9284;font-size:11px;padding:30px 0}#prompt{position:relative;z-index:2;background:#fffef7f5;border:1px solid #fff;border-radius:22px;text-align:center;padding:23px;width:90%;box-shadow:0 15px 60px #152d2930}#prompt h2{font-size:18px;margin:9px}#word{font-size:clamp(40px,6vw,68px);font-weight:750;letter-spacing:2px;color:#486a4a;overflow-wrap:anywhere}#message{font-size:14px;color:#68775c;min-height:35px}.actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px 0}.actions button{font-size:13px}.text{background:transparent;border:none;font-size:12px;text-decoration:underline}.challenging video{filter:grayscale(1) brightness(.5)}dialog{border:1px solid #dbe2d3;border-radius:24px;padding:28px;max-width:690px;width:calc(100% - 30px);color:#344936;background:#fffef9}dialog::backdrop{background:#19332685;backdrop-filter:blur(4px)}#gate{max-width:400px}dialog h2{margin:8px 0;font-size:27px}dialog p{font-size:14px;line-height:1.6;color:#6d7969}.dialog-head{display:flex;justify-content:space-between;gap:10px}label{display:block;margin-top:20px;font-size:14px;font-weight:650}input:not([type=checkbox]),textarea,select{display:block;width:100%;padding:12px;border:1px solid #cdd7c4;border-radius:9px;background:white;color:#344936;margin-top:8px}input[type=checkbox]{accent-color:#536e56;width:18px;height:18px;flex-shrink:0}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.7}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.help{font-size:12px!important}.privacy{background:#edf1e7;padding:18px;border-radius:14px;margin-top:22px}.privacy strong{font-size:14px}.privacy p{font-size:12px}#save-error,#gate-error{color:#a34230}[hidden]{display:none!important}@keyframes bob{50%{transform:translateY(-8px) rotate(2deg)}}.calm *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.buddy{width:120px;height:134px;margin-top:35px}.buddy-card{padding:18px}.note{align-self:center}.intro{margin-bottom:25px}#prompt{padding:16px}.player{min-height:380px;aspect-ratio:auto}header{padding:22px}main{padding:15px 18px}.under{font-size:9px}}@media(max-width:480px){header{padding:18px 15px}.brand>span{font-size:19px}.brand small{font-size:7px}header button{font-size:11px;padding:10px}aside{grid-template-columns:1fr}.note{padding:10px}.buddy-card{display:flex;flex-direction:column;align-items:center}.buddy{margin:35px auto 18px}.player{min-height:430px}.under span:last-child{display:none}.fields{grid-template-columns:1fr}.transport{flex-wrap:wrap}footer{gap:20px;font-size:10px}}

.player.youtube-mode{display:grid;place-items:center;aspect-ratio:16/10;min-height:440px;background:#edf1e5}
.youtube-mode #youtube-slot{position:absolute;inset:0;width:100%;height:100%}
.youtube-mode iframe{display:block;width:100%;height:100%;border:0}
.player.challenging{min-height:460px;isolation:isolate}
.player.challenging::before{content:"";position:absolute;inset:0;background:#152a25a8;backdrop-filter:blur(5px);z-index:1}
.player.challenging #youtube-slot,.player.challenging video{pointer-events:none;user-select:none;filter:grayscale(.8) brightness(.55)}
.player.challenging #prompt{position:relative;z-index:2;width:calc(100% - 36px);margin:18px;max-width:650px;max-height:calc(100% - 36px);overflow:auto;background:#fffef9;box-shadow:0 18px 65px #0a1e2a50}
@media(max-width:600px){.player.youtube-mode{min-height:300px}.player.challenging{min-height:510px}.player.challenging #prompt{width:calc(100% - 24px);margin:12px;padding:20px 14px}.player.challenging #word{font-size:52px}.player.challenging .actions{gap:8px}}

/* YouTube is display-only: all playback is controlled by Buddy Learns. */
#youtube-slot,#youtube-slot iframe{pointer-events:none;user-select:none;-webkit-user-select:none}

.heard{font-size:13px;color:#496d53;min-height:18px;margin:8px 0}#mic-level{display:block;width:100%;height:22px}#recognition-status{overflow-wrap:anywhere}

/* Original composition with less space above the activity. */
header{padding-top:14px;padding-bottom:12px}
main{padding-top:6px}
.intro{margin-bottom:18px}
.intro h1{font-size:clamp(32px,3.4vw,46px);margin:8px 0 10px}
.intro p{margin:8px 0 0;font-size:15px}
footer{padding:16px 0}
#prompt .heard:empty{display:none}
#prompt .actions button{min-height:42px}
@media(max-width:850px){header{padding-top:12px;padding-bottom:10px}main{padding-top:4px}.intro{margin-bottom:16px}.intro h1{font-size:34px}}
@media(max-width:480px){.intro h1{font-size:30px}.intro p{font-size:13px}}

@media(min-width:851px){.intro h1{font-size:clamp(30px,3.4vw,46px);white-space:nowrap;letter-spacing:-1.5px}}

.letter-choices{display:flex;justify-content:center;gap:14px;margin:18px 0}.letter-choices button{font-size:36px;min-width:64px;min-height:64px;border:2px solid #bdcdb1}.sound-options{display:flex;gap:24px;flex-wrap:wrap}.sound-options .check{font-size:22px;margin-top:8px}#phonics-help{font-size:12px;line-height:1.5;color:#718366}#letter-choices:not([hidden])~.help{margin:6px 0}@media(max-width:480px){.letter-choices{gap:8px}.letter-choices button{font-size:28px;min-width:50px;min-height:54px;padding:8px}}
