:root{--paper:#f7f1e7;--ink:#28261f;--muted:#77746b;--line:#e7e0d5;--orange:#ef805f;--sage:#b6c6aa;--lav:#d6c9eb;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',sans-serif;--display:Manrope,'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fcfaf6;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.topbar{height:76px;display:flex;align-items:center;padding:0 7.3%;border-bottom:1px solid #eee9e1;background:#fcfaf6;gap:52px}.brand{display:flex;align-items:center;gap:9px;font:800 21px var(--display);letter-spacing:-1.2px}.brand>span:last-child>span{font-weight:500;color:#827e72}.brand-mark{width:31px;height:31px;border-radius:10px;background:#333024;display:grid;place-items:center}.brand-mark svg{width:25px;fill:#ffe1a8;stroke:#ffe1a8;stroke-width:1.2}.nav-links{display:flex;gap:34px;margin:auto;font-size:13px;color:#68665f}.nav-links a:hover,footer a:hover{color:#cb684d}.profile-button{border:0;background:#e9dac5;color:#514b40;border-radius:50%;width:36px;height:36px;font-size:11px;font-weight:700}.hero{min-height:480px;background:var(--paper);padding:66px 12% 55px 13.4%;display:grid;grid-template-columns:1fr 400px;align-items:center;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:1.65px;font-weight:700;color:#8a7860}.spark{font-size:17px;color:#d07857;vertical-align:-1px;margin-right:6px}.hero h1{font:600 clamp(50px,5.1vw,70px)/1.04 var(--display);letter-spacing:-4.3px;margin:20px 0 18px}.hero h1 em,.guide-intro h2 em{font:italic 500 1em var(--serif);color:#b8674c;letter-spacing:-3px}.hero-text{max-width:400px;color:#706e65;font-size:15px;line-height:1.7;margin:0}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:27px}.button{display:inline-flex;align-items:center;gap:17px;padding:14px 19px;border-radius:7px;font-weight:600;font-size:12px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:#302d25;color:#fffaf0}.button-dark span{font-size:17px;color:#ffd395}.learner-note{display:flex;align-items:center;gap:9px;color:#79766e;font-size:10px}.mini-avatars{display:flex}.mini-avatars b{width:23px;height:23px;margin-left:-4px;border:2px solid var(--paper);border-radius:50%;background:#d99a7d;display:grid;place-items:center;color:white;font:700 9px var(--sans)}.mini-avatars b:nth-child(2){background:#859a78}.mini-avatars b:nth-child(3){background:#a992bc}.hero-art{height:350px;position:relative;display:grid;place-items:center}.sun{position:absolute;width:234px;height:234px;border-radius:50%;background:#f3c780;left:83px;top:58px}.orbit{position:absolute;border:1px solid rgba(92,78,56,.2);border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:345px;height:188px}.orbit-two{width:390px;height:255px;transform:rotate(37deg)}.art-card{position:absolute;box-shadow:0 14px 30px #6c5a351c}.card-note{width:175px;height:191px;background:#fffaf0;padding:22px 20px;left:70px;top:77px;transform:rotate(-7deg);display:flex;flex-direction:column}.card-note span{font-size:9px;color:#8b8373;letter-spacing:.6px}.card-note strong{font:600 24px/1.08 var(--display);letter-spacing:-1.1px;margin-top:15px}.card-note i{font-style:normal;align-self:flex-end;color:#cf7652;font-size:22px;margin-top:auto}.card-stamp{width:118px;height:145px;background:#718268;color:#fff4d7;right:39px;bottom:56px;transform:rotate(9deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.stamp-icon{font-size:41px}.card-stamp span{font-size:8px;letter-spacing:1.5px;line-height:1.6;text-align:center}.art-line{position:absolute;width:63px;height:1px;background:#a97d55;transform:rotate(53deg);right:40px;top:73px}.line-two{width:38px;right:8px;top:103px;transform:rotate(-30deg)}.art-star{position:absolute;color:#cb7750}.star-a{left:38px;top:67px;font-size:20px}.star-b{right:22px;bottom:49px;font-size:25px;color:#7a876e}.quick-row{margin:0 auto;padding:25px 6%;max-width:1130px;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.quick-row>div{display:flex;align-items:center;gap:12px;padding:2px 20px;border-right:1px solid var(--line)}.quick-row>div:last-child{border:0}.quick-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:20px}.coral{background:#f8e5dc;color:#be6246}.lavender{background:#ede8f4;color:#756291}.green{background:#e6ecdf;color:#647454}.quick-row strong,.quick-row small{display:block}.quick-row strong{font-size:11px;font-weight:700}.quick-row small{font-size:10px;color:#89867d;margin-top:4px}.section{max-width:1110px;margin:0 auto;padding:75px 4% 55px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section h2,.language-banner h2{font:700 32px var(--display);letter-spacing:-1.5px;margin:10px 0 7px}.section-heading p,.language-banner p{font-size:12px;color:#817e75;margin:0}.count-pill{font-size:10px;border:1px solid var(--line);border-radius:30px;padding:8px 12px;color:#77736a}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:25px 0 20px;gap:14px}.search-box{height:42px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;padding:0 12px;gap:9px;flex:1;max-width:400px;background:#fffefa}.search-box svg{width:17px;fill:none;stroke:#8e897d;stroke-width:1.6}.search-box input{border:0;outline:0;background:transparent;font:12px var(--sans);width:100%;color:var(--ink)}.filter-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:end}.filter-chip{border:1px solid transparent;background:transparent;border-radius:20px;padding:8px 11px;font:500 10px var(--sans);color:#77736a;cursor:pointer}.filter-chip:hover,.filter-chip.active{background:#eee8de;color:#37342d}.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.topic-card{min-height:112px;background:#fffefa;border:1px solid #eee9e1;border-radius:9px;padding:15px;position:relative;transition:transform .18s,border .18s,box-shadow .18s;cursor:pointer;display:flex;flex-direction:column}.topic-card:hover{transform:translateY(-3px);border-color:#d8cbbb;box-shadow:0 10px 23px #50422a0c}.topic-icon{height:33px;width:33px;border-radius:10px;display:grid;place-items:center;margin-bottom:10px}.topic-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.topic-card h3{font:700 12px var(--display);margin:0 0 5px}.topic-card p{font-size:10px;color:#8a877d;margin:0;line-height:1.45}.topic-arrow{position:absolute;right:14px;top:14px;color:#aaa398}.empty-state{text-align:center;padding:45px;color:#807b70}.empty-state>span{font-size:28px;color:#c27859}.empty-state h3{font:700 17px var(--display);margin:10px}.empty-state p{font-size:12px}.browse-more{display:flex;justify-content:space-between;padding-top:22px;color:#969187;font-size:11px}.text-button{border:0;padding:0;background:none;color:#a6573d;font:600 11px var(--sans);cursor:pointer}.text-button span{margin-left:7px;font-size:16px;vertical-align:-1px}.guides-section{background:#f3eee5;padding:72px max(calc((100% - 1015px)/2),7%) 75px;display:grid;grid-template-columns:.88fr 1.5fr;gap:60px;align-items:center}.guide-intro h2{font:700 33px/1.2 var(--display);letter-spacing:-1.5px;margin:13px 0}.guide-intro p{font-size:12px;line-height:1.8;color:#7d796f;max-width:290px;margin-bottom:21px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.guide-card{border-radius:9px;background:#fffdf8;padding:14px;min-width:0}.guide-top{display:flex;justify-content:space-between;align-items:start}.portrait{width:58px;height:58px;border-radius:19px 19px 19px 6px;display:grid;place-items:center;position:relative;font:700 19px var(--display)}.portrait i{position:absolute;font-style:normal;right:-5px;top:-5px;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;background:white;font-size:13px}.portrait-mira{background:#f1c5aa;color:#874d39}.portrait-dev{background:#c6d5b7;color:#48543d;font-size:15px}.portrait-words{background:#d7c7e8;color:#614d79}.guide-tag{font-size:7px;letter-spacing:.5px;color:#898477;margin-top:4px}.guide-card h3{font:700 17px var(--display);margin:13px 0 4px}.guide-card p{font-size:10px;line-height:1.55;color:#817d74;min-height:46px;margin:0}.guide-quote{border-top:1px solid #eee9e1;margin-top:10px;padding-top:9px;font:italic 11px var(--serif);color:#9b624b}.language-section{max-width:1030px;margin:auto;padding:75px 4%}.language-banner{background:#393a31;border-radius:13px;min-height:215px;padding:32px 37px;display:flex;justify-content:space-between;align-items:center;color:#fff8e9;overflow:hidden}.language-banner .eyebrow{color:#dbc398}.language-banner h2{font-size:31px;margin:12px 0 7px}.language-banner p{color:#ccc9bc;margin-bottom:19px}.button-light{background:#f6e8cd;color:#37342c;padding:12px 15px}.button-light span{color:#b76a4e}.language-glyphs{display:grid;grid-template-columns:repeat(4,47px);gap:10px;transform:rotate(-9deg);margin-right:30px}.language-glyphs span{width:47px;height:47px;display:grid;place-items:center;border-radius:13px;background:#55564b;color:#efc98e;font:500 20px var(--serif)}.language-glyphs span:nth-child(2n){transform:translateY(11px);background:#6d6b5d;color:#f9eacb}.language-list{display:flex;flex-wrap:wrap;gap:8px;padding:24px 0 12px}.language-pill{background:#fffefa;border:1px solid #ece6dc;border-radius:20px;padding:9px 13px;font-size:10px;color:#605c53;cursor:pointer}.language-pill:hover,.language-pill.active{background:#ede7dc;border-color:#dbd1c2}.language-toggle{margin-top:4px}footer{max-width:1030px;margin:auto;padding:20px 4% 30px;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);font-size:10px;color:#8b877e}footer .brand{font-size:17px}footer .brand-mark{width:27px;height:27px;border-radius:8px}footer .brand-mark svg{width:21px}footer>span{margin:auto}footer>a:last-child{color:#827d72}
@media(max-width:850px){.hero{padding:56px 7%;grid-template-columns:1fr 320px}.hero-art{transform:scale(.86);transform-origin:center}.topic-grid{grid-template-columns:repeat(3,1fr)}.guides-section{grid-template-columns:1fr;gap:28px}.guide-intro p{max-width:500px}.guide-intro h2 br{display:none}}@media(max-width:620px){.topbar{height:64px;padding:0 5%;gap:0;justify-content:space-between}.nav-links{gap:16px;margin:0;font-size:11px}.nav-links a:nth-child(2){display:none}.profile-button{width:32px;height:32px}.hero{display:block;padding:52px 7% 34px}.hero h1{font-size:54px}.hero-art{height:275px;margin:15px auto 0;max-width:370px;transform:scale(.78)}.hero-actions{align-items:start;flex-direction:column;gap:13px}.quick-row{padding:17px 5%;grid-template-columns:1fr;gap:12px}.quick-row>div{padding:0;border:0}.section{padding:54px 5% 42px}.section-heading{align-items:start;gap:12px;flex-direction:column}.section h2{font-size:28px}.toolbar{align-items:stretch;flex-direction:column}.search-box{max-width:none}.filter-row{justify-content:start}.topic-grid{grid-template-columns:repeat(2,1fr);gap:8px}.topic-card{min-height:105px;padding:12px}.guides-section{padding:50px 5%}.guide-grid{gap:7px}.guide-card{padding:10px}.guide-tag{font-size:6px}.portrait{width:49px;height:49px}.guide-card p{font-size:9px}.language-section{padding:48px 5%}.language-banner{padding:26px 22px;min-height:190px}.language-glyphs{grid-template-columns:repeat(3,38px);gap:7px;margin:0 -14px 0 7px}.language-glyphs span{width:38px;height:38px;font-size:16px}.language-banner h2{font-size:26px}.language-banner p{max-width:260px;font-size:10px;line-height:1.6}footer{padding:18px 5%;gap:10px}footer>span{display:none}footer>a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Language speech tools, learning pair, sample leaderboard, and legal draft pages */
.language-lab{background:#f8f5ef;border:1px solid #ece5da;border-radius:12px;padding:25px 28px;margin:18px 0}.pair-head h3{font:700 20px var(--display);letter-spacing:-.5px;margin:8px 0 4px}.pair-head p{font-size:11px;color:#817d74;margin:0}.pair-selectors{display:flex;gap:13px;align-items:end;margin:19px 0 22px;max-width:530px}.pair-selectors label,.phrase-label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:600;color:#6b675e;flex:1}.pair-selectors select{height:39px;border:1px solid #e4ddd1;border-radius:6px;padding:0 10px;background:#fffefa;color:#302d25;font:12px var(--sans);min-width:0}.swap-languages{height:36px;width:38px;border:1px solid #e4ddd1;border-radius:50%;background:white;color:#8a7254;font-size:19px;cursor:pointer}.speech-tools{border-top:1px solid #e9e2d7;padding-top:18px}.phrase-label textarea{resize:vertical;min-height:59px;max-width:720px;border:1px solid #e4ddd1;border-radius:7px;padding:11px;background:#fffefa;color:#302d25;font:12px/1.55 var(--sans)}.speech-actions{display:flex;gap:9px;margin:12px 0}.speech-actions .button{border:0;cursor:pointer}.speech-actions .button span{font-size:9px;opacity:.75}.speech-status{font-size:10px;line-height:1.6;color:#79756d;max-width:660px}.transcript{font-size:12px;color:#68645b;border-left:2px solid #d3bf9f;padding:7px 11px;min-height:31px;max-width:720px}.language-tracks{margin-top:23px}.language-tracks>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.language-track,.subtopic-chip{border:1px solid #dfd7ca;background:#fffcf6;padding:8px 11px;border-radius:20px;color:#605c53;font:10px var(--sans);cursor:pointer}.language-track:hover,.subtopic-chip:hover,.language-track.active{background:#eee8de}.language-track.active{border-color:#d3c3ab}.lesson-link{display:inline-flex;align-items:center;gap:10px;margin-top:15px;background:#37342d;color:#fff8eb;border-radius:6px;padding:11px 14px;font-size:11px;font-weight:600}.lesson-link span{color:#f3c78d;font-size:16px}.leaderboard-section{max-width:1000px;margin:0 auto;padding:42px 4% 78px;display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center}.leaderboard-intro h2{font:700 29px var(--display);letter-spacing:-1.2px;margin:12px 0 8px}.leaderboard-intro p{font-size:12px;line-height:1.7;color:#817d74;max-width:340px}.draft-badge{display:inline-block;border-radius:20px;background:#f2e8d7;color:#967452;padding:7px 10px;font-size:8px;letter-spacing:.8px;font-weight:700}.leaderboard-card{border:1px solid #eee8de;border-radius:11px;background:#fffefa;padding:18px 20px;box-shadow:0 10px 28px #55492c0a}.board-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid #eee9e1}.board-heading strong,.board-heading small{display:block}.board-heading strong{font:700 14px var(--display)}.board-heading small{font-size:9px;color:#8b877e;margin-top:4px}.board-spark{font-size:22px;color:#bb7950}.board-list{list-style:none;padding:0;margin:0}.board-list li{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f0ece5}.rank{font:700 10px var(--display);color:#9e9789;width:17px}.board-avatar{height:29px;width:29px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#55473b}.avatar-peach{background:#f0d2bf}.avatar-green{background:#d9e4cf}.avatar-lilac{background:#e5dcf1}.avatar-yellow{background:#f2e5be}.board-name{font-size:10px;font-weight:700;flex:1}.board-name small{display:block;font-size:8px;color:#918c82;font-weight:400;margin-top:3px}.board-list li>strong{font-size:10px}.board-list li>strong small{font-size:8px;color:#8e897e;font-weight:500}.board-note{font-size:9px;line-height:1.5;color:#99948a;margin:12px 0 0}.legal-links{display:flex;gap:12px}.legal-page{max-width:810px;margin:0 auto;padding:58px 5% 80px}.legal-page h1{font:700 39px var(--display);letter-spacing:-1.8px;margin:10px 0}.legal-page .legal-updated{font-size:11px;color:#858077}.legal-notice{background:#f4ead8;border:1px solid #e9dbc3;border-radius:8px;padding:13px 15px;margin:22px 0;font-size:11px;line-height:1.7;color:#6d5942}.legal-page h2{font:700 19px var(--display);margin:31px 0 9px}.legal-page p,.legal-page li{font-size:12px;line-height:1.85;color:#666259}.legal-page ul{padding-left:20px}.legal-nav{display:flex;justify-content:space-between;align-items:center;padding:17px 7%;border-bottom:1px solid #eee9e1}.legal-nav .button{padding:9px 12px}.legal-nav .brand{font-size:18px}.legal-contact{background:#f7f3eb;border-radius:8px;padding:15px 17px}.legal-contact a{color:#a6573d;text-decoration:underline}.lesson-page{max-width:850px;margin:0 auto;padding:48px 5% 80px}.lesson-back{font-size:11px;color:#9d614a}.lesson-page h1{font:700 clamp(34px,5vw,49px)/1.12 var(--display);letter-spacing:-1.8px;margin:14px 0 12px}.lesson-lede{font:18px/1.65 var(--serif);color:#69645b;max-width:720px}.lesson-meta{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 27px}.lesson-meta span{border:1px solid #e8e1d5;border-radius:20px;padding:7px 10px;color:#777267;font-size:9px}.lesson-progress{background:#f6efe4;border-radius:9px;padding:17px 19px;margin-bottom:29px;font-size:11px;color:#6e675b;line-height:1.7}.lesson-chapter{padding:23px 0 19px;border-bottom:1px solid #eae4da}.lesson-chapter h2{font:700 22px var(--display);letter-spacing:-.5px;margin:0 0 10px}.lesson-chapter h3{font:700 15px var(--display);margin:21px 0 7px}.lesson-chapter p,.lesson-chapter li{font-size:13px;line-height:1.95;color:#514e47}.lesson-chapter p{margin:9px 0}.lesson-example,.lesson-callout{background:#f5f1e9;border-left:3px solid #bb8057;border-radius:0 7px 7px 0;padding:14px 17px;margin:15px 0;font-size:12px;line-height:1.85;color:#514b42}.lesson-example strong{color:#322f28}.math-expression{font:600 16px var(--display);color:#5c503f;letter-spacing:.2px}.lesson-check{margin-top:30px;border-radius:11px;background:#f4efe5;padding:22px}.lesson-check h2{font:700 20px var(--display);margin:0 0 8px}.lesson-check p{font-size:12px;line-height:1.7;color:#706b61}.lesson-check button{border:0;border-radius:6px;background:#312e27;color:#fff8eb;padding:12px 15px;font:600 11px var(--sans);cursor:pointer}.check-content{display:none;margin-top:19px}.check-content.open{display:block}.check-item{border-top:1px solid #e2dacd;padding:12px 0;font-size:12px;line-height:1.75}.check-item details{margin-top:7px}.check-item summary{color:#9f5f43;cursor:pointer;font-weight:600}.check-item details p{margin:5px 0}.lesson-footer{margin-top:29px;border-top:1px solid #e8e2d8;padding-top:17px;color:#8d877d;font-size:10px;line-height:1.7}@media(max-width:650px){.language-lab{padding:19px 15px}.pair-selectors{gap:7px}.pair-selectors select{font-size:10px;padding:0 5px}.speech-actions{flex-wrap:wrap}.speech-actions .button{padding:11px 12px}.leaderboard-section{grid-template-columns:1fr;gap:21px;padding-top:25px}.board-list li{gap:8px}.legal-page{padding-top:40px}.lesson-page{padding-top:35px}.lesson-chapter p,.lesson-chapter li{font-size:12px}.legal-links{gap:8px}}

.lesson-links{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:15px}.lesson-link{display:inline-flex;align-items:center;gap:10px;border-radius:6px;background:#332f28;color:#fff8eb;padding:10px 13px;font-size:11px;font-weight:600;text-decoration:none}.lesson-link span{color:#e4b887}.lesson-link:hover{background:#5b4d3c}

/* Local profiles, lessons, and classroom tools */
.learning-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px}.learning-controls label,.em-inline-label,.em-class-picker,.em-card-heading>label{display:flex;flex-direction:column;gap:6px;color:#777267;font-size:9px;font-weight:700;letter-spacing:.35px}.learning-controls select,.em-inline-label select,.em-class-picker select,.em-card-heading>label select,.em-settings select,.em-modal select,.em-card input,.em-card select,.em-card textarea,.em-modal input,.em-modal textarea{min-height:38px;border:1px solid #e4ddd1;border-radius:7px;background:#fffefa;color:#38352e;padding:9px 11px;font:11px var(--sans)}.learning-controls select{min-width:145px}.learning-hub{border-top:1px solid var(--line);scroll-margin-top:20px}.learning-hub[hidden]{display:none}.learning-hub .section-heading{margin-bottom:22px}.learning-hub .section-heading h2{margin-bottom:5px}.em-card{background:#fffefa;border:1px solid #eee8de;border-radius:11px;padding:19px 21px;margin:15px 0;box-shadow:0 9px 25px #55492c08}.em-card h3{font:700 17px var(--display);letter-spacing:-.35px;margin:0 0 7px}.em-card h4{font:700 14px var(--display);margin:3px 0 6px}.em-card p{font-size:11px;line-height:1.7;color:#777267}.em-muted,.em-tiny{font-size:10px;line-height:1.65;color:#8a857a}.em-tiny{font-size:9px}.em-empty{max-width:560px}.em-profile-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#f6f1e7;border-radius:9px;padding:15px 18px;margin-bottom:15px}.em-profile-summary strong,.em-profile-summary small{display:block}.em-profile-summary strong{font:700 16px var(--display);margin-top:5px}.em-profile-summary small{font-size:10px;color:#827c70;margin-top:4px}.em-inline-form,.em-form-grid{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.em-inline-form{margin:15px 0}.em-inline-form label,.em-settings>form>label,.em-assignment-builder form>label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px;color:#736e64;font-size:10px;font-weight:600}.em-form-grid{display:grid;grid-template-columns:1fr 1fr}.em-success{border-left:3px solid #78936c;background:#f0f5ec;padding:9px 12px;border-radius:0 7px 7px 0}.em-card-heading{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}.em-card-heading h3,.em-card-heading h4{margin:0}.em-card-heading p{margin:5px 0 0}.em-assignment-list{display:grid;gap:9px}.em-assignment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;background:#fcfaf6;border:1px solid #eee8de;border-radius:8px;padding:13px 15px;margin:9px 0}.em-assignment-card p{margin:5px 0}.em-assignment-card small{font-size:9px;color:#8b857a}.em-kind{display:inline-block;text-transform:uppercase;letter-spacing:.8px;font-size:8px;font-weight:700;color:#976948;background:#f4eadb;border-radius:15px;padding:5px 8px}.em-teacher-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,.7fr);gap:14px;align-items:start}.em-local-warning{background:#f7f2e9}.em-local-warning h3{font-size:14px}.em-code-box{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f2efe6;padding:13px 15px;border-radius:8px;margin:14px 0}.em-code-box strong,.em-code-box small{display:block}.em-code-box strong{font:800 24px var(--display);letter-spacing:3px;margin:4px 0}.em-code-box small{font-size:9px;color:#827b70}.em-settings{border:1px solid #eee8de;border-radius:8px;padding:14px;margin:14px 0}.em-settings summary,.em-review-box>summary,.em-student-review>summary{cursor:pointer;font-weight:700;font-size:11px;color:#575248}.em-settings>p{margin:8px 0}.em-settings fieldset{border:1px solid #e9e2d7;border-radius:7px;margin:12px 0;padding:10px}.em-settings legend{font-size:10px;color:#716b60}.em-group-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.em-group-checks label,.em-check-row label{font-size:10px;color:#69655c}.em-assignment-builder{background:#fcfaf6}.em-assignment-builder form{display:grid;gap:11px;margin-top:14px}.em-check-row{display:flex;gap:20px;flex-wrap:wrap}.em-question-builder{position:relative;border:1px solid #e7e0d5;border-radius:8px;padding:13px;margin:12px 0}.em-question-builder legend{font-size:10px;font-weight:700;color:#80796d;padding:0 4px}.em-question-builder label{display:flex;flex-direction:column;gap:5px;margin:8px 0;color:#736e64;font-size:9px;font-weight:600}.em-question-builder .em-remove-question{position:absolute;right:9px;top:7px;border:0;background:transparent;color:#a86147;font-size:19px;cursor:pointer}.em-question-builder [hidden]{display:none!important}.em-subsection{margin-top:24px}.em-subsection h3{font:700 15px var(--display);margin:0 0 10px}.em-table-wrap{overflow-x:auto}.em-roster{width:100%;border-collapse:collapse;text-align:left}.em-roster th,.em-roster td{padding:10px 9px;border-bottom:1px solid #eee8de;font-size:10px;white-space:nowrap}.em-roster th{color:#827b70;font-size:9px}.em-presence-open,.em-presence-focus{display:inline-block;border-radius:20px;background:#f2eee7;padding:5px 8px;color:#837d72}.em-presence-open[data-state="open"]{background:#e7f0e2;color:#58704e}.em-presence-focus[data-state="focused"]{background:#e7f0e2;color:#58704e}.em-review-box{grid-column:1/-1;border-top:1px solid #eee8de;padding-top:9px}.em-student-review{border-top:1px solid #eee8de;padding:10px 0}.em-review-answers{padding-left:18px}.em-review-answers li{margin:8px 0;color:#6b665d;font-size:10px;line-height:1.6}.em-review-answers li span{display:block;color:#8a8378}.em-event-list{padding-left:19px}.em-event-list li{padding:5px 0;font-size:10px;line-height:1.7;color:#625e55}.em-event-list time{display:block;color:#918b7e;font-size:8px}.em-article-frame-wrap{margin:13px 0}.em-article-frame{display:block;width:100%;height:min(72vh,690px);min-height:390px;border:1px solid #e5ded2;border-radius:8px;background:#fffefa}.em-article-open{display:inline-block;margin:8px 0;color:#9e5b41;font-size:10px;text-decoration:underline}.em-assignment-reading{background:#f7f2e9;border-radius:7px;padding:14px 16px;margin:12px 0;font-size:12px;line-height:1.8;color:#5e594f}.em-locked{display:none!important}.em-question{border-top:1px solid #e8e1d5;padding:16px 0}.em-question-number{font-size:8px;letter-spacing:.7px;text-transform:uppercase;color:#9a8b74;font-weight:700}.em-question h5{font:700 15px/1.5 var(--display);margin:6px 0 11px;color:#38352e}.em-question>label{display:flex;flex-direction:column;gap:6px;max-width:600px;color:#746e63;font-size:10px}.em-choice-list{display:grid;gap:7px;margin:10px 0}.em-choice-list label{display:flex;align-items:start;gap:8px;background:#fcfaf6;border:1px solid #eee8de;border-radius:7px;padding:9px 11px;font-size:11px;color:#5f5a51}.em-choice-list input{margin:1px 0 0}.em-order-list{display:grid;gap:7px;margin:10px 0}.em-order-list label{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:center;font-size:11px;color:#5f5a51}.em-question-actions{display:flex;gap:8px;flex-wrap:wrap;margin:11px 0 5px}.em-question-actions .button{cursor:pointer}.em-feedback,.em-hint,.em-solution{font-size:10px;line-height:1.7;margin-top:8px;color:#777267}.em-feedback.is-correct{color:#557249;font-weight:700}.em-feedback.is-try-again{color:#a35b43}.em-hint,.em-solution{background:#f5f0e7;border-radius:7px;padding:10px 12px}.em-solution strong{color:#403c34}.em-solution p{margin:5px 0}.em-progress-list{list-style:none;padding:0}.em-progress-list li{padding:11px 0;border-bottom:1px solid #eee8de}.em-progress-list strong,.em-progress-list span,.em-progress-list small{display:block}.em-progress-list strong{text-transform:capitalize;font-size:11px}.em-progress-list span,.em-progress-list small{font-size:9px;color:#837d72;margin-top:4px}.em-modal-backdrop{position:fixed;z-index:1000;inset:0;background:#28261f88;display:grid;place-items:center;padding:18px;overflow:auto}.em-modal-backdrop[hidden]{display:none}.em-modal{position:relative;width:min(100%,520px);max-height:calc(100vh - 36px);overflow:auto;background:#fffefa;border-radius:13px;padding:27px 30px;box-shadow:0 25px 80px #1d1a1533}.em-modal h2{font:700 27px var(--display);letter-spacing:-.8px;margin:8px 0}.em-modal>p{font-size:10px;line-height:1.75;color:#777267}.em-local-note{background:#f4efe5;border-radius:7px;padding:11px 12px}.em-modal form{display:grid;gap:11px;margin-top:15px}.em-modal form label,.em-existing label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:600;color:#716b60}.em-wide{width:100%;justify-content:center;margin-top:3px}.em-modal-close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:25px;color:#827b70;cursor:pointer}.em-existing{border-top:1px solid #eee8de;padding-top:15px;margin-top:16px}.em-existing label{margin-bottom:8px}.em-text-danger{border:0;background:transparent;color:#a65a43;text-decoration:underline;font:10px var(--sans);padding:0;margin-top:15px;cursor:pointer}.em-live-notice{position:fixed;z-index:1100;right:18px;bottom:18px;max-width:min(420px,calc(100vw - 36px));padding:12px 15px;background:#302d25;color:#fff8eb;border-radius:8px;font-size:11px;line-height:1.6;box-shadow:0 12px 30px #0002;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .18s,transform .18s}.em-live-notice.visible{opacity:1;transform:translateY(0)}.lesson-diagram{margin:18px 0 24px;padding:15px 14px 11px;background:#f8f4ec;border:1px solid #eee7dc;border-radius:9px}.lesson-diagram svg{display:block;width:100%;height:auto;max-height:180px}.lesson-diagram figcaption{font-size:9px;line-height:1.6;color:#827b70;text-align:center;margin-top:6px}.lesson-check .practice-answer{margin-top:12px}.practice-answer textarea,.practice-answer input{display:block;width:min(100%,620px);border:1px solid #e1d9cc;border-radius:7px;background:#fffefa;padding:10px 12px;font:12px/1.6 var(--sans);color:#302d25}.practice-answer textarea{resize:vertical}.practice-actions{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}.practice-actions button{border:0;border-radius:6px;background:#332f28;color:#fff8eb;padding:9px 12px;font:600 10px var(--sans);cursor:pointer}.practice-actions button.secondary{background:#e9e2d7;color:#4c473e}.practice-explanation{display:none;background:#f5f0e7;border-radius:7px;padding:11px 13px;margin-top:8px;font-size:11px;line-height:1.75;color:#625d53}.practice-explanation.open{display:block}.practice-feedback{font-size:10px;line-height:1.6;margin-top:7px;color:#777267}.practice-feedback.good{color:#557249;font-weight:700}.practice-feedback.try{color:#a35b43}
@media(max-width:700px){.em-teacher-layout{grid-template-columns:1fr}.em-group-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.em-profile-summary,.em-card-heading{align-items:start;flex-direction:column}.em-assignment-card{grid-template-columns:1fr}.em-form-grid{grid-template-columns:1fr}.learning-controls{align-items:stretch}.learning-controls label{flex:1}.learning-controls select{width:100%}.em-modal{padding:24px 19px}.em-order-list label{grid-template-columns:minmax(0,1fr) 120px}.nav-links{gap:12px;flex-wrap:wrap}.topbar{height:auto;min-height:70px;padding-top:12px;padding-bottom:12px;gap:12px}.em-article-frame{min-height:320px}}

.practice-choices{display:grid;gap:7px;margin:11px 0}.practice-choices label{display:flex;align-items:start;gap:9px;padding:10px 12px;background:#fcfaf6;border:1px solid #eee8de;border-radius:7px;font:11px/1.55 var(--sans);color:#5f5a51}.practice-choices input{display:inline-block!important;width:auto!important;min-width:0;margin:2px 0 0;accent-color:#9e5b41}.practice-order{display:grid;gap:8px;margin:11px 0}.practice-order label{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:10px;padding:8px 10px;background:#fcfaf6;border:1px solid #eee8de;border-radius:7px;font:11px/1.5 var(--sans);color:#5f5a51}.practice-order select{width:100%;min-height:36px;border:1px solid #e1d9cc;border-radius:6px;background:#fffefa;padding:7px 9px;font:11px var(--sans);color:#302d25}.practice-hint-output{font-size:10px;line-height:1.7;color:#746e63;margin:7px 0}.practice-answer-label{display:block;font-size:10px;color:#746e63}.practice-answer-label input,.practice-answer-label textarea{margin-top:6px}
@media(max-width:700px){.practice-order label{grid-template-columns:minmax(0,1fr) 112px}}

/* Easier-to-read catalog controls and a clear test-only profile signal. */
.section{max-width:1240px}
.toolbar{flex-wrap:wrap;align-items:stretch;gap:14px}
.search-box{flex:1 1 300px;min-width:280px;max-width:480px;height:50px;padding:0 15px;gap:11px}
.search-box svg{width:20px;height:20px;flex:0 0 20px}
.search-box input{display:block;flex:1 1 auto;min-width:0;width:100%;font-size:15px;line-height:1.4}
.filter-row{flex:2 1 410px;min-width:0;gap:8px}
.filter-chip{padding:9px 13px;font-size:12px}
.learning-controls{flex:0 1 auto;gap:12px}
.learning-controls label{font-size:12px}
.learning-controls select{min-height:44px;padding:8px 12px;font-size:14px}
.topic-grid{gap:14px}
.topic-card{min-height:138px;padding:18px}
.topic-card h3{font-size:15px}
.topic-card p{font-size:12px;line-height:1.6}
.topic-grade-badge{display:inline-flex;align-self:flex-start;margin:0 0 9px;padding:4px 8px;border:1px solid #e7dfd2;border-radius:99px;background:#f8f4ec;color:#786a55;font:600 11px/1.25 var(--sans)}
.topic-detail{font-size:14px!important;padding:21px 23px!important}
.topic-detail-intro,.topic-note{font-size:14px;line-height:1.65}
.subtopic-chip{font-size:13px;padding:9px 12px}
.lesson-page{width:min(100% - 36px,820px)}
.lesson-lede{font-size:17px;line-height:1.75}
.lesson-chapter p,.lesson-chapter li{font-size:16px;line-height:1.9}
.practice-answer textarea,.practice-answer input{font-size:15px;padding:12px 14px}
.practice-answer textarea{min-height:92px}
.practice-answer-label{font-size:13px}
.practice-actions button{padding:11px 14px;font-size:12px}
.practice-feedback,.practice-hint-output{font-size:13px;line-height:1.7}
.practice-explanation{font-size:14px;line-height:1.8}
.em-test-mode-banner{padding:11px 18px;background:#3a352c;color:#fff5df;text-align:center;font:700 13px/1.5 var(--sans);letter-spacing:.15px}
@media(max-width:700px){
  .search-box{flex:1 1 100%;min-width:0;max-width:none}
  .filter-row{flex:1 1 100%;justify-content:flex-start}
  .learning-controls{flex:1 1 100%;justify-content:flex-start}
  .topic-card{min-height:128px;padding:15px}
  .topic-card h3{font-size:14px}
  .lesson-page{width:min(100% - 28px,820px)}
}
.practice-feedback.review{padding:8px 10px;border-radius:6px;background:#f7f0da;color:#78643a}

.em-feedback.is-review{color:#8a6842;background:#f5eddd;border-radius:6px;padding:8px 10px}.em-review-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}.em-review-actions small{font-size:9px;color:#827b70}.em-review-actions .button{padding:7px 9px;font-size:9px}

.brand-mark{background:transparent;overflow:hidden;border-radius:8px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.em-course-panel{margin:18px 0;padding:17px 18px;background:#fffdfa;border:1px solid #e9e1d5;border-radius:10px;color:#332f28}.em-course-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.em-course-heading h3{margin:4px 0 3px;font:650 18px var(--display);letter-spacing:-.4px}.em-course-heading p,.em-course-empty{margin:0;color:#777267;font-size:11px;line-height:1.6}.em-course-count{white-space:nowrap;color:#756c5e;font-size:11px;font-weight:700}.em-course-progress{height:7px;margin:13px 0;background:#eee8de;border-radius:99px;overflow:hidden}.em-course-progress span{display:block;height:100%;background:#8a9c76;border-radius:99px;transition:width .2s}.em-course-list{display:grid;gap:8px}.em-course-lesson{display:grid;grid-template-columns:84px 1fr auto;align-items:center;gap:10px;padding:11px 12px;background:#f7f3ec;border:1px solid #eee8de;border-radius:7px;color:#39352e}.em-course-lesson strong{font-size:12px}.em-course-lesson small{font-size:10px;color:#777267;text-align:right}.em-course-lesson.complete{border-color:#cbd6be;background:#f5f8f1}.em-course-lesson.locked{opacity:.6}.em-course-step{font-size:10px;color:#8a7860;font-weight:700}.em-course-empty{padding:12px;background:#f7f3ec;border-radius:7px}@media(max-width:620px){.em-course-heading{align-items:flex-start;flex-direction:column;gap:6px}.em-course-lesson{grid-template-columns:1fr;gap:3px}.em-course-lesson small{text-align:left}}
.em-lesson-course-progress{margin-top:14px;padding-top:13px;border-top:1px solid #e5ddcf}.em-lesson-course-progress>strong{display:block;color:#4e493f;font-size:12px}.em-lesson-course-progress p{margin:5px 0 0;color:#726b5f;font-size:11px;line-height:1.65}.em-course-next{display:inline-flex;align-items:center;margin-top:9px;border-radius:6px;background:#332f28;color:#fff8eb;padding:9px 12px;font-size:10px;font-weight:700;text-decoration:none}.em-course-next:hover{background:#5b4d3c}
.language-course-progress{margin:16px 0 12px;padding:15px 17px;background:#f7f3ec;border:1px solid #e9e1d5;border-radius:9px}.language-course-progress>div:first-child{display:grid;gap:5px}.language-course-progress>div:first-child strong{font:650 14px var(--display);color:#3e3a32}.language-course-progress>p{margin:7px 0;color:#777267;font-size:10px;line-height:1.6}.language-course-meter{height:6px;margin:11px 0;background:#e9e2d7;border-radius:99px;overflow:hidden}.language-course-meter span{display:block;width:0;height:100%;background:#8a9c76;border-radius:99px;transition:width .2s}.language-course-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:11px 0}.language-course-steps li{display:flex;gap:7px;align-items:center;padding:8px 9px;border-radius:6px;background:#fffdfa;color:#766f63;font-size:10px;line-height:1.45}.language-course-steps li.complete{background:#edf2e8;color:#566c4d}.language-step-mark{font-weight:800;color:#9b8061}.language-course-steps li.complete .language-step-mark{color:#557249}.language-course-progress .language-course-count{font-weight:700;color:#5f5a50}.language-course-progress #language-mark-speaking{padding:8px 10px;font-size:9px}@media(max-width:650px){.language-course-steps{grid-template-columns:1fr}.language-course-progress{padding:13px}}

/* Explore catalog: larger type and cards while keeping the reference layout. */
.section{max-width:1480px;padding:88px 5.2% 70px}
.section-heading{gap:24px}
.section h2{font-size:39px;letter-spacing:-1.8px}
.section-heading p{font-size:14px;line-height:1.6}
.count-pill{font-size:12px;padding:10px 15px}
.toolbar{margin:32px 0 25px;gap:18px}
.search-box{max-width:560px;height:58px;padding:0 17px;gap:12px}
.search-box svg{width:21px;height:21px;flex-basis:21px}
.search-box input{font-size:16px}
.filter-row{gap:10px}
.filter-chip{padding:11px 15px;font-size:13px}
.learning-controls{gap:15px}
.learning-controls label{font-size:13px}
.learning-controls select{min-height:48px;padding:9px 13px;font-size:15px}
.topic-grid{gap:18px}
.topic-card{min-height:176px;padding:21px;border-radius:12px}
.topic-icon{width:40px;height:40px;margin-bottom:12px}
.topic-icon svg{width:21px;height:21px}
.topic-card h3{font-size:17px;margin-bottom:7px}
.topic-card p{font-size:13px;line-height:1.65}
.topic-grade-badge{font-size:12px;padding:5px 9px;margin-bottom:11px}
.topic-arrow{right:17px;top:17px;font-size:16px}
.topic-detail{font-size:15px!important;padding:24px 27px!important}
.topic-detail-intro,.topic-note{font-size:15px;line-height:1.7}
.subtopic-chip{font-size:14px;padding:11px 14px}
.lesson-diagram{padding:20px 18px 14px;border-radius:13px}
.lesson-diagram svg{max-height:260px}
.lesson-diagram figcaption{font-size:12px;margin-top:9px}
.language-grammar-chapter .lesson-callout,.medicine-learning-note{line-height:1.75}
.lesson-references a{color:#87563f;text-decoration:underline;text-underline-offset:3px}
.lesson-references li{margin:7px 0}
@media(max-width:1050px){.section{max-width:1280px;padding-left:4.5%;padding-right:4.5%}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar{align-items:stretch}.search-box{max-width:520px}}
@media(max-width:700px){.section{padding:58px 5% 46px}.section h2{font-size:31px}.section-heading p{font-size:13px}.toolbar{gap:12px}.search-box{min-width:0;max-width:none;height:52px}.search-box input{font-size:14px}.filter-row{gap:6px}.filter-chip{padding:9px 11px;font-size:12px}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.topic-card{min-height:146px;padding:15px}.topic-card h3{font-size:15px}.topic-card p{font-size:11px}.topic-icon{width:35px;height:35px}.lesson-diagram svg{max-height:210px}}
@media(max-width:390px){.topic-grid{grid-template-columns:1fr}.topic-card{min-height:130px}}

/* Lesson controls, responsive topic chips, and animated visual explanations. */
.topic-chip-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;min-width:0;max-width:100%}
.topic-chip-list .subtopic-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.45}
.lesson-check #reveal-check{margin:3px 0 8px;min-height:44px}
.lesson-check .practice-sound-toggle{display:inline-flex;align-items:center;gap:7px;margin:4px 0 10px;padding:9px 12px;border:1px solid #ded5c7;background:#fffaf2;color:#534b3f}
.lesson-check .practice-sound-toggle[aria-pressed="true"]{background:#e9eee3;border-color:#cbd8c1;color:#40583c}
.practice-actions button:disabled{cursor:not-allowed;opacity:.58}
.practice-explanation.open{animation:reason-reveal .24s ease-out both}
.practice-feedback.good{animation:feedback-pop .22s ease-out both}
.lesson-diagram svg{overflow:visible}
.diagram-node{transform-box:fill-box;transform-origin:center;animation:diagram-arrive .38s cubic-bezier(.2,.8,.25,1) both;animation-delay:var(--node-delay,0ms)}
.diagram-connector{stroke-dasharray:8 7;animation:connector-trace 1.1s ease-out both}
.action-path{animation:connector-trace 1.5s ease-in-out infinite}
.lesson-diagram svg .diagram-node:hover{filter:drop-shadow(0 4px 4px #55452a18)}
@keyframes diagram-arrive{from{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes connector-trace{from{stroke-dashoffset:46;opacity:.35}to{stroke-dashoffset:0;opacity:1}}
@keyframes reason-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes feedback-pop{0%{transform:scale(.985)}70%{transform:scale(1.015)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.diagram-node,.diagram-connector,.action-path,.practice-explanation.open,.practice-feedback.good{animation:none!important}.lesson-diagram svg .diagram-node:hover{filter:none}}
.check-content.open{animation:practice-panel-open .34s cubic-bezier(.2,.75,.25,1) both;transform-origin:top center}
@keyframes practice-panel-open{from{clip-path:inset(0 0 100% 0);opacity:0;transform:translateY(-7px)}to{clip-path:inset(0);opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.check-content.open{animation:none!important;clip-path:none;transform:none}}
