@font-face{font-family:Inter;src:url(inter-latin-400-normal.woff2)}
@font-face{font-family:Inter;src:url(inter-latin-600-normal.woff2);font-weight:600}
@font-face{font-family:Poppins;src:url(poppins-latin-600-normal.woff2);font-weight:600}
:root{--paper:#fefdfc;--ink:#2f2f2f;--navy:#0a325a;--blue:#7ea8c9;--green:#7faf8c;--yellow:#ead66b;--purple:#9a86c7}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fefcf5;font-family:Inter,sans-serif;background-image:radial-gradient(#b8926420 .8px,transparent .8px);background-size:18px 18px}a{color:inherit;text-decoration:none}a:focus-visible{outline:4px solid var(--navy);outline-offset:5px}.skip{position:absolute;top:-80px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.masthead{height:70px;max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:15px 36px}.brand{display:flex;gap:9px;align-items:center;font-size:20px;font-weight:600}.brand img{width:36px;height:36px}.brand-note{font-size:13px;color:#61716b}main{max-width:1320px;margin:auto;padding:12px 36px 22px}.intro{text-align:center;margin:5px 0 25px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;color:#61716b;margin:0 0 8px}h1{font:600 clamp(29px,3.3vw,46px)/1.15 Poppins,sans-serif;letter-spacing:-1px;margin:0 0 12px}h1 span{color:#496683;position:relative}h1 span:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:5px;background:var(--yellow);border-radius:100%}.intro>p:last-child{font-size:16px;color:#61716b;margin:0}.grid{display:grid;gap:22px}.categories{grid-template-columns:repeat(2,1fr)}.card{position:relative;border-radius:26px;border:2px solid #fff;overflow:hidden;background:var(--tint);box-shadow:0 4px 0 #b892641a,0 8px 20px #2f2f2f07;transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-4px);box-shadow:0 7px 0 #b892641a,0 12px 25px #2f2f2f0d}.names{--tint:#dceaf4;--accent:#547fa9;--edge:#7ea8c9;--light:#eef4f8}.sounds{--tint:#deecdf;--accent:#4d795a;--edge:#7faf8c;--light:#eef5ef}.phonics{--tint:#f8f3cf;--accent:#816b21;--edge:#dfa05a;--light:#fbf8e6}.words{--tint:#e7dff3;--accent:#756298;--edge:#9a86c7;--light:#f3eff8}.category{min-height:222px;display:grid;grid-template-columns:43% 57%;align-items:center}.category .caption{grid-area:1/1;z-index:2;padding:24px 0 24px 26px;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.category .art{grid-area:1/2;height:100%;min-height:220px;align-self:stretch}.count{font-size:11px;font-weight:600;color:var(--accent);margin:0 0 8px;letter-spacing:.2px}.caption h2{font:600 27px/1.16 Poppins,sans-serif;letter-spacing:-.65px;margin:0 0 10px}.caption p{font-size:13px;line-height:1.5;margin:0 0 20px;max-width:175px}.play{font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:14px;color:var(--navy)}.play>span{display:flex;align-items:center;justify-content:center;background:white;border-radius:50%;width:34px;height:34px;font-size:22px;box-shadow:0 3px 0 #00000008}.art{position:relative;overflow:hidden}.scene{position:relative;height:100%;width:100%;isolation:isolate}.scene img{object-fit:contain;position:absolute;max-width:100%;filter:drop-shadow(0 5px 1px #2f2f2f0a)}.scene:after{content:"";position:absolute;border-radius:50%;width:190px;height:45px;background:#ffffff70;bottom:15%;left:20%;z-index:-1}.train-scene .hills{position:absolute;width:115%;height:52%;background:#bfd9b5;bottom:0;left:3%;border-radius:60% 75% 0 0;transform:rotate(-5deg);z-index:-1}.train-scene:before{content:"";position:absolute;width:82px;height:28px;top:20%;left:19%;border-radius:60%;background:#ffffff90;box-shadow:95px -18px 0 -2px #ffffff80}.rail{position:absolute;left:0;right:-10%;bottom:17%;height:11px;background:repeating-linear-gradient(90deg,transparent 0 18px,#b8926470 18px 23px);border-top:2px solid #6c7a89;border-bottom:2px solid #6c7a89;transform:rotate(-4deg)}.train{position:absolute;left:0;right:0;bottom:14%;height:130px;display:flex;align-items:flex-end;transform:rotate(-4deg)}.train .engine{position:relative;width:34%;height:135px;object-fit:contain;flex-shrink:0;margin-right:-3%}.letter-car{position:relative;width:24%;height:105px;margin-left:-1.5%}.letter-car img{width:100%;height:100%;position:absolute;inset:0}.letter-car b{position:absolute;left:0;right:0;top:26%;text-align:center;font-size:32px;font-weight:600}.sound-scene:before,.word-scene:before{content:"";position:absolute;inset:13% 10% 8%;border:2px dashed #ffffffb0;border-radius:43% 57% 50% 45%;transform:rotate(8deg);z-index:-1}.sound-scene .picture{height:78%;width:62%;left:28%;bottom:4%}.sound-letter{position:absolute;left:9%;top:26%;background:#fefdfc;border:3px solid #7faf8c;border-radius:18px;width:78px;height:92px;display:grid;place-items:center;font-size:65px;line-height:1;transform:rotate(-10deg);box-shadow:0 6px 0 #7faf8c4a}.waves{position:absolute;right:6%;top:12%;width:44px;height:55px;fill:none;stroke:#4d795a;stroke-width:4;stroke-linecap:round}.word-scene .picture{height:68%;width:65%;left:18%;top:3%}.word-tray{position:absolute;left:12%;right:12%;bottom:9%;padding:10px 8px;background:#dfA05A55;border:2px solid #ffffffa0;border-radius:15px;transform:rotate(-4deg)}.tiles{display:flex;gap:7px;justify-content:center}.tiles span{min-width:41px;height:47px;display:flex;align-items:center;justify-content:center;padding:0 8px;background:#fefdfc;border:1px solid #c5c9c1;border-bottom:5px solid #c5c9c1;border-radius:9px;font-size:31px;font-weight:600}.rally-scene .road{position:absolute;left:9%;right:4%;top:-25%;bottom:-30%;border:28px solid #6f7fb899;border-radius:45%;transform:rotate(-33deg);outline:3px dashed #fefdfc;outline-offset:-16px}.rally-scene .car{left:18%;top:38%;width:69%;height:51%;transform:rotate(-19deg)}.word-sign{position:absolute;top:12%;left:14%;padding:5px 15px;background:#fefdfc;border:3px solid #9a86c7;border-radius:10px;font-size:27px;font-weight:600;transform:rotate(-9deg)}.word-sign.second{left:auto;top:auto;bottom:5%;right:4%;transform:rotate(6deg)}.home{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:6px 14px;background:white;border:1px solid #d9dacf;border-radius:14px;font-weight:600;font-size:14px;box-shadow:0 3px 0 #b8926410}.home>span{font-size:28px;line-height:1}.category-page .intro{margin-top:-35px;pointer-events:none;margin-bottom:27px}.category-page h1{color:var(--accent)}.game-grid{grid-template-columns:repeat(3,1fr);gap:21px}.game{display:flex;flex-direction:column;background:#fff}.game .art{height:185px;background:var(--tint);border-bottom:1px solid #ffffff80}.game .caption{padding:16px 18px;display:flex;flex-direction:row;gap:14px;align-items:center;justify-content:space-between;flex:1}.game .caption h2{font-size:18px;letter-spacing:-.25px;line-height:1.25;margin:0;max-width:240px}.game .play{font-size:0;gap:0;flex-shrink:0}.game .play span{background:var(--tint);width:36px;height:36px;font-size:23px}.game-grid.count-4{grid-template-columns:repeat(4,1fr)}.game-grid.count-4 .caption{min-height:100px}.game-grid.count-4 .caption h2{font-size:17px}.mail-scene .mailbox{height:88%;width:50%;left:43%;bottom:-4%}.envelope{position:absolute;left:10%;top:40%;width:105px;height:66px;background:#fefdfc;border:2px solid #7ea8c9;border-radius:9px;transform:rotate(-13deg);box-shadow:0 4px 0 #7ea8c933}.envelope:before{content:"";position:absolute;inset:0;border-bottom:2px solid #c7ddf0;clip-path:polygon(0 0,50% 70%,100% 0);background:#eef4f8}.envelope span{position:absolute;font-size:40px;left:16px;bottom:0}.envelope i{position:absolute;font-style:normal;right:9px;top:5px;color:#c96a6a}.mail-letter{position:absolute;left:29%;top:6%;background:white;border:2px solid #7ea8c9;border-radius:9px;padding:3px 13px;font-size:35px;transform:rotate(7deg)}.sort-scene .tree{height:130%;width:60%;left:0;bottom:-15%;opacity:.8}.sort-scene .basket{height:65%;width:51%;left:43%;bottom:0}.basket-label{position:absolute;left:68%;bottom:21%;font-weight:600;font-size:28px;transform:translateX(-50%)}.apple{position:absolute;width:70px;height:75px;left:24%;bottom:18%;transform:rotate(-13deg)}.apple img{height:100%;width:100%}.apple b{position:absolute;font-size:33px;left:29%;top:29%;color:#fefdfc}.path-scene .map{inset:0;width:100%;height:100%;object-fit:cover;filter:none}.trail{position:absolute;inset:0;height:100%;width:100%;fill:none;stroke:#fefdfc;stroke-width:14px;stroke-linecap:round;opacity:.9}.step{position:absolute;display:flex;align-items:center;justify-content:center;min-width:39px;height:35px;padding:0 7px;border-radius:50%;background:#fefcf5;border:2px solid #7faf8c;font-size:20px;font-weight:600}.step-0{left:5%;top:52%}.step-1{left:30%;top:40%}.step-2{left:57%;top:27%}.step-3{right:2%;top:35%}.path-scene .path-player{position:absolute;left:62%;bottom:-4%;height:50%;width:26%}.trace-scene .writing-paper{position:absolute;width:76%;height:77%;top:12%;left:12%;background:#fefdfc;border-radius:8px;border:1px solid #c7ddf0;transform:rotate(-5deg);box-shadow:0 6px 0 #ffffff70}.writing-lines{position:absolute;left:7%;right:7%;top:22%;height:60%;border-top:2px solid #c7ddf0;border-bottom:2px solid #c7ddf0}.writing-lines:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px dashed #c7ddf0}.writing-paper>span,.writing-paper>b{position:absolute;left:9%;bottom:3%;font:600 104px/1 Inter,sans-serif;color:#547fa9}.writing-paper>b{left:54%;color:transparent;-webkit-text-stroke:1.5px #7ea8c9}.writing-paper>i{position:absolute;font-style:normal;left:47%;top:8%;color:#7faf8c}.pencil{position:absolute;right:8%;bottom:9%;width:17px;height:91px;background:#dfa05a;border-left:5px solid #ead66b;border-right:4px solid #b89264;transform:rotate(31deg);border-radius:4px 4px 0 0}.pencil:after{content:"";position:absolute;left:-5px;bottom:-19px;border-left:9px solid transparent;border-right:9px solid transparent;border-top:20px solid #b89264}.bingo-board{position:absolute;left:15%;top:8%;width:58%;max-width:170px;padding:8px;background:#fefdfc;border:1px solid var(--edge);border-radius:7px;transform:rotate(-7deg);box-shadow:0 5px 0 #ffffff60}.bingo-board>strong{display:block;text-align:center;letter-spacing:8px;font-size:13px;margin-bottom:5px}.bingo-cells{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.bingo-cells>span{background:var(--light);border:1px solid var(--edge);display:grid;place-items:center;font-size:15px;height:27px}.counter{position:absolute;background:#c96a6acc;width:24px;height:24px;border-radius:50%;border:2px solid #fff9}.counter.one{top:44%;left:30%}.counter.two{top:76%;left:57%}.bingo-scene .bag{width:30%;height:66%;right:4%;bottom:3%;transform:rotate(8deg)}.construction-scene>img{width:78%;height:82%;top:-7%;left:12%}.build-word{position:absolute;left:20%;right:12%;bottom:8%;transform:rotate(-3deg)}footer{text-align:center;font-size:11px;color:#687568;padding:8px 20px 20px}
@media(min-width:1600px){main{max-width:1510px;padding-top:25px}.category{min-height:280px}.category .art{min-height:280px}.caption h2{font-size:34px}.category .caption{padding-left:35px}.caption p{font-size:16px;max-width:210px}.count{font-size:13px}.play{font-size:15px}.train{height:170px}.train .engine{height:170px}.letter-car{height:130px}.letter-car b{font-size:39px}.game .art{height:230px}.game .caption{padding:20px}.game .caption h2,.game-grid.count-4 .caption h2{font-size:21px}.sound-letter{width:95px;height:112px;font-size:78px}.tiles span{height:58px;min-width:51px;font-size:36px}.bingo-board{max-width:205px}.bingo-cells>span{height:34px;font-size:19px}.word-sign{font-size:35px}.writing-paper>span,.writing-paper>b{font-size:135px}}
@media(max-width:1100px){.masthead{padding:13px 25px;height:63px}main{padding:9px 25px 18px}.intro{margin-bottom:21px}h1{font-size:34px}.category{min-height:205px}.category .art{min-height:205px}.category .caption{padding:19px 0 19px 20px}.caption h2{font-size:24px}.category .caption p{font-size:12px}.grid{gap:17px}.train .engine{height:110px}.letter-car{height:80px}.letter-car b{font-size:25px}.sound-letter{left:4%;width:61px;height:74px;font-size:50px}.game .art{height:162px}.game .caption{padding:12px}.game .caption h2,.game-grid.count-4 .caption h2{font-size:16px}.game-grid.count-4{grid-template-columns:repeat(2,1fr)}.game-grid.count-4 .caption{min-height:60px}.bingo-board{top:6%;width:56%;max-width:150px}.bingo-cells>span{height:23px;font-size:13px}.writing-paper>span,.writing-paper>b{font-size:89px}}
@media(max-width:800px){.brand-note{display:none}main{padding:12px 24px 22px}.categories{grid-template-columns:1fr;gap:20px}.category{min-height:208px;grid-template-columns:44% 56%}.category .art{min-height:208px}.category .caption{padding:22px 0 22px 28px}.caption h2{font-size:29px}.category .caption p{font-size:14px}.count{font-size:12px}.train .engine{height:139px}.letter-car{height:109px}.letter-car b{font-size:34px}.game-grid{grid-template-columns:repeat(2,1fr)}.category-page .intro{margin-top:18px}.category-page h1{font-size:34px}.game .art{height:185px}.game .caption h2,.game-grid.count-4 .caption h2{font-size:17px}.game-grid.count-4 .caption{min-height:78px}.sound-letter{width:75px;height:88px;font-size:61px}.bingo-board{max-width:170px}.bingo-cells>span{height:26px;font-size:15px}.writing-paper>span,.writing-paper>b{font-size:106px}}
@media(max-width:480px){main{padding:12px 14px 20px}.masthead{padding:12px 18px}.brand{font-size:18px}h1{font-size:29px}.intro>p:last-child{font-size:14px}.category{min-height:190px;grid-template-columns:46% 54%}.category .art{min-height:190px}.category .caption{padding:18px 0 18px 18px}.caption h2{font-size:23px}.category .caption p{font-size:12px}.count{font-size:10px}.train .engine{height:88px}.letter-car{height:66px}.letter-car b{font-size:22px}.sound-letter{width:55px;height:66px;font-size:45px}.game-grid{gap:12px}.game .art{height:142px}.game .caption{padding:10px;gap:7px}.game .caption h2,.game-grid.count-4 .caption h2{font-size:14px}.game .play span{width:26px;height:26px;font-size:18px}.game .tiles span{font-size:20px;min-width:27px;height:33px;padding:0 4px}.bingo-board{left:7%;width:68%;padding:5px}.bingo-cells>span{font-size:10px;height:19px}.bingo-board>strong{font-size:10px;letter-spacing:5px}.counter{width:18px;height:18px}.writing-paper>span,.writing-paper>b{font-size:75px}.word-sign{font-size:18px;padding:3px 8px}.envelope{width:65px;height:45px}.envelope span{font-size:29px}.mail-letter{font-size:26px}.step{min-width:27px;height:27px;font-size:13px;padding:0 3px}.basket-label{font-size:23px}}
@media(max-height:650px) and (min-width:801px){.masthead{height:58px}main{padding-top:4px}.intro{margin-bottom:17px}h1{font-size:32px;margin-bottom:8px}.eyebrow{font-size:10px;margin-bottom:5px}.intro>p:last-child{font-size:14px}.category,.category .art{min-height:174px}.category .caption{padding-top:14px;padding-bottom:14px}.category .caption p{margin-bottom:12px}.category .count{margin-bottom:6px}.category .caption h2{font-size:25px;margin-bottom:7px}.train .engine{height:100px}.letter-car{height:80px}.letter-car b{font-size:25px}.category .sound-letter{height:71px;width:61px;font-size:49px}.category .tiles span{height:40px;font-size:27px;min-width:36px}.game .art{height:125px}.game .caption{padding:10px 13px}.game .caption h2{font-size:16px}.game-grid.count-4{grid-template-columns:repeat(4,1fr)}.game-grid.count-4 .caption{min-height:83px}.game .writing-paper>span,.game .writing-paper>b{font-size:75px}.game .bingo-board{width:125px;top:2%;padding:5px}.game .bingo-cells>span{height:18px;font-size:11px}.game .bingo-board>strong{font-size:10px;margin-bottom:3px}.game .counter{width:18px;height:18px}.game .word-sign{font-size:21px}.game .tiles span{height:34px;font-size:24px;min-width:33px}.game .sound-letter{height:57px;width:48px;font-size:40px}.game .mailbox{height:90%}.game .envelope{height:48px;width:80px}.game .envelope span{font-size:30px}.game .mail-letter{font-size:27px}.game .apple{width:50px;height:55px}.game .apple b{font-size:26px}.game .basket-label{font-size:23px}.category-page .intro{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}
.five .bingo-cells{grid-template-columns:repeat(5,1fr)}.five .bingo-cells>span{height:22px;font-size:11px}.five>strong{letter-spacing:5px}.five .counter.one{top:35%;left:48%}.five .counter.two{top:68%;left:22%}
@media(min-width:1600px){.five .bingo-cells>span{height:29px;font-size:14px}}
@media(min-width:481px) and (max-width:800px){.categories{grid-template-columns:repeat(2,1fr);gap:18px}.category{display:flex;flex-direction:column;min-height:0}.category .art{width:100%;height:185px;min-height:185px}.category .caption{width:100%;padding:18px 20px 20px;min-height:174px}.category .caption h2{font-size:26px}.category .caption p{font-size:13px;margin-bottom:12px;max-width:none}.category .count{font-size:11px}.category .play{margin-top:auto}.category .train .engine{height:130px}.category .letter-car{height:100px}.category .letter-car b{font-size:31px}.category .sound-letter{width:68px;height:81px;font-size:55px}.game-grid.count-6 .art{height:155px}.game-grid.count-6 .caption{min-height:70px}.game-grid.count-6 .writing-paper>span,.game-grid.count-6 .writing-paper>b{font-size:88px}.game-grid.count-6 .bingo-cells>span{height:22px}}
@media(max-height:650px) and (min-width:801px){.five .bingo-cells>span{height:14px;font-size:9px}.five>strong{font-size:9px;letter-spacing:3px}}
@media(max-width:480px){.five .bingo-cells>span{height:16px;font-size:8px}.five>strong{font-size:9px;letter-spacing:3px}}
/* Reading nook: book choices rest on shelves beside the welcome corner. */
body{background:#fefcf5}.home-page{max-width:1510px;display:grid;grid-template-columns:minmax(240px,29%) minmax(0,1fr);gap:36px;padding-top:22px;align-items:center}.nook-welcome{min-width:0;align-self:center}.nook-welcome .intro{text-align:left;margin:0 0 12px;padding-left:12px}.nook-welcome h1{font-size:35px;line-height:1.2;letter-spacing:-.7px}.nook-welcome h1 span{color:#547fa9}.nook-welcome h1 span:after{display:none}.nook-welcome .intro>p:last-child{line-height:1.6;font-size:15px}.nook-welcome .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:12px}.nook-art{display:block;width:114%;max-width:none;margin:10px 0 0 -8%;mix-blend-mode:multiply}.library{min-width:0}.shelf-label{font-size:10px;letter-spacing:1.8px;color:#6c7a89;font-weight:600;margin:0 0 17px 8px}.categories{display:flex;flex-direction:column;gap:24px}.book-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;position:relative;padding:0 10px 17px}.book-shelf:after{content:"";position:absolute;height:13px;left:0;right:0;bottom:0;background:#d8be9a;border-top:3px solid #ead8b9;border-bottom:3px solid #b89264;border-radius:3px;box-shadow:0 7px 8px #b8926422}.category{min-height:230px;border-radius:6px 19px 19px 6px;border:1px solid #ffffffc9;border-bottom:8px double #fefdfc;box-shadow:4px 2px 0 #d8be9a55;grid-template-columns:45% 55%}.category:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:var(--edge);border-right:2px solid #ffffff70;z-index:4}.category .art{min-height:222px}.category .caption{padding-left:23px;padding-right:0}.category .caption h2{font-size:25px;line-height:1.17}.category .caption p{font-size:12px}.category .count{font-size:10px}.category .play{font-size:12px;gap:8px}.category .play>span{width:29px;height:29px;font-size:20px}.category .train .engine{height:115px}.category .letter-car{height:90px}.category .letter-car b{font-size:26px}.category .sound-letter{left:3%;width:58px;height:73px;font-size:50px}.category .sound-scene .picture{left:28%;width:71%;height:77%}.word-sign.third{top:5%;right:6%;left:auto;font-size:23px;transform:rotate(8deg)}.rally-scene .word-sign{left:5%;top:22%;font-size:24px;padding:4px 9px}.rally-scene .word-sign.second{left:auto;right:5%;top:auto;bottom:3%}.rally-scene .word-sign.third{left:auto;right:6%;top:4%;bottom:auto}.rally-scene .car{top:43%;left:15%;height:46%;width:73%}.category-page{position:relative}.category-nook{position:absolute;right:35px;top:-10px;width:165px;height:110px;pointer-events:none}.category-nook img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.game{border-radius:5px 18px 18px 5px;border-left:7px solid var(--edge);border-bottom:6px double #d8be9a66}.category-page .intro{margin-bottom:30px}
@media(min-width:1600px){.home-page{max-width:1600px;gap:42px;padding-top:45px}.nook-welcome h1{font-size:43px}.nook-welcome .intro>p:last-child{font-size:18px}.category,.category .art{min-height:285px}.category .caption h2{font-size:31px}.category .caption p{font-size:15px}.category .count{font-size:12px}.category .play{font-size:14px}.category .train .engine{height:148px}.category .letter-car{height:110px}.category .letter-car b{font-size:32px}.category .sound-letter{width:80px;height:95px;font-size:65px}.rally-scene .word-sign{font-size:30px}.category-nook{width:200px;height:130px;top:0}}
@media(max-width:1100px){.home-page{grid-template-columns:230px minmax(0,1fr);gap:18px;padding-top:16px}.nook-welcome h1{font-size:30px}.nook-welcome .intro>p:last-child{font-size:14px}.nook-welcome .intro{padding-left:0}.book-shelf{gap:14px;padding-left:7px;padding-right:7px}.category{display:flex;flex-direction:column;min-height:0}.category .art{width:100%;height:135px;min-height:135px}.category .caption{width:100%;padding:13px 14px 13px 21px;min-height:132px}.category .caption h2{font-size:22px;margin-bottom:7px}.category .caption p{margin-bottom:10px;font-size:12px;max-width:none}.category .count{font-size:9px;margin-bottom:5px}.category .play{margin-top:auto;font-size:12px}.category .train .engine{height:100px}.category .letter-car{height:72px}.category .letter-car b{font-size:23px}.category .sound-letter{left:12%;top:25%;height:61px;width:53px;font-size:43px}.category .sound-scene .picture{height:90%;width:54%;left:35%}.category .word-scene .picture{height:73%;top:-3%}.category .word-tray{padding:5px;bottom:5%;left:16%;right:10%}.category .tiles span{height:33px;min-width:30px;font-size:23px}.category .rally-scene .word-sign{font-size:19px;padding:2px 7px}.category .rally-scene .word-sign.third{top:3%}.category .rally-scene .word-sign.second{bottom:2%}.category .rally-scene .car{height:48%;width:66%;top:40%;left:15%}.category-nook{width:137px;height:95px;right:24px;top:-6px}.shelf-label{font-size:9px;margin-bottom:12px}.categories{gap:20px}}
@media(max-width:800px){.home-page{display:block;padding-top:7px}.nook-welcome{display:grid;grid-template-columns:1fr 230px;align-items:center;margin-bottom:14px}.nook-welcome .intro{margin:0;padding-left:10px}.nook-welcome h1{font-size:29px}.nook-welcome .eyebrow{font-size:9px;margin-bottom:7px}.nook-welcome .intro>p:last-child{font-size:13px;line-height:1.4}.nook-art{width:110%;margin:0 0 0 -6%}.shelf-label{margin-left:10px;margin-bottom:13px}.category .art{height:154px;min-height:154px}.category .caption{padding:15px 19px 14px 24px;min-height:138px}.category .caption h2{font-size:25px}.category .count{font-size:10px}.category .caption p{font-size:12px}.category .train .engine{height:122px}.category .letter-car{height:91px}.category .letter-car b{font-size:28px}.category .sound-letter{height:70px;width:62px;font-size:50px}.category .tiles span{height:39px;min-width:36px;font-size:28px}.category .rally-scene .word-sign{font-size:24px;padding:3px 8px}.category .word-tray{bottom:5%;padding:7px}.categories{gap:22px}.book-shelf{gap:20px}.category-nook{top:4px;right:24px;width:145px;height:95px}.category-page .intro{margin-top:18px}.game .rally-scene .word-sign{font-size:22px}}
@media(max-width:480px){.nook-welcome{grid-template-columns:1fr 120px;margin-bottom:18px}.nook-welcome h1{font-size:25px}.nook-welcome .intro{padding-left:0}.nook-welcome .eyebrow{font-size:8px;letter-spacing:1px}.nook-art{width:130%;margin-left:-18%}.nook-welcome .intro>p:last-child{font-size:12px}.book-shelf{grid-template-columns:1fr;gap:20px}.category{display:grid;grid-template-columns:47% 53%;min-height:182px}.category .art{grid-area:1/2;height:100%;min-height:175px}.category .caption{grid-area:1/1;padding:16px 0 16px 21px;min-height:175px}.category .caption h2{font-size:23px}.category .count{font-size:9px}.category .caption p{font-size:11px}.category .train .engine{height:78px}.category .letter-car{height:60px}.category .letter-car b{font-size:18px}.category .sound-letter{left:3%;width:45px;height:57px;font-size:38px}.category .sound-scene .picture{left:28%;width:72%;height:76%}.category .word-tray{left:2%;right:5%;padding:6px 3px}.category .tiles span{font-size:22px;min-width:28px;height:34px}.category .rally-scene .word-sign{font-size:18px}.category-nook{width:115px;height:78px;right:15px}.category-page .intro{margin-top:22px}.game .rally-scene .word-sign{font-size:15px}}
@media(max-height:650px) and (min-width:801px){.home-page{padding-top:7px;grid-template-columns:210px minmax(0,1fr);gap:18px}.nook-welcome h1{font-size:28px}.nook-welcome .intro>p:last-child{font-size:13px}.nook-welcome .eyebrow{font-size:9px}.category{display:grid;grid-template-columns:45% 55%;min-height:196px}.category .art{grid-area:1/2;min-height:188px;height:100%}.category .caption{grid-area:1/1;min-height:0;height:100%;padding:14px 0 14px 21px;justify-content:center}.category .caption h2{font-size:21px}.category .caption p{font-size:11px;margin-bottom:10px}.category .count{font-size:9px}.category .play{font-size:11px;gap:6px;margin-top:0}.category .play>span{width:25px;height:25px;font-size:18px}.category .train .engine{height:76px}.category .letter-car{height:59px}.category .letter-car b{font-size:18px}.category .sound-letter{left:0;height:52px;width:44px;font-size:38px}.category .sound-scene .picture{left:27%;width:74%;height:76%}.category .word-tray{left:4%;right:5%;padding:6px 2px}.category .tiles span{height:31px;font-size:21px;min-width:25px;padding:0 3px}.category .rally-scene .word-sign{font-size:16px;padding:3px 5px;border-width:2px}.category .rally-scene .car{height:43%;top:43%;width:86%;left:8%}.category .rally-scene .word-sign.third{top:4%;right:2%}.category .rally-scene .word-sign.second{bottom:3%;right:5%}.shelf-label{margin-bottom:10px}.categories{gap:22px}.category-nook{height:87px;top:-7px}.category-page .intro{margin-bottom:25px}}
.nook-art,.category-nook img{mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}.construction-scene>img{mix-blend-mode:multiply}

/* Consistent, prominent home navigation and true transparent nook artwork. */
.home{position:relative;z-index:2;gap:10px;min-height:56px;padding:7px 19px 7px 8px;border:2px solid var(--edge);border-radius:18px;background:#fffef9;color:var(--navy);font:600 17px/1 Poppins,sans-serif;box-shadow:0 4px 0 var(--edge);transition:transform .15s,box-shadow .15s}
.home .home-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--tint)}
.home svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.home:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--edge)}
.home:active{transform:translateY(3px);box-shadow:0 1px 0 var(--edge)}
.home>span:last-child{font-size:17px;line-height:1}
.nook-art,.category-nook img{mask-image:none;mix-blend-mode:normal}
.local-preview-note{margin:8px auto;padding:16px 20px;max-width:1000px;background:#fff4c7;border:2px solid #cdb758;border-radius:12px;color:#0a325a;font:400 15px/1.5 Inter,sans-serif}
.local-preview-note strong{display:block;font-weight:600}

/* Match the approved game mastheads and align the shared menu frame. */
.masthead,main,.home-page{max-width:1510px;padding-left:36px;padding-right:36px}
.masthead{height:72px}
.brand{gap:12px;color:var(--blue);font:600 27px/1.2 Poppins,sans-serif}
.brand img{width:42px;height:42px;object-fit:contain;flex-shrink:0}
@media(min-width:1600px){.masthead,main,.home-page{max-width:1600px}}
@media(max-width:1100px){.masthead,main,.home-page{padding-left:25px;padding-right:25px}.masthead{height:68px}.brand{font-size:24px}.brand img{width:38px;height:38px}}
@media(max-width:800px){.masthead,main,.home-page{padding-left:24px;padding-right:24px}}
@media(max-width:480px){.masthead,main,.home-page{padding-left:14px;padding-right:14px}.masthead{height:64px}.brand{font-size:24px;gap:10px}.brand img{width:36px;height:36px}}
@media(max-height:650px) and (min-width:801px){.masthead{height:60px}.brand{font-size:24px}.brand img{width:36px;height:36px}}

/* Selection-menu illustrations share one stable 8:5 coordinate plane.
   These selectors never load on or target gameplay pages. */
.brand { min-height:44px; border-radius:8px; }
.brand:hover span { color:#b3e6a6; text-decoration:none; }
.card .art { display:flex; align-items:center; justify-content:center; }
.menu-scene { position:relative; width:100%; aspect-ratio:8 / 5; flex:none;
  container-type:inline-size; overflow:hidden; isolation:isolate; }
.menu-scene img { position:absolute; display:block; object-fit:contain;
  max-width:none; filter:none; }
.menu-picture { inset:4% 8% auto; width:84%; height:67%; }
.menu-dog .menu-picture,.menu-cat .menu-picture { inset:3% 14% auto; width:72%; height:68%; }
.menu-train-assembly { position:absolute; left:4%; width:92%; top:9%; aspect-ratio:12 / 5; }
.menu-train .menu-picture { inset:0; width:100%; height:100%; }
.menu-train-car-letter { position:absolute; top:52%; transform:translate(-50%,-50%);
  color:var(--ink); font:600 9cqw/1 Poppins,sans-serif; }
.menu-train-car-letter.car-1 { left:45.1%; }
.menu-train-car-letter.car-2 { left:66%; }
.menu-train-car-letter.car-3 { left:86.9%; }
.menu-path .menu-picture { inset:3% 6% auto; width:88%; height:68%; }
.menu-tokens { position:absolute; left:7%; right:7%; bottom:6%; height:18%;
  display:flex; gap:2.5%; justify-content:center; align-items:stretch; }
.menu-tokens span { display:flex; align-items:center; justify-content:center;
  min-width:13%; padding:0 3%; background:var(--paper); color:var(--ink);
  border:1px solid var(--edge); border-bottom:3px solid var(--edge);
  border-radius:2cqw; font:600 7cqw/1 Poppins,sans-serif; }
.menu-paper { position:absolute; inset:12% 16% 13% 10%; background:var(--paper);
  border:2px solid #C7DDF0; border-radius:3cqw; }
.menu-guides { position:absolute; inset:21% 7% 20%; border-block:2px solid #C7DDF0; }
.menu-guides:after { content:""; position:absolute; top:50%; left:0; right:0;
  border-top:2px dashed #C7DDF0; }
.menu-paper>span { position:absolute; left:10%; bottom:16%; color:var(--accent);
  font:600 27cqw/1 Poppins,sans-serif; }
.menu-paper>.outline-letter { left:54%; color:transparent; -webkit-text-stroke:1.5px var(--edge); }
.menu-pencil { position:absolute; width:4%; height:52%; right:12%; bottom:18%;
  background:#EAD66B; border-inline:1cqw solid #DFA05A; border-radius:1cqw;
  transform:rotate(24deg); }
.menu-pencil:after { content:""; position:absolute; top:100%; left:-1cqw;
  width:4cqw; height:7cqw; background:#B89264; clip-path:polygon(0 0,100% 0,50% 100%); }
.menu-board { position:absolute; width:54%; height:80%; top:10%; left:10%;
  padding:3%; border:2px solid var(--edge); border-radius:2cqw; background:var(--paper); }
.menu-board strong { display:block; height:14%; color:var(--accent);
  text-align:center; font:600 4cqw/1 Poppins,sans-serif; letter-spacing:.8cqw; }
.menu-cells { height:86%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(4,minmax(0,1fr)); gap:2%; }
.menu-cells span { display:flex; align-items:center; justify-content:center;
  background:var(--light); border:1px solid var(--edge); color:var(--ink);
  font:600 2.6cqw/1 Poppins,sans-serif; }
.menu-cells span { position:relative; container-type:size; }
.menu-cell-cover { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:76cqmin; height:76cqmin; border-radius:50%; background:#C96A6A; }
.menu-bag { right:6%; bottom:10%; width:29%; height:63%; }
/* Equal framing for every game tile; the illustration scales as a unit. */
.game-grid,.game-grid.count-4 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.game-grid .game .art { height:auto; aspect-ratio:8 / 5; min-height:0; width:100%; }
.game-grid .game .caption { min-height:88px; padding:16px 18px; }
.game-grid .game .caption h2 { font-size:18px; max-width:none; overflow-wrap:anywhere; }
.game-grid .game .play>span { width:38px; height:38px; }
.category { display:grid; grid-template-columns:47% 53%; min-height:200px; }
.category .art { grid-area:1/2; width:100%; height:auto; min-height:0;
  align-self:stretch; overflow:hidden; }
.category .caption { grid-area:1/1; width:100%; min-height:0;
  padding:20px 0 20px 21px; justify-content:center; }
.category .caption h2 { font-size:clamp(21px,1.8vw,28px); }
.category .caption p { margin-bottom:14px; }
.category .play { margin-top:0; }
.category .menu-scene { max-height:none; aspect-ratio:1; }
.category .menu-tokens span { font-size:9cqw; }
@media(max-width:1100px) {
  .game-grid,.game-grid.count-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .game-grid,.game-grid.count-4 { grid-template-columns:minmax(0,1fr); gap:18px; }
  .game-grid .game .caption { min-height:72px; }
  .game-grid .game .caption h2 { font-size:18px; }
  .category .caption h2 { font-size:clamp(19px,5.5vw,23px); }
  .category .caption { padding-left:15px; }
  .category .caption p { max-width:100%; }
  .category { min-height:185px; }
}
@media(prefers-reduced-motion:reduce) { .home { transition:none; } }

/* Activity cues belong only to the selection menus. All artwork remains in
   the existing fixed composition plane; no gameplay resources are modified. */
.menu-context { position:absolute; z-index:-1; inset:13% 7% 20%;
  background:#FEFDFC66; border-radius:45% 55% 42% 48%; }
.menu-dog .menu-context,.menu-cat .menu-context { inset:61% 15% 21%;
  background:#BFD9B580; border-radius:50%; }
.menu-train .menu-context { inset:auto 1% auto; top:calc(9% + 25cqw); height:22cqw;
    background:#BFD9B5; border-radius:4cqw; }
.menu-audio-icon { width:9cqw; height:9cqw; flex:none; fill:var(--accent); }
.menu-audio-icon .sound-waves { fill:none; stroke:var(--accent); stroke-width:2.3;
  stroke-linecap:round; }
.menu-dog .menu-tokens span { gap:2cqw; min-width:32%; border-width:2px;
  border-bottom-width:3px; }
.menu-cap .menu-context { inset:10% 15% 23%; background:#FEFDFC70;
  border:1px solid #D8BE9A99; border-radius:5cqw; }
.menu-cap .menu-tokens { gap:5%; }
.menu-cap .menu-tokens span { position:relative; min-width:29%; }
.menu-cap .menu-tokens .is-selected { background:#DEECDF; border-color:#7FAF8C;
  box-shadow:0 0 0 1cqw #7FAF8C33; }
.menu-choice-check { position:absolute; right:0; top:-3cqw; width:6cqw;
  height:6cqw; padding:1cqw; background:#7FAF8C; border-radius:50%;
  fill:none; stroke:#FEFDFC; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.menu-cat .menu-tokens,.menu-construction .menu-tokens { left:16%; right:16%;
  bottom:5%; padding:1.5% 3%; height:22%; background:#D8BE9A80;
  border:1px solid #B8926470; border-radius:3cqw; }
.menu-cat .menu-tokens span,.menu-construction .menu-tokens span { flex:1;
  border-color:#B89264; }
.menu-mailbox .menu-picture { left:38%; top:5%; width:54%; height:67%; }
.menu-envelope { position:absolute; left:7%; top:37%; width:29%; height:28%;
  background:#FEFDFC; border:1px solid #7EA8C9; border-radius:2cqw;
  transform:rotate(-8deg); }
.menu-envelope:before { content:""; position:absolute; inset:0;
  background:#C7DDF0; clip-path:polygon(0 0,50% 32%,100% 0); }
.menu-envelope b { position:absolute; left:50%; top:64%; transform:translate(-50%,-50%);
  font:600 8cqw/1 Poppins,sans-serif; }
.menu-mail-arrow { position:absolute; left:37%; top:43%; width:16%; height:16%;
  fill:none; stroke:#547FA9; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.menu-sort-apple { position:absolute; left:8%; top:40%; width:15%; height:23%;
  background:#C96A6A; border-radius:45% 45% 48% 48%; transform:rotate(-8deg);
  display:grid; place-items:center; }
.menu-sort-apple:before { content:""; position:absolute; top:-20%; left:48%;
  width:9%; height:25%; background:#B89264; border-radius:1cqw; }
.menu-sort-apple:after { content:""; position:absolute; top:-12%; left:53%;
  width:40%; height:20%; background:#7FAF8C; border-radius:80% 10%; }
.menu-sort-apple b { color:#FEFDFC; font:600 7cqw/1 Poppins,sans-serif; }
.menu-sort .menu-tokens span { min-width:24%; border-radius:2cqw 2cqw 4cqw 4cqw;
  border-bottom-width:5px; }
.menu-sort .menu-tokens .is-selected { border-color:#7FAF8C; background:#DEECDF; }
.menu-path .menu-context { background:#FEFDFC33; }
.menu-path .menu-tokens:before { content:""; position:absolute; z-index:-1;
  left:10%; right:10%; top:45%; border-top:1cqw dotted var(--edge); }
.menu-path .menu-tokens { gap:8%; }
.menu-path .menu-tokens span { border-radius:50%; min-width:20%; }
.menu-path .menu-tokens .is-selected { background:#DEECDF; border:2px solid #7FAF8C; }
.menu-rally .menu-tokens span { position:relative; border-width:2px;
  border-color:#9A86C7; border-bottom-width:3px; }
.menu-rally .menu-tokens span:after { content:""; position:absolute; top:100%;
  left:48%; height:2.8cqw; width:1.5cqw; background:#B89264; z-index:-1; }
.menu-finish-flag { position:absolute; top:7%; right:6%; width:12%; height:24%;
  fill:none; stroke:#6C7A89; stroke-width:2.5; stroke-linejoin:round; }
.flag-paper { fill:#FEFDFC; }
.flag-checks { fill:#6C7A89; stroke:none; }
.menu-tracing .menu-audio-icon { position:absolute; left:5%; bottom:2%;
  width:8cqw; height:8cqw; }
.menu-draw-card { position:absolute; right:10%; top:12%; min-width:22%; height:21%;
  padding:1% 3%; background:#FEFDFC; border:2px solid var(--edge); border-radius:2cqw;
  display:flex; align-items:center; justify-content:center; gap:1cqw;
  transform:rotate(5deg); }
.menu-draw-card b { font:600 4cqw/1 Poppins,sans-serif; }
.menu-draw-card .menu-audio-icon { width:5cqw; height:5cqw; }
/* Four-game categories stay one row on desktop and landscape tablets.
   Six-game categories stay two rows of three at those same sizes. */
.game-grid.count-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.game-grid.count-6 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.game-grid .game .caption { display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:10px; padding:14px; min-height:90px; }
.game-grid .game .caption h2 { min-width:0; font-size:clamp(14px,1.3vw,18px);
  overflow-wrap:normal; }
.game-grid .game .play>span { width:32px; height:32px; }
@media(max-width:899px), (orientation:portrait) and (max-width:1100px) {
  .game-grid.count-4,.game-grid.count-6 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .game-grid .game .caption h2 { font-size:16px; }
}
/* Keep every game menu two across on narrow phones; give titles their full card width. */
@media(max-width:479px) {
  .game-grid.count-4,.game-grid.count-6 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .game-grid .game { border-radius:18px; }
  .game-grid .game .caption { grid-template-columns:minmax(0,1fr); gap:8px; padding:10px; min-height:116px; }
  .game-grid .game .caption h2 { font-size:clamp(13px,3.5vw,16px); line-height:1.3; overflow-wrap:anywhere; }
  .game-grid .game .play { justify-self:end; }
  .game-grid .game .play>span { width:28px; height:28px; }
}

/* The six-game menu budgets its artwork from the available viewport height.
   Minimum card/content sizes keep short or zoomed views scrollable and readable. */
body:has(> .category-page.names) { height:100svh; min-height:100svh; display:flex; flex-direction:column; }
body:has(> .category-page.names) > .masthead { flex:0 0 auto; width:100%; margin:0 auto; }
body:has(> .category-page.names) > footer { flex:0 0 auto; }
.category-page.names { display:flex; flex-direction:column; flex:1 0 auto; width:100%; margin:0 auto; }
.category-page.names > .home { flex:0 0 auto; align-self:flex-start; }
.category-page.names > .intro { flex:0 0 auto; margin:-48px 150px 18px; }
.category-page.names .game-grid.count-6 { flex:1 0 auto; grid-template-rows:repeat(2,minmax(132px,1fr)); gap:14px; }
.category-page.names .game-grid .game { display:grid; grid-template-rows:minmax(64px,1fr) auto; min-height:0; }
.category-page.names .game-grid .game .art { height:auto; aspect-ratio:auto; min-height:64px; container-type:size; }
.category-page.names .game-grid .menu-scene { width:min(100%,160cqh); }
.category-page.names .game-grid .game .caption { min-height:64px; padding:10px 12px; }
@media(max-width:899px), (orientation:portrait) and (max-width:1100px) {
  .category-page.names .game-grid.count-6 { grid-template-rows:repeat(3,minmax(132px,1fr)); }
}
@media(max-width:699px) {
  .category-page.names > .intro { margin:14px 0 16px; }
}
@media(max-width:479px) {
  .category-page.names > .intro { margin:10px 0 12px; }
  .category-page.names > .intro h1 { font-size:30px; margin-bottom:8px; }
  .category-page.names .game-grid.count-6 { gap:10px; grid-template-rows:repeat(3,minmax(164px,1fr)); }
  .category-page.names .game-grid .game .caption { min-height:92px; padding:8px 10px; }
}
/* Three balanced sight-word signs share the available width. */
.menu-rally .menu-tokens span { flex:1; padding:0 2%; font-size:8cqw; }
.category .menu-rally .menu-tokens span { font-size:9cqw; }

/* Word-builder covers use the corresponding games' original SVG scene props. */
.art .menu-builder{position:absolute;inset:8% 5% 6%;width:90%;height:86%;border:2px solid #a9bdc5;border-radius:14px;overflow:hidden;background:#eef4f8;box-shadow:0 4px 0 #afc8da;isolation:isolate}
.menu-builder .builder-wall{position:absolute;inset:0 0 52%;background-color:#eef4f8;background-image:linear-gradient(#dce8ea 1px,transparent 1px),linear-gradient(90deg,#dce8ea 1px,transparent 1px);background-size:18px 18px;border-bottom:5px solid #9eb5bf}
.menu-builder .builder-equipment{position:absolute;top:3%;height:35%;width:38%;z-index:1;overflow:visible}
.menu-builder .builder-left{left:4%}.menu-builder .builder-right{right:4%}
.menu-builder .builder-bench{position:absolute;inset:43% 5% 8%;display:grid;grid-template-columns:38% minmax(0,1fr);gap:7%;align-items:stretch}
.menu-builder .builder-specimen{min-width:0;min-height:0;display:grid;place-items:center;padding:4px;background:#fefdfc;border:2px solid #aabfce;border-radius:9px;box-shadow:0 3px 0 #b5c4ca}
.menu-builder .builder-specimen img{display:block;width:100%;height:100%;object-fit:contain}
.menu-builder .builder-tray{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:10%;padding:5%;border:2px solid #a7bfcb;border-radius:9px;background:#fefdfc}
.menu-builder .builder-slots{display:flex;justify-content:center;align-items:center;gap:5%;min-height:52%;padding:4%;border:1px solid #bfd9b5;border-radius:6px;background:#eef5ef}
.menu-builder .builder-slots span{display:grid;place-items:center;min-width:0;flex:1;max-width:35px;aspect-ratio:1;border:1.5px solid #7ea8c9;border-radius:5px;background:#dceaf4;color:#36566f;font:600 clamp(15px,2vw,24px)/1 Poppins,sans-serif;box-shadow:0 2px 0 #94b2ca}
.menu-builder .builder-spare{display:flex;justify-content:center;gap:9%}.menu-builder .builder-spare i{display:block;width:17%;aspect-ratio:1;border:1px solid #7ea8c9;border-radius:3px;background:#dceaf4}
.art .builder-workshop{background:#f0dec4;border-color:#d8be9a;box-shadow:0 4px 0 #d8be9a}
.builder-workshop .builder-wall{background-color:#fefcf5;background-image:radial-gradient(#d8be9a 1.5px,transparent 1.5px);background-size:16px 16px;border-color:#b89264}
.builder-workshop .builder-tray{border-color:#c5a477;background:#fefcf5}.builder-workshop .builder-slots{border-style:dashed}.builder-workshop .builder-spare{padding:3%;border:1px solid #c5a477;border-radius:4px;background:#e8d0ad}
@media(max-width:600px){.menu-builder .builder-slots span{font-size:17px}}

/* One homepage train illustration retains its intrinsic aspect at every size. */.menu-train-scene>img{position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%)}