:root{font-family:ui-rounded,SF Pro Rounded,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#344445;background:#fff;--green:#58b737;--darkgreen:#419c24;--ink:#344445;--muted:#8a9698;--line:#e8edeb;--cream:#fff9e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;background:#fff;border:2px solid var(--line);border-radius:15px;padding:12px 17px;color:var(--ink);font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .14s,background .14s}button:hover{background:#f7faf4}button:active{transform:translateY(3px)}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--darkgreen);text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #f9c943;outline-offset:4px}input,select{border:2px solid #e3e9e5;border-radius:13px;padding:12px 14px;background:#fff;max-width:100%;color:var(--ink)}input:focus,select:focus{outline:2px solid #a4d78b;outline-offset:2px}label{display:flex;flex-direction:column;gap:8px;font-weight:650;font-size:14px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,35px);letter-spacing:-1px;margin-bottom:13px;line-height:1.35;font-weight:850}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:18px}p{line-height:1.8}.primary{background:var(--green);border:0;border-bottom:5px solid var(--darkgreen);color:#fff;min-height:54px;padding:13px 25px;border-radius:17px;font-weight:800;letter-spacing:.3px}.primary:hover{background:#63c040}.primary:active{border-bottom-width:2px;transform:translateY(3px)}.full{width:100%}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.eyebrow{color:var(--darkgreen);font-size:13px;font-weight:800;letter-spacing:1.3px;margin-bottom:9px}.muted{color:var(--muted)}.logo{display:flex;align-items:center;gap:11px;font-size:27px;font-weight:900;letter-spacing:-1px;color:var(--darkgreen);white-space:nowrap}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;background:#e6f5dc;color:var(--green);border-radius:15px}.welcome{display:grid;grid-template-columns:1fr 1fr;min-height:100svh;max-width:1440px;margin:auto}.welcome-art{background:#eff9e8;padding:50px 60px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.welcome-art .logo{position:absolute;top:45px;left:60px}.welcome-art h1{font-size:clamp(38px,4.5vw,64px);line-height:1.35;position:relative;z-index:1}.welcome-art>p:not(.eyebrow){font-size:19px;color:#7a9870}.welcome-art>.eyebrow{margin-top:75px}.welcome-art small{color:#83a277;margin-top:30px}.sun{color:#f7c642;position:absolute;right:-5px;top:-40px;transform:rotate(-12deg)}.letters{display:flex;align-items:flex-end;gap:18px;margin-top:30px}.letters span{font-weight:950;font-size:90px;line-height:1.3;width:120px;text-align:center;border-radius:28px;color:#fff;background:#7fbeee;border-bottom:9px solid #5aa8e2;transform:rotate(-9deg)}.letters span:nth-child(2){background:#f4bd50;border-color:#e4a739;transform:rotate(7deg);margin-bottom:20px}.letters span:nth-child(3){background:#eb8f84;border-color:#d87b70;transform:rotate(-7deg)}.login{padding:60px;max-width:570px;align-self:center;width:100%;margin:auto}.login h2{font-size:29px}.login>p{color:var(--muted);font-size:15px}.login form{display:grid;gap:20px;margin-top:32px}.demo{border-top:2px solid var(--line);padding-top:24px;margin-top:30px}.demo p{font-size:13px;color:var(--muted);margin-bottom:12px}.demo small{display:block;font-size:11px;color:var(--muted);margin-top:12px;line-height:1.6}.shell{display:flex;min-height:100svh}.shell aside{width:238px;padding:35px 22px;border-right:2px solid var(--line);height:100svh;position:fixed;display:flex;flex-direction:column;background:#fff;z-index:5}.institution{margin:37px 10px 25px;display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:650}.institution small{color:var(--muted);font-weight:400}nav{display:flex;flex-direction:column;gap:12px}nav button{justify-content:flex-start;border:2px solid transparent;border-radius:17px;padding:15px 17px;font-size:16px;color:#7d898c}nav button.active{background:#eff9e8;border-color:#cbe7b9;color:#519e35}nav .dot{width:8px;height:8px;border-radius:50%;background:#f5b738;margin-left:auto}.side-bottom{margin-top:auto}.side-bottom p{display:flex;align-items:center;gap:6px;color:#a0aaa4;font-size:11px;margin-top:35px}.side-bottom>button{border:0;color:#8b9790;padding-left:10px;font-size:13px}.body{margin-left:238px;width:calc(100% - 238px)}header{height:85px;border-bottom:2px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.identity{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink)}.avatar{height:37px;width:37px;border-radius:14px;background:#fff0ca;color:#bb8b2c;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.avatar.large{width:80px;height:80px;font-size:34px;border-radius:28px}main{max-width:1180px;margin:auto;padding:36px 42px 48px;min-height:calc(100svh - 150px)}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:16px}.page-title h1{margin:0}.wave{color:#f2bd39;margin-left:6px}.day-count{display:flex;align-items:center;gap:8px;color:#dba12c;flex-wrap:wrap}.day-count strong{font-size:28px}.day-count span{color:#93998e;font-size:12px}.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px}.book-banner{display:flex;align-items:center;gap:17px;background:#edf8e7;border:2px solid #d4ebc5;border-bottom:5px solid #d4ebc5;border-radius:22px;padding:21px 23px}.book-icon{background:#78c34f;color:#fff;width:66px;height:76px;border-radius:10px 18px 18px 10px;display:flex;align-items:center;justify-content:center;border-left:5px solid #62ae3d;flex-shrink:0}.book-banner>div:last-child{min-width:0;display:flex;flex-direction:column;gap:7px}.book-banner small{color:#86a679;font-size:12px}.book-banner select{border:0;background:transparent;padding:0 20px 0 0;font-size:19px;font-weight:800;width:100%;color:#508637;cursor:pointer}.book-banner span{font-size:12px;color:#86a079}.journey{margin-top:27px;border:2px solid var(--line);border-radius:23px;overflow:hidden}.journey-head{display:flex;align-items:center;gap:15px;padding:23px;border-bottom:2px solid #f1f3ee}.chapter{width:43px;height:43px;border-radius:14px;background:#fff5d6;color:#d9a63a;display:flex;align-items:center;justify-content:center;font-weight:850;font-size:18px;flex-shrink:0}.journey-head h2{font-size:19px;margin:0 0 5px}.journey-head p{font-size:12px;color:var(--muted);margin:0}.path-line{display:flex;justify-content:center;gap:42px;padding:32px 15px 51px;position:relative}.path-line:before{content:"";position:absolute;top:72px;width:65%;border-top:5px dashed #e9eddf;z-index:0}.path-node{width:74px;height:74px;border-radius:50%;background:#f4f5f0;border:3px solid #e8eadf;border-bottom:8px solid #dce2d2;position:relative;color:#bec6b1;display:flex;align-items:center;justify-content:center}.path-node.first{background:#71c147;border-color:#68b940;border-bottom-color:#4a9929;color:#fff;transform:rotate(-7deg)}.path-node>span{position:absolute;top:86px;font-size:12px;white-space:nowrap;color:#95a08b;transform:rotate(0);font-weight:700}.path-node.first>span{color:#5b9c3f}.task-action{padding:17px 25px 25px;display:flex;flex-direction:column;align-items:center;gap:14px}.task-action label{flex-direction:row;align-items:center;font-size:13px;color:#7b8c79}.task-action select{padding:5px 12px;border-radius:9px;background:#fff}.task-action .primary{width:90%}.task-action small{color:#9ca59d;font-size:11px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{font-size:18px;margin:0}.section-title h3{margin:0}.section-title>span{font-size:11px;color:var(--muted)}.word-preview{margin-top:29px}.word-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.word-chips>div{border:2px solid #eef0e9;border-bottom:4px solid #eef0e9;border-radius:14px;padding:12px 15px;display:flex;flex-direction:column;gap:5px}.word-chips b{font-size:18px;color:#6c8661}.word-chips span{font-size:12px;color:#9aa495}.learning-side{display:flex;flex-direction:column;gap:22px}.progress-card{padding:23px;border:2px solid var(--line);border-radius:22px}.progress-ring{width:146px;height:146px;border-radius:50%;margin:25px auto 18px;background:conic-gradient(#7ac651 var(--p),#eff4ea 0);display:grid;place-items:center}.progress-ring>div{height:120px;width:120px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring strong{font-size:36px;color:#66af41}.progress-ring strong small{font-size:17px}.progress-ring span{font-size:11px;color:#8f9d88;margin-top:3px}.progress-card>p{font-size:11px;color:#9ba493;text-align:center}.progress-card dl{margin:20px 0 0;border-top:1px solid var(--line);padding-top:10px}.progress-card dl>div{display:flex;justify-content:space-between;padding:9px 0;font-size:13px}.progress-card dt{color:#8c9787}.progress-card dd{margin:0;font-weight:800;color:#697b61}.review-note{background:#fff9e8;border:2px solid #faeecb;border-radius:22px;padding:22px;color:#c99f3a}.review-note h3{margin:12px 0 8px;font-size:17px;color:#8c793f}.review-note p{font-size:12px;color:#b09f6d}.link-button{border:0;padding:0;background:transparent;color:#b3913f;font-size:12px}.dev-note{font-size:11px;color:#9aa29b;line-height:1.8;padding:8px}.error{background:#fff0ec;color:#ad5345;border:2px solid #f6d4cb;border-radius:14px;padding:12px 17px;margin-bottom:18px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.error button{border:0;background:transparent;padding:0;color:inherit}.error p{margin:0}.notice{background:#eff8e8;color:#579332;padding:14px;border-radius:14px;font-size:14px}.exercise{max-width:720px;margin:auto;text-align:center}.exercise-top{display:flex;align-items:center;gap:17px;margin-bottom:32px;color:#96a18c}.exercise-top>button{border:0;padding:5px;color:#9fa699}.exercise-top>span{font-size:13px;min-width:35px}.bar{height:16px;background:#eff3ea;border-radius:9px;flex:1;overflow:hidden}.bar span{display:block;height:100%;background:#78c64b;border-radius:9px;transition:width .25s}.screen-words{display:flex;flex-direction:column;gap:12px;margin:25px 0}.screen-word{display:flex;align-items:center;gap:15px;border:2px solid var(--line);border-bottom:4px solid var(--line);border-radius:17px;padding:16px 20px;text-align:left}.screen-word>b{font-size:22px;min-width:90px}.screen-word details{font-size:12px;color:#98a18f}.screen-word>.row{margin-left:auto;flex-wrap:nowrap}.screen-word button{padding:9px 13px;font-size:13px}.selected-known{background:#e6f6db!important;border-color:#8ac764!important;color:#559337}.selected-new{background:#fff0dc!important;border-color:#e8c58c!important;color:#b38b45}summary{cursor:pointer}.flashcard{margin:25px auto;background:#fffdf7;border:2px solid #eee9da;border-bottom:7px solid #e7e1cc;border-radius:30px;padding:35px 30px;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:appear .18s ease-out}.word-label{font-size:12px;color:#b0aa91}.flashcard strong{font-size:clamp(45px,7vw,72px);line-height:1.3;letter-spacing:-2px;margin:22px 0;color:#526c47;overflow-wrap:anywhere;max-width:100%}.flashcard>p,.flashcard details p{font-size:23px;margin:0;color:#95a087}.flashcard details{color:#a09b85;font-size:13px;min-height:35px}.audio-note{display:flex;align-items:center;gap:7px;color:#b6b49f;font-size:11px;margin-top:28px}.exercise-actions{display:flex;justify-content:center;gap:16px;margin:25px 0}.exercise-actions>button{min-width:180px}.unknown-btn{background:#fff6e8;border-color:#eadab8;border-bottom-width:5px;color:#a48a53}.saving{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#99a48d}.completion{text-align:center;padding:50px 10px}.complete-star{margin:0 auto 30px;color:#f1c244;background:#fff7dc;border:4px solid #f8e6aa;width:150px;height:150px;display:grid;place-items:center;border-radius:45px;transform:rotate(-9deg);animation:appear .3s}.completion>p:not(.eyebrow){color:#89967d}.completion-plan{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;color:#90a17f;font-size:14px;margin-bottom:20px}.empty{text-align:center;padding:65px 15px;color:#a3b293}.empty h2{color:#697c5d;margin-top:20px}.empty p{font-size:14px}.review-list>section{margin-top:30px}.review-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:20px}.review-dates>div{border:2px solid var(--line);border-radius:17px;padding:18px;display:flex;flex-direction:column;gap:10px;color:#94a087}.review-dates span{font-size:12px}.review-dates>div.due{background:#fff7e4;border-color:#f1dda9;color:#b59143}.record-list>button{width:100%;justify-content:flex-start;border:0;border-bottom:2px solid var(--line);border-radius:0;padding:22px 5px;text-align:left;gap:18px}.record-list>button>div:nth-child(2){display:flex;flex-direction:column;gap:8px;flex:1}.record-list span:not(.badge){font-size:12px;color:#95a18b;font-weight:400}.record-icon{height:45px;width:45px;background:#eff6e8;border-radius:15px;color:#82b563;display:grid;place-items:center}.badge{background:#eff7e9;color:#70965c;font-size:11px;padding:5px 10px;border-radius:8px;white-space:nowrap}.profile-panel{text-align:center;max-width:500px;margin:50px auto;border:2px solid var(--line);border-radius:25px;padding:35px;display:flex;flex-direction:column;align-items:center;gap:15px}.profile-panel h2,.profile-panel p{margin:0}.profile-panel .muted{font-size:12px;line-height:1.8}.form-panel{max-width:450px;margin:35px auto}.form-panel form{display:grid;gap:20px}.book-list article{display:flex;align-items:center;gap:24px;border-bottom:2px solid var(--line);padding:28px 0}.book-list article>div:nth-child(2){flex:1}.book-list h2{font-size:20px;margin-bottom:8px}.book-list p{font-size:13px;color:var(--muted);margin-bottom:8px}.book-cover{width:75px;height:95px;background:#edf7e6;border:2px solid #d6e9c7;border-left:7px solid #a1c58a;border-radius:5px 15px 15px 5px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#8cb76d;flex-shrink:0}.book-cover>span{font-size:12px}.text-danger{border:0;color:#be8b72;font-size:12px}.upload{cursor:pointer;display:flex;flex-direction:row;align-items:center;gap:8px;justify-content:center}.import-panel{background:#f9fcf5;border:2px solid #dcebd1;border-radius:20px;padding:25px;margin:25px 0}.import-panel .row>label{flex:1}.import-preview{max-height:260px;overflow:auto;margin:20px 0}.import-preview>div{display:flex;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.import-preview b{min-width:90px}.import-preview small{margin-left:auto;color:var(--muted)}.admin-form{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border:2px solid var(--line);border-radius:20px;padding:22px;margin-bottom:25px}.admin-form input{width:100%}.admin-form button{grid-column:3}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{color:#95a08c;font-size:12px;background:#fafcf7}td,th{padding:20px 15px;border-bottom:1px solid var(--line);white-space:nowrap}footer{font-size:10px;color:#aab2a3;display:flex;align-items:center;gap:8px;max-width:1180px;margin:auto;padding:12px 42px 25px}footer>span{margin-left:auto}.import-panel .row:last-child{justify-content:flex-end}@keyframes appear{0%{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1400px){main{padding-top:48px}.learning-layout{grid-template-columns:minmax(0,1fr) 285px;gap:38px}}@media(max-width:1100px){.shell aside{width:200px;padding:26px 15px}.body{margin-left:200px;width:calc(100% - 200px)}.logo{font-size:23px}main{padding:30px 25px}.learning-layout{gap:20px;grid-template-columns:minmax(0,1fr) 230px}.book-banner{padding:17px}.book-banner select{font-size:17px}.path-line{gap:25px}.path-node{width:67px;height:67px}.progress-card{padding:18px}.journey-head{padding:17px}.journey-head h2{font-size:17px}}@media(max-width:850px){.welcome{grid-template-columns:1fr}.welcome-art{padding:25px 30px 35px;min-height:430px}.welcome-art .logo{position:static}.welcome-art>.eyebrow{margin-top:30px}.welcome-art h1{font-size:38px}.welcome-art>p:not(.eyebrow){font-size:15px;margin-bottom:0}.welcome-art small{display:none}.letters{position:absolute;right:30px;bottom:35px;gap:7px;opacity:.7}.letters span{font-size:40px;width:55px;border-radius:16px}.login{padding:30px}.learning-layout{grid-template-columns:1fr}.learning-side{display:grid;grid-template-columns:1fr 1fr}.learning-side>.dev-note{grid-column:1/-1}.progress-ring{width:120px;height:120px;margin:15px auto}.progress-ring>div{width:100px;height:100px}.learning-side .progress-card dl{margin-top:10px}.review-dates{grid-template-columns:repeat(2,1fr)}.admin-form{grid-template-columns:1fr}.admin-form button{grid-column:1}}@media(max-width:600px){.shell aside{height:auto;width:100%;padding:0;border:0;bottom:0;top:auto;border-top:2px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fff}.shell aside>.logo,.institution,.side-bottom{display:none}nav{flex-direction:row;gap:0;justify-content:space-around;padding:7px 5px}nav button{padding:8px 7px;font-size:11px;flex-direction:column;gap:5px;flex:1;border-radius:12px;position:relative}nav button.active{border-color:transparent}nav .dot{position:absolute;right:15px;top:8px}.body{margin:0;width:100%;padding-bottom:80px}header{height:65px;padding:0 19px;font-size:11px}.identity{font-size:12px}.avatar{height:33px;width:33px}main{padding:27px 18px}.page-title{margin-bottom:22px;align-items:center}.page-title h1{font-size:26px}.day-count{gap:4px;max-width:85px;justify-content:center}.day-count strong{font-size:23px}.day-count span{font-size:10px}.day-count svg{width:23px}.eyebrow{font-size:11px;letter-spacing:.5px}.book-banner select{font-size:17px}.book-banner{padding:17px;gap:14px}.book-icon{width:54px;height:65px}.path-line{gap:35px;padding-top:28px}.journey-head p{font-size:11px}.section-title>span{font-size:10px}.word-chips{gap:9px}.word-chips>div{padding:12px}.word-chips b{font-size:16px}.learning-side{gap:12px}.progress-card,.review-note{padding:16px;border-radius:18px}.progress-card h3,.review-note h3{font-size:15px}.review-note>p{font-size:11px}.progress-card>p{font-size:10px}.progress-card dl>div{font-size:11px}.section-title h2{font-size:17px}footer{padding:12px 20px 20px;font-size:9px}.screen-word{padding:13px 12px;gap:8px;flex-wrap:wrap}.screen-word>b{font-size:21px;min-width:80px}.screen-word details{flex:1}.screen-word>.row{width:100%;margin-top:5px}.screen-word button{flex:1}.exercise h1{font-size:25px}.exercise-actions{gap:10px}.exercise-actions>button{min-width:0;flex:1;padding:13px;font-size:14px}.flashcard{min-height:290px;padding:30px 20px}.audio-note{font-size:10px}.completion{padding:30px 0}.completion h1{font-size:28px}.completion-plan{font-size:12px}.record-list .badge{font-size:10px}.record-list>button{gap:10px}.record-list b{font-size:14px}.book-list article{gap:14px;flex-wrap:wrap}.book-list h2{font-size:17px}.book-list article>.text-danger{margin-left:auto;padding:5px}.page-title .primary{padding:12px;font-size:12px;min-height:46px}.import-panel{padding:18px}.review-dates>div{padding:15px;font-size:13px}.login h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.spelling-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:25px 0}.spelling-summary>div{padding:22px 15px;border:2px solid var(--line);border-radius:18px;background:#fff;display:flex;flex-direction:column;gap:9px}.spelling-summary b{font-size:28px;color:#4d902e}.spelling-summary span{font-size:12px;color:#65705c}.spelling-page .form-panel{max-width:none}.spelling-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:340px;overflow:auto;margin-top:20px}.spelling-selection label{display:flex;align-items:center;gap:12px;padding:14px;border:2px solid var(--line);border-radius:14px}.spelling-selection input{width:20px;height:20px;margin:0;accent-color:#65b339}.spelling-selection span{font-size:12px;margin-left:auto}.letter-options{display:flex;gap:14px;justify-content:center;margin-top:25px}.letter-options button{font-size:28px;min-width:60px;min-height:64px;border-bottom-width:5px}.spelling-card form{max-width:430px;width:100%;margin:auto}.spelling-card input{font-size:30px;text-align:center;margin-bottom:20px}.spelling-card form button{margin:auto}.spelling-hint{background:#fff1ba;padding:10px 24px;border-radius:14px}.spelling-page h2{margin-top:32px}.spelling-page .table-wrap{margin:25px 0}.spelling-page .form-panel .row{align-items:end}.spelling-page .form-panel .row>label{flex:1}@media(max-width:600px){.spelling-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.spelling-selection{grid-template-columns:1fr}.spelling-page .form-panel{padding:20px}.spelling-page .row{flex-wrap:wrap}.spelling-summary b{font-size:24px}.letter-options{gap:8px}.letter-options button{min-width:48px}.spelling-card>strong{font-size:42px}}.personal-word{display:flex;gap:20px;align-items:center;border:2px solid var(--line);border-radius:18px;padding:20px;margin:15px 0}.personal-word>div{flex:1}.personal-word b{font-size:23px}.personal-word p{margin:7px 0}.personal-word small{color:#697660}.profile-panel>.primary{margin:20px auto}.spelling-page>.row{margin:20px 0;flex-wrap:wrap}.spelling-page>.row>label{flex:1;min-width:130px}.matching-settings{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:24px;color:#546252}.matching-settings label{display:flex;align-items:center;gap:7px}.matching-settings details{max-width:650px}.matching-settings summary{cursor:pointer}.matching-settings input{accent-color:#58a92e}.matching-map{display:flex;justify-content:center;gap:22px;margin:26px 0}.matching-map>div{width:60px;height:68px;border-radius:22px;background:#eef0e8;color:#889181;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:800;border-bottom:5px solid #d8dfcf}.matching-map small{font-size:11px}.matching-map .current{background:#ffda78;color:#745314;border-color:#e1b24b;transform:translateY(-5px)}.matching-map .done{background:#dff3cc;color:#408d2c;border-color:#b5dca0}.matching-board{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:600px;margin:28px auto}.matching-board>div{display:flex;flex-direction:column;gap:14px}.matching-board button{min-height:68px;border:2px solid #d9e4d0;border-bottom:5px solid #d9e4d0;border-radius:18px;background:#fff;font-size:20px;font-weight:750;color:#354e30;overflow-wrap:anywhere;padding:10px}.matching-board button.selected{background:#e9f7ff;border-color:#64b9df;color:#226b8d}.matching-board button.matched{visibility:hidden}.matching-board button:focus-visible{outline:3px solid #3196be;outline-offset:3px}.matching-feedback{min-height:26px;font-weight:700;color:#4c7838}.matching-page .record-list{margin-top:18px}@media(max-width:600px){.matching-board{gap:12px}.matching-board button{font-size:17px;min-height:62px}.matching-settings,.matching-map{gap:12px}}.sentence-picker{max-height:330px;overflow:auto;margin:18px 0}.sentence-picker>label{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid #e6ecdf}.sentence-picker input{width:20px;height:20px;accent-color:#58a92e}.sentence-picker span{display:flex;flex-direction:column;gap:6px}.sentence-picker small{color:#76836c}.sentence-exercise .flashcard>strong{font-size:clamp(23px,3vw,38px);line-height:1.5;overflow-wrap:anywhere}.sentence-exercise .screen-word b{font-size:18px;line-height:1.5}.form-panel textarea{width:100%;border:2px solid #e1e7db;border-radius:12px;padding:12px;font:inherit;resize:vertical}.credit-summary{display:flex;gap:20px;background:#f2f9e9;border:2px solid #dbeacb;border-radius:24px;padding:25px;margin:26px 0}.credit-summary>div{flex:1;display:flex;flex-direction:column;gap:8px;text-align:center}.credit-summary b{font-size:35px;color:#548b36}.credit-summary span{color:#6d7c62}.course-filters{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}.course-filters label{display:flex;flex-direction:column;gap:8px}.course-list>button{display:flex;text-align:left;gap:20px;align-items:center;width:100%;padding:24px;border:2px solid #e0e7da;border-bottom-width:5px;border-radius:20px;background:#fff;margin:16px 0}.course-list>button>div{flex:1}.course-list b{font-size:21px}.course-list p{margin:8px 0}.course-list small{color:#78846e}.lesson-detail{border:2px solid #dde7d4;padding:25px;border-radius:24px;margin:20px 0}.credit-ledger{border-bottom:1px solid #e0e7da;padding:18px 0}.credit-ledger summary{cursor:pointer;font-weight:700}.credit-ledger ul{list-style:none;padding:0}.credit-ledger li{padding:15px;background:#f8faf5;margin:10px 0;border-radius:12px}.credit-ledger li>span{margin-left:18px;color:#78846e}.teaching-admin{border:2px solid #e0e7da;border-radius:18px;padding:20px;margin:24px 0}.teaching-form{padding:14px 0;border-bottom:1px solid #e0e7da}.teaching-form summary{cursor:pointer;font-weight:700}.teaching-form form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px 0}.teaching-form label{display:flex;flex-direction:column;gap:8px}.teaching-form select[multiple]{min-height:110px}.attendance-list>div{padding:16px 0;border-bottom:1px solid #e0e7da}.attendance-list>div>span{margin-left:18px}.attendance-list .row{margin-top:12px}@media(max-width:600px){.course-list>button{padding:16px;gap:10px;flex-wrap:wrap}.credit-summary{gap:10px;padding:20px 10px}.credit-summary b{font-size:28px}.course-filters label{flex:1;min-width:120px}.credit-ledger li>span{display:block;margin:8px 0}.lesson-detail{padding:16px}}.reading-page .form-panel{max-width:none}.reading-page>.row,.reading-page .form-panel>.row{flex-wrap:wrap;margin:20px 0}.reading-page label{display:flex;flex-direction:column;gap:7px}.reading-page .spelling-selection label{flex-direction:row}.reading-page .row>label{flex:1;min-width:120px}.reading-alphabet{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.reading-alphabet button{padding:6px 9px;min-width:34px}.reading-alphabet button.active,.reading-question-nav button.active{background:#e5f5d7;border-color:#88ba61;color:#39702a}.reading-selected{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.reading-selected button{background:#fff2c9}.reading-page details{margin:20px 0}.reading-shelf{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:25px 0}.reading-shelf article{padding:25px;background:#fff;border:2px solid #e3e9db;border-bottom:6px solid #dce6d2;border-radius:22px}.reading-shelf article>svg{color:#87b35f}.reading-shelf small{display:block;margin-bottom:20px;color:#718466}.reading-shelf .row{flex-wrap:wrap}.reading-prose{margin:28px 0;padding:30px;background:#fffdf4;border:2px solid #eee9ce;border-radius:24px;line-height:1.9;overflow-wrap:anywhere}.reading-prose.size-small{font-size:18px}.reading-prose.size-medium{font-size:22px}.reading-prose.size-large{font-size:28px}.reading-prose .reading-translation{font-size:16px;line-height:1.7;color:#78816a;border-left:3px solid #dbe4c9;padding-left:15px}.reading-question-nav{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.reading-question{padding:25px;border:2px solid #e2e8d9;border-radius:22px;margin:24px 0}.reading-options{display:grid;gap:12px}.reading-options button{padding:18px;text-align:left;justify-content:space-between}.reading-options button.chosen{border-color:#83af5e;background:#edf7e3;color:#38572a}.reading-options button:disabled{opacity:1}.reading-question blockquote{border-left:4px solid #bad897;margin:20px 0;padding:0 18px;color:#657658}.reading-grades{display:flex;gap:16px;flex-wrap:wrap}.reading-grades label{display:flex;flex-direction:row;align-items:center;gap:8px}.reading-grades input{width:20px;height:20px;accent-color:#64a339}.form-panel fieldset{border:1px solid #dce5d2;border-radius:12px;padding:20px;margin:20px 0}@media(max-width:600px){.reading-prose{padding:18px}.reading-prose.size-medium{font-size:20px}.reading-prose.size-large{font-size:25px}.reading-question{padding:18px}.reading-page .row{flex-wrap:wrap}.reading-alphabet button{min-height:38px}.reading-page .form-panel{padding:20px}}.reading-prose .reading-token{display:inline;background:transparent;border:0;border-radius:3px;box-shadow:none;color:inherit;font:inherit;line-height:inherit;padding:0;min-width:0;min-height:0;vertical-align:baseline;cursor:pointer}.reading-prose .reading-token:hover,.reading-prose .reading-token:focus-visible{background:#e1efc5;text-decoration:underline;text-underline-offset:5px;outline:2px solid #8ab75b}.reading-word-panel{background:#f0f7e8;border:2px solid #d0e3b9;border-radius:20px;padding:22px;margin:20px 0}.reading-word-panel h2{margin-top:0}.reading-word-panel blockquote{margin:15px 0;padding-left:15px;border-left:3px solid #a8c88b}.personal-word details{margin-top:15px}.personal-word blockquote{margin:15px 0;border-left:3px solid #d1dfbf;padding-left:15px}.personal-word>div:last-child{flex:0 1 auto}@media(max-width:600px){.personal-word{flex-wrap:wrap}.personal-word>div{min-width:0}.personal-word>div:last-child{flex-basis:100%}}.narration-panel{padding:18px 22px;border:2px solid #dae7ca;border-radius:18px;background:#f3f8ed;margin:24px 0}.narration-panel .row{flex-wrap:wrap;align-items:center;gap:14px}.narration-panel p{margin-bottom:0}.narration-panel select{max-width:170px}.narration-panel .row>label{flex:0 1 auto}.pronunciation-page{max-width:1000px;margin:auto}.pronunciation-words{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;max-height:180px;overflow:auto;padding:6px}.pronunciation-words button{min-height:44px}.pronunciation-stage{border:2px solid #dce9d4;border-bottom-width:6px;border-radius:28px;padding:28px;text-align:center;background:#fbfff6;margin:24px 0}.pronunciation-stage .row{justify-content:center;align-items:center}.pronunciation-stage h2{font-size:clamp(40px,7vw,72px);color:#3c762d;overflow-wrap:anywhere;margin:20px 0 8px}.pronunciation-stage progress{display:block;max-width:100%;width:280px;height:16px;margin:18px auto;accent-color:#73b545}.pronunciation-page audio{max-width:100%;display:block;margin:12px 0}.pronunciation-page article small{display:block;margin-top:10px;color:#667267}.adult-login{margin-top:24px;padding-top:18px;border-top:2px solid var(--line)}.adult-login summary{cursor:pointer;font-weight:700}.adult-login form{display:grid;gap:12px}.adult-roles{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:20px 0}.adult-roles label{flex:1;min-width:220px}.parent-portal{max-width:1100px;padding:28px;margin:auto}.parent-portal>header{display:flex;justify-content:space-between;align-items:center;gap:20px}.parent-portal .word-chips>div{min-width:220px}.parent-portal .word-chips button{margin-top:8px}.reading-prose .reading-token.reading-target{background:#e1efc5;color:#244b19;font-weight:750}.reading-prose .reading-token.reading-saved{text-decoration-line:underline;text-decoration-style:dashed;text-decoration-color:#784ea3;text-decoration-thickness:2px;text-underline-offset:5px}.student-section-nav{display:flex;flex-direction:row;justify-content:flex-start;padding:0;flex-wrap:wrap;gap:10px;margin:0 0 24px}.student-section-nav button{flex:0 1 auto;min-height:44px;border-radius:18px;font-size:14px}.student-section-nav button.active{background:#eff9e8;border-color:var(--green);color:var(--darkgreen)}.learning-entrances{margin-bottom:28px}.entrance-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.entrance-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:145px;padding:20px;border:2px solid var(--line);border-bottom-width:5px;border-radius:22px;text-align:left;background:#f4faee}.entrance-item span{font-size:12px;font-weight:500;color:var(--muted)}.entrance-reading,.entrance-sentences{background:#edf8fc}.entrance-pronunciation,.entrance-matching{background:#fff8e6}.entrance-future{background:#fafafa;color:var(--muted)}.entrance-paging{display:none}#word-learning-start{scroll-margin-top:24px}@media(max-width:600px){.entrance-paging{display:flex;gap:8px}.entrance-paging button{padding:10px;min-width:44px;min-height:44px}.entrance-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;overscroll-behavior-x:contain}.entrance-item{flex:0 0 calc(50% - 6px);min-width:0;scroll-snap-align:start;padding:14px;font-size:14px}.entrance-item span{line-height:1.5}}.learning-boxes{margin:22px 0;text-align:left}.learning-boxes-stage{font-weight:750;font-size:14px;margin-bottom:10px}.learning-boxes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px}.learning-box{border:2px solid #acd593;border-bottom-width:6px;border-radius:20px;padding:16px;background:#f1faec;min-width:0}.learning-box-red{border-color:#e7b2a8;background:#fff4ef}.learning-box h2{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:16px;letter-spacing:0;margin-bottom:12px}.learning-box h2 span{margin-left:auto;white-space:nowrap}.learning-box p,.learning-boxes-note{font-size:13px;line-height:1.6;margin-bottom:0}.learning-box ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.learning-box li{background:#fff;border-radius:9px;padding:6px 10px;overflow-wrap:anywhere;max-width:100%;font-weight:650}.learning-boxes-note{margin-top:10px;color:#526260}.new-word-selection details{width:100%;text-align:left;min-width:0}.new-word-selection .sentence-picker{max-height:320px;overflow:auto}.new-word-selection .word-chips{max-height:240px;overflow:auto}.new-word-selection .sentence-picker label{align-items:flex-start}.new-word-selection summary{cursor:pointer;font-weight:700}
