:root{--ink:#253d34;--muted:#7b837d;--paper:#f7f8f3;--line:#e4e8df;--sage:#e9efe2;--orange:#bb7448;--cream:#f5edda;--green:#365c49;--radius:18px;--shadow:0 5px 22px #19332505}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 "Segoe UI","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c08b55;outline-offset:4px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}button svg{width:17px;height:17px}[hidden]{display:none!important}.skip-link{position:absolute;left:280px;top:-70px;background:white;padding:12px;z-index:100}.skip-link:focus{top:10px}.sidebar{width:242px;background:#243c33;color:#f4f4e9;position:fixed;inset:0 auto 0 0;padding:40px 23px 24px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding-left:9px;font:40px/1 Georgia,serif;letter-spacing:-2px}.brand-symbol{font:italic 34px Georgia,serif;background:#f0cd8b;color:#294435;border-radius:13px;display:grid;place-items:center;width:41px;height:43px;letter-spacing:-3px;padding-right:4px}.brand-dot{color:#e6b967}.brand small{display:block;font:9px/1.5 "Microsoft YaHei",sans-serif;letter-spacing:.3px;color:#aebcaf;margin-top:9px}.sidebar-label{font-size:9px;letter-spacing:1.7px;color:#95a99c;margin:48px 12px 15px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;color:#bdc8bd;border-radius:10px;font-size:13px}.sidebar nav a:hover{background:#ffffff08}.sidebar nav a.active{background:#e4eccb;color:#2b4135;font-weight:600}.nav-dot{width:5px;height:5px;border-radius:100%;background:#eac588;margin-left:auto}.nav-count{font-size:10px;line-height:19px;min-width:20px;text-align:center;background:#ffffff16;border-radius:6px;margin-left:auto}.sidebar nav a.active .nav-count{background:#cad6b5}.sidebar-quote{margin:auto 12px 32px;padding-top:45px}.sidebar-quote>span{font-size:9px;letter-spacing:2.5px;color:#b9b794}.sidebar-quote p{font-size:19px;font-weight:300;color:#dbe3ce;line-height:1.9}.sidebar-quote small{font-size:9px;letter-spacing:.5px;color:#8fa294}.little-line{width:27px;height:1px;background:#9aa788;margin:17px 0}.sidebar-profile{border-top:1px solid #ffffff16;padding:22px 7px 0;display:flex;align-items:center;gap:11px;font-size:12px}.avatar{display:grid;place-items:center;width:34px;height:34px;background:#475b48;border-radius:50%;font:italic 19px Georgia,serif;color:#efdbb4}.sidebar-profile small{display:block;color:#94a697;font-size:9px}.online-dot{height:6px;width:6px;background:#b7c891;border-radius:50%;margin-left:auto}.shell{margin-left:242px}.topbar{height:85px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#fbfcf8}.breadcrumb{font-size:12px;color:#8b938b}.breadcrumb span{padding:0 12px;color:#bdc2b9}.topbar-right{display:flex;gap:22px;align-items:center;font-size:11px;color:#8b938b}.region-pill{font-size:11px;border:1px solid #e2e7dc;border-radius:20px;padding:5px 12px;color:#54624f;background:white}main{max-width:1510px;margin:auto;padding:37px 44px 30px;min-height:calc(100vh - 144px)}.eyebrow{font-size:10px;letter-spacing:2px;color:#8b966f;font-weight:600;text-transform:uppercase}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px}.page-heading h1{font-size:29px;font-weight:600;letter-spacing:-.9px;margin:6px 0 7px;line-height:1.4}.page-heading p{margin:0;color:var(--muted);font-size:12px}.mini-date{font-size:11px;color:#818a7c;border:1px solid var(--line);padding:7px 13px;border-radius:7px}.hero-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(265px,1fr);gap:22px}.today-card{position:relative;background:#eaf0df;overflow:hidden;border-radius:var(--radius);padding:29px 32px;min-height:285px;border:1px solid #dde6d1}.today-card:after{content:"";position:absolute;width:175px;height:175px;right:-17px;top:105px;border-radius:90px 90px 0 0;border:1px solid #c7d3b3;box-shadow:0 0 0 15px #e2ead6,0 0 0 16px #d2dec0,0 0 0 34px #e6eddb;transform:rotate(-12deg);pointer-events:none}.today-card>*{position:relative;z-index:1}.label-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;background:#ffffff85;border-radius:6px;font-size:10px;color:#4d6551}.tiny-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#7a9154}.today-card h2{font-size:31px;letter-spacing:-1px;line-height:1.45;margin:20px 0 7px;font-weight:600;max-width:85%}.today-card .subtitle{color:#70815f;font-family:Georgia,serif;font-style:italic;font-size:17px;margin-bottom:20px}.today-card p{font-size:12px;color:#68755f;max-width:80%;margin:0 0 20px}.hero-bottom{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.primary{border:0;background:var(--ink);color:white;padding:11px 21px;border-radius:9px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:500;transition:background .2s}.primary:hover{background:#42614c}.primary.small{padding:8px 14px;font-size:11px}.primary svg{width:16px;height:16px}.text-muted{font-size:11px;color:var(--muted)}.journey-card{padding:26px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-title{display:flex;align-items:center;justify-content:space-between}.card-title h2,.card-title h3{font-size:14px;margin:0;font-weight:600}.card-title>a{color:#879078;font-size:10px}.progress-display{display:flex;gap:18px;align-items:center;margin:25px 0}.progress-ring{--progress:0deg;width:95px;height:95px;flex-shrink:0;background:conic-gradient(#6d8554 var(--progress),#eef1e8 0);border-radius:50%;display:grid;place-items:center;position:relative;transform:rotate(-90deg)}.progress-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:white}.progress-ring>div{position:relative;transform:rotate(90deg);text-align:center}.progress-ring strong{display:block;font:27px/1.1 Georgia,serif}.progress-ring small{font-size:8px;color:#8e9784}.journey-text strong{font-size:14px}.journey-text p{font-size:11px;color:#899180;margin:7px 0}.journey-text span{font:italic 12px Georgia,serif;color:#9ea58e}.month-dots{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;font-size:9px;color:#98a08f}.month-dots div{text-align:center}.month-dots b{display:block;margin:0 auto 5px;width:7px;height:7px;background:#e5eadd;border-radius:50%}.month-dots div.current{color:#5a7446}.month-dots div.current b{background:#8ba76e}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:23px 0 29px}.stat-card{border:1px solid var(--line);background:white;border-radius:12px;padding:17px 20px;display:flex;align-items:center;gap:14px}.stat-icon{display:grid;place-items:center;width:39px;height:39px;background:#f0f3e8;border-radius:10px;color:#7b925f}.stat-icon.orange{background:#faf0e4;color:#b88a55}.stat-icon.blue{background:#edf2f2;color:#79968a}.stat-card small{display:block;color:#8c9284;font-size:10px}.stat-card strong{font:24px Georgia,serif;letter-spacing:-.5px}.stat-card strong span{font:10px "Microsoft YaHei",sans-serif;color:#929889;letter-spacing:0;margin-left:6px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.section-title h2{font-size:17px;font-weight:600;margin:0}.section-title h2 span{font-size:11px;font-weight:400;color:#9aa08f;margin-left:10px}.section-title>a{font-size:11px;color:#7b896d}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.day-tile{border:1px solid var(--line);border-radius:12px;background:white;padding:16px 13px 13px;min-height:147px;transition:transform .2s,box-shadow .2s}.day-tile:hover{transform:translateY(-3px);box-shadow:0 7px 20px #253d3410}.day-tile.current{background:#f1f4e7;border:1.5px solid #83986b}.day-tile.completed{background:#edf3e8}.tile-top{display:flex;justify-content:space-between;font-size:9px;color:#9ca38f;letter-spacing:.6px}.tile-top strong{font-size:10px;color:#7e9269}.tile-number{font:29px Georgia,serif;display:block;margin:11px 0 6px;color:#80906d}.day-tile.current .tile-number{color:#425c36}.tile-title{font-size:11px;line-height:1.5;display:block;min-height:34px}.tile-footer{display:flex;align-items:center;gap:5px;font-size:8px;color:#9ba68c;margin-top:8px}.tile-footer svg{width:11px;height:11px}.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:21px;margin-top:26px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.phrase-feature{display:flex;gap:20px;align-items:center;margin:19px 0 8px}.round-play{display:grid;place-items:center;width:44px;height:44px;border:1px solid #dce4d2;border-radius:50%;background:#f6f8ef;color:#5a7550;flex-shrink:0}.phrase-feature .es{font:21px/1.5 Georgia,serif;margin:0}.phrase-feature .zh{font-size:11px;color:#89907f;margin-top:6px}.panel-note{font-size:10px;color:#9ba18f;margin-top:19px;padding-top:13px;border-top:1px solid #edf0e7}.review-banner{background:#f6efe2;border-color:#ede3d2;display:flex;align-items:center;gap:20px}.review-illustration{width:75px;height:91px;position:relative;flex-shrink:0}.review-illustration:before,.review-illustration:after{content:"Aa";position:absolute;width:55px;height:73px;background:#e9dbc3;border:1px solid #d6c4a6;border-radius:7px;left:10px;top:6px;transform:rotate(-10deg);display:grid;place-items:center;font:24px Georgia,serif;color:#a28b64}.review-illustration:after{background:#fffaf0;transform:rotate(7deg);left:19px;top:13px}.review-banner h3{margin:0 0 8px;font-size:16px;font-weight:500}.review-banner p{margin:0 0 14px;font-size:11px;color:#9a8b72}.text-link{font-size:11px;color:#7b6950;display:inline-flex;gap:10px;align-items:center}.footer{padding:17px 44px 24px;display:flex;justify-content:space-between;color:#a4aa99;font-size:9px;max-width:1510px;margin:auto}.footer span:last-child{font-style:italic;font-family:Georgia,serif}.outline-button{background:white;border:1px solid #dce3d5;border-radius:8px;padding:8px 13px;color:#506745;font-size:11px;display:inline-flex;align-items:center;gap:7px}.outline-button:hover{background:#f2f5ec}.outline-button.selected{background:#e9efdF}.danger-button{color:#a65d44}.lesson-heading h1{font-size:28px}.lesson-heading .day-badge{font:italic 16px Georgia,serif;color:#a69c79;margin:0 0 7px}.lesson-grid{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:24px;align-items:start}.lesson-main{min-width:0}.lesson-panel{margin-bottom:20px}.lesson-panel h2{font-size:17px;margin:0 0 8px;font-weight:600}.section-number{font:13px Georgia,serif;color:#91a278;margin-right:9px}.lead-note{font-size:12px;color:#89927f;margin:0 0 20px}.goal-card{background:#edf2e3;border:1px solid #dfe8d3;border-radius:14px;padding:20px 24px;margin-bottom:20px}.goal-card small{font-size:10px;letter-spacing:1px;color:#7b8d65}.goal-card p{margin:7px 0 0;font-size:13px}.progress-aside{position:sticky;top:20px}.progress-aside .panel{padding:21px}.progress-aside h3{font-size:13px;margin:0 0 15px}.lesson-checklist{list-style:none;padding:0;margin:0}.lesson-checklist li{display:flex;align-items:center;gap:9px;padding:10px 0;font-size:11px;color:#7c8971;border-bottom:1px solid #eef0e9}.step-dot{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#f0f2e9;font-size:9px;color:#8b997b}.step-dot.done{background:#dae8cb;color:#436438}.progress-aside .primary{margin-top:17px;width:100%}.completion-note{font-size:10px;line-height:1.9;color:#8f9884;margin-top:13px}.aside-tip{padding:17px 4px;color:#969d89;font-size:11px;line-height:1.9}.aside-tip strong{color:#718162;font-weight:500;display:block;margin-bottom:6px}.dialogue-line{display:flex;align-items:flex-start;gap:12px;margin:14px 0}.speaker{font-size:9px;border-radius:6px;padding:3px 7px;min-width:34px;background:#edf1e7;color:#6e7f5b;margin-top:3px}.speaker.you{background:#f8eddf;color:#a1845e}.dialogue-content{flex:1;min-width:0}.dialogue-content .es{font:20px/1.65 Georgia,serif;margin:0}.zh-line{font-size:11px;color:#939b88;line-height:1.7;margin-top:4px}.tiny-play{border:0;background:transparent;color:#78926b;padding:5px;border-radius:5px;flex-shrink:0}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0 0;padding-top:17px;border-top:1px solid var(--line)}.step-button{border:1px solid #dbe4d1;color:#5a7848;background:#f1f6e8;padding:8px 12px;border-radius:8px;font-size:11px}.step-button.done{background:#e1edd4;color:#476236}.sentence-card{border:1px solid #e8ecdf;border-radius:11px;padding:17px 18px;margin-top:12px}.sentence-meta{font-size:9px;color:#9ba88c;display:flex;justify-content:space-between;margin-bottom:8px}.sentence-card .es{font:21px/1.5 Georgia,serif;margin:0}.sentence-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.sentence-actions button{font-size:10px;padding:5px 10px}.mini-button{border:0;background:none;color:#899574;font-size:10px;padding:6px;cursor:pointer}.conversation-card{background:#f5f7ee;border-radius:12px;padding:20px;margin-top:17px}.conversation-card .es{font:21px Georgia,serif;line-height:1.5}.mode-tabs{display:flex;gap:5px;background:#f1f3eb;padding:4px;border-radius:10px;width:fit-content;margin:13px 0}.mode-tabs button{border:0;background:none;border-radius:7px;padding:8px 13px;color:#929b84;font-size:11px}.mode-tabs button.active{background:white;color:#536b44;box-shadow:0 2px 5px #00000005}.reference{margin:15px 0;padding:15px;background:#fffdf7;border-left:2px solid #d5bd90;color:#867452;font-size:12px}.reference .es{color:#4e6543;font-size:18px}.practice-controls{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.notice{padding:13px 15px;border-radius:9px;background:#f8f2e6;font-size:11px;color:#95815c;line-height:1.9}.notice a{text-decoration:underline}.quiz-question{padding:17px 0;border-top:1px solid var(--line)}.quiz-question:first-child{border-top:0}.quiz-question>p{font-size:12px;margin:0 0 10px}.quiz-option{display:flex;gap:10px;align-items:center;border:1px solid #e5e9de;border-radius:8px;padding:10px 12px;margin:7px 0;font-size:12px;cursor:pointer;transition:background .2s}.quiz-option:has(input:checked){border-color:#a5b891;background:#f0f5e9}.quiz-option input{accent-color:#617d4c}.feedback{font-size:11px;padding:10px 12px;background:#eef6e8;border-radius:7px;margin-top:10px;color:#52703c}.feedback.wrong{background:#fbede4;color:#a06d4d}.result-box{padding:17px;border-radius:10px;background:#edf4e4;margin-top:16px;font-size:12px}.checklist-self{list-style:none;padding:0;margin:15px 0}.checklist-self li{margin:7px 0;font-size:11px;color:#7c896f}.checklist-self input{accent-color:#6b8354;margin-right:9px}.recordings-list{margin-top:15px}.recording-item{padding:12px 0;border-top:1px solid var(--line);font-size:10px;color:#939c86}.recording-item audio{width:100%;height:34px;margin:7px 0}.recording-item .actions{display:flex;justify-content:space-between}.recording-active{color:#ba6e4d!important;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.5}}.video-card{margin:13px 0;border:1px solid var(--line);border-radius:9px;padding:13px}.video-card summary{cursor:pointer;font-size:12px}.video-card p{font-size:10px;color:#99a18f}.video-frame{aspect-ratio:16/9;border:0;width:100%;border-radius:8px;margin-top:10px}.month-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:23px}.month-tabs button{padding:8px 15px;border:1px solid var(--line);background:white;border-radius:8px;font-size:12px;color:#89947a}.month-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}.unit-block{margin-bottom:24px}.unit-block h2{font-size:15px;font-weight:500;margin:0 0 11px}.unit-block h2 span{font-size:10px;color:#8f9a80;margin-left:10px}.calendar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}.empty-state{max-width:680px;margin:30px auto;text-align:center;padding:45px 35px;background:white;border:1px solid var(--line);border-radius:18px}.empty-icon{height:70px;width:70px;margin:auto;border-radius:50%;background:#eff4e6;display:grid;place-items:center;color:#809765}.empty-icon svg{width:28px;height:28px}.empty-state h2{font-size:21px;font-weight:500;margin:20px 0 8px}.empty-state p{font-size:12px;color:#95a087;margin-bottom:23px}.review-study{max-width:720px;margin:20px auto}.review-front{text-align:center;padding:35px 20px}.review-front h2{font-size:22px;font-weight:500;margin:17px 0}.review-answer{font:27px/1.6 Georgia,serif;color:#506b3c;margin:20px}.review-counter{text-align:center;color:#9aa389;font-size:11px;margin:10px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-panel h2{font-size:16px;font-weight:500;margin:0 0 20px}.field-label{display:block;font-size:11px;color:#7c8970;margin:17px 0 7px}.field{padding:11px 13px;border:1px solid #dfe5d7;border-radius:8px;background:#fbfcf8;color:#506246;width:100%;font-size:12px}.settings-panel p{font-size:11px;line-height:1.9;color:#929b86}.status-label{display:inline-flex;align-items:center;gap:6px;font-size:10px;padding:3px 9px;border-radius:6px;background:#eef4e4;color:#748b57}.status-label.pending{background:#f5f0e5;color:#ac9363}.settings-panel code{font-size:11px;word-break:break-word;color:#758b63;background:#f3f5ed;padding:2px 5px;border-radius:4px}.settings-panel .primary{margin-top:22px}.settings-panel details summary{font-size:11px;color:#738966;cursor:pointer}.settings-panel pre{white-space:pre-wrap;background:#f6f8ef;padding:13px;border-radius:8px;font-size:10px;color:#859674}.chat-log{max-height:380px;overflow:auto;margin:15px 0;display:flex;flex-direction:column;gap:9px}.chat-bubble{padding:11px 14px;border-radius:11px;background:#f1f5e8;max-width:91%;white-space:pre-wrap;font-size:13px;align-self:flex-start}.chat-bubble.user{background:#f8efdf;align-self:flex-end}.chat-form textarea{resize:vertical;min-height:76px}.chat-toolbar{display:flex;justify-content:space-between;gap:10px;margin:10px 0}.chat-toolbar select{font-size:10px;border:1px solid var(--line);border-radius:7px;padding:6px;background:white;color:#7c8c6d}.audio-dock{position:fixed;bottom:20px;left:calc(242px + 44px);right:44px;max-width:1080px;background:#253d34;color:white;border:1px solid #ffffff1a;box-shadow:0 8px 40px #1b302433;border-radius:15px;padding:13px 20px;display:flex;align-items:center;gap:20px;z-index:50}.audio-dock>div{flex:1;min-width:0}.audio-dock small{display:block;font-size:9px;color:#b2c29b}.audio-dock span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:16px Georgia,serif}.audio-dock audio{height:33px;max-width:300px}.icon-button{background:none;border:0;color:inherit;font-size:24px;line-height:1}.loading{padding:90px;text-align:center;color:#889779;font-size:13px}#toast{position:fixed;bottom:96px;left:50%;transform:translateX(-35%);max-width:min(600px,88vw);background:#2c4539;color:#f7f5e8;padding:13px 22px;border-radius:10px;box-shadow:0 8px 40px #00000018;z-index:100;font-size:12px}.muted-link{color:#8d997e;text-decoration:underline;font-size:11px}.inline-count{font-size:10px;color:#919d7e;margin-left:auto}.mobile-only{display:none}.self-notice{font-size:10px;color:#a09580;line-height:1.8}.nav-day-buttons{display:flex;gap:7px;align-items:center}.evidence-note{font-size:10px;color:#a1a894;line-height:1.8;margin:10px 0 0}.form-error{color:#a3654f;font-size:12px;padding:12px}.recording-transcript{background:#f3f6ed;padding:11px;border-radius:8px;white-space:pre-wrap;font-size:12px;color:#6c815d}.month-caption{color:#9d9279;font:italic 12px Georgia,serif}.completed-badge{background:#e6efd9;color:#617f46;border:1px solid #d7e2c8;border-radius:8px;font-size:12px;padding:10px 12px;text-align:center;margin-top:16px}
@media(min-width:1500px){main{padding-top:44px}.today-card{min-height:306px}.today-card h2{font-size:35px}.week-grid{gap:14px}.day-tile{min-height:160px}}@media(max-width:1150px){.sidebar{width:205px;padding-left:16px;padding-right:16px}.shell{margin-left:205px}.topbar{padding:0 27px}main{padding:28px 27px}.hero-layout{grid-template-columns:1.4fr 1fr;gap:16px}.today-card{padding:25px}.today-card h2{font-size:26px}.today-card p{max-width:95%}.journey-card{padding:22px}.progress-display{gap:12px}.progress-ring{width:78px;height:78px}.week-grid{gap:7px}.day-tile{padding:12px 9px}.lesson-grid{grid-template-columns:minmax(0,1fr) 215px;gap:16px}.progress-aside .panel{padding:16px}.audio-dock{left:230px;right:27px}.footer{padding-left:27px;padding-right:27px}.calendar-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.hero-layout{grid-template-columns:1fr}.journey-card{display:none}.bottom-grid{grid-template-columns:1fr}.review-banner{min-height:160px}.stat-row{gap:9px}.stat-card{padding:13px 11px;gap:9px}.stat-icon{width:32px;height:32px}.stat-card strong{font-size:21px}.week-grid{grid-template-columns:repeat(4,1fr)}.lesson-grid{grid-template-columns:1fr}.progress-aside{position:static;grid-row:1}.progress-aside .panel{padding:15px 20px}.lesson-checklist{display:flex;flex-wrap:wrap;gap:13px}.lesson-checklist li{border:0;padding:2px 0;font-size:10px}.progress-aside h3{margin-bottom:9px}.completion-note{margin:6px 0 0}.aside-tip{display:none}.settings-grid{grid-template-columns:1fr}.topbar-right #date-label{display:none}.audio-dock audio{width:220px}.page-heading{align-items:start}.mini-date{display:none}}@media(max-width:650px){body{font-size:13px}.sidebar{width:100%;height:65px;inset:auto 0 0;padding:0 5px;background:#263f34;z-index:60}.sidebar .brand,.sidebar-label,.sidebar-quote,.sidebar-profile,.nav-dot,.nav-count{display:none}.sidebar nav{flex-direction:row;height:65px;justify-content:space-around;gap:0}.sidebar nav a{flex:1;flex-direction:column;gap:2px;padding:9px 2px 6px;font-size:9px;border-radius:0;justify-content:center}.sidebar nav a svg{width:18px;height:18px}.sidebar nav a.active{background:#ffffff0b;color:#dfecc3}.shell{margin-left:0;margin-bottom:65px}.topbar{height:62px;padding:0 19px}.breadcrumb{font-size:10px}.breadcrumb span{padding:0 7px}.region-pill{font-size:9px;padding:4px 8px}main{padding:25px 18px;min-height:calc(100vh - 181px)}.page-heading{gap:10px;margin-bottom:23px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.eyebrow{font-size:9px}.today-card{padding:24px;min-height:283px}.today-card h2{font-size:29px;max-width:95%}.today-card:after{opacity:.6;top:140px}.today-card p{max-width:100%}.stat-row{margin:17px 0 25px;gap:8px}.stat-card{flex-direction:column;align-items:flex-start;padding:13px 11px;gap:6px}.stat-icon{display:none}.stat-card strong{font-size:24px}.stat-card strong span{font-size:9px}.week-grid{grid-template-columns:repeat(4,1fr);gap:7px}.day-tile{min-height:132px}.tile-title{font-size:10px}.tile-number{font-size:25px;margin:7px 0}.tile-footer{font-size:7px}.section-title h2{font-size:15px}.section-title h2 span{display:none}.section-title>a{font-size:10px}.panel{padding:21px 18px}.bottom-grid{margin-top:21px;gap:16px}.phrase-feature{gap:14px}.phrase-feature .es{font-size:20px}.footer{padding:0 18px 24px}.footer span:last-child{display:none}.lesson-heading h1{font-size:24px}.nav-day-buttons{gap:4px}.nav-day-buttons .outline-button{padding:6px 9px;font-size:10px}.dialogue-content .es{font-size:19px}.sentence-card .es{font-size:20px}.sentence-card{padding:15px}.calendar-grid{grid-template-columns:repeat(3,1fr);gap:8px}.month-tabs{gap:6px}.month-tabs button{padding:6px 13px;font-size:11px}.audio-dock{left:10px;right:10px;bottom:76px;padding:10px 12px;flex-wrap:wrap;gap:8px}.audio-dock>div{flex-basis:80%}.audio-dock audio{width:100%;max-width:none;order:3;height:32px}.audio-dock .icon-button{position:absolute;top:12px;right:13px}.audio-dock span{font-size:14px;max-width:90%}#toast{bottom:87px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw}.quiz-option{font-size:11px}.progress-aside .panel{padding:13px 16px}.lesson-checklist{gap:9px}.lesson-checklist li{font-size:9px}.lesson-checklist .step-dot{width:15px;height:15px;font-size:8px}.progress-aside h3{font-size:12px}.empty-state{padding:32px 20px}.empty-state h2{font-size:20px}.review-answer{font-size:23px}.goal-card{padding:18px}.goal-card p{font-size:12px}.chat-bubble{font-size:12px}.page-heading .status-label{display:none}.lesson-panel h2{font-size:16px}.self-notice{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.vocabulary-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.vocabulary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.word-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fbfcf8;min-width:0}.word-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.word-heading h3{font:27px Georgia,serif;margin:0;color:var(--ink);overflow-wrap:anywhere}.word-heading small{font-size:10px;color:var(--muted);flex-shrink:0}.word-meaning{margin:12px 0;min-height:42px;font-size:12px}.word-card .outline-button{font-size:11px;padding:7px 10px}.word-example{border-top:1px solid var(--line);margin-top:14px;padding-top:10px;font-size:11px}.word-example summary{cursor:pointer;color:var(--green)}.word-example p[lang=es]{font:18px/1.5 Georgia,serif}.word-example p{overflow-wrap:anywhere}.progress-jump{border:0;padding:0;background:none;color:inherit;text-align:left}.lesson-panel,.sentence-card{scroll-margin-top:20px}@media(max-width:650px){.vocabulary-grid{grid-template-columns:1fr}.word-heading h3{font-size:25px}.word-meaning{min-height:0}.vocabulary-toolbar{gap:8px}.vocabulary-toolbar .label-pill{width:100%}}

.auth-panel{max-width:540px;margin:30px auto}.account-consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0;font-size:12px}.account-consent input{margin-top:5px;flex-shrink:0}.auth-panel .primary{width:100%;justify-content:center}.form-error{color:#a43f34;min-height:24px}.auth-panel .practice-tabs{display:flex;gap:12px;margin-bottom:22px}.auth-panel .practice-tabs button{border:1px solid var(--line);background:white;padding:9px 20px;border-radius:8px}.auth-panel .practice-tabs .active{background:var(--sage)}.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.member-grid h3 small{font-size:11px;font-weight:normal;margin-left:8px}.admin-invites{margin-bottom:24px}.admin-invites input{max-width:500px}.member-form .field{margin-top:6px}.settings-panel details{margin-top:16px}.settings-panel form .primary{margin-top:15px}@media(max-width:650px){.member-grid{grid-template-columns:1fr}.auth-panel{margin:15px 0}}

/* Check-ins remain separate from course completion. */
.checkin-overview { margin-bottom: 28px; }
.checkin-overview details { margin-top: 20px; }
.checkin-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
#checkin, #checkin input, #checkin select, #checkin textarea { scroll-margin-top: 24px; }
#checkin .field { width: 100%; min-width: 0; }
#checkin textarea { resize: vertical; }
.checkin-jump { margin-bottom: 18px; }
.checkin-history article { border-top: 1px solid var(--line, #e5e8df); padding: 16px 0; }
.checkin-reflection { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 600px) { .checkin-fields { grid-template-columns: 1fr; gap: 0; } }
