:root{font-family:'Noto Sans Thai',Tahoma,sans-serif;color:#244d42;background:#e3eee5;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh}#world{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#world canvas{display:block}header{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px}a{color:inherit}header a{font-size:22px;font-weight:700;text-decoration:none}header small{display:block;font-size:12px;font-weight:400}button,input{font:inherit}button{min-height:46px;border:1px solid #9bb5a4;border-radius:13px;background:#fffbed;color:#244d42;padding:10px 16px;cursor:pointer}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){background:#ebecd6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #9c5900;outline-offset:3px}.primary{background:#26725b;color:white;border-color:#26725b;font-weight:600}.primary:hover:not(:disabled){background:#195741}.panel{position:relative;width:min(480px,calc(100% - 32px));margin:24px 0 32px 5vw;padding:24px;background:#fffbedf5;border:1px solid #fff;border-radius:24px;box-shadow:0 18px 50px #34554925}.eyebrow{font-size:12px;letter-spacing:.06em;color:#527568;margin-top:0}h1{font-size:27px;line-height:1.35;margin:10px 0 16px}h1 em{font-style:normal;color:#26725b}.intro h1{font-size:36px}p{line-height:1.65}#equation{font-family:inherit;font-size:27px;font-weight:600;padding:12px;background:#e9eee2;border-radius:14px;overflow-wrap:anywhere}.fine{font-size:12px;color:#52685d}.choices{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.choices button{flex:1;min-width:120px}.answerRow{display:flex;gap:12px;margin:8px 0}input{width:90px;min-width:0;font-size:24px;border:1px solid #9bb5a4;border-radius:10px;padding:8px;text-align:center}#check{margin-top:16px}#feedback{min-height:28px;line-height:1.6;margin:12px 0;color:#304e40}#hintText{padding:12px;border:1px dashed #b88e4f;border-radius:12px;background:#fff0ce}#next{width:100%;margin-top:14px}#records{padding-left:24px}#records li{margin:12px 0;font-size:14px;line-height:1.6}.return{display:block;padding:14px 0;margin-top:8px;min-height:44px}dialog{width:min(400px,calc(100% - 24px));border:1px solid #b8c6ae;border-radius:20px;background:#fffbed;color:#244d42;padding:24px}dialog::backdrop{background:#244d4270}dialog button{display:block;width:100%;margin:10px 0}#graphics{position:relative;margin:16px;padding:12px;background:#fff0ce;border-radius:10px;font-size:13px}@media(max-width:700px){header{padding:14px 16px}header a{font-size:18px}.panel{margin:16px auto 28px;padding:20px}h1{font-size:23px}#equation{font-size:24px}#world{opacity:.65}.intro{margin-top:90px}.intro h1{font-size:30px}.choices{gap:8px}.choices button{min-width:100px;font-size:14px}}@media(max-height:500px){.intro{margin-top:12px}.panel{margin-top:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root{--scene-height:240px}
#roundFile{display:block;width:100%;font-size:14px;text-align:left;margin:12px 0}#roundFile::file-selector-button{min-height:44px}#fileStatus{font-size:14px;overflow-wrap:anywhere}#fileRecovery label{display:block;line-height:1.6}#importedNotice{font-size:13px;border-color:#b88e4f}
#followup{margin:24px 0;padding:16px 0;border-top:1px solid #bacdbb;border-bottom:1px solid #bacdbb}#followup button{margin:6px 6px 6px 0}#followup label{display:block;margin:12px 0;line-height:1.6}#followup input:not([type=checkbox]){display:block;margin-top:6px}#followup input[type=checkbox]{width:20px;height:20px;margin-right:8px}#followup textarea{display:block;width:100%;font:inherit;color:inherit;border:1px solid #9bb5a4;border-radius:10px;margin-top:6px;padding:8px}.followup-hint{padding:12px;background:#fff0ce;border:1px dashed #b88e4f;border-radius:12px}
#teacherReview{margin:20px 0}summary{min-height:44px;padding:12px 0;cursor:pointer}#teacherCards article{border-top:1px solid #bacdbb;padding:12px 0}#teacherCards h3{font-size:18px}#teacherCards p,#teacherCards li{font-size:14px;line-height:1.7}#teacherCards ol{padding-left:22px}#teacherCards pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}#teacherCards small{display:block;line-height:1.7}
#world canvas{width:100%;height:100%}
@media(max-width:700px){#world{position:absolute;top:78px;height:var(--scene-height);opacity:1}main{padding-top:var(--scene-height)}.panel,.intro{margin-top:16px}}
