:root{--navy:#14213d;--blue:#26469a;--green:#18835a;--orange:#d86d13;--gold:#f4b83f;--cream:#fffdf6;--pale:#eef3f8;--line:#cbd7e7;--ink:#172033;--white:#fff;--shadow:0 10px 30px rgba(23,32,51,.12)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--pale);font-family:Arial,Helvetica Neue,sans-serif;color:var(--ink)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:4px solid rgba(244,184,63,.75);outline-offset:3px}.screen{display:none;width:100%;height:100dvh}.screen.active{display:grid}#startScreen{place-items:center;background:linear-gradient(150deg,#eaf7ff,#fff8dd 54%,#e6f6e9);position:relative;isolation:isolate}#startScreen:before{content:"";position:absolute;inset:auto -5% -15% 40%;height:74%;background:url(./number-express-transparent-DP661I2H.png) center/contain no-repeat;opacity:.2;z-index:-1}.start-card{width:min(92vw,560px);padding:28px;border:2px solid #fff;background:#ffffffeb;border-radius:28px;box-shadow:var(--shadow);text-align:center}.brand-kicker{font-weight:900;letter-spacing:.16em;color:var(--blue);font-size:.78rem}h1{font-size:clamp(2rem,6vw,3.45rem);line-height:.96;margin:8px 0 10px;color:var(--navy)}.subtitle{margin:0 0 20px;font-size:1.05rem;color:#52617a}.name-wrap{text-align:left;margin:12px auto 14px;max-width:360px}.name-wrap label{display:block;font-weight:800;margin:0 0 7px}.name-wrap input{width:100%;height:54px;border:2px solid var(--line);border-radius:14px;padding:0 16px;font-size:1.1rem;background:#fff}.primary{border:0;background:var(--blue);color:#fff;font-weight:900;border-radius:14px;padding:15px 24px;min-height:52px;box-shadow:0 7px #17306f;transition:.15s transform,.15s box-shadow}.primary:hover{transform:translateY(-2px)}.primary:active{transform:translateY(4px);box-shadow:0 3px #17306f}.start-actions{display:flex;gap:10px;align-items:center;justify-content:center}.icon-button{width:50px;height:50px;border:2px solid var(--line);border-radius:14px;background:#fff;font-size:1.2rem;color:var(--navy)}.tiny-note{font-size:.82rem;color:#68758b;margin:15px 0 0}#introOverlay{display:none;position:fixed;inset:0;background:#06101d;z-index:100;place-items:center}#introOverlay.active{display:grid}#introVideo{width:100%;height:100%;object-fit:contain;background:#000}#skipIntro{position:absolute;right:20px;top:20px;border:2px solid rgba(255,255,255,.7);background:#0000008c;color:#fff;border-radius:999px;padding:10px 18px;font-weight:800}#gameScreen{grid-template-rows:54px 66px minmax(210px,1fr) 244px;background:linear-gradient(#edf8ff 0 52%,#f6fbef 52% 100%)}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 18px;background:#fff;border-bottom:1px solid #dbe4ef;z-index:5}.logo{display:flex;align-items:center;gap:9px;font-weight:900;color:var(--navy);line-height:.95}.logo-mark{width:37px;height:37px;border-radius:11px;background:var(--blue);display:grid;place-items:center;color:var(--gold);font-size:1.15rem}.logo small{display:block;color:var(--blue);letter-spacing:.13em;font-size:.62rem}.progress-chip{background:var(--pale);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:800;font-size:.92rem}.top-actions{justify-self:end;display:flex;align-items:center;gap:10px}.score{font-weight:900;color:var(--green)}.sound-toggle{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:1rem}.question-area{text-align:center;padding:9px 14px 6px;background:#ffffffb8}.question-area h2{margin:0;font-size:clamp(1.18rem,2.2vw,1.55rem);color:var(--navy)}#instruction{margin:5px 0 0;font-weight:800;color:#5a6780}#instruction.attention{color:var(--blue)}.play-area{display:grid;grid-template-columns:minmax(105px,16%) 1fr;gap:12px;max-width:1200px;width:calc(100% - 30px);margin:0 auto;padding:8px 0 10px;min-height:0}.maya-panel{position:relative;overflow:hidden;border-radius:22px;background:#ffffff94;border:1px solid rgba(255,255,255,.9)}.maya-panel img{width:100%;height:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply}.maya-bubble{position:absolute;top:8px;left:8px;right:8px;background:#fff;border:2px solid var(--navy);border-radius:14px;padding:8px 6px;text-align:center;font-size:.82rem;font-weight:900;box-shadow:0 5px 12px #14213d17}.board{position:relative;min-height:0;border:2px solid rgba(255,255,255,.9);background:#ffffffd4;border-radius:24px;box-shadow:var(--shadow);padding:14px 22px 12px;display:grid;grid-template-rows:1fr auto}.route-wrap{position:relative;min-height:125px;display:flex;align-items:center}.rail{position:absolute;left:3%;right:3%;top:54%;height:14px;border-top:4px solid #4d5766;border-bottom:4px solid #4d5766;background:repeating-linear-gradient(90deg,#7a5a39 0 4px,transparent 4px 22px);border-radius:8px}.route-highlight{position:absolute;top:calc(54% + 1px);height:8px;background:var(--gold);opacity:.78;border-radius:6px;transition:left .25s,width .25s}.major-stations{position:absolute;left:3%;right:3%;top:calc(54% + 22px);height:44px}.station{position:absolute;transform:translate(-50%);text-align:center;font-weight:900;font-size:.82rem;color:#617086}.station:before{content:"";display:block;width:4px;height:13px;margin:0 auto 3px;background:#8796a8;border-radius:4px}.station.start{color:var(--blue)}.station.start:before{background:var(--blue);width:6px;height:18px}.station.target{color:var(--orange)}.station.target:before{background:var(--orange);width:6px;height:18px}.train-marker{position:absolute;top:6%;width:clamp(78px,11vw,132px);height:76px;transform:translate(-50%);transition:left .42s cubic-bezier(.22,.75,.3,1);z-index:3}.train-marker img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.station-number{position:absolute;top:-5px;left:50%;transform:translate(-50%);background:var(--navy);color:#fff;border:3px solid #fff;border-radius:999px;min-width:42px;padding:4px 9px;text-align:center;font-weight:900;box-shadow:0 3px 8px #0000002e}.flag{position:absolute;top:18%;transform:translate(-50%);font-size:1.8rem;transition:left .25s}.step-display{text-align:center;min-height:38px;font-weight:900;color:var(--navy);font-size:1.1rem;display:flex;justify-content:center;align-items:center;gap:12px}.step-display strong{font-size:1.55rem;color:var(--orange)}.route-chips{display:flex;gap:7px;justify-content:center;align-items:center;flex-wrap:wrap}.route-chip{padding:5px 10px;background:var(--pale);border:2px solid var(--line);border-radius:10px;font-weight:900}.route-chip.active{border-color:var(--gold);background:#fff7d5}.answer-dock{background:#fff;border-top:2px solid #dbe4ef;box-shadow:0 -12px 28px #14213d1c;padding:10px 18px 12px;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(390px,1.2fr);gap:14px;min-height:0;z-index:4}.answer-left{display:grid;grid-template-rows:auto 1fr;gap:7px;min-width:0}.stage-label{font-weight:900;color:var(--blue);font-size:.92rem;min-height:22px;display:flex;align-items:center;gap:8px}.stage-label:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #f4b83f33}.operation-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.op-button{border:3px solid var(--line);border-radius:15px;background:#fff;min-height:66px;font-size:1.25rem;font-weight:900;color:var(--ink);transition:.15s}.op-button span{display:block;font-size:.72rem;letter-spacing:.08em;margin-top:3px}.op-button.add.selected{border-color:var(--green);background:#e8f8f0;color:#116642}.op-button.subtract.selected{border-color:var(--orange);background:#fff0e6;color:#a6430c}.guided-glow{animation:guidePulse 1.25s ease-in-out infinite;border-color:var(--gold)!important;box-shadow:0 0 0 6px #f4b83f2e}@keyframes guidePulse{50%{box-shadow:0 0 0 10px #f4b83f14}}.sentence{background:var(--pale);border:2px solid var(--line);border-radius:14px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:900;min-height:48px}.sentence small{font-size:.72rem;color:#69768a;display:block;font-weight:800}#sentenceText{font-size:1.25rem;white-space:nowrap}.answer-right{display:grid;grid-template-columns:132px 1fr 164px;gap:10px;align-items:stretch;min-width:0}.number-box{border:3px solid var(--line);border-radius:15px;background:#fff;display:grid;place-items:center;text-align:center;min-width:0}.number-box small{display:block;font-weight:800;color:#64738a;font-size:.72rem}#answerValue{font-size:2rem;font-weight:900;color:var(--navy);line-height:1}.keypad{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr);gap:6px;min-width:0}.key{border:2px solid var(--line);background:#fff;border-radius:11px;font-weight:900;font-size:1.05rem;min-width:0}.key:hover{background:#f4f7fb}.key:disabled,.op-button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.25)}.submit-wrap{display:grid;grid-template-rows:1fr auto;gap:6px}#submitAnswer{border:0;border-radius:15px;background:var(--blue);color:#fff;font-weight:900;font-size:1rem;padding:8px;box-shadow:0 6px #17306f}#submitAnswer:disabled{background:#c8d2df;color:#738096;box-shadow:none;cursor:not-allowed}#hintButton{border:2px solid #f2c75c;background:#fff9df;border-radius:11px;color:#73520c;font-weight:900;padding:7px}.feedback-card{display:none;position:absolute;inset:14px;z-index:8;border:3px solid var(--green);border-radius:22px;background:#f1fff7f7;box-shadow:var(--shadow);place-items:center;text-align:center;padding:18px}.feedback-card.show{display:grid}.feedback-card h3{font-size:clamp(1.8rem,4vw,3rem);margin:0 0 7px;color:var(--green)}.feedback-card p{font-size:1.35rem;font-weight:900;margin:0 0 14px}.continue-button{border:0;background:var(--green);color:#fff;border-radius:14px;padding:14px 26px;font-weight:900;font-size:1.05rem;box-shadow:0 6px #0f6040}.correction-tools{display:none;gap:7px;justify-content:center}.correction-tools.show{display:flex}.mini-control{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 10px;font-weight:800}.choices{display:none;grid-template-columns:repeat(2,1fr);gap:9px;grid-column:1/-1}.choices.show{display:grid}.choice{border:3px solid var(--line);background:#fff;border-radius:15px;padding:13px;font-weight:900;font-size:1rem}.choice.selected{border-color:var(--blue);background:#eef3ff}.choice.guided-glow{border-color:var(--gold)}.answer-dock.mcq-mode{grid-template-columns:1fr}.answer-dock.mcq-mode .answer-left,.answer-dock.mcq-mode .number-box,.answer-dock.mcq-mode .keypad,.answer-dock.mcq-mode .submit-wrap{display:none}.answer-dock.mcq-mode .choices{height:100%;align-content:center;max-width:820px;width:100%;margin:auto}#resultScreen{place-items:center;background:linear-gradient(145deg,#eef8ff,#fff9e5)}.result-card{width:min(92vw,680px);background:#fff;border-radius:28px;padding:28px;box-shadow:var(--shadow);text-align:center}.result-card h2{font-size:2.2rem;color:var(--navy);margin:0 0 6px}.big-score{font-size:4rem;font-weight:900;color:var(--green);line-height:1;margin:15px 0 8px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.result-stat{background:var(--pale);border-radius:14px;padding:12px;font-weight:900}.result-stat small{display:block;color:#68758b;font-size:.74rem;margin-bottom:4px}.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.secondary{border:2px solid var(--line);background:#fff;color:var(--navy);font-weight:900;border-radius:13px;padding:12px 18px}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:50}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){#gameScreen{grid-template-rows:48px 58px minmax(190px,1fr) 270px}.topbar{padding:4px 8px}.logo span:last-child{display:none}.logo-mark{width:36px;height:36px}.progress-chip{padding:6px 9px;font-size:.78rem}.score{font-size:.8rem}.sound-toggle{width:36px;height:36px}.question-area{padding:6px 8px}.question-area h2{font-size:1.08rem}#instruction{font-size:.86rem;margin-top:3px}.play-area{grid-template-columns:1fr;width:calc(100% - 14px);padding:5px 0 7px}.maya-panel{display:none}.board{padding:8px 10px;border-radius:17px}.route-wrap{min-height:120px}.train-marker{width:82px;height:61px}.station{font-size:.72rem}.answer-dock{padding:8px;grid-template-columns:1fr;grid-template-rows:98px 1fr;gap:6px}.answer-left{grid-template-rows:22px 1fr}.operation-row{gap:6px}.op-button{min-height:58px;font-size:1rem;border-radius:12px}.sentence{position:absolute;left:-9999px}.answer-right{grid-template-columns:78px 1fr 108px;gap:6px;min-height:0}.number-box{border-radius:12px}#answerValue{font-size:1.5rem}.keypad{gap:4px}.key{font-size:.92rem;border-radius:9px}#submitAnswer{font-size:.84rem;border-radius:11px;padding:5px}#hintButton{font-size:.78rem;padding:4px}.answer-dock.mcq-mode{display:block;padding:8px}.answer-dock.mcq-mode .choices.show{display:grid;position:static;height:100%;background:#fff;padding:4px;border-radius:15px}.feedback-card{inset:8px}.feedback-card p{font-size:1.05rem}}@media(max-height:680px)and (min-width:761px){#gameScreen{grid-template-rows:48px 56px minmax(170px,1fr) 220px}.topbar{padding-block:3px}.play-area{padding-top:4px}.route-wrap{min-height:110px}.train-marker{height:64px}.answer-dock{padding-block:7px}.op-button{min-height:58px}.number-box{min-height:60px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{--navy:#102348;--blue:#2455c3;--green:#16805a;--orange:#d95f18;--gold:#ffbd32;--cream:#fff9e9;--pale:#edf4fb;--line:#b9c9dc;--ink:#15213a;--shadow:0 12px 28px rgba(16,35,72,.15)}#gameScreen{grid-template-rows:58px 88px minmax(238px,1fr) 224px;background:radial-gradient(circle at 12% 19%,rgba(255,255,255,.9) 0 3%,transparent 3.2%),radial-gradient(circle at 77% 22%,rgba(255,255,255,.78) 0 4%,transparent 4.2%),linear-gradient(#bfe8ff 0 48%,#dff1bb 48% 100%)}.topbar{padding:7px 18px;background:var(--navy);border:0;color:#fff;box-shadow:0 4px #1023482e}.logo{color:#fff}.logo small{color:#ffd66f}.logo-mark{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 2px #cdd9e9}.progress-chip{background:#fff;color:var(--navy);border:0;box-shadow:0 3px #00000021}.score{color:#ffda62;background:#ffffff1a;padding:8px 12px;border-radius:999px}.sound-toggle{border:2px solid rgba(255,255,255,.5);background:#fff;color:var(--navy)}.question-area{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr 1fr;column-gap:16px;align-items:center;text-align:left;padding:10px max(18px,calc((100vw - 1200px)/2));background:#fffffff0;border-bottom:2px solid #d2dfeb}.route-summary{grid-row:1/3;display:flex;align-items:center;gap:8px;background:#edf3fa;border:2px solid #c2d1e2;border-radius:16px;padding:8px 12px;white-space:nowrap;font-weight:900;color:var(--navy)}.route-summary .route-pill{padding:7px 10px;border-radius:10px;background:#fff;border:2px solid #c3d0df}.route-summary .start-pill{border-color:#69cf9b;background:#e9fff2}.route-summary .goal-pill{border-color:#ffc94e;background:#fff6cf}.route-summary .route-arrow{font-size:1.3rem;color:#6d7e94}.question-area h2{align-self:end;font-size:clamp(1.12rem,2vw,1.5rem)}#instruction{align-self:start;margin:3px 0 0;color:#5b6e89}.question-area #instruction.attention{color:var(--blue)}.play-area{grid-template-columns:172px 1fr;gap:14px;width:min(1200px,calc(100% - 28px));padding:10px 0 12px}.maya-panel{border:3px solid #fff;background:linear-gradient(180deg,#fff8df,#f3fbef);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.maya-panel:after{content:"STATION GUIDE";position:absolute;bottom:7px;left:50%;transform:translate(-50%);background:var(--navy);color:#fff;padding:4px 9px;border-radius:999px;font-size:.6rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}.maya-panel img{padding:63px 8px 18px;filter:contrast(1.05) saturate(1.07)}.maya-bubble{top:8px;left:7px;right:7px;border:2px solid var(--navy);padding:8px 7px;line-height:1.14;box-shadow:0 5px #1023481f}.board{overflow:hidden;border:3px solid #fff;border-radius:25px;padding:12px 20px 10px;background:radial-gradient(ellipse at 15% 20%,rgba(255,255,255,.96) 0 6%,transparent 6.5%),radial-gradient(ellipse at 21% 20%,rgba(255,255,255,.93) 0 4.5%,transparent 5%),radial-gradient(ellipse at 79% 24%,rgba(255,255,255,.82) 0 7%,transparent 7.5%),linear-gradient(180deg,#d8f2ff 0 57%,#f5e7ba 57% 65%,#b8db7a 65% 100%);box-shadow:var(--shadow)}.board:before{content:"";position:absolute;left:0;right:0;bottom:0;height:33%;background:repeating-linear-gradient(105deg,rgba(66,120,55,.11) 0 2px,transparent 2px 16px);pointer-events:none}.route-wrap{min-height:148px;z-index:1}.rail{top:58%;height:16px;border-color:#37465d;background:repeating-linear-gradient(90deg,#8b5e2d 0 5px,transparent 5px 24px);box-shadow:0 4px #34493e24}.route-highlight{top:calc(58% + 2px);height:8px;background:#ffc139;opacity:1;box-shadow:0 0 0 3px #ffc1392e}.major-stations{top:calc(58% + 24px)}.station{color:#344662}.station:before{background:#718197}.train-marker{top:8%;width:clamp(90px,12vw,142px);height:82px;animation:trainIdle 2.2s ease-in-out infinite}@keyframes trainIdle{50%{transform:translate(-50%,-2px)}}.station-number{background:var(--navy);border:3px solid #fff;box-shadow:0 4px #10234838}.flag{top:18%;filter:drop-shadow(0 3px 1px rgba(0,0,0,.18))}.step-display{position:relative;z-index:2;min-height:38px}.answer-dock{grid-template-columns:minmax(385px,.95fr) minmax(500px,1.25fr);gap:12px;padding:10px max(14px,calc((100vw - 1200px)/2));background:#fffaf0;border-top:3px solid #fff;box-shadow:0 -10px 28px #10234829}.answer-left,.answer-right{background:#fff;border:2px solid #c7d4e4;border-radius:18px;padding:8px;box-shadow:0 5px #10234814}.answer-left{grid-template-rows:24px 1fr}.stage-label{min-height:20px;font-size:.84rem;text-transform:uppercase;letter-spacing:.045em}.operation-row{gap:8px}.op-button{min-height:59px;border:3px solid #cbd6e4;border-radius:13px;font-size:1.13rem;box-shadow:0 4px #d6dfeb}.op-button span{font-size:.66rem}.op-button.add.selected{box-shadow:0 4px #8fcdae}.op-button.subtract.selected{box-shadow:0 4px #efb08b}.sentence{min-height:41px;padding:5px 10px;margin-top:5px;border-width:1px}#sentenceText{font-size:1.08rem}.answer-right{grid-template-columns:116px 1fr 150px;gap:8px}.number-box{border-color:#aebfd5;background:#f7faff}.keypad{grid-template-columns:repeat(6,1fr);gap:5px}.key{border:2px solid #bdcada;border-radius:10px;background:#fff;box-shadow:0 3px #d3dce7}.key:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #d3dce7}.key:disabled,.op-button:disabled{opacity:.24;filter:grayscale(1)}#submitAnswer{background:var(--green);box-shadow:0 5px #0d5c3f}#submitAnswer:disabled{opacity:.42}#hintButton{background:#fff8d9;border-color:#e8b834}.guided-glow{animation:guidePulse 1.15s ease-in-out infinite;border-color:var(--gold)!important;box-shadow:0 0 0 5px #ffbd3238,0 4px #dba12b!important}.feedback-card{inset:10px;background:#f5fff8fa;border-color:#25a66f}.feedback-card:before{content:"★";position:absolute;top:16px;right:22px;font-size:3rem;color:#ffd052;transform:rotate(12deg)}@media(max-width:900px){#gameScreen{grid-template-rows:52px 76px minmax(205px,1fr) 252px}.question-area{padding:7px 10px;column-gap:9px}.route-summary{font-size:.78rem;padding:6px}.route-summary .route-pill{padding:5px 7px}.play-area{grid-template-columns:132px 1fr;width:calc(100% - 16px);gap:8px;padding:7px 0}.maya-panel img{padding-top:58px}.maya-bubble{font-size:.7rem}.route-wrap{min-height:125px}.train-marker{height:68px}.answer-dock{grid-template-columns:1fr;grid-template-rows:101px 1fr;padding:7px 8px;gap:6px}.answer-left,.answer-right{padding:6px}.answer-right{grid-template-columns:92px 1fr 124px}.op-button{min-height:51px}.sentence{display:none}}@media(max-width:640px){#gameScreen{grid-template-rows:48px 82px minmax(180px,1fr) 270px}.topbar{grid-template-columns:1fr auto auto}.progress-chip,.score{font-size:.7rem;padding:6px}.question-area{grid-template-columns:1fr;grid-template-rows:auto auto auto;text-align:center}.route-summary{grid-row:auto;justify-self:center;padding:3px 7px}.question-area h2{align-self:auto;font-size:1rem}.play-area{grid-template-columns:1fr}.maya-panel{display:none}.route-wrap{min-height:112px}.answer-right{grid-template-columns:75px 1fr 100px}.key{font-size:.88rem}}.play-area{grid-template-columns:238px 1fr}.maya-panel img{position:absolute;left:50%;bottom:2px;width:150%;height:76%;padding:0;object-fit:contain;object-position:center bottom;transform:translate(-50%);mix-blend-mode:multiply;filter:contrast(1.08) saturate(1.08)}.maya-panel:after{bottom:9px;font-size:.7rem;padding:5px 11px}.maya-bubble{font-size:1rem;padding:11px 8px;line-height:1.18;z-index:2}.route-wrap{min-height:190px;display:block;padding-top:4px}.rail,.route-highlight{display:none}.major-stations{position:absolute;inset:64% 1% auto;height:58px;transform:translateY(-50%);display:grid;grid-template-columns:repeat(31,minmax(0,1fr));gap:2px}.station{position:relative!important;left:auto!important;transform:none;display:grid;place-items:center;min-width:0;height:54px;border:2px solid #798aa1;border-radius:7px;background:#fff;color:#223654;font-size:clamp(.72rem,1vw,1rem);font-weight:900;box-shadow:0 4px #aeb9c6;transition:background .18s,border-color .18s,transform .18s}.station:before{display:none}.station.in-route{background:#fff2bb;border-color:#e2a719}.station.start{background:#dcf9e9;border-color:#16805a;color:#0c6946}.station.target{background:#ffe2ca;border-color:#d95f18;color:#a43b08}.station.current{transform:translateY(-7px);background:#244fae;color:#fff;border-color:#102f75;box-shadow:0 7px #0e2c6b}.train-marker{top:clamp(4px,calc(64% - 142px),150px);width:clamp(174px,18vw,230px);height:120px;z-index:4}.train-marker img{filter:contrast(1.08) saturate(1.12)}.station-number{top:0;min-width:48px;font-size:1.05rem;padding:5px 10px}.flag{top:calc(64% - 72px);font-size:2.3rem}.step-display{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background:#fffffff0;border:2px solid #b7c7d8;border-radius:12px;padding:7px 14px;min-height:0;max-width:70%;white-space:nowrap}.step-display:empty{display:none}.read-button{width:auto;min-width:76px;padding:0 10px;font-weight:900;color:var(--navy)}@media(max-width:1100px){.play-area{grid-template-columns:190px 1fr}.train-marker{width:170px;height:105px}.station{font-size:.72rem;border-width:1px;border-radius:5px}.major-stations{gap:1px}.maya-bubble{font-size:.82rem}}@media(max-width:760px){.play-area{grid-template-columns:1fr}.maya-panel{display:none}.major-stations{grid-template-columns:repeat(31,minmax(18px,1fr));overflow:hidden}.station{font-size:.62rem}.train-marker{width:145px;height:88px}.route-wrap{min-height:150px}.read-button{min-width:48px;padding:0 6px;font-size:.72rem}}#gameScreen{grid-template-rows:58px 82px minmax(220px,1fr) 316px}.topbar{grid-template-columns:minmax(300px,1fr) auto minmax(300px,1fr)}.brand-nav{display:flex;align-items:center;gap:10px;min-width:0}.brand-link{text-decoration:none}.game-home-button{border:2px solid rgba(255,255,255,.55);background:#ffffff1f;color:#fff;border-radius:11px;padding:9px 12px;font-weight:900;white-space:nowrap}.game-home-button:hover{background:#fff;color:var(--navy)}.music-button{font-size:.95rem}.music-button.playing{background:#fff4c6;border-color:#ffd45a}.play-area{padding:7px 0 8px}.board{padding-top:6px}.route-wrap{min-height:160px}.train-marker{top:clamp(2px,calc(64% - 126px),112px);height:106px}.flag{top:calc(64% - 61px)}.answer-dock{grid-template-columns:minmax(390px,.9fr) minmax(560px,1.35fr);height:316px;padding-top:11px;padding-bottom:11px;align-items:stretch}.stage-panel{position:relative;border:3px solid #c9d5e4;border-radius:17px;background:#fff;box-shadow:0 4px #10234814;transition:opacity .2s,border-color .2s,box-shadow .2s,transform .2s}.stage-panel:not(.active-stage):not(.completed-stage){opacity:.55}.stage-panel.completed-stage{opacity:.82;border-color:#86caa9}.stage-panel.active-stage{opacity:1;border-color:#356cf0;box-shadow:0 0 0 5px #356cf02e,0 7px #2554c22e;animation:stageGlow 1.25s ease-in-out infinite}@keyframes stageGlow{50%{box-shadow:0 0 0 9px #356cf01a,0 7px #2554c22e}}.panel-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#536683;font-weight:900;font-size:.85rem;letter-spacing:.035em;text-transform:uppercase;min-height:26px}.stage-flag{background:#e7eef8;color:#536683;border-radius:999px;padding:4px 8px;font-size:.72rem}.active-stage .stage-flag{background:#356cf0;color:#fff}.completed-stage .stage-flag{background:#16805a;color:#fff}.answer-left{display:grid;grid-template-rows:28px 1fr;padding:10px;border-width:3px}.answer-left .stage-label{display:none}.answer-left>div:last-child{display:grid;grid-template-rows:1fr 47px;gap:7px}.operation-row{height:100%}.op-button{min-height:82px;font-size:1.35rem}.op-button span{font-size:.78rem}.sentence{margin:0;min-height:47px}.answer-right{display:grid;grid-template-columns:minmax(360px,1fr) 190px;gap:10px;background:transparent;border:0;box-shadow:none;padding:0}.stage2-panel{display:grid;grid-template-columns:130px 1fr;grid-template-rows:28px 1fr;gap:8px;padding:10px}.stage2-panel .number-box{grid-column:1;grid-row:2}.stage2-panel .keypad{grid-column:2;grid-row:2}.number-box{min-height:0}.keypad{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:7px}.key{font-size:1.15rem}.stage3-panel{display:grid;grid-template-rows:28px 1fr auto;gap:8px;padding:10px}.stage3-panel #submitAnswer{font-size:1.03rem}.stage3-panel #hintButton{min-height:41px}.guided-glow{animation:none;box-shadow:0 4px #d6dfeb!important}.active-stage .guided-glow{border-color:var(--gold)!important;box-shadow:0 0 0 4px #ffbd3230,0 4px #dba12b!important}.answer-dock.mcq-mode .answer-right{display:block}.answer-dock.mcq-mode .stage2-panel,.answer-dock.mcq-mode .stage3-panel{display:none}.answer-dock.mcq-mode .choices{height:100%;padding:10px;background:#fff;border:3px solid #356cf0;border-radius:17px;box-shadow:0 0 0 5px #356cf029}@media(max-width:1000px){#gameScreen{grid-template-rows:52px 74px minmax(190px,1fr) 340px}.topbar{grid-template-columns:1fr auto 1fr}.brand-nav .logo span:last-child{display:none}.answer-dock{height:340px;grid-template-columns:1fr;grid-template-rows:112px 1fr}.answer-left{grid-template-rows:24px 1fr}.answer-left>div:last-child{grid-template-columns:1fr 180px;grid-template-rows:1fr}.sentence{display:flex}.answer-right{grid-template-columns:1fr 175px}.stage2-panel{grid-template-columns:110px 1fr}.op-button{min-height:58px}.play-area{grid-template-columns:170px 1fr}.route-wrap{min-height:135px}}@media(max-width:700px){#gameScreen{grid-template-rows:48px 76px minmax(160px,1fr) 370px}.game-home-button{padding:7px;font-size:.72rem}.read-button{display:none}.answer-dock{height:370px;grid-template-rows:105px 1fr}.answer-left>div:last-child{grid-template-columns:1fr}.sentence{display:none}.answer-right{grid-template-columns:1fr 120px}.stage2-panel{grid-template-columns:76px 1fr;padding:7px}.stage3-panel{padding:7px}.panel-heading{font-size:.7rem}.play-area{grid-template-columns:1fr}.maya-panel{display:none}}.logo-image-link{display:flex;align-items:center;height:45px;border-radius:9px;overflow:hidden;flex:0 0 auto}.gidmid-logo-image{display:block;width:165px;height:45px;object-fit:cover}.question-area h2{justify-self:stretch;background:var(--navy);color:#fff;border-radius:12px;padding:9px 16px;font-size:clamp(1.38rem,2vw,1.72rem);line-height:1.05;box-shadow:0 4px #1023482e}#instruction{justify-self:start;background:#fff1b8;color:#8b3d00;border:2px solid #f2bd39;border-radius:9px;padding:4px 10px;font-size:1rem;line-height:1.05}.flag{top:calc(64% - 82px);width:4px;height:76px;background:#923618;border-radius:3px;transform:translate(-2px);font-size:0;filter:drop-shadow(0 3px 2px rgba(0,0,0,.25));z-index:3}.flag:before{content:"";position:absolute;top:0;left:4px;width:34px;height:23px;background:#ed4b28;clip-path:polygon(0 0,100% 18%,77% 100%,0 82%);border-radius:2px}.flag:after{content:"STATION";position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#b83918;color:#fff;border:2px solid #fff;border-radius:999px;padding:3px 7px;font-size:.67rem;font-weight:900;line-height:1;white-space:nowrap}.answer-right{grid-template-columns:minmax(350px,1fr) 235px}.stage3-panel .panel-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;white-space:nowrap;font-size:.78rem;line-height:1}.stage3-panel .panel-heading>span:first-child{overflow:hidden;text-overflow:ellipsis}.stage3-panel .stage-flag{min-width:47px;text-align:center;white-space:nowrap;line-height:1}@media(max-width:1000px){.brand-nav{gap:6px}.gidmid-logo-image{width:148px;height:40px}.logo-image-link{height:40px}.answer-right{grid-template-columns:minmax(320px,1fr) 210px}.question-area h2{font-size:1.3rem}}@media(max-width:700px){.gidmid-logo-image{width:112px;height:34px}.logo-image-link{height:34px}.answer-right{grid-template-columns:1fr 138px}.stage3-panel .panel-heading{font-size:.66rem}.stage3-panel .stage-flag{min-width:40px;padding-inline:5px}.question-area h2{font-size:1.1rem;padding:7px 9px}#instruction{font-size:.82rem;padding:3px 7px}}.start-card{width:min(96vw,1100px);padding:22px 26px}.start-card h1{font-size:clamp(2rem,4vw,3.2rem)}.start-card .subtitle{margin-bottom:12px}.start-card .name-wrap{max-width:420px;margin:8px auto 13px}.start-card .name-wrap input{height:48px}.level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:10px 0 8px}.level-card{position:relative;min-height:190px;border:3px solid #c5d3e4;border-radius:18px;background:#fff;padding:14px 10px 11px;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink);box-shadow:0 5px #d5dfeb;transition:.16s transform,.16s border-color,.16s box-shadow}.level-card:hover:not(.locked){transform:translateY(-3px)}.level-card.selected{border-color:var(--blue);box-shadow:0 0 0 5px #2455c324,0 6px #183c91}.level-card.locked{opacity:.48;filter:grayscale(.7);cursor:not-allowed}.level-number{position:absolute;top:8px;left:8px;background:var(--navy);color:#fff;border-radius:999px;padding:4px 8px;font-size:.66rem;font-weight:900;letter-spacing:.05em}.level-icon{font-size:2.1rem;margin:14px 0 3px}.level-card strong{font-size:1.05rem;color:var(--navy);line-height:1.1}.level-card b{font-size:1.35rem;color:var(--orange);margin:4px 0}.level-card small{font-size:.75rem;line-height:1.2;min-height:36px;color:#53647c}.level-best{margin-top:auto;background:#edf3fa;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:900;color:#465a76}.level-message{margin:5px 0 10px;font-weight:900;color:var(--blue)}.question-area{grid-template-columns:minmax(350px,auto) 1fr}.route-summary{min-height:70px;padding:12px 18px;font-size:1.22rem;border-width:3px;box-shadow:0 5px #10234824}.route-summary .route-pill{padding:12px 16px;font-size:1.3rem;border-width:3px}.route-summary .route-arrow{font-size:1.9rem}.sentence{min-height:68px;padding:9px 15px;border:3px solid #8fa7c5;background:#edf4fb;box-shadow:0 5px #c6d3e2}.sentence small{font-size:.86rem;letter-spacing:.05em}.sentence #sentenceText{display:block;font-size:1.72rem;line-height:1.05;color:var(--navy)}@media(max-width:1000px){.level-grid{grid-template-columns:repeat(3,1fr)}.level-card{min-height:160px}.start-card{max-height:96vh;overflow:auto}.question-area{grid-template-columns:240px 1fr}.route-summary{min-height:55px;padding:7px;font-size:.9rem}.route-summary .route-pill{padding:7px;font-size:.95rem}.sentence #sentenceText{font-size:1.2rem}}@media(max-width:650px){#startScreen{overflow:auto}.start-card{margin:10px 0}.level-grid{grid-template-columns:1fr 1fr}.level-card{min-height:150px}.question-area{grid-template-columns:1fr}.route-summary{min-height:auto}.sentence{display:none}}#gameScreen{grid-template-rows:58px 94px minmax(190px,1fr) 352px;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.84) 0 3%,transparent 3.2%),radial-gradient(circle at 77% 22%,rgba(255,255,255,.72) 0 4%,transparent 4.2%),linear-gradient(#e8f8ff 0 49%,#eef8dc 49% 100%)}.question-area{padding-top:9px;padding-bottom:9px}.play-area{grid-template-columns:168px 1fr;padding:4px 0 5px;gap:12px}.maya-panel{background:linear-gradient(180deg,#fffdf2,#f7fbf2)}.board{padding:5px 18px 7px;background:radial-gradient(ellipse at 16% 18%,rgba(255,255,255,.82) 0 6%,transparent 6.5%),radial-gradient(ellipse at 79% 20%,rgba(255,255,255,.72) 0 7%,transparent 7.5%),linear-gradient(180deg,#f1fbff 0 58%,#fff9df 58% 68%,#e7f4cf 68% 100%);box-shadow:0 8px 22px #1023481c}.board:before{opacity:.42}.route-wrap{min-height:146px}.major-stations{left:1.5%;right:1.5%;top:62%;height:76px;gap:5px}.station{height:70px;border:3px solid #8395aa;border-radius:10px;font-size:clamp(1rem,1.45vw,1.42rem);line-height:1;box-shadow:0 5px #aeb9c6;background:#fff}.station.in-route{background:#fff0a8;border-color:#d99b00}.station.start{background:#dff9eb;border-color:#16805a;color:#075c3e}.station.target{background:#ffe0c7;border-color:#d95f18;color:#9f3504}.station.current{transform:translateY(-8px);box-shadow:0 8px #0e2c6b}.train-marker{top:clamp(0px,calc(62% - 132px),92px);height:102px}.flag{top:calc(62% - 72px)}.step-display{bottom:4px}.answer-dock{height:auto;margin:9px 14px 14px;padding:13px max(14px,calc((100vw - 1200px)/2));border:3px solid #d2deeb;border-radius:22px;background:#fffdf8;box-shadow:0 9px 24px #10234821}.answer-left,.stage2-panel,.stage3-panel{padding:12px}.sentence{min-height:72px}.sentence #sentenceText{font-size:1.86rem}@media(max-width:1000px){#gameScreen{grid-template-rows:52px 82px minmax(170px,1fr) 360px}.play-area{grid-template-columns:145px 1fr}.major-stations{gap:3px}.station{height:62px;font-size:clamp(.86rem,1.6vw,1.15rem)}.answer-dock{margin:7px 9px 10px;padding:9px}.sentence{min-height:62px}}@media(max-width:700px){#gameScreen{grid-template-rows:48px 82px minmax(155px,1fr) 370px}.play-area{grid-template-columns:1fr}.major-stations{gap:2px}.station{height:55px;border-width:2px;border-radius:7px;font-size:.86rem}.answer-dock{margin:6px 6px 8px;padding:7px}.route-wrap{min-height:135px}}.flag{top:calc(62% - 90px);height:52px;transform:translate(-2px)}.flag:after{top:-22px}.answer-left>div:last-child{grid-template-rows:108px minmax(100px,1fr);gap:9px}.operation-row{height:108px}.op-button{height:108px;min-height:0;padding-block:8px}.sentence{min-height:100px;margin:0;padding:12px 18px;align-items:center;justify-content:center;text-align:center;border-width:4px;background:#eaf2fb}.sentence small{font-size:.92rem;margin-bottom:5px}.sentence #sentenceText{font-size:2.18rem;line-height:1.05}@media(max-width:1000px){.flag{top:calc(62% - 82px);height:45px}.answer-left>div:last-child{grid-template-rows:72px minmax(70px,1fr)}.operation-row,.op-button{height:72px}.sentence{min-height:70px;padding:8px}.sentence #sentenceText{font-size:1.55rem}}@media(max-width:700px){.flag{top:calc(62% - 76px);height:40px}.answer-left>div:last-child{grid-template-rows:1fr}.operation-row,.op-button{height:100%}}.op-button.add{background:#e4f8ed;border-color:#27976b;color:#075e40;box-shadow:0 5px #85c9a8}.op-button.subtract{background:#fff0e5;border-color:#df6b2d;color:#913706;box-shadow:0 5px #e9aa82}.op-button.add:hover{background:#d6f4e3}.op-button.subtract:hover{background:#ffe4d2}.op-button.add.selected{background:#ccefdc;border-color:#087348}.op-button.subtract.selected{background:#ffd9c2;border-color:#bb4710}.maya-panel img{left:55%;bottom:-5%;width:150%;height:91%;padding:0;object-fit:contain;object-position:center bottom;transform:translate(-50%);mix-blend-mode:normal;filter:drop-shadow(0 5px 5px rgba(16,35,72,.16))}.tour-pointer{position:fixed;left:0;top:0;z-index:80;display:flex;flex-direction:column;align-items:center;pointer-events:none;opacity:0;transform:translate(-50%,-4px);transition:left .55s cubic-bezier(.2,.75,.2,1),top .55s cubic-bezier(.2,.75,.2,1),opacity .2s}.tour-pointer.show{opacity:1}.tour-label{background:#102348;color:#fff;border:3px solid #ffbd32;border-radius:999px;padding:7px 13px;font-size:.9rem;font-weight:900;white-space:nowrap;box-shadow:0 5px #10234838}.tour-arrow-icon{font-size:3.4rem;line-height:.78;color:#e44222;font-weight:900;filter:drop-shadow(0 3px 0 #fff);animation:tourBounce .75s ease-in-out infinite}.tour-pointer.below{flex-direction:column-reverse}.tour-pointer.below .tour-arrow-icon{transform:rotate(180deg)}.tour-next{pointer-events:auto;margin-top:7px;min-width:94px;border:3px solid #fff;border-radius:999px;background:#ffbd32;color:#102348;padding:8px 16px;font-size:.92rem;font-weight:1000;box-shadow:0 4px #b87808;cursor:pointer}.tour-pointer.below .tour-next{margin:0 0 7px}.tour-next:hover,.tour-next:focus-visible{background:#ffd56d;outline:3px solid rgba(255,255,255,.75);outline-offset:2px}@keyframes tourBounce{50%{translate:0 8px}}@media(max-width:700px){.tour-pointer,.maya-panel img{display:none}}[hidden]{display:none!important}.gidmid-logo-image{object-fit:contain;background:#fff;padding:2px 5px}.start-logo-link{display:block;width:190px;height:66px;margin:0 auto 3px}.start-logo{display:block;width:100%;height:100%;object-fit:contain}.start-actions{flex-wrap:wrap}.restart-button{min-height:48px;border:3px solid #d66324;border-radius:13px;background:#fff1e7;color:#8b3206;padding:10px 17px;font-weight:900;box-shadow:0 4px #e6a27c}.restart-button:hover{background:#ffe4d2;transform:translateY(-1px)}.reset-progress-button{display:block;margin:10px auto 0;border:0;background:transparent;color:#74453b;text-decoration:underline;text-underline-offset:3px;font-weight:800;cursor:pointer}.reset-progress-button:hover{color:#b23617}.tutorial-open-button{min-height:48px;border:3px solid #204fad;border-radius:13px;background:#eaf2ff;color:#123b91;padding:10px 17px;font-weight:900;box-shadow:0 4px #9cb6e4}.tutorial-open-button:hover{background:#dce9ff;transform:translateY(-1px)}.tutorial-help-button{min-width:76px;padding-inline:10px;font-weight:900;background:#fff7c7;border-color:#f1c138;color:#734900}.tutorial-overlay{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:22px;background:#061838c7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;transition:opacity .18s}.tutorial-overlay.active{opacity:1}.tutorial-overlay[hidden]{display:none!important}.tutorial-card{position:relative;width:min(760px,96vw);min-height:565px;padding:24px 28px 22px;border:5px solid #fff;border-radius:30px;background:#fffdf6;box-shadow:0 24px 70px #00000052;display:grid;grid-template-rows:auto minmax(215px,1fr) auto auto;gap:15px;overflow:hidden}.tutorial-card:before{content:"";position:absolute;left:0;right:0;top:0;height:11px;background:linear-gradient(90deg,#ffbb27 0 25%,#ff5737 25% 50%,#29d797 50% 75%,#1672d8 75%)}.tutorial-close{position:absolute;right:16px;top:17px;z-index:2;width:42px;height:42px;border:3px solid #b9c7d8;border-radius:50%;background:#fff;color:#243c5e;font-size:1.75rem;font-weight:900;line-height:1;cursor:pointer}.tutorial-heading{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;padding-right:48px}.tutorial-heading img{width:120px;height:120px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 4px rgba(16,35,72,.15))}.tutorial-kicker{display:block;color:#d84f21;font-size:.76rem;font-weight:1000;letter-spacing:.08em}.tutorial-heading h2{margin:3px 0 6px;color:#102f75;font-size:clamp(1.75rem,4vw,2.55rem);line-height:1}.tutorial-heading p{margin:0;color:#344762;font-size:1.08rem;line-height:1.38;font-weight:700}.tutorial-visual{display:grid;place-items:center;padding:20px;border:4px solid #bdd0e7;border-radius:22px;background:linear-gradient(180deg,#eaf8ff,#fff7cf);box-shadow:inset 0 0 0 4px #fff}.tutorial-route{display:flex;align-items:center;justify-content:center;gap:28px;width:100%}.tutorial-station{display:grid;place-items:center;width:150px;height:125px;border:5px solid;border-radius:20px;background:#fff;font-size:3.8rem;font-weight:1000;line-height:1;box-shadow:0 8px #10234826}.tutorial-station small{font-size:.74rem;letter-spacing:.08em}.start-demo{border-color:#16805a;color:#096143}.goal-demo{border-color:#e25b23;color:#9b3508}.tutorial-track-arrow{color:#173d91;font-size:5rem;font-weight:1000;animation:tutorialMove 1s ease-in-out infinite}@keyframes tutorialMove{50%{transform:translate(10px)}}.tutorial-choice{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:min(610px,100%)}.tutorial-choice button{min-height:122px;border:5px solid;border-radius:20px;font-size:1.65rem;font-weight:1000}.tutorial-choice small{display:block;margin-top:8px;font-size:.68rem}.demo-add{background:#ddf8e9;border-color:#27976b;color:#075e40}.demo-subtract{background:#fff0e5;border-color:#df6b2d;color:#913706}.tutorial-choice .active{animation:tutorialGlow 1.15s ease-in-out infinite}@keyframes tutorialGlow{50%{box-shadow:0 0 0 11px #ffbd3240,0 7px #dba12b}}.tutorial-count{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.tutorial-count div{display:grid;place-items:center;width:76px;height:76px;border:4px solid #173d91;border-radius:15px;background:#fff;color:#173d91}.tutorial-count div span{font-size:2rem;font-weight:1000;line-height:1}.tutorial-count div b{font-size:.65rem;text-transform:uppercase}.tutorial-count i{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#ffbe2e;color:#553500;font-size:1rem;font-weight:1000;font-style:normal}.tutorial-answer{margin-top:15px;color:#102f75;font-size:2.15rem;font-weight:1000}.tutorial-answer strong{display:inline-block;min-width:52px;padding:4px 10px;border:4px solid #2b6fd1;border-radius:12px;background:#fff}.tutorial-check-row{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.demo-check{min-height:70px;padding:12px 25px;border:4px solid #0a6545;border-radius:15px;background:#16805a;color:#fff;font-size:1.35rem;font-weight:1000;box-shadow:0 7px #084d36}.tutorial-celebrate{padding:18px;border:4px solid #e8b52d;border-radius:16px;background:#fff7c5;color:#8a5300;font-size:1.2rem;font-weight:1000}.tutorial-calm{margin:16px 0 0;text-align:center;color:#36506f;font-weight:900}.tutorial-progress{display:flex;justify-content:center;gap:9px}.tutorial-progress span{display:grid;place-items:center;width:31px;height:31px;border:3px solid #adbed3;border-radius:50%;background:#fff;color:#5a6b82;font-size:.8rem;font-weight:1000}.tutorial-progress span.active{border-color:#123f9b;background:#123f9b;color:#fff;box-shadow:0 0 0 5px #123f9b26}.tutorial-actions{display:grid;grid-template-columns:1fr auto 1fr;gap:12px}.tutorial-actions button{min-height:48px;border:3px solid #9eb0c7;border-radius:13px;background:#fff;color:#243c5e;padding:9px 16px;font-weight:1000}.tutorial-actions button:disabled{opacity:.35}.tutorial-next{justify-self:stretch!important;background:#123f9b!important;border-color:#123f9b!important;color:#fff!important;box-shadow:0 5px #082861}.tutorial-voice{background:#fff5bf!important;border-color:#e6b729!important;color:#704700!important}@media(max-width:760px){.tutorial-help-button{min-width:48px;font-size:.7rem;padding:6px}.tutorial-card{min-height:min(620px,94vh);padding:20px 16px 16px;grid-template-rows:auto minmax(205px,1fr) auto auto}.tutorial-heading{grid-template-columns:74px 1fr;gap:10px;padding-right:36px}.tutorial-heading img{width:74px;height:90px}.tutorial-heading p{font-size:.92rem}.tutorial-visual{padding:12px}.tutorial-station{width:104px;height:94px;font-size:2.6rem}.tutorial-track-arrow{font-size:3.3rem}.tutorial-route{gap:12px}.tutorial-choice{gap:8px}.tutorial-choice button{min-height:100px;font-size:1.05rem;padding:7px}.tutorial-count{gap:4px}.tutorial-count div{width:55px;height:60px}.tutorial-count i{width:30px;height:30px}.tutorial-answer{font-size:1.55rem}.tutorial-actions{grid-template-columns:1fr 1fr}.tutorial-voice{grid-column:1/-1;grid-row:1}.tutorial-back,.tutorial-next{grid-row:2}}@media(prefers-reduced-motion:reduce){.tutorial-track-arrow,.tutorial-choice .active{animation:none}}.start-logo-link{width:132px;height:42px;margin-bottom:0}.start-logo{object-fit:contain}.logo-image-link{width:92px;height:34px;background:transparent;border-radius:0;overflow:visible}.gidmid-logo-image{width:92px;height:34px;padding:0;background:transparent;object-fit:contain}.station-express-logo{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:1000;line-height:.82;letter-spacing:.035em}.station-express-logo>span:last-child{display:flex;flex-direction:column;align-items:flex-start}.station-express-logo b{font-weight:1000}.station-express-logo strong{font-weight:1000;letter-spacing:.015em}.station-train-mark{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#ffbe2e;box-shadow:0 4px #bd7910}.station-express-logo-large{margin:2px auto 8px;color:#102f75;font-size:2rem}.station-express-logo-large strong{color:#e34e25;font-size:1.18em}.station-express-logo-large .station-train-mark{width:70px;height:70px;font-size:2.5rem}.station-express-logo-header{color:#fff;font-size:.78rem;text-align:left;white-space:nowrap}.station-express-logo-header strong{color:#ffd153;font-size:1.25em}.station-express-logo-header .station-train-mark{width:38px;height:38px;font-size:1.35rem;box-shadow:0 3px #a96500}.brand-nav{gap:9px}.game-home-button{margin-left:4px}.tour-focus{position:relative;z-index:72!important;outline:6px solid rgba(255,190,46,.72);outline-offset:5px;box-shadow:0 0 0 12px #ffbe2e33!important;animation:tourFocusPulse 1.05s ease-in-out infinite!important}@keyframes tourFocusPulse{50%{outline-width:9px;outline-color:#ff9d1f;box-shadow:0 0 0 18px #ff9d1f24!important}}.tour-label{font-size:1rem;padding:9px 16px;border-width:4px}.tour-arrow-icon{font-size:4rem}@media(max-width:1000px){.station-express-logo-header{font-size:.68rem}.station-express-logo-header .station-train-mark{width:32px;height:32px;font-size:1.1rem}.logo-image-link,.gidmid-logo-image{width:76px;height:29px}.brand-nav{gap:6px}}@media(max-width:700px){.tour-pointer{display:flex}.tour-label{max-width:220px;text-align:center;font-size:.78rem;padding:7px 10px}.tour-arrow-icon{font-size:3.2rem}.station-express-logo-header{font-size:.58rem;gap:4px}.station-express-logo-header .station-train-mark{width:28px;height:28px;font-size:.95rem}.logo-image-link,.gidmid-logo-image{width:56px;height:24px}.game-home-button{font-size:0;width:36px;height:34px;padding:0}.game-home-button:before{content:"⌂";font-size:1rem}.station-express-logo-large{font-size:1.55rem}.station-express-logo-large .station-train-mark{width:56px;height:56px;font-size:2rem}}@media(prefers-reduced-motion:reduce){.tour-focus{animation:none!important}}.access-screen{position:fixed;inset:0;z-index:250;display:grid;place-items:center;overflow:auto;padding:22px;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.78) 0 4%,transparent 4.3%),linear-gradient(145deg,#e5f7ff,#fff6cf 58%,#e9f8dd)}.access-screen[hidden]{display:none!important}.access-card{width:min(560px,95vw);padding:27px 34px 24px;border:5px solid #fff;border-radius:30px;background:#fffdf7;text-align:center;box-shadow:0 20px 60px #10234838}.access-logo-link{display:block;width:150px;height:48px;margin:0 auto 3px}.access-logo-link img{width:100%;height:100%;object-fit:contain}.access-kicker{display:inline-block;margin:2px 0 7px;color:#c64d24;font-size:.76rem;font-weight:1000;letter-spacing:.09em}.access-card h1{margin:0;color:#102f75;font-size:clamp(1.7rem,5vw,2.45rem);line-height:1.05}.access-card>p{margin:9px auto 17px;max-width:440px;color:#465a72;font-weight:700;line-height:1.4}.access-form{display:grid;gap:8px;text-align:left}.access-form label{color:#263f60;font-size:.9rem;font-weight:900}.access-form input{width:100%;height:54px;border:3px solid #aebfd2;border-radius:13px;background:#fff;padding:0 15px;color:#102348;font-size:1.05rem;font-weight:800}.access-form input:focus{border-color:#2455c3;outline:4px solid rgba(36,85,195,.15)}#accessCode{text-transform:uppercase;letter-spacing:.08em}.access-form button{min-height:56px;margin-top:7px;border:3px solid #16449f;border-radius:14px;background:#2455c3;color:#fff;font-size:1.05rem;font-weight:1000;box-shadow:0 5px #123b8c;cursor:pointer}.access-form button:disabled{opacity:.65;cursor:wait}.access-error{margin:2px 0!important;border:2px solid #da563f;border-radius:10px;background:#fff0ed;padding:9px 11px;color:#922b1c!important;font-size:.9rem}.access-help{margin-bottom:0!important;font-size:.78rem;font-weight:700!important}.access-locked .screen,.access-locked #introOverlay{visibility:hidden}@media(max-width:560px){.access-screen{padding:10px}.access-card{padding:22px 17px 19px}.access-logo-link{width:125px;height:40px}}.major-stations.route-focus .station{opacity:.16;filter:grayscale(.85);transition:opacity .2s,filter .2s,background .18s,border-color .18s,transform .18s}.major-stations.route-focus .station.in-route,.major-stations.route-focus .station.start,.major-stations.route-focus .station.target,.major-stations.route-focus .station.current{opacity:1;filter:none}.confirm-overlay{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:20px;background:#061838cc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;transition:opacity .18s}.confirm-overlay.active{opacity:1}.confirm-overlay[hidden]{display:none!important}.confirm-card{width:min(500px,94vw);padding:28px 30px 26px;border:5px solid #fff;border-radius:27px;background:#fffdf6;text-align:center;box-shadow:0 24px 70px #00000057}.confirm-icon{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 12px;border:4px solid #f0af2d;border-radius:50%;background:#fff1b8;color:#8b3d00;font-size:2.7rem;font-weight:1000;line-height:1}.confirm-card h2{margin:0 0 9px;color:#102f75;font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.08}.confirm-card p{margin:0 auto 22px;max-width:410px;color:#344762;font-size:1.05rem;font-weight:700;line-height:1.45}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.confirm-actions button{min-height:54px;border:3px solid;border-radius:14px;padding:10px 14px;font-size:1rem;font-weight:900;cursor:pointer}.confirm-cancel{border-color:#9caec2!important;background:#eef3f8;color:#304865;box-shadow:0 4px #c4cfdb}.confirm-accept{border-color:#cf672c!important;background:#fff0e5;color:#873308;box-shadow:0 4px #e3a07b}.confirm-accept.danger{border-color:#b53120!important;background:#ffe3de;color:#8d2115;box-shadow:0 4px #dc8a80}.confirm-actions button:hover,.confirm-actions button:focus-visible{transform:translateY(-2px);outline:4px solid rgba(255,189,50,.42);outline-offset:2px}@media(max-width:520px){.confirm-card{padding:24px 18px 20px}.confirm-actions{grid-template-columns:1fr}.confirm-actions button{min-height:50px}}
