/* Approved review refinements. Keep the classroom identity and original resources. */
::selection{background:var(--accent);color:var(--deep)}
html{scrollbar-color:#66867c var(--deep);scrollbar-width:thin}
.header{height:88px;gap:24px}
.brand span{font-size:12px}
.header nav{gap:22px}
.nav-primary,.nav-secondary{display:flex;align-items:center;gap:24px}
.nav-secondary{padding-left:22px;border-left:1px solid var(--line)}
.header nav a{font-size:14px;gap:6px}
.header nav span{font-size:11px;letter-spacing:.045em}
.nav-secondary a{color:var(--muted)}
.metadata{font-size:13px;line-height:1.7}
.resource-image{aspect-ratio:16/10}
.resource-image img{object-fit:contain}
.poster{aspect-ratio:1131/1600;background:#e9e8d6}
.poster img{padding:0;background:none}
.resource-side{padding-top:64px;max-width:330px;justify-self:end}
.resource h3{font-size:clamp(26px,2.5vw,34px)}
.resource-side h3{font-size:25px}
.game-cover>img{height:auto;aspect-ratio:16/10;object-fit:contain}
.game-cover>span{flex-wrap:wrap;line-height:1.65;font-size:13px}
.game-cover>span>span{align-self:center}
.game-cover b{flex:1 1 160px}
.play-copy h2{max-width:15ch;text-wrap:pretty}
.practice{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding-top:104px}
.practice-art{margin:0;min-width:0}
.practice-art img{width:100%;height:auto;border-radius:12px}
.practice-art figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:14px}
.practice-copy p{font-size:16px;color:var(--muted);margin-top:24px;max-width:36ch}
.practice-path{display:flex;flex-wrap:wrap;gap:10px 24px;margin:24px 0 0;padding:0;list-style:none;color:var(--text);font-size:14px}
.practice-path li:not(:last-child)::after{content:"→";color:var(--muted);margin-left:24px}
.story{padding-top:104px;gap:100px}
.story>img{height:360px}
.story>div>p{font-size:16px;color:var(--muted);margin-top:24px}
.fish{filter:saturate(.85) brightness(.94)}
.free-help{font-size:13px;color:#c5d8ce}
.motion-controls button{font-size:12px}
@media(max-width:1100px){
 .header{padding-inline:32px;gap:20px}
 .header nav{gap:16px}
 .nav-primary,.nav-secondary{gap:16px}
 .nav-secondary{padding-left:16px}
 .header nav a{flex-direction:column;justify-content:center;gap:3px;font-size:13px}
 .header nav span{font-size:11px}
 .brand span{font-size:12px}
 .practice{gap:40px}
}
@media(max-width:767px){
 .header{height:auto;min-height:0;padding:14px 24px 8px;display:block}
 .brand{display:inline-flex;align-items:baseline;gap:10px;font-size:20px;min-height:30px}
 .brand span{display:inline;font-size:12px;margin:0}
 .header nav{display:flex;flex-direction:column;gap:0;align-items:stretch;margin-top:6px}
 .nav-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .nav-secondary{display:flex;justify-content:flex-end;gap:24px;border-left:0;padding-left:0}
 .header nav a{font-size:13px;min-height:44px;gap:3px;align-items:flex-start}
 .header nav span{font-size:11px;letter-spacing:.035em}
 .header nav .nav-secondary a{flex-direction:row;align-items:center;gap:7px;font-size:12px}
 .hero{min-height:540px}
 .hero-copy{padding-top:34px}
 .intro{font-size:13px}
 .hero-description{font-size:14px}
 .free-help{font-size:12px;max-width:calc(100% - 48px);bottom:76px}
 .motion-controls button{font-size:12px;min-height:44px;padding:8px 10px}
 .metadata{font-size:12px}
 .resource-side{max-width:none;justify-self:stretch;padding-top:0;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:22px}
 .resource-side .poster{aspect-ratio:1131/1600}
 .poster img{object-fit:contain}
 .resource-side h3{font-size:21px}
 .resource-copy>p:not(.metadata){font-size:15px}
 .play-copy h2{max-width:15ch;font-size:29px}
 .game-cover>span{font-size:12px;gap:4px 10px}
 .game-cover b{font-size:15px}
 .practice{grid-template-columns:1fr;gap:28px;padding-top:72px}
 .practice-copy h2{font-size:28px}
 .practice-copy p{font-size:15px;margin-top:18px}
 .practice-art figcaption{font-size:12px}
 .practice-path{font-size:13px;gap:8px 18px}
 .practice-path li:not(:last-child)::after{margin-left:18px}
 .story{gap:28px;padding-top:72px;padding-bottom:72px}
 .story>img{height:260px}
 .story>div>p{font-size:15px}
}
@media(max-width:359px){
 .header{padding-inline:20px}
 .brand{font-size:19px;gap:8px}.brand span{font-size:11px}
 .nav-primary{gap:6px}.nav-secondary{gap:20px}
 .hero-copy{padding-top:28px}
 .resource-side{grid-template-columns:1fr;gap:18px}
 .resource-side .poster{width:65%}
 .resource-side h3{font-size:24px}
}
