*{box-sizing:border-box}body{margin:0;background:#101f27;color:#f4f8f8;font:16px/1.65 system-ui,Tahoma,sans-serif}button{font:inherit;cursor:pointer;border:1px solid #45606a;border-radius:12px;background:#233a44;color:#fff;padding:9px 14px}button:hover{background:#34525c}button:focus-visible{outline:3px solid #ffd36c;outline-offset:3px}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #33434a;gap:12px}.brand{display:flex;align-items:center;gap:12px;color:#ffcf6c;font-size:25px}.brand span{color:white;font-size:18px}.brand b{font-size:14px;letter-spacing:2px;margin-left:7px}.chapter,.eyebrow{font-size:13px;letter-spacing:2px;color:#8acac4}main{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100vh - 78px)}.world{position:relative;min-height:720px;overflow:hidden;background:#94cddb}#scene{position:absolute;width:100%;height:100%;touch-action:none}.worldtop{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.tag,#location{font-size:13px;background:#102e36df;padding:8px 15px;border-radius:30px}.tag{letter-spacing:2px}.reticle{position:absolute;left:50%;top:50%;color:white;font-size:25px;text-shadow:0 1px 4px #000}.bottom{position:absolute;bottom:25px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.bottom span{font-size:14px;background:#10232acb;padding:10px;border-radius:9px}.bottom button,.primary{background:#ffd36c;color:#18252c;font-weight:700;border:0}.primary:hover,.bottom button:hover{background:#ffe29f}aside{padding:24px;background:#152a33}.missionhead{display:flex;justify-content:space-between}h2{font-size:27px;line-height:1.3;margin:15px 0 10px}.muted{color:#a9c1c6;font-size:15px}.instruction{background:#24414b;border-left:3px solid #7ed8c6;padding:15px;border-radius:0 12px 12px 0}.instruction span{font-size:12px;letter-spacing:2px;color:#8ed4cb}.instruction p{font-size:19px;line-height:1.5;margin:10px 0}.instruction button{padding:5px 10px;font-size:14px}.tools{display:flex;gap:10px;margin:16px 0}.tools button{flex:1;font-size:14px}#translation{font-size:15px;color:#ffd36c}#map{display:block;width:100%;height:auto;background:#dbeadd;border-radius:12px}#map[hidden]{display:none}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#a9c1c6;margin-top:8px}.speak{border-top:1px solid #3b515b;margin-top:18px;padding-top:15px}.speak b{font-size:12px;letter-spacing:1.4px;color:#ffd36c}.speak p{margin:6px 0}.speak small{color:#9bb6be;font-size:13px}.badges{display:flex;gap:10px;margin-top:15px}.badge{flex:1;border:1px solid #47616b;border-radius:10px;text-align:center;padding:8px;color:#8da3ab;font-size:13px}.badge.done{color:#ffda86;background:#48513e;border-color:#bca669}#feedback{color:#9de1d2;font-size:14px;min-height:45px}#reset,#guide{font-size:13px;padding:7px 10px}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#102a3980;backdrop-filter:blur(3px);padding:24px}.introbox{max-width:550px;background:#122d36f5;padding:42px;border:1px solid #59817e;border-radius:24px;box-shadow:0 30px 90px #07172166}.introbox h1{font-size:52px;line-height:1.1;letter-spacing:-2px;margin:20px 0}.introbox h1 span{display:block;font-size:30px;letter-spacing:0;color:#ffd36c;margin-top:16px}.introbox p{color:#c2d5d8}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.chips span{font-size:13px;border:1px solid #4c686d;border-radius:30px;padding:5px 12px}.introbox .primary{width:100%;padding:15px}.introbox small{display:block;font-size:12px;color:#abc2c6;margin-top:16px}.near{position:absolute;top:65%;left:50%;transform:translateX(-50%);background:#14312fe0;border-radius:14px;padding:8px 18px;white-space:nowrap}.near:empty{display:none}.touch{position:absolute;left:25px;bottom:110px;display:flex;gap:7px}.touch button{background:#17353eab;font-size:21px;touch-action:none}dialog{max-width:570px;width:90%;max-height:85vh;overflow:auto;background:#19343f;color:white;border:1px solid #668c8c;border-radius:22px;padding:30px}dialog::backdrop{background:#061921ad}dialog h2{color:#ffd36c}dialog .primary{width:100%;margin-top:15px}@media(max-width:900px){main{grid-template-columns:1fr}.world{min-height:65vh}aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}aside>*{margin:0}#map{max-height:230px;object-fit:contain}.missionhead,h2,.muted,#feedback{grid-column:1/-1}.chapter{display:none}.introbox{padding:25px}.introbox h1{font-size:38px}.bottom{flex-direction:column;align-items:stretch;gap:8px}.bottom span{display:none}.worldtop{top:12px;left:12px;right:12px}.tag{display:none}header{padding:0 15px}.brand b{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
input{display:block;width:100%;font:inherit;background:#0d2029;border:1px solid #67848b;border-radius:10px;color:white;padding:10px 14px;margin:5px 0 12px}label{font-size:14px;color:#b4d6d8}.introbox h1{font-size:40px}.introbox h1 span{font-size:25px}.introbox{padding:25px}.introbox #createRoom{width:100%;margin-top:10px}.introbox p{margin:12px 0}.roomline{display:flex;justify-content:space-between;gap:8px;font-size:14px}.roomline b{color:#ffd36c}#network{font-size:12px;color:#9fe0cb}.scorecard{display:flex;justify-content:space-between;align-items:center;background:#254a48;padding:12px;border-radius:10px;margin:12px 0}.scorecard strong{font-size:23px;color:#ffe09a}#onlinePanel{border-bottom:1px solid #45606a;padding-bottom:16px;margin-bottom:18px}#leaderboard{padding:0;list-style:none;max-height:190px;overflow:auto;font-size:14px}#leaderboard li{display:flex;justify-content:space-between;gap:8px;padding:7px 2px;border-bottom:1px solid #ffffff15}#leaderboard .me{color:#ffd36c}#hostTools button{font-size:13px;padding:5px 8px;margin:4px 0}#joinError{color:#ffb69b}a{color:#a1e6dd}.answer{display:block;width:100%;text-align:left;margin:10px 0}.world{min-height:900px}#onlinePanel summary{cursor:pointer}#playerCount{float:right;color:#a2cfc6}.introbox small{line-height:1.7}button:disabled{opacity:.5;cursor:wait}@media(max-width:900px){#onlinePanel{grid-column:1/-1}.world{min-height:760px}}
@media(min-width:901px){main{height:calc(100vh - 78px);min-height:0}.world{height:100%;min-height:0}aside{overflow-y:auto;min-height:0}.introbox{max-height:95%;overflow-y:auto}.introbox h1{font-size:34px;margin:12px 0}.introbox p{font-size:15px}.introbox small{margin-top:10px}}
.teacherlink{font-size:14px;text-decoration:none}.rewardPanel{background:linear-gradient(115deg,#2b615c,#254250);border:1px solid #699989;border-radius:16px;padding:16px;margin-bottom:20px}.rewardPanel>div{display:flex;align-items:center;justify-content:space-between}.rewardPanel span{font-size:12px;letter-spacing:2px;color:#bce6d8}.rewardPanel strong{font-size:30px;color:#ffd36c}.rewardPanel button{width:100%;margin-top:8px;background:#f1cc78;color:#152a33;font-weight:bold}.rewardPanel p{font-size:14px;margin:9px 0}progress{width:100%;height:10px;accent-color:#f9d681}.badges{flex-wrap:wrap}.badge{min-width:35px}.audioSettings{margin-top:16px}.audioSettings input[type=checkbox]{display:inline;width:auto}.audioSettings input[type=range]{padding:0;accent-color:#ffd36c}.audioSettings label{display:block;margin-top:10px}.shopTop{display:flex;gap:20px;align-items:center;flex-wrap:wrap}#avatarPreview{width:180px;border-radius:16px}#shopCoins{font-size:27px;color:#ffd36c}#avatarChoices{display:grid;grid-template-columns:1fr 1fr;gap:6px}#avatarChoices button{font-size:13px}#shopItems{display:grid;grid-template-columns:1fr 1fr;gap:12px}#shopItems article{background:#24434d;padding:14px;border-radius:13px;display:grid;gap:8px}#shopItems span{color:#ffd36c;font-size:14px}#shopItems button{font-size:14px}#shopMessage{color:#a7ded2;font-size:14px}dialog{max-width:720px}.rewardFlash .rewardPanel{animation:rewardPulse .8s}@keyframes rewardPulse{50%{box-shadow:0 0 35px #ffdd79;transform:scale(1.02)}}textarea,select{width:100%;font:inherit;border:1px solid #6c8b91;background:#10252e;color:#f5ffff;border-radius:10px;padding:10px;margin:5px 0 12px}textarea{resize:vertical}.teacherBody{background:#102630}.teacherBody header{position:sticky;top:0;background:#102630;z-index:2}.teacherMain{display:block;max-width:1180px;margin:auto;padding:28px;height:auto}.teacherWelcome{max-width:850px}.teacherWelcome h1{font-size:42px;margin:10px 0}.teacherWelcome p{color:#b4ced4}.teacherActions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}#loginForm{display:grid;grid-template-columns:1fr 2fr;gap:10px;align-items:end;margin-top:20px}#loginForm label{grid-row:1}#loginForm button{grid-column:1/-1;justify-self:start}#newKeyBox{border:1px solid #e6bc62;background:#433e2b;padding:18px;border-radius:16px}.teacherToolbar{display:flex;justify-content:space-between;gap:20px;margin:35px 0;align-items:center}.teacherToolbar button{font-size:14px;margin:3px}.teacherCard{background:#19353f;border:1px solid #3b5c64;border-radius:18px;padding:24px;margin:20px 0}.teacherCard>p{color:#b1cbd0}.questEdit{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px;border:1px solid #497079;border-radius:14px;margin:22px 0}.questEdit legend{padding:0 10px;color:#ffd36c;font-weight:bold}.questEdit label{display:block}.questEdit textarea{min-height:85px}.teacherCard table{width:100%;border-collapse:collapse}.teacherCard th,.teacherCard td{text-align:left;padding:13px;border-bottom:1px solid #47606a}.teacherCard th{color:#a3dad0}.tableScroll{overflow-x:auto}#teacherStatus,#saveStatus{color:#ffd36c;min-height:24px}@media(max-width:650px){.teacherMain{padding:16px}.questEdit{grid-template-columns:1fr}.teacherToolbar{display:block}#loginForm{display:block}.teacherCard{padding:16px}#shopItems{grid-template-columns:1fr 1fr}.teacherlink{font-size:12px}header{gap:6px}}@media(prefers-reduced-motion:reduce){.rewardFlash .rewardPanel{animation:none}}
