:root{color-scheme:light;--ink:#143e2b;--green:#008c70;--gold:#d8ae4b;--cream:#fffaf0}*{box-sizing:border-box}body{margin:0;background:#fff7e7;color:var(--ink);font:18px/1.5 "Microsoft JhengHei","PingFang TC",sans-serif}button,input,a{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:#007961}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b58b21;outline-offset:4px}button,a{transition:background-color .2s,box-shadow .2s}button:hover,a:hover{box-shadow:0 3px 12px #155b3920}[hidden]{display:none!important}.teacher-entry{display:grid;grid-template-columns:43% 57%;min-height:100svh;max-width:1680px;margin:auto;padding:44px 34px 44px 0;gap:0}.classroom{position:relative;min-width:0;overflow:hidden;border-radius:0 24px 24px 0}.classroom-art{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center bottom;animation:classroom-breathe 8s ease-in-out infinite;transform-origin:center bottom}.adventure-copy{position:relative;padding:62px 28px 0 8%;text-shadow:0 2px 5px #fffaf0}.adventure-copy h2{font-size:clamp(26px,3.2vw,48px);line-height:1.3;margin:0 0 23px;font-weight:900;letter-spacing:-1px}.adventure-copy p{font-size:clamp(16px,1.55vw,23px);font-weight:700;margin:0;line-height:1.7}.login-card{position:relative;background:#fffdf6;border:2px solid #e0bc62;border-radius:38px;padding:34px clamp(24px,3.4vw,54px) 24px;box-shadow:0 10px 35px #a77c1520;align-self:center;min-width:0}.brand{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:16px}.brand img{object-fit:contain;width:82px;height:82px;animation:brand-wave 7s ease-in-out infinite}.brand p{font-size:clamp(30px,3.7vw,54px);font-weight:800;line-height:1.1;margin:0;color:#096645;white-space:nowrap}.brand strong{color:#bc8f20}h1{text-align:center;font-size:clamp(26px,3.25vw,46px);line-height:1.35;letter-spacing:1px;margin:12px 0 27px}label{display:block;font-size:22px;font-weight:700;margin:0 0 16px}input{display:block;width:100%;min-width:0;min-height:57px;border:1px solid #c9c1b2;border-radius:13px;padding:12px 16px;background:#fffefb;color:#173d2c;margin-top:7px;font-size:20px;box-shadow:inset 0 1px 3px #4a34200a}input::placeholder{color:#75766e;opacity:1}#message{font-size:16px;color:#b42318;margin:0;overflow-wrap:anywhere}#message:not(:empty){padding:0 0 12px}.ok{color:#087443!important}.submit{display:block;width:100%;min-height:65px;border:2px solid #dfba58;border-radius:34px;background:#008957;color:#fff;font-size:28px;line-height:1.35;font-weight:800;padding:12px 16px;margin:25px 0 22px;box-shadow:0 4px 10px #bb941d25}.submit:hover{background:#007749}.home-install{margin:0!important;text-align:center}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-actions a{display:flex;align-items:center;justify-content:center;text-decoration:none;min-width:0;min-height:54px;padding:10px 14px;border-radius:30px;font-size:22px;font-weight:700;white-space:nowrap}.teacher-signup-switch{background:#00875e;border:1px solid #00875e;color:#fff}.teacher-signup-switch span{display:inline-block;animation:signup-pulse 2s ease-in-out infinite}.student-login-switch{color:#00694e;border:1.5px solid #007a58;background:#fffdf6}#home-install-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;margin:18px auto 0;padding:7px 25px;border:1px solid #b1c29a;border-radius:24px;background:#f3f8e9;color:#286142;font-size:20px}#home-install-status{font-size:14px;color:#657258;margin:7px 0 0;min-height:0}.teaching-tools{margin-top:20px;border-top:1px solid #dfc78d;padding-top:20px}.tools-row{display:grid;grid-template-columns:1fr 1.12fr;gap:12px}.tools-row button,.tools-row a{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #a5b78f;border-radius:25px;padding:8px 10px;text-decoration:none;color:#16613f;background:#fffdf4;font-size:17px;line-height:1.4;text-align:center}.installation-help{color:#6d6c5b;font-size:16px;line-height:1.7;margin-top:13px;text-align:center}.installation-help summary{cursor:pointer}.installation-help p{text-align:left;margin:10px 0}#student-login-qr{text-align:center;padding:18px 8px 8px;font-size:17px}#student-login-qr img{max-width:100%;height:auto}#student-login-qr p{margin:8px 0}@keyframes signup-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes brand-wave{0%,6%,14%,22%,100%{transform:rotate(0)}10%,18%{transform:rotate(-12deg)}}@keyframes classroom-breathe{0%,100%{transform:scale(1.015)}50%{transform:scale(1.04)}}
@media(min-width:1600px){.teacher-entry{padding-left:20px}.classroom{border-radius:28px}}
@media(max-width:1050px) and (min-width:761px){.teacher-entry{grid-template-columns:39% 61%;padding:24px 20px 24px 0}.login-card{padding:28px 25px}.adventure-copy{padding-top:70px}.adventure-copy h2{font-size:30px}.adventure-copy p{font-size:17px}.account-actions{gap:10px}.account-actions a{font-size:18px}.tools-row{grid-template-columns:1fr}.brand p{font-size:38px}h1{font-size:34px}}
@media(max-width:760px){body{font-size:17px}.teacher-entry{display:flex;flex-direction:column;padding:12px;gap:12px;min-height:100svh}.classroom{min-height:155px;height:155px;flex:none;border-radius:22px}.classroom-art{object-position:center 57%;opacity:.95}.adventure-copy{padding:26px 13px;width:72%;text-shadow:0 1px 5px #fff,0 0 18px #fff}.adventure-copy h2{font-size:25px;letter-spacing:0;margin:0 0 9px}.adventure-copy p{font-size:15px;line-height:1.6}.login-card{width:100%;padding:20px 18px;border-radius:25px;align-self:auto}.brand{gap:10px;margin:0 0 12px}.brand img{width:62px;height:62px}.brand p{font-size:36px}h1{font-size:27px;margin:10px 0 22px;letter-spacing:0}label{font-size:19px;margin-bottom:16px}input{font-size:18px;min-height:53px}.submit{font-size:23px;min-height:57px;margin:20px 0 17px}.account-actions{gap:10px}.account-actions a{font-size:17px;min-height:48px;padding:11px 7px}#home-install-button{font-size:18px;margin-top:16px}.teaching-tools{margin-top:17px;padding-top:17px}.tools-row{gap:9px;grid-template-columns:1fr}.tools-row button,.tools-row a{font-size:17px;min-height:46px}.installation-help{font-size:15px;margin-top:12px}}
@media(max-width:360px){.teacher-entry{padding:8px}.login-card{padding:18px 13px}.brand p{font-size:31px}.brand img{width:54px;height:54px}.account-actions a{font-size:15px}.adventure-copy h2{font-size:22px}.adventure-copy p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.home-install-overlay{position:fixed;inset:0;background:rgba(20,40,32,.48);z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:18px}
.home-install-modal{box-sizing:border-box;width:100%;max-width:420px;max-height:85vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;color:#203632;font:16px/1.6 "Microsoft JhengHei","PingFang TC",sans-serif;text-align:left}
.home-install-modal h2{font-size:21px;margin:0 0 10px;color:#00785e}
.home-install-modal p{margin:8px 0;font-size:16px}
.home-install-modal ol{list-style:decimal;padding-left:24px;margin:10px 0}
.home-install-modal li{display:list-item;margin:7px 0;font-size:16px}
.home-install-modal button{display:block;width:100%;margin-top:16px;border:0;border-radius:24px;padding:10px 16px;min-height:44px;background:#008c70;color:white;font:inherit;cursor:pointer}
.home-install-modal a{color:#00785e;text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:760px){.classroom{background:#fff3d8;height:135px;min-height:135px}.classroom-art{width:40%;left:auto;right:0;object-position:55% 57%;opacity:1}.adventure-copy{width:65%;padding:22px 12px;text-shadow:none}.adventure-copy h2{font-size:22px;line-height:1.35;margin-bottom:9px}.adventure-copy p{font-size:14px;line-height:1.6}}
