:root{color:#173b2f;font-synthesis:none;background:#f5f6f0;font-family:ui-sans-serif,system-ui,-apple-system,Noto Sans TC,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.shell{flex-direction:column;min-height:100vh;display:flex}.shell>main{flex:1;width:min(100% - 3rem,72rem);margin:0 auto}.skip-link{z-index:30;background:#fff;padding:.75rem 1rem;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.page{gap:1.5rem;padding:clamp(2rem,5vw,4rem) 0 4rem;display:grid}.page-heading{max-width:53rem}.page-heading h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.25rem,5vw,4rem);line-height:1.12}.page-heading>p:last-child{color:#4b6655;max-width:65ch;font-size:1.05rem;line-height:1.65}.eyebrow{letter-spacing:.16em;color:#578268;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem;font-weight:800}.safety{color:#365947;background:#e9f1e7;border-left:4px solid #50866a;border-radius:0 .65rem .65rem 0;max-width:60rem;margin:0;padding:1rem 1.25rem;line-height:1.55}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.stats>div{background:#eaf3e9;border:1px solid #d0e0d0;border-radius:1rem;gap:.5rem;padding:1.4rem;display:grid}.stats span{color:#4d7059;font-size:.9rem;font-weight:700}.stats strong{font-size:2rem;line-height:1}.panel{background:#fff;border:1px solid #d1dfd2;border-radius:1.1rem;min-width:0;padding:1.5rem;box-shadow:0 10px 30px #2347290b}.panel h2{letter-spacing:-.03em;margin:0 0 1.1rem;font-size:1.4rem}.panel p{line-height:1.6}.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.section-head h2{margin:0}.actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.section-head .actions{justify-content:flex-end}.two-column{grid-template-columns:minmax(17rem,1fr) minmax(0,1.4fr);align-items:start;gap:1.5rem;display:grid}.form-stack{gap:1rem;display:grid}label{font-size:.9rem;font-weight:700;display:block}input:not([type=file]):not([type=checkbox]),textarea{color:#173b2f;background:#fff;border:1px solid #aac2ad;border-radius:.6rem;width:100%;min-height:2.75rem;margin-top:.45rem;padding:.7rem .8rem;display:block}textarea{resize:vertical;min-height:6rem;line-height:1.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #66ad7b}.primary,.secondary,.text-button,.student-button{border-radius:.6rem;min-height:2.75rem;padding:.6rem .9rem;font-weight:750}.primary{color:#fff;background:#155d43;border:1px solid #155d43;width:fit-content}.secondary,.student-button{color:#155d43;background:#fff;border:1px solid #5a916e}.text-button{color:#155d43;text-underline-offset:.2em;background:0 0;border:0;text-decoration:underline}.text-button.danger{color:#873d2a;margin-top:.6rem}.student-button[aria-pressed=true]{color:#fff;background:#155d43}.student-list{flex-wrap:wrap;gap:.6rem;display:flex}.empty{color:#4a6652;background:#f0f6ee;border-radius:.75rem;padding:1.5rem}.empty p{margin:0 0 1rem}.alert,.notice{border-radius:.7rem;margin:0;padding:.9rem 1rem;line-height:1.5}.alert{color:#87362a;background:#fff0ea;border:1px solid #e8c0b5}.notice{color:#155b3b;background:#e7f4e8;border:1px solid #b9d8c1}.recent-list,.history-grid{gap:.8rem;display:grid}.recent-item{overflow-wrap:anywhere;border:1px solid #d6e4d6;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.recent-item p{color:#607566;margin:.25rem 0 0;font-size:.9rem}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-card{overflow-wrap:anywhere;background:#fafcf9;border:1px solid #d9e4d8;border-radius:.8rem;padding:1rem}.history-heading{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.history-heading span{white-space:nowrap;color:#607566;font-size:.85rem}.history-card p{margin:.65rem 0 0}.history-card p span{color:#56715c;font-size:.8rem;font-weight:800;display:block}.last-lesson{background:#fcfaf3;border-color:#e8dfc9}.file-label{margin:1.3rem 0}.file-label input{max-width:100%;margin-top:.6rem;font-weight:400;display:block}.restore-preview{background:#f8fbf0;border:1px solid #d7dfbe;border-radius:.8rem;margin-top:1.4rem;padding:1.2rem}.restore-preview h3{margin:0}.confirm{align-items:start;gap:.6rem;margin:1rem 0;display:flex}.confirm input{margin-top:.2rem}.privacy{color:#607669;max-width:72rem;margin:0 auto 3rem;padding:0 1.5rem;font-size:.88rem;line-height:1.6}@media (width<=48rem){.two-column,.history-grid{grid-template-columns:1fr}}@media (width<=36rem){.shell>main{width:min(100% - 2rem,72rem)}.page{gap:1rem;padding-top:2rem}.panel{padding:1.1rem}.stats{gap:.5rem}.stats>div{padding:.85rem}.stats span{font-size:.75rem}.stats strong{font-size:1.5rem}.section-head,.recent-item{flex-direction:column;align-items:start}.section-head .actions{justify-content:flex-start}}.rb-header,.rb-footer{font-family:ui-sans-serif,system-ui,-apple-system,Noto Sans TC,sans-serif}.rb-header{background:#fbfcf8;border-bottom:1px solid #d4dfd3}.rb-header__inner{justify-content:space-between;align-items:center;gap:1.25rem;width:min(100% - 3rem,72rem);min-height:5.25rem;margin:auto;padding:.75rem 0;display:flex}.rb-wordmark{color:#173b2f;flex-wrap:wrap;align-items:baseline;gap:.4rem;line-height:1.15;text-decoration:none;display:inline-flex}.rb-wordmark:before{content:"";background:#40865c;border-radius:100% 0;align-self:center;width:.65rem;height:.9rem;margin-right:.15rem;display:block;transform:rotate(-24deg)}.rb-wordmark>span:first-child{letter-spacing:-.045em;font-size:1.35rem;font-weight:850}.rb-wordmark__by{color:#5a7163;white-space:nowrap;font-size:.75rem;font-weight:650}.rb-nav{flex-wrap:wrap;align-items:center;gap:.15rem;display:flex}.rb-nav>a,.rb-nav>button,.rb-language-menu>summary{color:#345343;min-height:2.75rem;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:.5rem;align-items:center;padding:.4rem .65rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.rb-nav>a:hover,.rb-nav>button:hover,.rb-language-menu>summary:hover,.rb-language-menu[open]>summary{color:#0f5a3f;background:#eaf2e8}.rb-nav>[aria-current=page]{color:#0f5a3f;background:#eaf2e8;box-shadow:inset 0 -2px #287a53}.rb-language-menu{border-left:1px solid #c7d8ca;margin-left:.4rem;padding-left:.5rem;position:relative}.rb-language-menu>summary{list-style:none}.rb-language-menu>summary::-webkit-details-marker{display:none}.rb-language-menu>summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.42rem;height:.42rem;margin-left:.6rem;transform:translateY(-.12rem)rotate(45deg)}.rb-language-options{z-index:20;background:#fff;border:1px solid #c7d8ca;border-radius:.65rem;min-width:9rem;padding:.3rem;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 12px 28px #183a2826}.rb-language-options a{color:#345343;white-space:nowrap;border-radius:.4rem;padding:.65rem .75rem;font-size:.92rem;font-weight:700;text-decoration:none;display:block}.rb-language-options a:hover,.rb-language-options a[aria-current=page]{color:#0f5a3f;background:#eaf2e8}.rb-header a:focus-visible,.rb-header button:focus-visible,.rb-header summary:focus-visible,.rb-footer a:focus-visible{outline-offset:2px;outline:3px solid #66ad7b}.rb-footer{background:#eaf1e9;border-top:1px solid #d4dfd3}.rb-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:min(100% - 3rem,72rem);margin:auto;padding:2rem 0;display:flex}.rb-footer__brand{color:#173b2f;font-weight:800}.rb-footer__brand span{color:#5a7163;font-size:.8rem;font-weight:600}.rb-footer nav{flex-wrap:wrap;gap:1.5rem;display:flex}.rb-footer a{color:#155d43;text-underline-offset:.2em;font-size:.9rem;font-weight:700}@media (width<=48rem){.rb-header__inner{flex-direction:column;align-items:flex-start;gap:.5rem}.rb-nav{width:100%}}@media (width<=34rem){.rb-header__inner,.rb-footer__inner{width:min(100% - 2rem,72rem)}.rb-nav{gap:0}.rb-nav>a,.rb-nav>button,.rb-language-menu>summary{padding:.4rem .5rem}.rb-language-menu{margin-left:.1rem;padding-left:.35rem}}
