:root{font-family:"Pretendard Variable",Pretendard,Inter,system-ui,sans-serif;color:#17313f;background:#f4f8f9;--ink:#17313f;--muted:#687d87;--line:#dbe6e9;--navy:#102d3d;--mint:#148c79;--mint-soft:#e8f7f2;--aqua:#1e8195;--aqua-soft:#e8f4f7;--gold:#bf8731;--gold-soft:#fff4df;--red:#b8555a;--shadow:0 12px 36px #1134430d}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}[hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:30;background:var(--navy);border-bottom:3px solid #62d0b5;color:#eff9f8}.header-inner{max-width:1500px;min-height:68px;padding:0 28px;margin:auto;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:1.1rem;font-weight:800;white-space:nowrap}.brand small{display:inline-block;margin-left:4px;color:#9edbd0;font-size:.57rem;letter-spacing:.16em;vertical-align:middle}.brand-symbol{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#6de0c1;color:var(--navy);font-size:1.02rem;font-weight:900}.main-nav{display:flex;gap:5px;height:68px;align-items:stretch}.nav-link{position:relative;display:flex;align-items:center;gap:8px;padding:0 17px;border:0;background:transparent;color:#bdd1d4;font-size:.87rem;font-weight:710;white-space:nowrap}.nav-link:hover{color:#fff;background:#1e4250}.nav-link.active{color:#fff}.nav-link.active:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:3px;background:#6de0c1;border-radius:3px 3px 0 0}.nav-count{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:99px;background:#f5c96d;color:#354049;font-size:.68rem;font-weight:900}.user-chip{display:flex;align-items:center;gap:9px;margin-left:auto}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d4f4e9;color:#166756;font-size:.9rem;font-weight:850}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:.78rem}.user-chip small{margin-top:2px;color:#a8c0c6;font-size:.67rem}.back-link{margin-left:auto;color:#dff5f1;font-size:.83rem;font-weight:750;text-decoration:none}.student-header-label{color:#bdd2d6;font-size:.82rem}
.layout{max-width:1500px;margin:auto;padding:29px 28px 65px}.view{display:none}.view.active{display:block}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{margin:0 0 6px;color:var(--mint);font-size:.68rem;font-weight:850;letter-spacing:.13em}.page-heading h1,.student-title h1{margin:0;font-size:1.78rem;letter-spacing:-.04em}.page-heading p:not(.eyebrow),.student-title p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:.86rem}.date-chip{padding:9px 13px;border:1px solid #c9dfe2;border-radius:6px;background:#fff;color:#294d5a;font-size:.81rem;font-weight:820;white-space:nowrap}.date-chip span{color:var(--muted);font-size:.68rem}.schedule-stats,.review-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:18px}.schedule-stats article,.review-progress-card{min-height:101px;padding:17px 19px;border:1px solid var(--line);border-top:3px solid #80cdbd;border-radius:7px;background:#fff;box-shadow:var(--shadow)}.schedule-stats span,.review-progress-card>span{display:block;color:var(--muted);font-size:.74rem;font-weight:750}.schedule-stats strong,.review-progress-card strong{display:block;margin:4px 0 2px;font-size:1.54rem;letter-spacing:-.04em}.schedule-stats em,.review-progress-card strong small{color:#93a6ac;font-size:.9rem;font-style:normal}.schedule-stats small,.review-progress-card>small{color:#83949b;font-size:.72rem}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px}.schedule-card,.review-list-card,.review-detail{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px}.section-heading h2{margin:0;font-size:1.02rem}.section-heading p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}.tiny-tag{padding:5px 8px;border-radius:4px;background:#edf7f8;color:#47727d;font-size:.7rem;font-weight:750;white-space:nowrap}.schedule-list{border-top:1px solid var(--line)}.slot{display:grid;grid-template-columns:82px minmax(0,1fr) 32px;gap:13px;align-items:center;min-height:77px;padding:10px 19px;border-bottom:1px solid #e7eef0}.slot:last-child{border:0}.slot-time{display:flex;flex-direction:column;align-self:stretch;justify-content:center;border-right:1px solid #deeaec}.slot-time strong{font-size:.88rem;font-variant-numeric:tabular-nums}.slot-time span{margin-top:3px;color:#8b9ca3;font-size:.72rem}.slot-main{min-width:0}.slot-title{display:flex;align-items:center;gap:9px}.slot-title a{color:#1a6f80;font-size:.88rem;font-weight:820;text-decoration:none}.slot-title a:hover{text-decoration:underline}.attendance-pill{padding:3px 6px;border-radius:99px;background:#edf3f5;color:#687d86;font-size:.64rem;font-weight:800;white-space:nowrap}.attendance-pill.present{background:#e8f7ee;color:#27754f}.attendance-pill.absent{background:#fcebed;color:#ae5358}.attendance-pill.cancel{background:#fff0df;color:#a66b1e}.slot-handoff{overflow:hidden;margin:5px 0 0;color:#657d86;font-size:.75rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.slot-handoff span{margin-right:5px;color:var(--mint);font-size:.62rem;font-weight:900;letter-spacing:.05em}.slot-open{display:grid;place-items:center;width:28px;height:28px;border-radius:5px;color:var(--mint);background:#edf8f4;font-size:1rem;font-weight:750;text-decoration:none}.slot-open:hover{background:#d9f2e9}.open-slot{min-height:54px;background:#f9fbfb}.open-slot .slot-main{display:flex;gap:9px;align-items:center}.open-slot small{color:#9aa9ae;font-size:.72rem}.open-label{color:#9aa9ae;font-size:.77rem}.schedule-aside{display:grid;gap:14px}.aside-panel{padding:21px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.aside-panel:first-child{border-top:4px solid #5cc8ac}.aside-panel h2{margin:0;font-size:1.1rem}.aside-panel h3{margin:0 0 8px;font-size:.85rem}.aside-panel p:not(.eyebrow){color:#5e7580;font-size:.8rem;line-height:1.52}.aside-preview{display:flex;align-items:center;gap:10px;margin-top:20px;padding:12px;border-radius:6px;background:#eaf7f3;color:#356c60;font-size:.74rem;line-height:1.4}.mini-icon{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:6px;background:#d1eee3;font-size:.9rem}.aside-panel ul{margin:0;padding-left:19px;color:#627984;font-size:.78rem;line-height:1.85}
.review-overview .review-progress-card:nth-child(2){border-top-color:#7eb8ce}.review-overview .review-progress-card:nth-child(3){border-top-color:#e3b66e}.progress-track,.mini-progress{display:block;height:5px;border-radius:9px;background:#e8f0f1;overflow:hidden}.progress-track{margin-top:10px}.progress-track span,.mini-progress i{display:block;height:100%;background:#3aa98e;border-radius:inherit}.review-layout{display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start;gap:16px}.review-list-card{overflow:hidden}.review-list-card .section-heading{border-bottom:1px solid var(--line)}.review-list{max-height:720px;overflow:auto}.review-list-item{display:block;width:100%;padding:13px 17px;border:0;border-bottom:1px solid #e7eef0;background:#fff;text-align:left}.review-list-item:hover,.review-list-item.active{background:#f0faf7}.review-list-item.active{box-shadow:inset 3px 0 #39aa8a}.review-list-top,.review-list-bottom{display:flex;justify-content:space-between;gap:9px}.review-list-top strong{font-size:.83rem}.review-list-top b{color:var(--mint);font-size:.83rem}.review-list-bottom{margin:4px 0 9px;color:#80929a;font-size:.69rem}.mini-progress{height:4px}.review-detail{min-height:370px;padding:21px}.review-empty{padding:55px;color:var(--muted);text-align:center;font-size:.84rem}.review-detail-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.review-detail-head h2{margin:0 0 5px;font-size:1.19rem}.review-detail-head span{color:var(--muted);font-size:.74rem}.review-score{text-align:right}.review-score strong{display:block;font-size:1.4rem}.review-score small{color:var(--muted);font-size:.68rem}.review-score-strip{display:flex;gap:8px;margin:17px 0 21px}.review-score-strip span{padding:8px 10px;border-radius:5px;background:#edf6f8;color:#5d7480;font-size:.75rem}.review-score-strip b{margin-left:7px;color:#1a4e5c}.review-group{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.review-group-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.review-group-title h3{margin:0;font-size:.91rem}.review-group-title>span{color:var(--muted);font-size:.73rem}.score-details{margin:12px 0;border:1px solid #dfebed;border-radius:5px}.score-details summary{padding:10px 12px;color:#52727d;cursor:pointer;font-size:.73rem;font-weight:760}.score-details summary span{float:right}.skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px;padding:4px 12px 10px}.skill-grid div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #ecf1f2;font-size:.72rem}.skill-grid span{color:#697e87}.skill-grid strong{white-space:nowrap}.coaching-item{margin:11px 0;padding:14px;border:1px solid #dde9eb;border-radius:6px;background:#fff}.coaching-item.seen{background:#f8fbfa}.coaching-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}.coaching-heading>span{color:#1c5966;font-size:.74rem;font-weight:840}.seen-button{padding:6px 9px;border:1px solid #b7dcd1;border-radius:4px;color:#21765f;background:#eef9f4;font-size:.68rem;font-weight:780;white-space:nowrap}.seen-button.is-seen{border-color:#d7e4e2;color:#6c8880;background:#f6faf8}.coaching-evidence{display:grid;gap:6px;margin:10px 0}.coaching-evidence div{padding:9px 11px;border-left:3px solid #73b4c1;background:#f2f8f9}.coaching-evidence div:has(b:first-child):nth-child(2){border-left-color:#78b394;background:#f2f8f3}.coaching-evidence b{display:block;color:#47717c;font-size:.65rem;text-transform:uppercase}.coaching-evidence q{display:block;margin-top:3px;color:#2a4653;font-size:.76rem;line-height:1.42}.coaching-evidence small{display:block;margin-top:3px;color:#87989e;font-size:.64rem}.coaching-note{margin:8px 0 0;color:#516973;font-size:.75rem;line-height:1.45}.coaching-note b{display:block;margin-bottom:3px;color:#297e6b;font-size:.67rem;text-transform:uppercase}.review-clear{margin:12px 0;color:var(--muted);font-size:.77rem}
.demo-banner{display:flex;gap:11px;align-items:start;margin-bottom:18px;padding:13px 15px;border:1px solid #ecd7aa;border-radius:7px;background:#fff8e9;color:#725929;font-size:.79rem;line-height:1.45}.demo-banner strong{color:#59451c}.demo-icon{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:#eecb83;color:#493812;font-weight:850}.pay-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:28px 31px;border-radius:9px;background:linear-gradient(125deg,#102e3e,#164e54);color:#eefaf8;box-shadow:0 19px 40px #12394a26}.pay-hero .eyebrow{color:#8ee7c7}.rate-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:15px}.rate-line strong{font-size:2.65rem;letter-spacing:-.06em}.rate-line span{color:#bdd9d9;font-size:.83rem}.pay-hero p:not(.eyebrow){max-width:580px;color:#c8dedd;font-size:.79rem;line-height:1.5}.pay-breakdown{padding:16px 18px;border:1px solid #477579;border-radius:7px;background:#ffffff12}.pay-breakdown h3{margin:0 0 8px;font-size:.79rem}.pay-breakdown div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-top:1px solid #ffffff25;font-size:.74rem}.pay-breakdown span{color:#c1d9d9}.pay-breakdown b{color:#b1f0d9}.milestone-section{margin-top:28px}.milestone-section>.section-heading{padding:0 0 13px}.milestone-section .section-heading h2{font-size:1.13rem}.milestone-section .section-heading p:not(.eyebrow){max-width:760px}.section-count{padding:6px 9px;border-radius:4px;background:#e8f7f2;color:#27765d;font-size:.76rem;font-weight:800}.milestone-grid{display:grid;gap:13px}.milestone-grid.performance-grid{grid-template-columns:1fr 1fr 1.4fr}.milestone-grid.three{grid-template-columns:repeat(3,1fr)}.milestone-grid.two{grid-template-columns:repeat(2,1fr)}.milestone-card{padding:19px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:var(--shadow)}.milestone-card.emphasis{border-top:3px solid #69bfaa}.milestone-card>strong{display:block;margin:9px 0;font-size:1.65rem;letter-spacing:-.04em}.milestone-card>strong small{color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:0}.milestone-card>small{color:var(--muted);font-size:.73rem}.milestone-card p{color:#657a84;font-size:.76rem;line-height:1.45}.card-kicker{color:var(--muted);font-size:.74rem;font-weight:780}.tier-card h3{margin:0 0 12px;font-size:.84rem}.tier-list{margin-top:10px}.tier-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #e7edef;color:#8b9ca2;font-size:.73rem}.tier-row.earned{color:#266f5e}.tier-row span small{display:block;margin-top:2px;font-size:.64rem}.tier-row b{white-space:nowrap}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.badge-card{display:flex;flex-direction:column;align-items:start;min-height:128px;padding:14px;border:1px solid var(--line);border-radius:7px;background:#fff}.badge-card.earned{border-color:#b6e0c7;background:#f4fbf6}.badge-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:11px;border-radius:9px;background:#e8edf0;color:#81929b;font-size:.75rem;font-weight:850}.badge-card.earned .badge-icon{background:#d8f3df;color:#277b4e}.badge-card strong{font-size:.79rem}.badge-card small{margin-top:4px;color:var(--muted);font-size:.67rem}.badge-card.earned small{color:#3e8a61}.requirement-state{margin-top:13px;padding:9px;border-radius:5px;font-size:.73rem;font-weight:790}.requirement-state.achieved{color:#2c7753;background:#e9f7ee}.dual-metric{display:flex;gap:22px;margin-top:13px}.dual-metric strong,.dual-metric span{display:block}.dual-metric strong{font-size:1.55rem}.dual-metric span{color:var(--muted);font-size:.68rem}.history-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.history-stats div{padding:17px 19px;border:1px solid var(--line);border-radius:7px;background:#fff}.history-stats strong{display:block;font-size:1.45rem}.history-stats span{color:var(--muted);font-size:.73rem}
.student-layout{max-width:1260px}.student-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:18px}.student-title-actions{display:flex;align-items:center;gap:10px}.subtle-chip{padding:7px 10px;border-radius:5px;background:#eaf5f4;color:#427569;font-size:.73rem;font-weight:800}.outline-link{padding:7px 10px;border:1px solid #c8dbdf;border-radius:5px;background:#fff;color:#397082;font-size:.75rem;font-weight:780;text-decoration:none}.student-meta-card{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;margin-bottom:17px;border:1px solid var(--line);border-radius:8px;background:#fff}.student-meta-card>div{padding:13px 16px;border-right:1px solid #e5edef;border-bottom:1px solid #e5edef}.student-meta-card>div:nth-child(3n){border-right:0}.student-meta-card>div:nth-last-child(-n+3){border-bottom:0}.student-meta-card span,.student-meta-card strong{display:block}.student-meta-card span{color:var(--muted);font-size:.68rem}.student-meta-card strong{margin-top:4px;font-size:.8rem}.handoff-hero{margin-bottom:18px;padding:23px 25px;border:1px solid #a6d8c9;border-top:5px solid #42b18f;border-radius:8px;background:linear-gradient(125deg,#f5fcf9,#ecf8f4);box-shadow:var(--shadow)}.handoff-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.handoff-head h2{margin:0;font-size:1.2rem}.handoff-priority{padding:6px 9px;border-radius:99px;background:#d9eee6;color:#347862;font-size:.67rem;font-weight:850;text-transform:uppercase}.handoff-priority.priority,.handoff-priority.high{background:#fff0cf;color:#956522}.handoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:19px 0}.handoff-grid>div{padding:0 16px 0 0;border-right:1px solid #d7e9e3}.handoff-grid>div:last-child{border:0}.handoff-grid span,.next-action span{color:#3e806b;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.handoff-grid p{margin:7px 0 0;color:#3b5b55;font-size:.83rem;line-height:1.55}.next-action{display:grid;gap:6px;padding:15px 17px;border-left:4px solid #199377;border-radius:4px;background:#e0f3e9}.next-action strong{font-size:.84rem;line-height:1.5}.handoff-expiry{display:block;margin-top:11px;color:#728d84;font-size:.68rem}.student-work-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px}.student-main-column,.student-side-column{display:grid;gap:18px}.student-card{padding:19px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.student-card-head{margin-bottom:15px}.student-card-head h2{margin:0;font-size:1rem}.student-card-head p:not(.eyebrow){margin:6px 0 0;color:var(--muted);font-size:.76rem}.topic-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:11px}.topic-panel{min-height:176px;padding:12px;border:1px solid #dbe8ea;border-radius:6px;background:#f8fbfb}.topic-panel>span,.topic-panel label{display:block;color:#587782;font-size:.71rem;font-weight:800}.topic-panel label small{margin-left:4px;color:#299078;font-size:.66rem}.topic-panel p{margin:8px 0;color:#4d6570;font-size:.75rem;line-height:1.47}.topic-panel textarea{width:100%;min-height:82px;margin:8px 0;padding:9px;border:1px solid #b9d4d8;border-radius:4px;background:#fff;color:#1a3744;resize:vertical;font-size:.77rem}.topic-panel.editable{background:#eef9f6;border-color:#b8e1d3}.primary-button{padding:8px 11px;border:0;border-radius:4px;color:#fff;background:#148b75;font-size:.72rem;font-weight:820}.saved-note{display:inline-block;margin-left:8px;color:#3b8a6b;font-size:.69rem}.attendance-options{display:flex;flex-wrap:wrap;gap:8px}.attendance-option{display:flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid #d5e3e6;border-radius:5px;background:#fff;color:#546d77;font-size:.75rem;cursor:pointer}.attendance-option.selected{border-color:#87cdb4;background:#ebf8f0;color:#276f57;font-weight:820}.attendance-option input{accent-color:#1e9b7e}.attendance-card .saved-note{display:block;margin:12px 0 0}.context-row{padding:10px 0;border-top:1px solid #e7eef0}.context-row b{font-size:.74rem}.context-row p{margin:5px 0 0;color:var(--muted);font-size:.74rem;line-height:1.45}.program-list{margin:0}.program-list div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #e7eef0;font-size:.73rem}.program-list dt{color:var(--muted)}.program-list dd{margin:0;text-align:right}.loading,.error-state{padding:35px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);text-align:center}
@media(max-width:1100px){.schedule-layout,.student-work-grid{grid-template-columns:1fr}.schedule-aside{grid-template-columns:1fr 1fr}.review-layout{grid-template-columns:270px 1fr}.badge-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:820px){.header-inner{flex-wrap:wrap;gap:0;padding:0 16px}.brand{height:54px}.main-nav{order:3;width:100%;height:47px;overflow:auto}.nav-link{padding:0 12px;font-size:.78rem}.user-chip{margin-left:auto}.layout{padding:20px 15px 50px}.milestone-grid.performance-grid,.milestone-grid.three{grid-template-columns:1fr 1fr}.milestone-grid.performance-grid .tier-card{grid-column:1/-1}.badge-grid{grid-template-columns:repeat(2,1fr)}.review-layout{grid-template-columns:1fr}.review-list{display:flex;overflow-x:auto;max-height:none}.review-list-item{flex:0 0 220px;border-right:1px solid #e7eef0}.student-meta-card{grid-template-columns:repeat(2,1fr)}.student-meta-card>div:nth-child(3n){border-right:1px solid #e5edef}.student-meta-card>div:nth-child(2n){border-right:0}.student-meta-card>div:nth-last-child(-n+3){border-bottom:1px solid #e5edef}.student-meta-card>div:nth-last-child(-n+2){border-bottom:0}}@media(max-width:620px){.page-heading,.student-title{display:block}.date-chip{display:inline-block;margin-top:13px}.schedule-stats,.review-overview,.milestone-grid.performance-grid,.milestone-grid.three,.milestone-grid.two,.history-stats,.handoff-grid,.topic-grid,.student-meta-card{grid-template-columns:1fr}.schedule-stats,.review-overview{gap:8px}.schedule-aside{grid-template-columns:1fr}.slot{grid-template-columns:62px minmax(0,1fr) 27px;padding:9px 11px;gap:8px}.slot-handoff{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.slot-time strong{font-size:.77rem}.pay-hero{grid-template-columns:1fr;padding:21px;gap:13px}.rate-line strong{font-size:2.15rem}.milestone-grid.performance-grid .tier-card{grid-column:auto}.badge-grid{grid-template-columns:repeat(2,1fr)}.student-title-actions{margin-top:13px}.student-meta-card>div{border-right:0!important}.student-meta-card>div:nth-last-child(-n+2){border-bottom:1px solid #e5edef}.student-meta-card>div:last-child{border-bottom:0}.handoff-grid>div{border-right:0;border-bottom:1px solid #d7e9e3;padding:0 0 12px}.handoff-grid>div:last-child{border:0}.topic-panel{min-height:auto}.user-chip small{display:none}.review-score-strip{flex-wrap:wrap}}

/* Static grammar and long-term memory examples for the prototype student page. */
.grammar-practice{margin-top:17px;padding:17px;border:1px solid #b9dbd1;border-radius:7px;background:#fff}
.grammar-practice-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.grammar-practice-head h3{margin:0;color:#244e44;font-size:1rem}
.grammar-tag{padding:5px 8px;border-radius:4px;background:#e4f3ed;color:#347862;font-size:.68rem;font-weight:850;letter-spacing:.03em}
.grammar-description,.grammar-pattern,.grammar-guidance{margin:11px 0 0;color:#3b5b55;font-size:.78rem;line-height:1.5}
.grammar-pattern{padding:10px 12px;border-left:3px solid #42b18f;background:#f3faf7}
.grammar-pattern strong{display:block;margin-bottom:3px;color:#3e806b;font-size:.68rem;text-transform:uppercase}
.grammar-guidance{color:#52776b;font-style:italic}
.grammar-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}
.grammar-scenarios article{padding:11px;border:1px solid #d6e9e0;border-radius:5px;background:#f8fcfa}
.grammar-scenarios article>strong{display:block;color:#285b4b;font-size:.76rem}
.grammar-scenarios article>span{display:block;margin-top:2px;color:#5b8274;font-size:.67rem}
.grammar-scenarios article p{margin:8px 0 0;color:#3b5b55;font-size:.72rem;line-height:1.45}
.student-memory .student-card-head{margin-bottom:7px}
.memory-item{padding:9px 0;border-top:1px solid #e7eef0}
.memory-item b{color:#2e5d61;font-size:.73rem}
.memory-item p{margin:4px 0 0;color:var(--muted);font-size:.74rem;line-height:1.45}
@media(max-width:820px){.grammar-scenarios{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grammar-scenarios{grid-template-columns:1fr}.grammar-practice-head{flex-wrap:wrap}}
