/* Learn with Mithu. Matches the design canvas "Learn with Mithu Screens".
   Child screens: a full-height stage, one task at a time, big round controls (74–112 px).
   Parent screens: calm navy and white. Type: Bricolage Grotesque (display), Instrument Sans (UI),
   Andika (reading text), Noto Sans Devanagari (Hindi). TV mode: html.tv (large screens or ?tv=1). */
:root{
  --ink:#14213d; --ink-2:#3d4a66; --ink-3:#4a5672; --line:#dbe3ef; --sky:#e6f2ff;
  --sun:#ffc93c; --leaf:#2bb673; --leaf-dark:#17844f; --leaf-ink:#147a4a; --coral:#ff6b4a; --coral-ink:#c2410c; --word:#e2502f;
  --orange:#f07a1a; --navy:#0b1b3a;
  --c:#ff6b4a; --c-dark:#d6492b; --c-bg:#ffe7df; --c-edge:#f0c4b6; --c-ink:#6b3a2c;
  --f-display:"Bricolage Grotesque",system-ui,sans-serif;
  --f-ui:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-read:"Andika",system-ui,sans-serif;
  --f-hi:"Noto Sans Devanagari","Andika",sans-serif;
  --f-emoji:"Noto Color Emoji","Apple Color Emoji","Segoe UI Emoji",sans-serif;
}
.s-en{--c:#ff6b4a;--c-dark:#d6492b;--c-bg:#ffe7df;--c-edge:#f0c4b6;--c-ink:#6b3a2c}
.s-hi{--c:#ff9f1c;--c-dark:#d97f00;--c-bg:#fff0d9;--c-edge:#f2d3a3;--c-ink:#6b4300}
.s-ro{--c:#13a89e;--c-dark:#0b8178;--c-bg:#dcf5f2;--c-edge:#a9dcd6;--c-ink:#0d5c56}
.s-fr{--c:#3a86ff;--c-dark:#1f62d1;--c-bg:#e1ecff;--c-edge:#b8cdf2;--c-ink:#1e3f7a}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:var(--f-ui);color:var(--ink);background:var(--sky);font-size:17px;line-height:1.45}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:4px solid var(--sun);outline-offset:3px}
.emo{font-family:var(--f-emoji);font-style:normal;line-height:1}
.hi-text{font-family:var(--f-hi)!important}
svg{display:block}

/* Round buttons */
.rb{width:74px;height:74px;border-radius:50%;border:0;background:#fff;color:var(--ink);display:grid;place-items:center;box-shadow:0 6px 0 var(--c-edge);flex:none;transition:transform .08s}
.rb:active{transform:translateY(4px);box-shadow:0 2px 0 var(--c-edge)}
.rb.sm{width:54px;height:54px;box-shadow:0 5px 0 var(--c-edge)}
.rb.go{width:104px;height:104px;background:var(--leaf);color:#fff;box-shadow:0 7px 0 var(--leaf-dark)}
.rb:disabled{opacity:.45;box-shadow:none;cursor:default}
.pill-btn{border:0;background:#fff;border-radius:99px;padding:12px 16px;font-weight:700;font-size:15px;box-shadow:0 5px 0 var(--c-edge)}
.stars{background:#fff;border-radius:99px;padding:7px 12px;font-family:var(--f-display);font-weight:700;font-size:18px;white-space:nowrap}

/* ================= PARENT ================= */
.login{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr;background:var(--navy)}
.login-art{color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.login-art .bird{font-size:92px}
.login-art h1{font-family:var(--f-display);font-weight:800;font-size:clamp(40px,5vw,64px);line-height:1;margin:0;letter-spacing:-.02em}
.login-art p{margin:0;font-size:18px;color:#c7d2e6;max-width:34ch}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips span{border:1px solid #3a4d74;border-radius:99px;padding:4px 12px;font-size:14px;font-weight:600}
.login-form{background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:40px 28px}
.login-form form{display:flex;flex-direction:column;gap:14px;width:min(400px,100%)}
.login-form h2{font-family:var(--f-display);font-size:28px;margin:0}
.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px}
.field input,.field select{font-weight:400;border:1.5px solid #d3dcea;border-radius:12px;padding:13px 14px;background:#fff}
.cta{border:0;border-radius:14px;padding:15px 18px;background:var(--orange);color:var(--navy);font-weight:700;font-size:18px}
.link{background:none;border:0;color:var(--coral-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:4px}
.small{font-size:13px;color:var(--ink-3);margin:0;line-height:1.4}

.p-shell{min-height:100%;background:#f4f6fa}
.p-top{background:var(--navy);color:#fff;padding:14px max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left));display:flex;align-items:center;gap:10px}
.p-top .brand{font-family:var(--f-display);font-weight:700;font-size:20px;flex-grow:1;display:flex;align-items:center;gap:10px}
.p-top .brand .emo{font-size:26px}
.p-top button{background:none;border:1px solid #3a4d74;color:#fff;border-radius:10px;padding:6px 12px;font-weight:600}
.p-wrap{max-width:1080px;margin:0 auto;padding:22px max(20px,env(safe-area-inset-right)) 48px max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:16px}
.p-wrap h1{font-family:var(--f-display);font-size:30px;margin:0;letter-spacing:-.015em}
.p-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-items:start}
.p-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:14px}
.kid{display:flex;align-items:center;gap:12px}
.kid .av{width:58px;height:58px;border-radius:18px;background:var(--sky);display:grid;place-items:center;font-size:36px;flex:none}
.kid b{font-family:var(--f-display);font-size:22px;display:block}
.kid small{font-size:14px;color:var(--ink-3)}
.kid .badge{margin-left:auto;background:#fff4d1;border-radius:99px;padding:4px 10px;font-weight:700;font-size:15px;white-space:nowrap}
.bar{display:grid;grid-template-columns:78px 1fr 44px;gap:10px;align-items:center;font-size:15px}
.bar .t{height:10px;border-radius:99px;background:#eef1f6;overflow:hidden}
.bar .t i{display:block;height:100%;border-radius:99px;background:var(--c)}
.bar b{text-align:right;font-variant-numeric:tabular-nums}
.stk{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-3)}
.stk .emo{font-size:24px;letter-spacing:2px}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center;font-size:12px;color:var(--ink-3)}
.week div{display:flex;flex-direction:column;gap:4px;align-items:center}
.week span{width:28px;height:28px;border-radius:50%;background:#dfe6f0}
.week span.on{background:var(--leaf)} .week span.later{background:none;border:2px dashed #9fb0c9}
.week span.today{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--orange)}
.addbtn{border:1.5px dashed #9fb0c9;background:transparent;border-radius:16px;padding:14px;font-weight:600;color:var(--ink-2)}
.ghost{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 14px;font-weight:600;color:var(--ink-2);align-self:flex-start}
.ghost.warn{border-color:var(--coral);color:var(--coral-ink)}
.proto{background:#fff7e0;color:#7a5600;border:1px solid #f1dc8f;border-radius:10px;padding:8px 12px;font-size:14px}

/* ================= CHILD STAGE ================= */
.stage{position:relative;height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px;padding:14px max(16px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:var(--c-bg);overflow:hidden}
.stage.home{background:var(--sky);grid-template-rows:auto minmax(0,1fr) auto}
.stage.map{height:auto;min-height:100dvh;overflow:visible;display:block;padding:0}
.top{display:flex;align-items:center;gap:10px}
.top .ttl{flex-grow:1;min-width:0;line-height:1.15}
.top .ttl b{font-family:var(--f-display);font-size:20px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .ttl span{font-size:14px;color:var(--c-ink);font-weight:600}
.av-round{width:54px;height:54px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:32px;flex:none}
.seg{display:flex;gap:5px}
.seg a{flex:1;display:flex;flex-direction:column;gap:5px;align-items:center;text-decoration:none;font-size:12px;font-weight:700;color:var(--c-ink)}
.seg a i{width:100%;height:12px;border-radius:99px;background:rgba(255,255,255,.8)}
.seg a.done{color:var(--leaf-ink)} .seg a.done i{background:var(--leaf)}
.seg a.on{color:var(--coral-ink)} .seg a.on i{background:var(--c);box-shadow:0 0 0 3px #fff}
.seg a span{display:none}
.main{min-height:0;position:relative;display:flex;flex-direction:column}
.guide{display:flex;align-items:flex-end;gap:8px;min-height:64px}
.guide .bird{font-size:46px;background:none;border:0;padding:0;animation:bob 2.6s ease-in-out infinite}
.guide .bubble{background:#fff;border-radius:18px 18px 18px 6px;padding:8px 12px;font-weight:600;font-size:15px;margin-bottom:18px;max-width:300px;box-shadow:0 6px 18px rgba(20,33,61,.08)}
.guide.talk .bird{animation:hop .45s ease-in-out infinite}
.dock{display:flex;align-items:center;justify-content:center;gap:22px}
@keyframes bob{50%{transform:translateY(-6px)}}
@keyframes hop{50%{transform:translateY(-12px) rotate(-6deg)}}
@keyframes pulse{50%{transform:scale(1.06)}}

/* Child home */
.hello-title{font-family:var(--f-display);font-weight:800;font-size:clamp(30px,6vw,52px);line-height:1.05;text-align:center;margin:6px 0 14px}
.home-body{display:flex;flex-direction:column;gap:16px;min-height:0;overflow:auto;align-items:center}
.worlds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(860px,100%)}
.world{border:0;border-radius:28px;background:var(--c);color:#fff;padding:18px 10px 14px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 7px 0 var(--c-dark);transition:transform .1s}
.world:active{transform:translateY(4px);box-shadow:0 3px 0 var(--c-dark)}
.world.s-hi{color:#3b2300}
.world .emo{font-size:60px}
.world b{font-family:var(--f-display);font-size:23px}
.world .wt{width:78%;height:9px;border-radius:99px;background:rgba(255,255,255,.38);overflow:hidden}
.world .wt i{display:block;height:100%;background:#fff}
.world small{font-size:13px;font-weight:700}
.world.soon{background:transparent;border:2.5px dashed #a9c1e3;color:var(--ink-3);box-shadow:none;cursor:default}
.world.soon .emo{opacity:.55}
.book{color:var(--ink);background:#fff;border-radius:22px;padding:12px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 0 #c9d6e8;width:min(860px,100%)}
.book b{font-size:15px;flex-grow:1}
.book .emo{font-size:28px;letter-spacing:3px}
.book .slot{width:34px;height:34px;border-radius:10px;border:2px dashed #a9c1e3;flex:none}
.lock{position:relative;overflow:hidden;color:var(--ink-3)}
.lock .fill{position:absolute;inset:auto 0 0 0;height:0;background:rgba(240,122,26,.35);transition:height 1.2s linear}
.lock.holding .fill{height:100%}

/* Journey map */
.map-top{position:sticky;top:0;z-index:5;background:var(--c-bg);padding:14px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}
.trail{position:relative;width:min(520px,100%);margin:0 auto}
.trail svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.node{position:absolute;transform:translate(-50%,-50%);width:96px;height:96px;border-radius:50%;border:0;background:#fff;display:grid;place-items:center;box-shadow:0 7px 0 var(--c-edge);font-size:44px}
.node.done{background:var(--c);box-shadow:0 7px 0 var(--c-dark)}
.node.next{width:108px;height:108px;font-size:50px;box-shadow:0 7px 0 var(--c-edge),0 0 0 10px rgba(255,255,255,.7);animation:pulse2 1.5s ease-in-out infinite}
.node.locked{background:#ece4e0;color:#a9988f;box-shadow:none;cursor:default}
.s-ro .node.locked,.s-hi .node.locked{background:#e6ebf0}
.node .star{position:absolute;top:-10px;right:-8px;font-size:26px}
.node .lbl{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff;border-radius:99px;padding:2px 10px;font-family:var(--f-ui);font-size:13px;font-weight:700;color:var(--ink)}
.node.next .lbl{background:var(--c);color:#fff;font-size:14px;padding:3px 12px}
@keyframes pulse2{50%{transform:translate(-50%,-50%) scale(1.06)}}
.map-guide{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:6}
.map-guide .bubble{background:#fff;border-radius:20px 20px 6px 20px;padding:10px 14px;font-weight:600;font-size:15px;max-width:190px;box-shadow:0 6px 18px rgba(20,33,61,.12)}
.map-guide .bird{font-size:54px;transform:scaleX(-1);background:none;border:0;padding:0}

/* Lesson cards */
.card{color:var(--ink);background:#fff;border-radius:30px;box-shadow:0 10px 28px rgba(20,33,61,.1);padding:18px;min-height:0}
.wordcard{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;overflow:auto}
.count{font-size:14px;font-weight:700;color:var(--ink-3)}
.picbox{width:100%;flex:1 1 150px;min-height:120px;max-height:230px;border-radius:22px;background:linear-gradient(#cdeaff 0 66%,#9cd987 66%);display:grid;place-items:center;font-size:clamp(84px,14vh,130px)}
.picbox.beach{background:linear-gradient(#bfe6ff 0 45%,#4fb0e3 45% 62%,#f3dca0 62%)}
.picbox.rain{background:linear-gradient(#a9b7cb 0 66%,#86b07c 66%)}
.picbox.road{background:linear-gradient(#c3e8ff 0 60%,#86c96e 60% 72%,#8b8f99 72%)}
.picbox .emo{animation:bob 3s ease-in-out infinite}
.wd{font-family:var(--f-display);font-weight:800;font-size:clamp(46px,8vw,92px);line-height:1;color:var(--word)}
.tr{font-weight:700;font-size:20px;color:var(--ink-2)}
.mean{font-family:var(--f-read);font-size:clamp(22px,2.6vw,32px)}
.act{background:#e7f8ef;color:var(--leaf-ink);border-radius:14px;padding:7px 14px;font-weight:700;font-size:15px}
.say{background:var(--leaf);color:#fff;font-family:var(--f-display);font-weight:800;font-size:22px;border-radius:99px;padding:6px 20px;animation:pulse 1s ease-in-out infinite}
.read{font-family:var(--f-read);font-size:clamp(22px,2.6vw,34px);line-height:1.55}
.read .w{border-radius:8px;padding:0 3px}
.read .w.v{color:var(--coral-ink);font-weight:700;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.read .w.on{background:var(--sun);color:#9a3412;box-shadow:0 0 0 3px var(--sun)}
.read.hi-text{font-size:clamp(26px,3vw,40px)}
.trl{font-size:16px;color:var(--ink-3)} .trl b{color:var(--ink-2)}
.dots{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}
.dots i{width:12px;height:12px;border-radius:50%;background:#e3e9f2}
.dots i.on{background:var(--c)} .dots i.done{background:var(--leaf)}
.scenebig{display:none;position:relative;border-radius:32px;overflow:hidden;container-type:size;background:linear-gradient(#cdeaff 0 64%,#9cd987 64%)}
.scenebig.beach{background:linear-gradient(#bfe6ff 0 45%,#4fb0e3 45% 62%,#f3dca0 62%)}
.scenebig.rain{background:linear-gradient(#a9b7cb 0 66%,#86b07c 66%)}
.scenebig.road{background:linear-gradient(#c3e8ff 0 60%,#86c96e 60% 72%,#8b8f99 72%)}
.scenebig i{position:absolute;transform:translate(-50%,-50%);font-family:var(--f-emoji);font-style:normal;line-height:1;font-size:calc(var(--z) * 1.5cqmin);animation:float 3.4s ease-in-out infinite;animation-delay:var(--d)}
.scenebig .hero{font-size:44cqmin;left:50%;top:52%;animation:bob 3s ease-in-out infinite}
@keyframes float{50%{transform:translate(-50%,-56%)}}
.talking .scenebig i:nth-child(odd){animation:hopc .5s ease-in-out infinite}
@keyframes hopc{50%{transform:translate(-50%,-66%) rotate(-5deg)}}
.lesson-grid{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}
.lesson-grid.hi-words{overflow:auto}
.lesson-grid.hi-words .card{flex:none}

/* Sentence */
.sentence{flex:1;display:flex;flex-direction:column;justify-content:safe center;align-items:center;gap:14px;text-align:center}
.sentence .card{width:min(980px,100%);display:flex;flex-direction:column;gap:10px;align-items:center;padding:28px 22px}
.num{font-family:var(--f-display);font-weight:800;color:var(--ink-2);font-size:20px}

/* Story */
.levels{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.levels button{border:0;border-radius:99px;padding:9px 14px;background:#fff;font-weight:700;font-size:14px}
.levels button.on{background:var(--c);color:#fff}
.story{flex:1;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.story .banner{height:110px;flex:none;border-radius:20px;background:linear-gradient(#cdeaff 0 64%,#9cd987 64%);display:flex;align-items:center;justify-content:center;gap:10px;font-size:58px}
.story h2{margin:0;font-family:var(--f-display);font-size:26px}
.story .text{flex:1;overflow:auto}
.story .text p{margin:0 0 .5em}
.progress{height:8px;border-radius:99px;background:#f1f3f8;overflow:hidden;flex:none}
.progress i{display:block;height:100%;width:0;background:var(--c);transition:width .3s}

/* Game */
.game{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:16px;text-align:center}
.ticks{display:flex;gap:8px;justify-content:center}
.ticks span{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.7);display:grid;place-items:center;color:#fff}
.ticks span.ok{background:var(--leaf)} .ticks span.miss{background:#f5b7a8} .ticks span.now{background:#fff;box-shadow:0 0 0 3px var(--c)}
.bigpic{width:min(200px,26vh);height:min(200px,26vh);border-radius:50%;background:#fff;display:grid;place-items:center;font-size:min(120px,16vh);box-shadow:0 10px 28px rgba(20,33,61,.12)}
.q{margin:0;font-family:var(--f-read);font-size:clamp(22px,2.4vw,30px);line-height:1.35}
.opts{display:flex;flex-direction:column;gap:12px;width:min(520px,100%)}
.opt{color:var(--ink);border:0;border-radius:22px;padding:14px;background:#fff;font-family:var(--f-display);font-weight:800;font-size:clamp(26px,3vw,34px);box-shadow:0 6px 0 var(--c-edge);display:flex;align-items:center;justify-content:center;gap:10px}
.opt.ok{background:var(--leaf);color:#fff;box-shadow:0 6px 0 var(--leaf-dark)}
.opt.dim{opacity:.5}
.opt.bad{animation:shake .4s;background:#ffe3dc}
@keyframes shake{25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}

/* Watch */
.watch{flex:1;display:flex;flex-direction:column;gap:10px;min-height:0}
.vbox{flex:1;min-height:0;position:relative;background:#0b1b3a;border-radius:24px;overflow:hidden}
.vbox video,.vbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain}
.chapters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.chapters button{border:0;background:#fff;border-radius:99px;padding:8px 14px;font-weight:700;font-size:14px}
.chapters button.on{background:var(--c);color:#fff}
.showcard{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:12px;text-align:center}
.label{font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}

/* Do it */
.doit{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px}
.qcard{color:var(--ink);background:#fff;border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.qcard b{font-family:var(--f-read);font-size:21px}
.qcard ol{margin:0;padding-left:1.3em;font-family:var(--f-read);font-size:18px}
.qcard summary{cursor:pointer;font-weight:700;color:var(--leaf-ink)}
.pcheck{color:var(--ink);display:flex;gap:14px;align-items:center;background:#fff;border:3px dashed var(--leaf);border-radius:22px;padding:16px 18px;font-weight:700}
.pcheck input{width:32px;height:32px;flex:none}

/* Reward */
.reward{position:fixed;inset:0;z-index:20;background:var(--c);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left))}
.reward .card{width:min(420px,100%);border-radius:36px;padding:28px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:0 12px 0 var(--c-dark);animation:popin .35s cubic-bezier(.2,1.4,.5,1)}
.reward .tile{width:150px;height:150px;border-radius:40px;background:#fff7d6;display:grid;place-items:center;font-size:100px;transform:rotate(-6deg);box-shadow:0 8px 16px rgba(20,33,61,.15)}
.reward h2{margin:4px 0 0;font-family:var(--f-display);font-weight:800;font-size:32px;line-height:1.05}
.reward p{margin:0;font-size:17px;color:var(--ink-2)}
.reward .big{border:0;border-radius:18px;padding:16px 22px;width:100%;background:var(--leaf);color:#fff;font-family:var(--f-display);font-weight:800;font-size:22px;box-shadow:0 6px 0 var(--leaf-dark)}
.reward .guide{position:static;align-self:flex-start;width:min(420px,100%);margin:0 auto}
@keyframes popin{from{transform:scale(.6);opacity:0}}
canvas.confetti{position:fixed;inset:0;pointer-events:none;z-index:30}

@media (max-width:899px){
  .login{grid-template-columns:1fr;align-content:start}
  .login-art{padding:40px 28px 28px}
  .login-art .bird{font-size:72px}
  .login-art h1{font-size:40px}
  .login-form{border-radius:28px 28px 0 0;align-items:flex-start;padding:28px}
}
/* ===== Tablet and web ===== */
@media (min-width:900px){
  .stage{padding:20px 28px 22px;gap:16px}
  .top .ttl b{font-size:26px}
  .seg a span{display:block}
  .lesson-grid.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .lesson-grid.split.wide{grid-template-columns:2fr 3fr}
  .split .scenebig{display:block}
  .split .picbox,.split .banner{display:none}
  .guide{position:absolute;left:44px;bottom:140px;z-index:3}
  .stage.home .guide{position:static}
  .worlds{grid-template-columns:repeat(4,minmax(0,1fr))}
  .world{min-height:210px;justify-content:center}
  .world .emo{font-size:72px}
  .opts{flex-direction:row;width:auto;flex-wrap:wrap;justify-content:center}
  .opt{min-width:200px;padding:16px 26px}
  .keys{display:block!important}
  .stage.vid .guide{display:none}
}
.keys{display:none;position:absolute;right:28px;bottom:58px;font-size:14px;color:var(--c-ink);font-weight:600}

/* ===== TV (10-foot view) ===== */
html.tv body{background:var(--navy)}
html.tv .stage{background:var(--navy);color:#fff;zoom:1.35;height:calc(100dvh / 1.35);padding:28px 56px 26px}
html.tv .stage .card,html.tv .stage .qcard,html.tv .stage .pcheck{color:var(--ink)}
html.tv .top .ttl span,html.tv .num,html.tv .seg a,html.tv .keys{color:#b9c6de}
html.tv .seg a i{background:#1d3363}
html.tv .rb{background:#1d3363;color:#fff;box-shadow:none}
html.tv .rb.go{background:var(--leaf)}
html.tv .pill-btn,html.tv .levels button,html.tv .chapters button{background:#1d3363;color:#fff;box-shadow:none}
html.tv .levels button.on,html.tv .chapters button.on{background:var(--c)}
html.tv .stars,html.tv .av-round{background:#fff;color:var(--ink)}
html.tv .world.soon{border-color:#3a4d74;color:#b9c6de}
html.tv .hello-title{color:#fff}
html.tv .guide .bubble{color:var(--ink)}
html.tv :focus{outline:6px solid var(--sun);outline-offset:6px}
html.tv .stage.map,html.tv .map-top{background:var(--c-bg);color:var(--ink)}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
