html[data-tv="true"]{scroll-behavior:auto;background:#e9f4ff}
html[data-tv="true"] body{min-width:720px}
html[data-tv="true"] :is(button,a,input):focus{outline:5px solid #ffad32;outline-offset:3px;box-shadow:0 0 0 8px #20244e99;z-index:5}
html[data-tv="true"] button{scroll-margin:24px}
html[data-tv="true"] .topbar{height:74px;padding:9px 3vw}
html[data-tv="true"] .wordmark{font-size:2.5rem}
html[data-tv="true"] .sound-button{font-size:1rem;min-height:48px;padding:8px 18px}
html[data-tv="true"] .icon-button{width:48px;height:48px;min-height:48px}
html[data-tv="true"] .expanded-town{min-height:calc(100vh - 74px);height:auto;padding:0 2.5vw 16px;overflow:visible}
html[data-tv="true"] .town-scene{height:42vh;min-height:200px;max-height:390px}
html[data-tv="true"] .town-window,html[data-tv="true"] .town-world{height:100%;overflow:hidden}
html[data-tv="true"] .town-crew{height:100%}
html[data-tv="true"] .town-crew figure{width:clamp(82px,9vw,135px)}
html[data-tv="true"] .friend-sprite{height:clamp(82px,9vw,130px)}
html[data-tv="true"] .town-crew figcaption{font-size:.9rem}
html[data-tv="true"] .town-scene h1{font-size:1.5rem}
html[data-tv="true"] .town-play-note{font-size:1rem}
html[data-tv="true"] .town-play-status{height:22px;margin:2px 0 4px}
html[data-tv="true"] .expanded-town .destinations{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:none;width:100%}
html[data-tv="true"] .expanded-town .destination{min-height:75px;padding:4px;gap:2px}
html[data-tv="true"] .destination-title{min-height:2.4em;font-size:clamp(.88rem,1.5vw,1.18rem);padding:5px 8px}
html[data-tv="true"] .destination-skill{font-size:.78rem;padding:3px 6px}
html[data-tv="true"] .activity{min-height:calc(100vh - 74px);padding:12px 3vw 20px}
html[data-tv="true"] .activity-header{max-width:none;margin:0 0 10px}
html[data-tv="true"] .tv-controls-note{margin:-5px 0 8px;color:#41547a;font-size:.9rem;font-weight:900;text-align:right}
html[data-tv="true"] .activity h1{font-size:1.65rem}
html[data-tv="true"] .town-back{min-height:48px;padding:8px 16px}
html[data-tv="true"] .mode-tabs button{min-height:48px;font-size:1rem;padding:8px 16px}
html[data-tv="true"] .lesson-layout{max-width:none;grid-template-columns:190px minmax(0,1fr);gap:16px}
html[data-tv="true"] .teacher{padding-top:2px}
html[data-tv="true"] .teacher-image{width:175px;height:155px}
html[data-tv="true"] .speech{padding:12px;min-height:120px}
html[data-tv="true"] #caption{font-size:1rem;line-height:1.3;min-height:54px}
html[data-tv="true"] .replay-caption{font-size:.9rem}
html[data-tv="true"] .work-area{padding:16px;max-height:calc(100vh - 154px);overflow-y:auto;scrollbar-width:thin}
html[data-tv="true"] .work-heading{margin-bottom:9px}
html[data-tv="true"] .work-heading h2{font-size:1.45rem}
html[data-tv="true"] .garden-bed{min-height:120px;padding:10px;gap:7px}
html[data-tv="true"] .berry-button{height:61px;padding:2px}
html[data-tv="true"] .berry-button img{width:56px;height:56px}
html[data-tv="true"] .answers{gap:7px}
html[data-tv="true"] .answer{min-height:54px}
html[data-tv="true"] .lesson-actions{margin-top:10px}
html[data-tv="true"] .primary,html[data-tv="true"] .secondary{min-height:54px}
html[data-tv="true"] .ten-frame{gap:5px;padding:8px}
html[data-tv="true"] .frame-cell img{max-height:55px}
html[data-tv="true"] dialog{max-width:min(720px,84vw);max-height:80vh;overflow-y:auto}
