@font-face{font-family:Nunito;src:url('assets/nunito-bold.ttf') format('truetype');font-weight:400 800;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-heavy.ttf') format('truetype');font-weight:900 1000;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#a5e1ff}body{font-family:'Nunito','Trebuchet MS',ui-rounded,system-ui,sans-serif;color:#102174;display:grid;place-items:center;min-height:100svh}button,input,select{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:default;opacity:.55}button:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:4px solid #ffca20;outline-offset:4px}button{border:0}h1,h2,p{margin:0}.game{container-type:inline-size;position:relative;width:min(100vw,177.7778svh);aspect-ratio:16/9;overflow:hidden;background:#b8edff;box-shadow:0 0 80px #165a8b66}.game:fullscreen{width:100vw;height:100svh;aspect-ratio:auto}.icon{width:1.3em;height:1.3em;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}#header{height:11.4%;padding:0 2.1cqw;display:flex;gap:1.1cqw;align-items:center;justify-content:space-between;color:#fff;background:linear-gradient(#0894ff,#0079ee);box-shadow:0 3px 0 #80cfff;position:relative;z-index:5}.title{display:flex;gap:1.7cqw;align-items:center;min-width:0}.title h1{font-size:3.3cqw;line-height:1.1;font-weight:900;letter-spacing:-.07cqw;white-space:nowrap}.title .ticket{width:5.2cqw;height:4.2cqw;color:#ffd23c;stroke:#ffcc3b;fill:#ffe260;filter:drop-shadow(0 3px 0 #d18c13);transform:rotate(-15deg)}nav{display:flex;gap:.8cqw}.round-button{width:4.5cqw;height:4.5cqw;border-radius:50%;display:grid;place-items:center;background:linear-gradient(#45b3ff,#1185ff);border:2px solid #88cdff;box-shadow:0 3px 0 #0067c8;color:white;font-size:2.1cqw}.round-button:hover{filter:brightness(1.15);transform:translateY(-2px)}.progress{display:flex;gap:.5cqw;align-items:center;margin-left:auto}.progress i{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#a8dcff;box-shadow:0 0 0 2px #c5eaff}.progress i.lit{background:#ffd337;box-shadow:0 0 0 3px #fff2bc}.progress strong{padding:.5cqw 1cqw;background:#0059bf;border-radius:3cqw;font-size:1.6cqw;white-space:nowrap;margin:0 1cqw}.scene{height:88.6%;position:relative;background:url('assets/station.webp') center center/100% 100% no-repeat}.paper{background:linear-gradient(135deg,#fff,#f3fbff);border:2px solid #d0e9ff;box-shadow:0 7px 15px #3479a629,inset 0 0 16px white;border-radius:2cqw}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:.6em;border-radius:1cqw;font-weight:900;padding:.75em 1.4em;font-size:1.4cqw;min-height:2.5em}.primary{background:linear-gradient(#ffe96e,#ffc623);border:2px solid #ffdb52;box-shadow:0 .35cqw 0 #dc8b00,inset 0 2px 0 #fff9b8;color:#604000}.primary:hover{background:linear-gradient(#fff1a0,#ffce39);transform:translateY(-2px)}.secondary{background:linear-gradient(#fff,#def2ff);border:2px solid #bedfff;box-shadow:0 .25cqw 0 #91bbdf;color:#0753ac}.eyebrow{font-size:1cqw;font-weight:900;letter-spacing:.12em;color:#007ae6}.welcome{position:absolute;top:3%;left:8%;width:84%;height:29%;display:flex;align-items:center;justify-content:space-between}.welcome-copy{background:#fffef2ec;border:3px solid white;border-radius:1.6cqw;padding:1.2cqw 2cqw;box-shadow:0 5px 15px #03649922;width:77%}.welcome h2{font-size:2.8cqw;line-height:1.03;color:#0062bc}.welcome h2 br{display:none}.welcome p{font-size:1.25cqw;margin-top:.7em;font-weight:700}.vali{object-fit:contain;filter:drop-shadow(0 5px 2px #194b6533)}.welcome>.vali{height:128%;width:20%;align-self:end;z-index:2}.station-menu{position:absolute;top:36%;left:4%;width:92%;bottom:4%;padding:1.4cqw 1.7cqw;background:linear-gradient(#fffffffa,#eff9fffa);border:3px solid white;border-radius:2cqw;box-shadow:0 1cqw 3cqw #0a4d6e30}.trip-options{display:flex;gap:1.4cqw;justify-content:space-between;align-items:center;border-bottom:2px solid #d8ecfb;padding-bottom:1.2cqw}.trip-options label{font-size:1cqw;font-weight:900}.trip-options select{display:block;padding:.5cqw .9cqw;margin-top:.3cqw;border:2px solid #b2d8f9;border-radius:.65cqw;background:#f6fcff;font-size:1.2cqw;font-weight:800;color:#114b87;max-width:25cqw}.trip-options fieldset{border:0;padding:0;margin:0}.trip-options legend{font-size:1cqw;font-weight:900;margin-bottom:.3cqw}.mode{background:#e2f2ff;border:2px solid #c9e6ff;padding:.55cqw .8cqw;border-radius:.6cqw;font-size:1.1cqw;font-weight:900;margin-right:.3cqw}.mode.chosen{background:#007fea;color:white;border-color:#0060bb;box-shadow:inset 0 2px 0 #78caff}.all-aboard{font-size:1.35cqw}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9cqw;margin-top:1.1cqw}.game-card{display:flex;align-items:center;gap:.8cqw;text-align:left;padding:1cqw .8cqw;border-radius:1.1cqw;border:2px solid #c8e3f8;background:linear-gradient(#fff,#f4faff);box-shadow:0 .3cqw 0 #c0dcf3;min-height:6.7cqw}.game-card:hover{border-color:#008cff;transform:translateY(-2px)}.game-card>span:nth-child(2){flex:1}.game-card b{display:block;font-size:1.25cqw;line-height:1.15}.game-card small{display:block;font-size:.9cqw;color:#3b5e7e;line-height:1.25;margin-top:.35cqw}.game-card>.icon{font-size:1cqw;color:#1298e9}.card-icon{background:linear-gradient(#cdf7a3,#7bdb34);color:#237300;width:3.5cqw;height:3.5cqw;display:grid;place-items:center;border-radius:.7cqw;font-size:2cqw;box-shadow:inset 0 2px 0 #ffffffaa}.card-1 .card-icon{background:linear-gradient(#c1ecff,#52b9ff);color:#0069d4}.card-2 .card-icon{background:linear-gradient(#edcbff,#b674ff);color:#7823c6}.card-3 .card-icon{background:linear-gradient(#ffe98b,#ffba26);color:#9a5f00}.card-4 .card-icon{background:linear-gradient(#ffc7e2,#fa8cb7);color:#ba2860}.card-5 .card-icon{background:linear-gradient(#b2fff6,#49dcca);color:#007e78}.stars{color:#efb900;display:block;letter-spacing:.1em;font-size:1cqw;margin-top:.3cqw}.menu-note{font-size:1cqw;text-align:center;margin-top:1.1cqw;color:#45617d}.text-button{padding:0;background:none;text-decoration:underline;font-weight:900;color:#006dc8;font-size:inherit}.journey-label{position:absolute;top:2%;right:2%;background:#fffef5e8;border:2px solid white;border-radius:3cqw;padding:.35cqw 1cqw;font-size:1cqw;font-weight:900;z-index:2}.journey-label span{color:#b07c00;margin-left:1em}.guide{position:absolute;right:3%;top:9%;display:flex;align-items:center;gap:.4cqw;max-width:30cqw;z-index:2}.guide .vali{height:8cqw;width:6.5cqw}.guide span{padding:.8cqw;background:#fffdf3;border:2px solid #f3c256;border-radius:1cqw;color:#28416c;font-size:1.1cqw;font-weight:900;box-shadow:0 .25cqw .4cqw #3e769f22}.context{position:absolute;top:24%;left:32%;right:5%;min-height:3cqw;padding:.6cqw 1.2cqw;text-align:center;border:2px solid #fff;background:#f9fdffed;border-radius:1cqw;font-size:1.4cqw;z-index:3;box-shadow:0 2px 4px #0002}.train-viewport{position:absolute;top:34%;height:31%;left:1.3%;right:1.3%;overflow:visible;display:flex;align-items:flex-end}.train{display:flex;flex-direction:row;align-items:flex-end;gap:0;width:100%;height:100%;justify-content:center}.locomotive{transform:scaleX(-1);object-fit:fill;object-position:bottom;width:22%;max-height:119%;height:119%;align-self:flex-end;margin-left:-.6%;filter:drop-shadow(0 .5cqw .3cqw #24385a44);pointer-events:none;flex-shrink:0}.wagon{position:relative;aspect-ratio:1.08;flex:0 1 calc(78% / var(--count));max-width:24%;height:auto;margin:0 -.25%;cursor:pointer;isolation:isolate;transition:filter .16s}.wagon-art{position:absolute;inset:0;background:url('assets/wagon.webp') center bottom/100% 100% no-repeat;filter:hue-rotate(var(--hue));z-index:-1;pointer-events:none}.wagon-art::after{content:'';position:absolute;inset:0;background:url('assets/wagon.webp') center bottom/100% 100% no-repeat;filter:hue-rotate(calc(-1 * var(--hue)));clip-path:inset(76% 0 0 0);pointer-events:none}.wagon-label{position:absolute;top:12%;left:13%;width:74%;height:31%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1cqw;line-height:1;color:#154400;font-size:1.1cqw}.wagon-label .icon{height:2cqw;width:2cqw;stroke-width:2.4}.wagon-label strong{font-weight:950;font-size:clamp(10px,1.6cqw,27px)}.wagon-load{position:absolute;top:46%;left:13%;width:74%;height:30%;display:flex;flex-direction:column;gap:.2cqw;align-items:stretch;justify-content:center;border:2px dashed #68b930b0;border-radius:.7cqw;padding:.15cqw .35cqw;line-height:1}.drop-hint{font-size:1cqw;font-weight:800;text-align:center;color:#2d6506;opacity:.75}.loaded-word{display:block;background:#fffffff2;border-radius:.4cqw;padding:.3cqw;text-align:center;font-size:1.25cqw;font-weight:900;box-shadow:0 2px 2px #0002}.cat-verb .wagon-label{color:#005bb6}.cat-adjective .wagon-label{color:#7000b6}.cat-determiner .wagon-label{color:#a16400}.cat-pronoun .wagon-label{color:#b21d5c}.cat-adverb .wagon-label{color:#037a71}.wagon:hover,.drag-over,.hint-target{filter:drop-shadow(0 0 .4cqw #ffea5c)}.drag-over .wagon-load,.hint-target .wagon-load{border-color:#fff;outline:3px solid #ffda00;background:#fff4aa88}.dock{position:absolute;left:2%;width:96%;top:75%;bottom:4%;background:linear-gradient(#fff,#f1faff);padding:1.2cqw 1.6cqw;border-radius:2cqw;border:2px solid #fff;box-shadow:0 .6cqw 1cqw #226ba031;display:flex;flex-direction:column;justify-content:center;gap:1cqw;z-index:2}.instruction{font-size:1.55cqw;display:flex;align-items:center;gap:1cqw;line-height:1.15}.instruction .icon{color:#0077df;font-size:1.8cqw}.word-tray,.sentence-tokens{display:flex;align-items:center;gap:.8cqw;justify-content:center;flex-wrap:wrap}.word{position:relative;display:flex;justify-content:center;align-items:center;gap:.3em;min-width:7cqw;min-height:3.6cqw;border-radius:1.2cqw;font-size:1.8cqw;font-weight:900;padding:.65cqw 1.2cqw;background:linear-gradient(#fff,#fcfeff);border:2px solid #cee5f7;box-shadow:0 .2cqw .4cqw #165b8d22;color:#111a71;user-select:none;touch-action:none;line-height:1.1}.word:hover{border-color:#35a8ff;background:#f0faff}.word.selected{border:3px solid #ffbf00;background:#fff3bd;box-shadow:0 0 0 .25cqw #fff,0 0 0 .4cqw #ffc434;transform:translateY(-.15cqw)}.word-tray{gap:.6cqw}.word-tray .word{font-size:1.5cqw;min-height:3.3cqw;padding:.65cqw .8cqw;min-width:6.2cqw;flex:1 1 auto;max-width:15%}.feedback{position:absolute;z-index:10;top:10%;left:29%;max-width:65%;display:flex;align-items:center;gap:1cqw;padding:1.2cqw 1.5cqw;border-radius:2cqw;background:linear-gradient(#fff,#f9fff5);border:.25cqw solid #6ed550;box-shadow:0 .4cqw .8cqw #254b4b33;animation:pop .2s ease-out}.feedback::after{content:'';position:absolute;bottom:-1.2cqw;left:12%;width:2cqw;height:2cqw;background:#fbfff6;border-bottom:.25cqw solid #6ed550;border-right:.25cqw solid #6ed550;transform:skewY(-20deg) rotate(35deg)}.feedback h2{font-size:1.9cqw;line-height:1.1;color:#198a00;margin-bottom:.3cqw}.feedback p{font-size:1.35cqw;line-height:1.3;font-weight:700;max-width:33cqw}.feedback-symbol{width:4cqw;height:4cqw;border-radius:50%;background:linear-gradient(#8fe05b,#3dbd24);display:grid;place-items:center;color:white;flex-shrink:0;font-size:2.5cqw}.feedback.retry{border-color:#ffc53c;background:#fffdf3}.feedback.retry h2{color:#9c6400}.feedback.retry .feedback-symbol{background:#ffcb38;color:#8d5d00}.feedback.retry::after{border-color:#ffc53c;background:#fffdf3}.feedback .small{font-size:1.1cqw;white-space:nowrap;margin-left:.5cqw;padding:.65em .9em}.game-review .dock{top:79%;bottom:3%;padding:1cqw}.game-review .train-viewport{top:32%;height:38%}.review-load{top:44%;height:33%;border:0;padding:0;gap:.2cqw}.review-load .word{min-width:0;padding:.3cqw;min-height:0;border:1px solid #ddd;font-size:1.1cqw;border-radius:.35cqw;flex:1}.review-help{font-size:1.1cqw}.suitcase{background:linear-gradient(#96dcff,#0e9cfa);border:.32cqw solid #0078d2;border-radius:.8cqw;box-shadow:inset 0 .25cqw 0 #fff9,0 .2cqw 0 #004b8a;color:#052c63}.suitcase::before{content:'';position:absolute;width:35%;height:.6cqw;border:.25cqw solid #00589f;border-bottom:0;top:-.8cqw;border-radius:.6cqw .6cqw 0 0}.suitcase:nth-child(3n){background:linear-gradient(#e5b3ff,#b450f5);border-color:#8d2dc9}.suitcase:nth-child(3n+1){background:linear-gradient(#ff9b9c,#f74353);border-color:#d40f2b}.game-luggage{background-image:url('assets/luggage.webp')}.game-luggage .word-tray{padding-top:.4cqw}.game-luggage .locomotive{display:none}.game-luggage .wagon{flex-basis:calc(96% / var(--count));max-width:25%}.game-luggage .train-viewport{top:30%;height:38%}.inspection-sign{position:absolute;top:24%;left:32%;width:40%;padding:1.8cqw;text-align:center}.inspection-sign>.icon{font-size:3cqw;color:#047ae0}.inspection-sign h2{font-size:2.5cqw;margin:.4cqw 0}.inspection-sign p{font-size:1.3cqw}.inspection-engine{position:absolute;left:4%;bottom:35%;width:25%;height:40%;object-fit:contain;object-position:bottom}.signal{position:absolute;right:5%;top:32%;border:1cqw solid #344d72;border-radius:1cqw;background:linear-gradient(#06a8ff,#0065ce);padding:1.5cqw;box-shadow:0 .5cqw 0 #1b2d50;color:white;display:flex;flex-direction:column;align-items:center;font-size:1.8cqw;font-weight:900}.signal .icon{font-size:4cqw}.sentence-tokens .word{flex:1;min-width:0;font-size:2cqw;padding:1cqw;min-height:5cqw}.correct-word,.word.correct-word:disabled{border:.25cqw solid #67c941;background:#e5ffcd;color:#175b00;opacity:1}.correct-word .icon{color:#60b63b}.sentence-board{position:absolute;left:15%;right:13%;top:25%;height:23%;padding:1.5cqw}.sentence-slots{display:flex;gap:.65cqw;height:100%;align-items:center}.sentence-slot{flex:1;min-width:0;border:.2cqw dashed #309bef;border-radius:.7cqw;background:#d5f1ff;height:100%;font-size:2cqw;font-weight:900}.sentence-slot span{opacity:.35}.sentence-slot.cat-noun{background:#e2ffc6;border-color:#73c631}.sentence-slot.cat-adjective{background:#ead7ff;border-color:#ad5eeb}.sentence-slot.cat-verb{background:#d4edff;border-color:#208edb}.sentence-slot.cat-adverb{background:#fff1b3;border-color:#edb300}.sentence-slot.cat-pronoun{background:#ffd9e8;border-color:#e76099}.sentence-slot.cat-determiner{background:#fff1bf;border-color:#eab312}.period{font-size:3cqw}.sentence-carriages{position:absolute;top:53%;height:13%;left:5%;right:5%;display:flex;gap:2cqw;align-items:flex-start;justify-content:center}.mini-wagon{position:relative;flex:1;max-width:20%;height:100%;border-radius:1.4cqw;border:.4cqw solid #00a0ef;background:linear-gradient(#e8fbff,#8cd8ff);box-shadow:inset 0 .35cqw 0 #fff,0 .5cqw 0 #00568e;padding:.7cqw;color:#102174;font-size:2.4cqw;font-weight:950}.mini-wagon i{position:absolute;bottom:-1.6cqw;border:.35cqw solid #142a53;border-radius:50%;background:radial-gradient(#78bde9 27%,#265580 30%,#354668 70%);width:2.5cqw;height:2.5cqw;left:10%;box-shadow:0 2px 0 #111a3b}.mini-wagon i+i{left:auto;right:10%}.mini-wagon.cat-noun{border-color:#5ac400;background:linear-gradient(#e9ffd0,#a7e665);box-shadow:inset 0 .35cqw 0 #fff,0 .5cqw 0 #347f00}.mini-wagon.cat-adjective{border-color:#a43cf1;background:linear-gradient(#f3e4ff,#d9aaff);box-shadow:inset 0 .35cqw 0 #fff,0 .5cqw 0 #6820b4}.mini-wagon.cat-adverb{border-color:#ffb400;background:linear-gradient(#fff5d3,#ffdc70);box-shadow:inset 0 .35cqw 0 #fff,0 .5cqw 0 #b97400}.sentence-controls{display:flex;gap:1cqw;align-items:center}.sentence-controls p{font-size:1.1cqw;flex:1}.sentence-controls .primary,.sentence-controls .secondary{font-size:1.2cqw}.riddle-board{position:absolute;top:25%;left:25%;right:25%;height:34%;background:linear-gradient(110deg,#fff9df,#fffdf5);border:1.25cqw solid #ffc142;outline:2px solid #a56511;border-radius:1.5cqw;box-shadow:inset 0 0 0 .2cqw #e5a334,0 .5cqw .3cqw #543f3840;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5cqw;z-index:1}.riddle-board>.icon{font-size:3.6cqw;color:#ffb300}.riddle-board h2{font-size:2.5cqw;font-weight:950;line-height:1.15;margin-top:1cqw}.riddle-board p{font-size:1.2cqw;margin-top:1cqw}.bolt{position:absolute;width:.8cqw;height:.8cqw;border-radius:50%;background:radial-gradient(at 35% 30%,#fff,#9da9b5 40%,#56677b 80%);box-shadow:0 2px 0 #98651c}.bolt-a{top:.4cqw;left:.4cqw}.bolt-b{top:.4cqw;right:.4cqw}.bolt-c{bottom:.4cqw;left:.4cqw}.bolt-d{bottom:.4cqw;right:.4cqw}.riddle-engine{position:absolute;right:3%;bottom:36%;width:24%;object-fit:contain}.riddle-dock{top:68%;bottom:5%;padding:0;background:transparent;border:0;box-shadow:none}.riddle-options{display:flex;justify-content:center;gap:1.4cqw;height:100%;align-items:stretch}.category-card{background:linear-gradient(#f3ffde,#d2f49d);border:.4cqw solid #61c618;border-radius:1.8cqw;box-shadow:inset 0 .25cqw 0 #fff,0 .4cqw 0 #338c00;padding:1.5cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6cqw;flex:1;color:#175d00}.category-card>.icon{font-size:3.5cqw}.category-card strong{font-size:1.7cqw}.category-card.cat-verb{background:linear-gradient(#e1f8ff,#a6ddff);border-color:#3ca9f9;box-shadow:inset 0 .25cqw 0 #fff,0 .4cqw 0 #0879c6;color:#0055af}.category-card.cat-adjective{background:linear-gradient(#f1e3ff,#dcbbff);border-color:#a855f7;box-shadow:inset 0 .25cqw 0 #fff,0 .4cqw 0 #7c29bd;color:#7f16bb}.category-card.cat-determiner{background:linear-gradient(#fff8d9,#ffe792);border-color:#ffb414;box-shadow:inset 0 .25cqw 0 #fff,0 .4cqw 0 #d08a00;color:#965200}.category-card.cat-pronoun{background:linear-gradient(#ffe9f3,#ffb6d8);border-color:#f578b2;box-shadow:inset 0 .25cqw 0 #fff,0 .4cqw 0 #c74184;color:#aa285e}.category-card.cat-adverb{background:linear-gradient(#e1fff9,#a3eadf);border-color:#39c7b4;box-shadow:inset 0 .25cqw 0 #fff,0 .4cqw 0 #118c7c;color:#006e66}.learn-intro{position:absolute;left:12%;right:12%;top:4%;height:26%;display:flex;gap:1cqw;align-items:center}.learn-intro .vali{height:100%;width:20%}.learn-intro .paper{padding:1.5cqw 2cqw;flex:1}.learn-intro h2{font-size:2.5cqw}.learn-intro p{font-size:1.4cqw;margin-top:.5cqw}.learn-grid{position:absolute;left:6%;right:6%;top:34%;bottom:16%;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3cqw}.learn-grid .category-card{padding:1cqw;border-width:.25cqw}.learn-grid .category-card>.icon{font-size:1.7cqw}.learn-grid h2{font-size:1.65cqw}.learn-grid p{font-size:1.15cqw;text-align:center;max-width:95%;line-height:1.25}.learn-grid b{font-size:1cqw}.learn-play{position:absolute;bottom:4%;left:50%;transform:translateX(-50%)}.learn-play:hover{transform:translate(-50%,-2px)}.result{position:absolute;inset:11% 11% 10%;padding:2cqw;display:flex;align-items:center;gap:2cqw}.result>.vali{width:27%;max-height:90%}.result-copy{flex:1;text-align:center}.result h2{font-size:2.8cqw;line-height:1.1;margin-top:1cqw}.result p{font-size:1.4cqw;line-height:1.5}.result-stars{color:#ffbc00;text-shadow:0 .2cqw 0 #cf8700;font-size:5cqw;letter-spacing:.1em;margin:.4cqw 0}.stats{display:flex;justify-content:center;gap:2cqw;margin:1.5cqw 0}.stats span{font-size:1cqw;display:flex;flex-direction:column;gap:.3cqw;flex:1}.stats b{font-size:2.2cqw}.result-actions{display:flex;gap:.7cqw;justify-content:center;flex-wrap:wrap}.result-actions button{font-size:1.1cqw}dialog{width:min(92vw,460px);border:3px solid #abdfff;border-radius:24px;padding:30px;background:#f8fcff;color:#13316f;box-shadow:0 20px 70px #002f6555;font-size:16px}dialog::backdrop{background:#002c6777;backdrop-filter:blur(5px)}dialog h2{font-size:25px;margin:0 0 20px}dialog label{display:flex;align-items:center;gap:12px;margin:18px 0;font-weight:800}dialog input{accent-color:#007fe8;width:22px;height:22px}dialog p{font-size:14px;margin:22px 0;line-height:1.4}dialog .primary{font-size:18px;border-radius:12px;width:100%}.close{position:absolute;right:12px;top:12px;background:transparent;font-size:20px}.drag-ghost{position:fixed;z-index:99;transform:translate(-50%,-70%);pointer-events:none;min-width:90px;font-size:24px;opacity:.9}.arriving{animation:arrival 1.1s ease-out}.leaving{animation:departure 1.4s ease-in forwards}.reduced-motion *, .reduced-motion *::before{animation:none!important;transition:none!important}@keyframes arrival{from{transform:translateX(-115%)}to{transform:translateX(0)}}@keyframes departure{to{transform:translateX(130%)}}@keyframes pop{from{transform:scale(.95);opacity:.5}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-aspect-ratio:1/1){body{display:block}.game{width:100%;min-height:100svh;aspect-ratio:auto;overflow:visible}#header{height:68px;padding:10px;gap:6px}.title{gap:7px;flex:1}.title .ticket{width:30px;height:34px}.title h1{font-size:clamp(17px,4.3vw,26px);white-space:normal;line-height:1.05}.round-button{width:34px;height:34px;font-size:17px}.fullscreen{display:none}nav{gap:5px}.progress{display:none}.scene{min-height:calc(100svh - 68px);height:auto;background-size:auto 100%;background-position:28% center}.welcome{position:relative;top:auto;left:auto;width:94%;margin:0 auto;height:190px;padding-top:15px}.welcome-copy{width:78%;padding:12px;border-radius:16px}.eyebrow{font-size:10px}.welcome h2{font-size:26px}.welcome h2 br{display:block}.welcome p{font-size:13px}.welcome>.vali{width:24%;height:150px}.station-menu{position:relative;inset:auto;width:94%;margin:0 auto 20px;padding:14px;border-radius:20px}.trip-options{flex-wrap:wrap;gap:13px;padding-bottom:16px}.trip-options label,.trip-options legend{font-size:12px}.trip-options select{max-width:100%;font-size:13px;padding:8px;margin-top:4px;border-radius:8px}.mode{font-size:12px;padding:9px 8px;border-radius:8px;margin-right:2px}.primary,.secondary{font-size:15px;border-radius:12px}.all-aboard{width:100%;font-size:17px}.game-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.game-card{padding:12px 9px;border-radius:13px;gap:8px;flex-wrap:wrap;min-height:135px;align-content:start}.game-card b{font-size:14px}.game-card small{font-size:11px;margin-top:5px}.card-icon{width:36px;height:36px;font-size:21px;border-radius:8px}.game-card>span:nth-child(2){flex-basis:100%}.game-card>.icon{display:none}.stars{font-size:13px;margin-top:5px}.menu-note{font-size:12px;margin-top:18px;line-height:1.5}.journey-label{position:relative;top:auto;right:auto;display:table;margin-left:auto;font-size:11px;padding:5px 10px;max-width:90%}.guide{position:relative;right:auto;top:auto;max-width:90%;margin-left:auto;height:75px;justify-content:end;padding-right:10px}.guide .vali{height:75px;width:60px}.guide span{font-size:12px;padding:9px;border-radius:12px;max-width:250px}.context{position:relative;inset:auto;margin:8px 10px;padding:10px;font-size:15px;border-radius:12px;min-height:44px}.train-viewport{position:relative;inset:auto;height:auto;width:100%;padding:20px 10px 12px;overflow-x:auto}.train{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;height:auto;align-items:end}.locomotive{display:none}.wagon{max-width:none;width:100%;height:auto;margin:0;aspect-ratio:1.17;min-width:0}.wagon-label{font-size:13px;gap:4px}.wagon-label .icon{width:25px;height:25px}.wagon-label strong{font-size:clamp(13px,3.6vw,20px)}.wagon-load{border-radius:8px;padding:4px;gap:3px}.drop-hint{font-size:12px}.loaded-word{font-size:14px;padding:4px;border-radius:5px}.dock,.game-review .dock{position:relative;inset:auto;width:94%;margin:10px auto 20px;padding:16px;border-radius:18px;gap:14px;min-height:120px}.instruction{font-size:16px;gap:10px;line-height:1.3}.instruction>.icon{font-size:22px}.word-tray{gap:9px}.word-tray .word,.word{font-size:18px;min-height:45px;min-width:65px;max-width:none;flex:1 1 25%;padding:10px 8px;border-radius:12px}.feedback{position:fixed;top:auto;bottom:20px;left:3%;width:94%;max-width:none;padding:18px;border-radius:22px;border-width:3px;gap:12px;flex-wrap:wrap;box-shadow:0 0 0 200vmax #04305a55,0 10px 30px #00274855}.feedback::after{display:none}.feedback-symbol{width:40px;height:40px;font-size:26px}.feedback>div{flex:1;min-width:150px}.feedback h2{font-size:23px}.feedback p{font-size:17px;max-width:none;margin-top:5px}.feedback .small{font-size:17px;padding:12px 20px;margin-left:auto}.game-review .train-viewport{top:auto;height:auto}.review-load{top:44%;height:33%;padding:0}.review-load .word{font-size:14px;border-radius:5px;padding:4px;min-width:0;min-height:20px}.review-help{font-size:13px}.game-luggage .train-viewport{top:auto;height:auto}.game-luggage .wagon{max-width:none}.suitcase::before{top:-8px;height:7px;border-width:3px}.suitcase{border-width:3px;margin-top:8px}.inspection-sign{position:relative;inset:auto;margin:10px auto;width:80%;padding:20px;border-radius:20px}.inspection-sign>.icon{font-size:30px}.inspection-sign h2{font-size:23px}.inspection-sign p{font-size:15px}.inspection-engine{position:relative;inset:auto;width:40%;height:150px;margin:0 10%}.signal{top:260px;right:10%;font-size:20px;padding:15px;border:8px solid #344d72;border-radius:15px}.signal .icon{font-size:35px}.sentence-tokens{gap:8px}.sentence-tokens .word{min-width:65px;font-size:20px;min-height:50px;padding:10px}.sentence-board{position:relative;inset:auto;margin:18px auto;width:92%;height:auto;padding:15px;border-radius:18px}.sentence-slots{flex-wrap:wrap;gap:8px;min-height:100px}.sentence-slot{font-size:18px;min-width:70px;min-height:50px;border-width:2px;border-radius:10px}.period{font-size:28px}.sentence-carriages{position:relative;inset:auto;margin:30px auto;width:90%;height:auto;min-height:100px;gap:15px;flex-wrap:wrap}.mini-wagon{max-width:none;flex:1 1 25%;min-width:85px;height:60px;font-size:20px;border:4px solid #00a0ef;border-radius:12px;margin-bottom:16px}.mini-wagon i{width:20px;height:20px;bottom:-15px;border-width:3px}.sentence-controls{flex-wrap:wrap;gap:12px}.sentence-controls p{font-size:13px;flex-basis:100%}.sentence-controls .primary,.sentence-controls .secondary{font-size:14px}.riddle-board{position:relative;inset:auto;width:88%;height:auto;min-height:210px;margin:20px auto;border:12px solid #ffc142;border-radius:20px;padding:20px}.riddle-board>.icon{font-size:48px}.riddle-board h2{font-size:26px;margin-top:12px}.riddle-board p{font-size:16px;margin-top:12px}.bolt{width:10px;height:10px}.riddle-engine{display:none}.riddle-dock{background:transparent;border:0;box-shadow:none;margin-top:20px}.riddle-options{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.category-card{border-width:4px;border-radius:17px;padding:14px;gap:8px;min-height:100px}.category-card>.icon{font-size:32px}.category-card strong{font-size:16px}.learn-intro{position:relative;inset:auto;width:94%;height:170px;margin:auto;gap:10px}.learn-intro .vali{width:24%;height:140px}.learn-intro .paper{padding:15px;border-radius:15px}.learn-intro h2{font-size:23px}.learn-intro p{font-size:14px;line-height:1.4;margin-top:8px}.learn-grid{position:relative;inset:auto;width:94%;margin:10px auto;grid-template-columns:repeat(2,1fr);gap:13px}.learn-grid .category-card{padding:14px;border-width:3px}.learn-grid .category-card>.icon{font-size:24px}.learn-grid h2{font-size:17px}.learn-grid p{font-size:13px;line-height:1.3}.learn-grid b{font-size:12px}.learn-play{position:relative;inset:auto;margin:20px auto;display:flex;transform:none;width:80%}.result{position:relative;inset:auto;width:94%;margin:20px auto;padding:24px 16px;min-height:600px;border-radius:22px;flex-direction:column}.result>.vali{height:130px;width:100px}.result h2{font-size:28px;margin-top:15px}.result p{font-size:16px}.result-stars{font-size:50px;margin:15px}.stats{gap:12px;margin:22px 0}.stats b{font-size:25px}.stats span{font-size:12px;gap:8px}.result-actions{gap:12px}.result-actions button{font-size:15px}.leaving{animation:none}.arriving{animation:none}}

@media(min-aspect-ratio:1/1){.many-words .dock{top:72%;bottom:3%;padding:.8cqw 1.2cqw;gap:.65cqw}.many-words .word-tray{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.many-words .word-tray .word{max-width:none;min-width:0;min-height:2.9cqw;font-size:1.25cqw;padding:.4cqw .5cqw}.many-words .instruction{font-size:1.35cqw}}

.has-feedback .guide{visibility:hidden}@media(min-aspect-ratio:1/1){.many-words .wagon-label strong{font-size:clamp(10px,1.15cqw,21px)}.many-words .wagon-label .icon{width:1.6cqw;height:1.6cqw}}
