@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap";:root{color:#244c43;font-synthesis:none;background:#eaf0e6;font-family:Be Vietnam Pro,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}#world{position:fixed;inset:0}canvas{display:block}header{z-index:2;justify-content:space-between;align-items:center;height:105px;padding:0 48px;display:flex;position:absolute;top:0;left:0;right:0}.brand{color:#244c43;letter-spacing:2px;align-items:center;gap:12px;font-size:17px;font-weight:800;text-decoration:none;display:flex}.brand-icon{color:#f9e8ad;background:#315e4f;border-radius:14px 14px 20px 20px;place-items:center;width:43px;height:46px;font-size:30px;display:grid}.brand small{letter-spacing:1.8px;margin-top:6px;font-size:8px;display:block}.scene-tabs{color:#8a9c90;align-items:center;gap:22px;font-size:11px;display:flex}.scene-tabs span{align-items:center;gap:10px;display:flex}.scene-tabs b{font-weight:500}.scene-tabs .active{color:#315e4f}.scene-tabs i{background:#bfcbbb;width:45px;height:1px}.profile{color:#426b58;background:#ffffff80;border:1px solid #cbd7c7;border-radius:24px;padding:12px 18px;font-size:12px}.profile span{margin-left:7px}.intro{pointer-events:none;position:absolute;top:143px;left:48px}.eyebrow{letter-spacing:2px;font-size:9px;font-weight:700}.eyebrow>span{background:#e9a460;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}h1{letter-spacing:-2px;margin:17px 0;font-size:43px;line-height:1.25}h1 em{color:#ba7850;font-style:normal;display:block}.intro p{color:#768478;font-size:11px;line-height:1.9}.quest{background:#fffdf5ed;border:1px solid #fff;border-radius:16px;width:283px;padding:22px;position:absolute;top:145px;right:36px;box-shadow:0 12px 45px #39503908}.quest-title{letter-spacing:1.2px;color:#8d9685;justify-content:space-between;margin-bottom:18px;font-size:8px;display:flex}.quest-title span:last-child{color:#47735a}.step{color:#a4ac9b;border-top:1px solid #e9eadf;align-items:center;gap:12px;padding:17px 0;display:flex}.step>span{border:1px solid #dce1d4;border-radius:50%;flex-shrink:0;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.step b{font-size:10px;font-weight:600;display:block}.step small{margin-top:6px;font-size:8px;display:block}.step i{margin-left:auto;font-style:normal}.step.active{color:#355f4f}.step.active>span{color:#fff;background:#365f4c;border-color:#365f4c}.step.done>span{color:#4d7658;background:#e1edda}.location{background:#fffdf4e8;border:1px solid #fff;border-radius:13px;align-items:center;gap:13px;min-width:244px;padding:15px 20px;display:flex;position:absolute;bottom:91px;left:48px}.location-icon{color:#66856a;font-size:29px}.location small{letter-spacing:1.8px;color:#98a18d;margin-bottom:6px;font-size:7px;display:block}.location b{font-size:10px;font-weight:500}.live-dot{background:#88a875;border-radius:50%;width:6px;height:6px;margin-left:18px}.controls{color:#657966;align-items:center;gap:13px;font-size:9px;display:flex;position:absolute;bottom:91px;left:50%;transform:translate(-50%)}.controls>span:first-child{flex-direction:column;align-items:center;gap:3px;display:flex}.controls>span>span{gap:3px;display:flex}kbd{background:#ffffff9c;border:1px solid #b9c7b4;border-radius:4px;place-items:center;width:18px;height:18px;font:8px inherit;display:inline-grid}.controls p{line-height:1.7}.controls small{color:#94a18d;font-size:8px;display:block}.divider{background:#becbb5;width:1px;height:27px;margin:0 8px}.mouse{font-size:25px}.sound{color:#4d7058;background:#fffaf0c0;border:1px solid #c6d1bd;border-radius:50%;width:42px;height:42px;font-size:19px;position:absolute;bottom:96px;right:40px}footer{letter-spacing:1.6px;color:#83927c;justify-content:space-between;font-size:7px;display:flex;position:absolute;bottom:28px;left:48px;right:48px}footer i{color:#b58757;margin-left:18px;font-size:15px}.overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#263f3550;place-items:center;display:grid;position:fixed;inset:0}.login-card{background:#fffcf2;border-radius:25px;width:370px;padding:33px 40px;box-shadow:0 30px 100px #233c3433}.card-flower{color:#c88e5f;margin-bottom:17px;font-size:40px}.login-card .eyebrow{font-size:8px}.login-card h2{letter-spacing:-1px;margin:15px 0;font-size:31px;line-height:1.35}.login-card p{color:#8b9585;font-size:11px;line-height:1.9}.login-card label{margin:23px 0 9px;font-size:10px;display:block}.login-card input{color:#315e4f;background:#f5f5e9;border:1px solid #dce1d0;border-radius:9px;outline-color:#7c9c7b;width:100%;padding:13px;font:12px inherit}#colors{gap:13px;display:flex}#colors button{background:var(--color);border:4px solid #fffcf2;border-radius:50%;outline:1px solid #0000;width:29px;height:29px}#colors button.selected{outline-color:#42654d}.start{color:#fff8df;background:#365f4c;border:0;border-radius:9px;justify-content:space-between;width:100%;margin-top:27px;padding:15px;font-size:11px;display:flex}.local-note{text-align:center;color:#a1a68f;margin-top:15px;font-size:8px;display:block}.hidden{display:none!important}#name-tag{pointer-events:none;white-space:nowrap;background:#fffdf5;border-radius:20px;padding:7px 12px;font-size:10px;position:absolute;transform:translate(-50%,-100%);box-shadow:0 3px 10px #40503515}.interaction{background:#fffdf4;border-radius:13px;align-items:center;gap:20px;padding:12px;font-size:11px;display:flex;position:absolute;bottom:165px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #344f3920}.interaction button{color:#fff8df;background:#365f4c;border:0;border-radius:8px;padding:13px;font-size:11px}.interaction b{margin-left:12px}.back{color:#365f4c;background:#fffdf0;border:1px solid #b8c8ad;border-radius:8px;padding:12px 17px;font-size:10px;position:absolute;top:340px;left:48px}#toast{color:#fff;opacity:0;pointer-events:none;z-index:20;background:#355f4e;border-radius:30px;padding:13px 24px;font-size:12px;transition:opacity .3s;position:fixed;top:100px;left:50%;transform:translate(-50%)}.mobile-pad{display:none}@media (width<=800px){header{height:80px;padding:0 20px}.scene-tabs{display:none}.brand{font-size:13px}.intro{top:100px;left:22px}h1{font-size:30px}.intro p{font-size:9px}.quest{width:185px;padding:14px;top:110px;right:16px}.quest-title{font-size:6px}.step{gap:7px;padding:12px 0}.step b{font-size:8px}.step small{font-size:6px;line-height:1.5}.step i{display:none}.location{min-width:0;padding:11px;bottom:85px;left:18px}.controls{display:none}footer{font-size:6px;line-height:1.8;left:20px;right:20px}footer>span:last-child{display:none}.mobile-pad{text-align:center;display:block;position:absolute;bottom:85px;right:18px}.mobile-pad button{color:#355f4e;background:#fffcf0d9;border:1px solid #bacbb0;border-radius:8px;width:32px;height:32px;margin:2px}.sound{bottom:220px;right:24px}.interaction{gap:8px;width:max-content;max-width:94%;font-size:9px;bottom:245px}.back{top:280px;left:20px}.login-card{width:335px;padding:28px 32px}}#leave-seat{color:#365f4c;z-index:3;background:#fffdf2;border:1px solid #e0e7d2;border-radius:24px;padding:14px 24px;font-size:12px;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 6px 25px #243d3826}.studying .intro,.studying .quest,.studying .controls,.studying .mobile-pad{display:none}.studying header{background:linear-gradient(#eaf0e6ed,#0000)}#score-badge{color:#705525;z-index:3;background:#fff6d9;border:1px solid #dbc485;border-radius:24px;padding:12px 20px;font-size:13px;display:none;position:fixed;top:108px;right:48px}.studying #score-badge{display:block}#answer-dialog{color:#315c4c;background:#fffdf2;border:1px solid #e1dcc7;border-radius:20px;width:min(420px,92vw);padding:32px;font-family:inherit;box-shadow:0 24px 80px #17392b40}#answer-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#173c3066}#answer-dialog h2{margin:22px 0;font-size:38px}#answer-dialog label{margin-bottom:8px;font-size:12px;display:block}#exercise-answer{color:#244c43;background:#fff;border:1px solid #a4b79a;border-radius:9px;width:100%;padding:13px;font:24px inherit}#teacher-feedback{background:#eaf0dd;border-radius:10px;min-height:65px;padding:14px;font-size:13px;line-height:1.8}.answer-actions{gap:10px;margin:20px 0 13px;display:flex}.answer-actions button{color:#315c4c;background:#f4f1e2;border:1px solid #b7c6ac;border-radius:8px;flex:1;padding:13px}.answer-actions button[type=submit]{color:#fff9e5;background:#365f4c}.answer-actions button:disabled{opacity:.45;cursor:default}#answer-dialog small{color:#819176;font-size:10px}@media (width<=800px){#score-badge{padding:9px 13px;font-size:11px;top:85px;right:18px}}#reward-sound{color:#68816b;background:0 0;border:0;margin:18px 0 0;padding:5px 0;font-size:11px}.celebration{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.confetti{left:var(--x);width:11px;height:18px;animation:confetti-fall 2.3s var(--delay) ease-in forwards;border-radius:3px;position:absolute;top:-25px}.reward-banner{white-space:nowrap;color:#806020;background:#fff1bd;border-radius:30px;padding:16px 25px;font-size:clamp(17px,3vw,27px);font-weight:800;animation:.35s ease-out reward-pop;position:absolute;top:14%;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #1c392c22}@keyframes confetti-fall{to{transform:translate(var(--drift),105vh) rotate(var(--spin));opacity:.25}}@keyframes reward-pop{0%{opacity:0;scale:.7}to{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.reward-banner{animation:none}}#ranking-button{color:#365f4c;background:#fff9e8;border:1px solid #becbb5;border-radius:24px;padding:11px 17px;font-size:11px}header .profile{margin-left:auto;margin-right:12px}.scene-tabs{position:absolute;left:50%;transform:translate(-50%)}#ranking-dialog{color:#315c4c;background:#fffdf2;border:1px solid #e3dec9;border-radius:22px;width:min(520px,94vw);max-height:85vh;padding:30px;font-family:inherit;overflow:auto}#ranking-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#173c3066}#ranking-dialog h2{margin:15px 0;font-size:24px;line-height:1.5}.ranking-note{color:#82917e;font-size:10px;line-height:1.8}#ranking-list{max-height:45vh;margin:20px 0;overflow:auto}.ranking-row{border-top:1px solid #e4e8da;border-radius:8px;align-items:center;gap:12px;padding:15px 12px;display:flex}.ranking-row.is-me{background:#e8efdc}.ranking-rank{text-align:center;width:30px;font-size:20px}.ranking-row b{overflow-wrap:anywhere;font-size:13px}.ranking-row small{color:#82917e;margin-top:5px;font-size:10px;display:block}.ranking-row strong{white-space:nowrap;margin-left:auto;font-size:13px}.ranking-row>div{min-width:0}#ranking-empty{font-size:13px;line-height:1.8}#close-ranking{color:#fff9e5;background:#365f4c;border:0;border-radius:10px;width:100%;margin-top:15px;padding:14px 20px}@media (width<=800px){#ranking-button{padding:10px;font-size:10px}.profile{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}header .profile{margin-right:6px}.brand{gap:7px;font-size:10px}.brand-icon{width:30px;height:36px}.brand small{letter-spacing:1px;font-size:6px}}#subject-dialog{color:#315c4c;background:#fffdf2;border:1px solid #e0ddca;border-radius:24px;width:min(590px,94vw);max-height:88vh;padding:30px;font-family:inherit;overflow:auto}#subject-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#173c3066}#subject-dialog h2{margin:16px 0 10px;font-size:25px;line-height:1.4}#subject-dialog p{color:#83917c;font-size:12px}#subject-grid{grid-template-columns:1fr 1fr;gap:13px;margin:25px 0;display:grid}#subject-grid button{color:#315c4c;text-align:left;background:#f0f3e6;border:1px solid #d9e1cb;border-radius:14px;padding:22px 15px;transition:background .15s,transform .15s}#subject-grid button:hover{background:#e1ecd3;transform:translateY(-2px)}#subject-grid span{color:#b38346;margin-bottom:14px;font-size:24px;font-weight:700;display:block}#subject-grid b{font-size:15px;display:block}#subject-grid small{color:#82917d;margin-top:8px;font-size:10px;line-height:1.7;display:block}#subject-dialog>small{color:#819174;font-size:10px}#close-subject{color:#fff9e4;background:#365f4c;border:0;border-radius:9px;width:100%;margin-top:20px;padding:12px;display:block}#change-subject{color:#365f4c;background:#eaf0db;border:1px solid #b4c7a7;border-radius:22px;padding:11px 20px;font-size:11px;display:none;position:fixed;bottom:152px;left:50%;transform:translate(-50%)}.studying #change-subject{display:block}#answer-options{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}#answer-options button{color:#315c4c;background:#edf2df;border:1px solid #b6c7a8;border-radius:8px;padding:11px 15px;font-size:14px}#answer-options button:disabled{opacity:.55;cursor:default}#exercise-title{overflow-wrap:anywhere;font-size:28px!important}@media (width<=500px){#subject-dialog{padding:23px}#subject-grid{gap:10px}#subject-grid button{padding:15px 12px}#subject-grid b{font-size:13px}}.overlay{padding:24px;overflow:auto}.login-card{margin:auto}#account-form{width:min(390px,94vw)}#account-form h2{font-size:27px}#account-form input[type=password]{font-family:inherit}#account-form label{margin-top:16px}.auth-tabs{background:#eef1e1;border-radius:10px;gap:7px;margin-top:17px;padding:5px;display:flex}.auth-tabs button{color:#83937b;background:0 0;border:0;border-radius:7px;flex:1;padding:9px;font-size:11px}.auth-tabs button.selected{color:#365f4c;background:#fffdf4;box-shadow:0 2px 8px #365f4c12}.text-button{color:#647d63;background:0 0;border:0;margin:8px auto 0;padding:13px 4px;font-size:10px;display:block}#auth-error{margin:10px 0 0;font-size:11px;line-height:1.6;color:#a44934!important}#account-submit:disabled{opacity:.55;cursor:wait}#sync-status{color:#668064;z-index:3;pointer-events:none;background:#f8f8eac9;border-radius:15px;padding:7px 12px;font-size:9px;position:fixed;top:108px;left:48px}#sync-status[data-status=offline],#sync-status[data-status=expired]{color:#a2643b;background:#fff0dc}#account-dialog{color:#365f4c;background:#fffdf2;border:1px solid #d8dfca;border-radius:20px;width:min(400px,92vw);padding:30px;font-family:inherit}#account-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#173c3066}#account-dialog h2{font-size:23px}#account-dialog p{font-size:12px;line-height:1.8}#account-dialog button{color:#fff9e8;background:#365f4c;border:1px solid #bdc9b2;border-radius:10px;width:100%;margin-top:10px;padding:13px;font-size:12px}#close-account{color:#365f4c!important;background:#eef2e1!important}#account-error{color:#a44934}@media (width<=800px){#sync-status{padding:5px 9px;font-size:8px;top:82px;left:20px}}button{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s,background-color .18s}button:hover:not(:disabled){transform:translateY(-1.5px)}button:active:not(:disabled){transform:translateY(.5px)}.quest,.location,.login-card,#answer-dialog,#subject-dialog,#ranking-dialog,#account-dialog{-webkit-backdrop-filter:blur(16px)}.quest{border:1px solid #ffffffe6;box-shadow:0 16px 45px #244c4314}.location{border:1px solid #ffffffe6;box-shadow:0 12px 35px #244c4314}.live-dot{animation:1.8s ease-in-out infinite live-pulse;box-shadow:0 0 8px #88a875}@keyframes live-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}#name-tag{color:#244c43;-webkit-backdrop-filter:blur(8px);background:#fffdf5f0;border:1px solid #ffffffe6;font-weight:600}#name-tag:after{content:"";border-top:5px solid #fffdf5f0;border-left:5px solid #0000;border-right:5px solid #0000;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}#toast{letter-spacing:.3px;font-weight:600;box-shadow:0 12px 30px #244c4340}#ranking-button,#leave-seat,#change-subject{box-shadow:0 6px 20px #244c431f}#ranking-button:hover,#leave-seat:hover,#change-subject:hover{box-shadow:0 8px 25px #244c432e}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#0000000a;border-radius:10px}::-webkit-scrollbar-thumb{background:#365f4c40;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#365f4c73}#multiplayer-tags{pointer-events:none;z-index:4;position:fixed;inset:0}.remote-tag{pointer-events:none;white-space:nowrap;color:#244c43;-webkit-backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #ffffffe6;border-radius:18px;align-items:center;gap:6px;padding:5px 11px;font-size:10px;font-weight:600;transition:opacity .2s;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 3px 12px #244c431f}.remote-tag-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.remote-tag:after{content:"";border-top:4px solid #fffffff2;border-left:4px solid #0000;border-right:4px solid #0000;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}#playground-controls{z-index:5;-webkit-backdrop-filter:blur(16px);color:#365f4c;background:#fffdf4eb;border:1px solid #fffffff2;border-radius:14px;align-items:center;gap:10px;max-width:min(380px,100vw - 36px);padding:8px 12px;font-size:11px;transition:all .25s;display:flex;position:fixed;bottom:162px;left:48px;box-shadow:0 10px 30px #244c431a}#playground-controls[hidden],#playground-controls [hidden]{display:none!important}#playground-controls button,#playground-dialog button{font:inherit;color:#315c4c;cursor:pointer;background:#edf2df;border:1px solid #b8cbb4;border-radius:9px;padding:8px 14px;font-weight:500;transition:background .15s,transform .15s}#playground-controls button:hover,#playground-dialog button:hover{background:#dfe8ce;transform:translateY(-1px)}#playground-controls #leave-playground{color:#fff9df;background:#365f4c;border-color:#365f4c}#playground-controls #leave-playground:hover{background:#2a4c3c}#playground-status{color:#4a6d5c;max-width:220px;font-weight:500;line-height:1.5}#playground-dialog{color:#315c4c;background:#fffdf2;border:1px solid #d7dfc9;border-radius:22px;width:min(580px,94vw);max-height:85vh;padding:26px;font-family:inherit;overflow:auto}#playground-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#173c3066}#playground-dialog h2{margin:0 0 12px;font-size:24px}#playground-dialog p{font-size:12px;line-height:1.8}.playground-slots{grid-template-columns:1fr 1fr;gap:9px;margin:18px 0;display:grid}#playground-dialog .playground-slots button{text-align:left;min-height:52px;font-size:12px;line-height:1.5}#playground-dialog button:disabled{opacity:.5;cursor:default}#playground-dialog #close-playground{color:#fff9df;background:#365f4c;width:100%}#playground-controls{flex-wrap:wrap}.ride-actions{border-top:1px solid #d9e3cf;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px;margin-top:2px;padding-top:9px;display:flex}.ride-level{align-items:center;gap:7px;font-size:11px;display:flex}#ride-level{color:#315c4c;font:inherit;background:#fffdf2;border:1px solid #b8cbb4;border-radius:8px;padding:7px}#ride-hint{color:#647e5f;flex-basis:100%;font-size:10px;line-height:1.65}#playground-controls button:disabled,#ride-level:disabled{opacity:.6;cursor:wait}@media (width<=800px){#playground-controls{gap:6px;max-width:calc(100vw - 36px);padding:7px 10px;font-size:10px;bottom:150px;left:18px}#playground-status{max-width:140px}#playground-controls button{padding:7px 10px}#playground-dialog{padding:20px}}.student-chat{z-index:7;color:#315c4c;pointer-events:auto;font:12px Be Vietnam Pro,Arial,sans-serif;position:fixed;bottom:22px;right:24px}.student-chat[hidden],.student-chat [hidden]{display:none!important}.chat-toggle{float:right;color:#fff9e4;font:inherit;cursor:pointer;background:#365f4c;border:1px solid #b9cdb4;border-radius:24px;padding:13px 18px;font-weight:600;box-shadow:0 5px 20px #244c4324}.chat-panel{background:#fffdf5;border:1px solid #cedbc4;border-radius:18px;width:min(350px,100vw - 32px);margin-bottom:12px;overflow:hidden;box-shadow:0 15px 50px #173c3033}.chat-header{background:#edf3e4;border-bottom:1px solid #dbe5d1;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.chat-header h2{letter-spacing:0;margin:0 0 4px;font-size:14px;line-height:1.5}.chat-connection{color:#6e8568;font-size:10px;display:block}.chat-close{color:#365f4c;cursor:pointer;background:0 0;border:0;width:32px;height:32px;font-size:24px;line-height:1}.chat-messages{overscroll-behavior:contain;scrollbar-gutter:stable;height:min(265px,35vh);padding:12px;overflow-y:auto}.chat-messages:empty{display:none}.chat-empty{color:#7d8b74;padding:18px;font-size:12px;line-height:1.8}.chat-message{overflow-wrap:anywhere;background:#edf2e6;border-radius:12px 12px 12px 3px;width:fit-content;max-width:94%;margin:0 0 10px;padding:10px 12px}.chat-message.is-me{background:#e0edd4;border-radius:12px 12px 3px;margin-left:auto}.chat-author{color:#315c4c;font-size:10px;line-height:1.5;display:block}.chat-author:before{content:"";background:var(--chat-color);border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.chat-text{font:inherit;color:#274f40;white-space:pre-wrap;margin:5px 0;font-size:12px;line-height:1.7}.chat-time{color:#7b8d74;text-align:right;font-size:9px;display:block}.chat-form{border-top:1px solid #e1e8d8;padding:12px 14px}.chat-input-label{margin-bottom:7px;font-size:10px;display:block}.chat-compose{gap:7px;display:flex}#chat-input{color:#274f40;width:auto;min-width:0;font:inherit;outline-offset:2px;background:#fff;border:1px solid #bed0b4;border-radius:9px;flex:1;padding:11px;font-size:12px}.chat-send{color:#fff9e4;font:inherit;cursor:pointer;background:#365f4c;border:0;border-radius:9px;padding:10px 13px;font-size:11px}.chat-send:disabled{opacity:.5;cursor:default}.chat-counter{text-align:right;color:#84927b;margin-top:5px;font-size:9px;display:block}.chat-error{color:#a14e37;margin:6px 0 0;font-size:11px;line-height:1.7}.chat-error:empty{display:none}@media (width<=800px){.student-chat{bottom:16px;right:16px}.chat-toggle{padding:11px 14px;font-size:11px}.chat-panel{max-height:calc(100dvh - 110px);overflow-y:auto}.chat-messages{height:min(220px,30dvh)}}#speech-bubbles{z-index:5;pointer-events:none;position:fixed;inset:0;overflow:hidden}.speech-bubble{box-sizing:border-box;color:#274f40;pointer-events:none;background:#fffef7;border:1px solid #bdcfb1;border-radius:16px;width:max-content;min-width:80px;max-width:min(240px,100vw - 24px);padding:10px 13px;font-family:Be Vietnam Pro,Arial,sans-serif;animation:.16s ease-out speech-appear;position:absolute;box-shadow:0 5px 18px #173c3026}.speech-bubble[hidden]{display:none!important}.speech-bubble:after{content:"";left:var(--speech-tail-x,50%);background:inherit;border-bottom:1px solid #bdcfb1;border-right:1px solid #bdcfb1;width:12px;height:12px;position:absolute;bottom:-7px;transform:translate(-50%)rotate(45deg)}.speech-bubble.is-me{background:#edf6e5}.speech-author{color:#365f4c;margin-bottom:4px;font-size:10px;line-height:1.5;display:block}.speech-author:before{content:"";background:var(--speech-color);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.speech-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;display:block}@keyframes speech-appear{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.speech-bubble{animation:none}}.school-overview .intro{text-align:center;pointer-events:none;z-index:2;width:max-content;max-width:calc(100vw - 32px);position:fixed;top:clamp(68px,8vh,82px);left:50%;transform:translate(-50%)}.school-overview .intro h1{letter-spacing:-.35px;white-space:nowrap;color:#244c43;text-shadow:0 2px 12px #ffffffd9;margin:0;font-size:clamp(16px,2vw,24px);font-weight:800;line-height:1.2}.school-overview .intro h1 em{color:#ba7850;font-style:normal;display:inline}.school-overview .intro .eyebrow,.school-overview .intro p,.playing-ride .intro{display:none}@media (width<=800px){.school-overview .intro{top:68px}.school-overview .intro h1{letter-spacing:-.3px;font-size:clamp(13px,3.9vw,18px)}}@media (height<=700px) and (width>=801px){.school-overview .intro{top:64px}.school-overview .intro h1{font-size:18px}}@media (height<=620px) and (width>=801px){.school-overview .intro{top:62px}.school-overview .intro h1{font-size:14px}}:root{--ad-reserved:498px;--game-width:100vw}.ad-panel{box-sizing:border-box;z-index:3;background:#fffdf5;border:1px solid #e2e7d9;border-radius:14px;width:324px;padding:11px;position:fixed;top:145px;right:24px}.ad-panel[hidden]{display:none!important}.ad-panel h2{letter-spacing:1.3px;text-transform:uppercase;color:#87927d;margin:0 0 10px;font:500 10px/1.5 Be Vietnam Pro,Arial,sans-serif}#ad-content{width:300px;min-height:250px;line-height:0}.ad-placeholder{color:#a0aa95;background:#f1f3eb;border:1px dashed #d5dfca;border-radius:8px;place-items:center;width:300px;height:250px;font:12px/1.5 Be Vietnam Pro,Arial,sans-serif;display:grid}.ads-layout{--game-width:calc(100vw - var(--ad-reserved))}.ads-layout #world{right:var(--ad-reserved)}.ads-layout header{right:var(--ad-reserved);padding-inline:24px}.ads-layout .controls,.ads-layout .interaction,.ads-layout #leave-seat,.ads-layout #change-subject{left:calc(var(--game-width)/2)}.ads-layout .student-chat{right:calc(var(--ad-reserved) + 16px)}.ads-layout .sound,.ads-layout #score-badge{right:calc(var(--ad-reserved) + 20px)}.ads-layout.school-overview .intro{left:calc(var(--game-width)/2);top:var(--ad-heading-top,116px);max-width:calc(var(--game-width) - 32px)}.ads-layout .intro h1{white-space:normal;letter-spacing:-.4px;font-size:clamp(18px,1.8vw,24px);line-height:1.3}.ad-privacy{color:#76866e;z-index:3;font:10px Be Vietnam Pro,Arial,sans-serif;text-decoration:none;position:fixed;bottom:10px;left:48px}.ads-layout .ad-privacy{bottom:25px;left:auto;right:24px}.ads-layout footer>span:last-child{display:none}.ad-privacy:hover{text-decoration:underline}@media (width<=600px){.ad-privacy{left:18px}}@media (width<=1179px),(height<=699px){.ad-panel{display:none!important}}
