@charset "UTF-8";
:root{--bg:#f6f7f2;--paper:#fff;--ink:#223b30;--muted:#7a847d;--green:#28533e;--dark:#234735;--lime:#e2ebae;--line:#e6e9e1;--soft:#eef2e7;--orange:#c6844b;--shadow:0 10px 40px #23473507;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b0c57f;outline-offset:3px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650}p{line-height:1.75}svg.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.skip{position:fixed;top:-80px;left:20px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}
.sidebar{width:214px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);background:#fbfcf8;display:flex;flex-direction:column;padding:35px 20px 20px;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;padding:0 12px}.brand img{width:39px;height:39px}.brand strong{font-size:24px;letter-spacing:2px}.brand small{display:block;letter-spacing:1px;color:var(--muted);font-size:10px;margin-top:1px}.nav-label{color:#9aA198;font-size:10px;letter-spacing:2px;margin:44px 15px 16px}.nav{display:grid;gap:8px}.nav-btn{display:flex;align-items:center;text-align:left;gap:13px;padding:14px 16px;border-radius:9px;color:#7c857d;font-size:14px;width:100%}.nav-btn.active{color:#28533e;background:#e9eee1;font-weight:650}.nav-btn:hover{background:#eef2e7}.nav-btn .nav-count{margin-left:auto;font-size:11px;border-radius:4px;background:#dce5c7;padding:2px 6px}.side-bottom{margin-top:auto}.side-note{padding:19px 15px;background:#f1f2e8;border:1px solid #e7e8db;border-radius:12px;margin-bottom:21px}.side-note .ico{color:#839563;margin-bottom:12px}.side-note p{font-size:12px;color:#7e8774;margin-top:6px}.side-note strong{font-size:13px}.side-profile{display:flex;align-items:center;gap:11px;padding:6px 9px;text-align:left;width:100%}.avatar{width:36px;height:36px;background:#e8dbc8;border-radius:50%;display:grid;place-items:center;color:#7e7056;font-size:13px}.side-profile small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.side-profile strong{font-size:12px}.side-profile>.ico{margin-left:auto;width:16px}
.workspace{margin-left:214px}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fbfcf880}.breadcrumb{font-size:12px;color:#939a92;display:flex;align-items:center;gap:10px}.breadcrumb b{font-weight:500;color:#475d50}.top-tools{display:flex;align-items:center;gap:23px}.date{font-size:12px;color:#8a938a}.local-badge{display:flex;gap:7px;align-items:center;font-size:11px;color:#7b8877}.local-badge i{width:6px;height:6px;background:#8ca16e;border-radius:50%}.icon-btn{width:39px;height:39px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid var(--line);background:white}.icon-btn:hover{background:var(--soft)}main{max-width:1440px;margin:auto;padding:34px 38px 22px}.welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;color:#97a28e;text-transform:uppercase;margin-bottom:10px}.welcome h1{font-size:27px;letter-spacing:.4px}.welcome p{font-size:12px;color:var(--muted);margin-top:9px}.subtle-btn{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#5e715f;padding:9px 0;white-space:nowrap}.subtle-btn .ico{width:16px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:23px}.main-stack,.right-stack{display:flex;flex-direction:column;gap:27px}.hero{min-height:274px;background:var(--green);border-radius:17px;position:relative;overflow:hidden;color:white;padding:29px 32px;display:flex;align-items:center}.hero-copy{position:relative;z-index:2;max-width:67%}.hero-tag{font-size:10px;letter-spacing:1px;display:inline-flex;gap:7px;align-items:center;color:#dce7cf;margin-bottom:18px}.hero-tag span{width:5px;height:5px;background:#c8dba7;border-radius:50%}.hero h2{font-size:29px;line-height:1.5;letter-spacing:1px;max-width:340px}.hero p{font-size:11px;color:#b8cdb9;margin-top:8px;max-width:300px}.hero-bottom{display:flex;align-items:center;gap:15px;margin-top:23px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:white;padding:13px 20px;border-radius:8px;font-weight:550;font-size:13px;min-height:44px}.primary:hover{background:#1a3b2b}.primary.lime{background:#e6edbc;color:#2e503a}.primary.lime:hover{background:#f0f3d8}.primary .ico{width:17px}.hero-bottom small{font-size:10px;color:#b9ccb6}.hero-art{position:absolute;width:240px;right:-8px;top:12px;height:255px}.hero-art svg{width:100%;height:100%}.card{background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-head h2{font-size:16px}.section-head h2 span{font-size:11px;color:#9ba394;font-weight:400;margin-left:8px}.tiny-tag{padding:5px 9px;border-radius:5px;background:#edf2e6;color:#789161;font-size:10px}.task-list{padding:4px 20px}.task-item{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #eff1eb;text-align:left;width:100%}.task-item:last-child{border-bottom:0}.task-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#f1f3e9;color:#7c905f}.task-item:nth-child(2) .task-icon{background:#faf1e7;color:#c6986c}.task-item:nth-child(3) .task-icon{background:#e9f0ed;color:#6b907e}.task-item:nth-child(4) .task-icon{background:#f0eef8;color:#9a91b0}.task-item h3{font-size:13px;margin-bottom:5px}.task-item p{font-size:11px;color:#9aA194;line-height:1.5}.task-meta{margin-left:auto;display:flex;align-items:center;gap:16px;white-space:nowrap;font-size:11px;color:#9da594}.task-meta .ico{width:15px}.done-circle{width:19px;height:19px;border:1.5px solid #d9e1cc;border-radius:50%;display:grid;place-items:center}.done-circle.done{background:#e5edda;border-color:#e5edda;color:#648142}.done-circle .ico{width:12px}.task-item:hover h3{color:#739155}.scenes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.scene-card{padding:0;overflow:hidden;text-align:left;transition:transform .18s,border-color .18s}.scene-card:hover{transform:translateY(-3px);border-color:#b8c7a1}.scene-cover{height:100px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#f0eade}.scene-cover:before{content:'';width:98px;height:98px;border:1px solid #c0b79e55;border-radius:50%;position:absolute;right:12px;top:23px}.scene-cover .ico{width:42px;height:42px;stroke-width:1.25;position:relative;z-index:1;color:#958164}.scene-cover .scene-en{font-family:Georgia,serif;font-size:14px;position:absolute;right:13px;bottom:10px;color:#a49b82;font-style:italic}.scene-card:nth-child(3n+2) .scene-cover{background:#e5ece5}.scene-card:nth-child(3n+2) .scene-cover .ico{color:#7a9580}.scene-card:nth-child(3n) .scene-cover{background:#e8eaf1}.scene-card:nth-child(3n) .scene-cover .ico{color:#8f99ae}.scene-body{padding:14px}.scene-body h3{font-size:13px}.scene-body p{font-size:10px;margin-top:5px;color:#9ba295}.scene-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:#8d9a80;font-size:10px}.scene-bottom .ico{width:14px}.week-card{padding:23px 21px}.card-heading{display:flex;justify-content:space-between;align-items:center;font-size:13px}.card-heading>.ico{width:17px;color:#9ca78e}.progress-circle{width:112px;height:112px;border-radius:50%;background:conic-gradient(#91a666 var(--pct,0%),#edf1e5 0);margin:23px auto 18px;padding:8px;position:relative;display:grid;place-items:center}.progress-circle:after{content:'';position:absolute;inset:8px;background:white;border-radius:50%}.circle-value{z-index:1;text-align:center}.circle-value strong{font-size:29px;font-weight:500}.circle-value small{font-size:11px;color:#9ba491}.circle-value p{font-size:10px;color:#a2aa98;margin-top:2px}.week-note{font-size:11px;color:#939d89;text-align:center}.week-days{display:flex;justify-content:space-between;gap:5px;margin-top:20px}.day-dot{text-align:center;font-size:10px;color:#9ba490}.day-dot b{display:grid;place-items:center;width:25px;height:25px;border:1px solid #e8eddf;border-radius:50%;font-size:10px;font-weight:400;margin-top:7px;color:#9aa58c}.day-dot.today b{border-color:#9dac83;color:#4b6a3d}.day-dot.trained b{background:#829b60;border-color:#829b60;color:white}.divider{height:1px;background:var(--line);margin:19px 0}.mini-stats{display:flex;justify-content:space-between;text-align:center}.mini-stats div{flex:1}.mini-stats strong{display:block;font-size:18px;font-weight:500}.mini-stats small{display:block;font-size:10px;color:#a0a794;margin-top:5px}.review-card{padding:21px}.review-count{color:#9aab7f;font-size:11px}.quote-phrase{font-family:Georgia,serif;font-size:22px;line-height:1.6;margin:19px 0 8px;color:#536847}.quote-cn{font-size:11px;color:#a0a78e}.review-footer{display:flex;align-items:center;justify-content:space-between;margin-top:21px}.pill{border:1px solid #dfe6d3;border-radius:7px;color:#758b59;padding:9px 14px;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;min-height:39px}.pill:hover{background:#f3f6ed}.pill .ico{width:15px}.note-card{border:1px dashed #dce2cf;border-radius:12px;padding:19px;background:#f1f3e8}.note-card .note-label{font-size:10px;color:#9aa581;letter-spacing:1px}.note-card p{font-size:12px;color:#798668;margin-top:9px;line-height:1.9}.note-card .signature{text-align:right;font-family:Georgia,serif;font-size:12px;color:#a3ad91;margin-top:10px;font-style:italic}.footer{display:flex;justify-content:space-between;gap:16px;margin-top:31px;padding-top:17px;border-top:1px solid var(--line);font-size:10px;color:#a0a798}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}
.page-heading{margin-bottom:25px}.page-heading h1{font-size:27px}.page-heading p{font-size:13px;color:var(--muted);margin-top:10px}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px;align-items:center}.chip{border:1px solid #dfe5d8;border-radius:25px;padding:10px 17px;font-size:12px;background:white}.chip.active{background:var(--green);border-color:var(--green);color:white}.search{margin-left:auto;max-width:250px;width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-size:12px;background:white}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.library-grid .scene-cover{height:143px}.library-grid .scene-cover .ico{width:55px;height:55px}.library-grid .scene-body{padding:20px}.library-grid .scene-body h3{font-size:16px}.library-grid .scene-body p{font-size:11px}.route-banner{padding:23px 26px;background:#eaf0e0;border-radius:13px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.route-banner h3{font-size:16px}.route-banner p{font-size:12px;color:#86947a;margin-top:6px}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.route-card{padding:23px;text-align:left}.route-top{display:flex;justify-content:space-between;color:#9aa78b;font-size:10px;letter-spacing:1px}.route-card h3{font-size:17px;margin:19px 0 10px}.route-card p{font-size:12px;color:#909a86;min-height:45px}.route-card .pill{margin-top:19px}.week-routine{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:22px 0 32px}.routine-day{padding:14px 11px;border:1px solid var(--line);border-radius:9px;background:white}.routine-day small{font-size:10px;color:#9eaa92}.routine-day p{font-size:11px;margin-top:8px;color:#788768}.phrase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.phrase-card{padding:21px}.phrase-card .phrase-top{display:flex;justify-content:space-between;align-items:center}.topic-tag{font-size:10px;color:#92a17e}.phrase-card h3{font-family:Georgia,serif;font-size:22px;font-weight:400;margin:19px 0 8px}.phrase-card p{font-size:12px;color:#8e9a82}.phrase-actions{display:flex;gap:8px;align-items:center;margin-top:20px}.starred{color:#b18a4a;background:#f8f1dd}.empty{padding:55px 25px;text-align:center;border:1px dashed #dce2d2;border-radius:12px;grid-column:1/-1}.empty .ico{width:40px;height:40px;color:#a4b28f}.empty h3{font-size:17px;margin:15px 0 10px}.empty p{font-size:12px;color:#8d9a83;margin-bottom:20px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.metric{padding:24px}.metric strong{font-size:31px;font-weight:500;display:block;margin:15px 0 5px}.metric p{font-size:11px;color:#8e9b82}.metric .ico{color:#98aa80}.history{padding:9px 24px}.history-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:center;flex-wrap:wrap}.history-row:last-child{border:0}.history-row h3{font-size:13px}.history-row p{font-size:11px;color:#8d9981;margin-top:5px}.history-row .history-note{font-size:12px;margin-top:8px;color:#64745a;white-space:pre-wrap;overflow-wrap:anywhere}.history-row .tiny-tag{margin-left:auto}.progress-notice{font-size:12px;color:#919c86;margin:20px 0}.warning-banner{padding:12px 16px;border:1px solid #e0bf8b;background:#fff2dd;border-radius:9px;margin-bottom:20px;font-size:12px;color:#8b6233}
dialog{border:0;border-radius:18px;padding:0;max-width:780px;width:calc(100% - 36px);max-height:calc(100dvh - 48px);color:var(--ink);background:#fbfcf8;box-shadow:0 20px 100px #18321f44}dialog::backdrop{background:#18322088;backdrop-filter:blur(5px)}dialog[open]{animation:pop .18s ease-out}.dialog-head{padding:23px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.dialog-head h2{font-size:17px}.dialog-head p{font-size:11px;color:#8c987e;margin-top:6px}.dialog-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:20px 28px 0}.step{font-size:11px;color:#a0aa94;padding-bottom:12px;border-bottom:3px solid #e9eddf;text-align:center}.step.current{color:#3f663a;border-color:#89a25d}.step.finished{color:#7c945e;border-color:#c8d6b1}.dialog-body{padding:25px 32px 30px}.lesson-kicker{display:flex;justify-content:space-between;font-size:11px;color:#8e9f79;margin-bottom:18px}.sentence-card{padding:33px 28px;background:white;border:1px solid var(--line);border-radius:13px;text-align:center}.sentence-card h3{font-family:Georgia,serif;font-size:33px;line-height:1.45;font-weight:400}.sentence-card .meaning{font-size:14px;color:#7e8f70;margin-top:15px}.sentence-card .tip{font-size:12px;color:#9da58f;margin:17px auto 0;line-height:1.8;max-width:450px}.play-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin:24px 0 0;flex-wrap:wrap}.play-controls .primary{padding:11px 18px}.stage-caption{font-size:12px;color:#9aa68e;margin:17px 0;line-height:1.9}.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:23px;flex-wrap:wrap}.dialog-actions .next{margin-left:auto}.dots{display:flex;gap:7px;justify-content:center;margin-top:20px}.dots i{width:6px;height:6px;border-radius:50%;background:#e0e5d7}.dots i.on{background:#839b61}.recorder-box{margin-top:20px;padding:19px;background:#f0f3e8;border:1px solid #e2e8d7;border-radius:11px}.recorder-top{display:flex;gap:15px;align-items:center}.record-btn{width:52px;height:52px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;flex-shrink:0}.record-btn.recording{background:#b65c4d;animation:pulse 1.5s infinite}.recorder-top strong{font-size:13px}.recorder-top p{font-size:11px;color:#8e9c7f;margin-top:5px}.record-time{margin-left:auto;font-variant-numeric:tabular-nums;font-size:17px;color:#8a9c74}.record-result{margin-top:15px}.record-result audio{width:100%;height:38px}.record-result a{font-size:11px;color:#7d905f;display:inline-block;margin-top:10px}.record-privacy{font-size:10px;color:#a0aa92;margin-top:12px}.practice-prompt{font-size:18px;line-height:1.8;margin-bottom:20px}.hint{border:1px dashed #ccd8ba;border-radius:10px;padding:17px;margin-top:18px;background:#f5f7ef}.hint p{font-family:Georgia,serif;font-size:19px;line-height:1.8;color:#6c8257}.conversation{display:flex;gap:12px;margin:18px 0}.coach-avatar{width:37px;height:37px;background:#e1e8d2;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;flex:none}.bubble{background:white;border:1px solid var(--line);border-radius:0 13px 13px;padding:18px;flex:1}.bubble strong{font-size:10px;font-weight:500;letter-spacing:1px;color:#96a286}.bubble p{font-size:19px;font-family:Georgia,serif;margin-top:9px}.bubble small{display:block;font-size:12px;margin-top:8px;color:#9da68f}.bubble .subtle-btn{margin-top:8px}.choices{display:grid;gap:10px;margin-top:20px}.choice{padding:16px 18px;background:white;border:1px solid var(--line);border-radius:9px;text-align:left;display:flex;gap:14px;align-items:center;font-size:14px}.choice span{font-size:10px;color:#9da88c;background:#f0f3e8;padding:5px 8px;border-radius:5px}.choice:hover{border-color:#aebf92;background:#f8faf4}.choice.correct{border-color:#91a572;background:#edf3e4}.choice.wrong{border-color:#ccaa8a;background:#fbf0e6}.feedback{padding:15px;border-radius:9px;margin-top:14px;font-size:12px;line-height:1.8}.feedback.good{background:#eaf1df;color:#607b43}.feedback.retry{background:#f7eddf;color:#a0784d}.reflect-list{display:grid;gap:12px;margin:20px 0}.reflect-item{display:flex;gap:10px;padding:14px;background:white;border:1px solid var(--line);border-radius:8px;font-size:12px;align-items:flex-start;line-height:1.7}.reflect-item input{accent-color:#678349;margin-top:3px}.field-label{display:block;font-size:12px;margin:18px 0 9px;color:#758465}textarea,input.text-field,select{width:100%;padding:13px;border:1px solid #dfe6d3;border-radius:8px;background:white;color:var(--ink)}textarea{resize:vertical;min-height:85px}.finish-panel{text-align:center;padding:23px 5px}.success-icon{width:66px;height:66px;border-radius:50%;background:#e6edda;color:#81985e;display:grid;place-items:center;margin:0 auto 20px}.success-icon .ico{width:28px;height:28px}.finish-panel h3{font-size:25px}.finish-panel p{font-size:13px;color:#8d9b7e;margin-top:14px}.finish-panel .primary{margin-top:25px}.review-prompt{text-align:center;font-size:26px;line-height:1.7;padding:23px 10px}.review-reveal{font-family:Georgia,serif;font-size:26px;color:#638048;text-align:center;margin:12px 0 20px}.settings-body{padding:5px 28px 28px}.setting-help{font-size:11px;color:#8f9a84;line-height:1.8;margin:10px 0}.data-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.danger{color:#b78371}.settings-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.settings-section h3{font-size:13px}#settings-dialog{max-width:520px}#toast{position:fixed;left:50%;bottom:27px;transform:translate(-50%,20px);max-width:calc(100vw - 35px);background:#244532;color:#f2f6e8;padding:13px 21px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:100;box-shadow:0 8px 30px #193b2833;line-height:1.6}#toast.show{opacity:1;transform:translate(-50%,0)}.mobile-brand{display:none}.goal-split{display:flex;gap:9px}.goal-split .chip{flex:1;text-align:center}.recording-warning{font-size:12px;color:#956450}.intro-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.guide-cell{padding:16px;border-radius:9px;background:#f0f3e8}.guide-cell strong{font-size:13px}.guide-cell p{font-size:11px;color:#899879;margin-top:8px}.book-note{padding:18px 22px;background:#eff3e6;border-radius:10px;font-size:12px;color:#7b8b68;margin-bottom:20px;line-height:1.8}
@keyframes pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{box-shadow:0 0 0 7px #b65c4d13}}@media(min-width:1600px){main{padding-top:45px}.hero{min-height:300px}.hero-art{width:280px;height:280px;right:10px}.hero h2{font-size:34px}.hero p{font-size:13px}.scene-cover{height:122px}}
@media(max-width:1190px){.sidebar{width:180px;padding-left:12px;padding-right:12px}.workspace{margin-left:180px}main{padding:28px 26px}.topbar{padding:0 26px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 255px;gap:18px}.hero{padding:25px;min-height:272px}.hero-art{width:190px;right:-17px;top:37px}.hero-copy{max-width:75%}.hero h2{font-size:25px}.hero-bottom{gap:10px}.hero-bottom small{display:none}.task-list{padding:4px 16px}.task-meta{gap:8px}.scenes-grid{gap:10px}.scene-body{padding:11px}.side-note{padding:15px}.brand{padding:0 10px}.brand strong{font-size:22px}.nav-btn{font-size:13px}.week-card{padding:22px 16px}.library-grid{gap:15px}.route-card{padding:19px}}
@media(max-width:980px){.sidebar{width:82px;padding:28px 12px}.brand{padding:0;justify-content:center}.brand>span,.nav-label,.nav-btn .nav-text,.nav-count,.side-note,.side-profile>span,.side-profile>.ico{display:none!important}.nav{margin-top:45px}.nav-btn{padding:15px;justify-content:center}.side-profile{padding:0;justify-content:center}.workspace{margin-left:82px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 250px}.welcome h1{font-size:25px}.hero h2{font-size:24px}.hero-art{opacity:.7;right:-55px}.hero-copy{max-width:88%}.hero p{max-width:220px}.scene-cover .scene-en{font-size:11px}.scene-body h3{font-size:11px}.week-routine{grid-template-columns:repeat(4,1fr)}.route-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{inset:auto 0 0;width:auto;height:69px;padding:0 8px;background:#fcfdf9f5;backdrop-filter:blur(15px);border-top:1px solid var(--line);border-right:0}.sidebar>.brand,.side-bottom{display:none}.nav{margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;height:100%}.nav-btn{padding:9px 2px;flex-direction:column;gap:5px;border-radius:0;font-size:10px}.nav-btn .nav-text{display:block!important}.nav-btn .ico{width:19px;height:19px}.nav-btn.active{background:transparent;color:#436c3c}.workspace{margin-left:0;padding-bottom:73px}.topbar{height:66px;padding:0 21px}.breadcrumb{display:none}.mobile-brand{display:flex;gap:8px;align-items:center;font-size:17px;font-weight:650}.mobile-brand img{width:29px;height:29px}.mobile-brand small{font-size:11px;color:#90a17c;font-weight:400;letter-spacing:.5px}.top-tools{gap:13px}.date{display:none}.local-badge{font-size:10px}.top-tools .icon-btn{width:33px;height:33px}main{padding:25px 20px 18px}.welcome{margin-bottom:23px}.welcome h1{font-size:23px}.welcome .eyebrow{font-size:9px;letter-spacing:1.5px}.welcome p{font-size:11px}.welcome>.subtle-btn{font-size:10px}.dashboard-grid{grid-template-columns:1fr;gap:25px}.hero{min-height:258px;padding:26px}.hero-copy{max-width:72%}.hero-art{right:-4px;top:25px;width:210px;opacity:1}.hero h2{font-size:27px}.hero p{font-size:11px;max-width:230px}.hero-bottom small{display:none}.main-stack{gap:25px}.right-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px}.note-card{grid-column:1/-1}.week-card{padding:20px}.review-card{padding:20px}.scene-cover{height:99px}.scene-body h3{font-size:12px}.scene-bottom{font-size:9px}.section-head h2{font-size:15px}.task-item{padding:17px 0}.task-item h3{font-size:13px}.task-item p{font-size:10px}.footer{font-size:9px;line-height:1.8;margin-top:24px}.footer span:last-child{max-width:45%;text-align:right}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.library-grid .scene-cover{height:110px}.library-grid .scene-body{padding:15px}.library-grid .scene-body h3{font-size:14px}.route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.route-banner{padding:20px;align-items:flex-start}.route-banner .pill{display:none}.route-card{padding:18px}.route-card h3{font-size:15px}.route-card p{font-size:11px}.phrase-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr);gap:13px}.metric{padding:20px}.page-heading h1{font-size:24px}.page-heading p{font-size:12px}.search{max-width:none;margin:5px 0 0}.filter-row{gap:7px}.chip{font-size:11px;padding:9px 14px}.history{padding:5px 19px}.history-row{gap:11px}.week-routine{grid-template-columns:repeat(4,1fr);gap:8px}.routine-day{padding:12px 8px}.routine-day p{font-size:10px}.dialog-head{padding:19px 20px}.dialog-head h2{font-size:15px}.dialog-body{padding:22px 20px}.dialog-steps{padding:18px 20px 0;gap:5px}.step{font-size:10px}.sentence-card{padding:27px 20px}.sentence-card h3{font-size:27px}.sentence-card .meaning{font-size:13px}.sentence-card .tip{font-size:11px}.primary{font-size:12px;padding:12px 17px}.play-controls{gap:8px}.dialog-actions .pill{font-size:10px}.bubble p{font-size:18px}.choice{padding:14px 13px;font-size:12px}.practice-prompt{font-size:16px}.intro-guide{grid-template-columns:1fr}.guide-cell{padding:12px}.guide-cell p{margin-top:5px}.settings-body{padding:5px 20px 25px}.record-time{font-size:14px}#toast{bottom:84px}.recorder-top p{font-size:10px}.recorder-box{padding:15px}.record-btn{width:46px;height:46px}.page-heading{margin-bottom:20px}}
@media(max-width:420px){main{padding-left:16px;padding-right:16px}.hero{padding:24px 20px;min-height:250px}.hero h2{font-size:24px;max-width:230px}.hero-copy{max-width:78%}.hero-art{width:177px;right:-35px;top:45px;opacity:.9}.hero p{max-width:190px}.welcome>.subtle-btn span{display:none}.right-stack{grid-template-columns:1fr}.week-card{display:block}.review-card,.note-card{grid-column:auto}.scene-body h3{font-size:11px}.scene-en{display:none}.scenes-grid{gap:8px}.scene-body{padding:10px}.scene-bottom{gap:4px}.task-meta{font-size:10px}.task-icon{width:34px;height:34px}.task-item{gap:11px}.route-grid{grid-template-columns:1fr}.week-routine{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 16px}.local-badge{display:none}.recorder-top{gap:10px}.recorder-top strong{font-size:12px}.dialog-actions{gap:8px}.dialog-actions>.pill{padding:8px}.sentence-card h3{font-size:24px}.bubble{padding:14px}.conversation{gap:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(min-width:761px) and (max-width:980px){.side-profile>.avatar{display:grid!important}}
