@charset "UTF-8";
:root{--ink:#242341;--muted:#68677d;--purple:#6351ca;--purple-dark:#4b3aa7;--lilac:#ebe7fb;--paper:#f6f6fb;--line:#dfdfea;--mint:#d8eddf;--pink:#f5b9c8;--white:#fff;--good:#256541;--error:#a43e37;--radius:20px;font-family:"Avenir Next",Avenir,"Trebuchet MS",system-ui,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button,a{touch-action:manipulation}a{color:var(--purple-dark)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ba4b7b;outline-offset:4px}input,textarea{font-variant-numeric:tabular-nums}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.18}h2{font-size:24px;letter-spacing:-.6px}h3{font-size:18px}p+p{margin-top:12px}button{color:inherit}svg{max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:12px}.skip-link:focus{top:12px}
.site-header{max-width:1240px;min-height:98px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:13px;line-height:1.35;flex-shrink:0}.brand strong{font-size:17px}.brand-symbol{width:45px;height:45px;display:grid;place-items:center;background:var(--purple);border-radius:14px 14px 14px 4px;color:white;font-size:35px;font-weight:700;line-height:1;padding-bottom:5px}.site-header nav{display:flex;gap:7px}.nav-button{border:0;background:none;padding:10px 15px;border-radius:30px;font-size:14px;font-weight:600;min-height:44px}.nav-button:hover{background:#eeeaf9}.nav-button.active{background:var(--lilac);color:var(--purple-dark)}.header-date{font-size:13px;border:1px solid var(--line);border-radius:30px;padding:6px 13px;white-space:nowrap}.workspace{max-width:1160px;margin:auto;padding:0 40px 50px;outline:none}.loading-note{padding:70px 0}.site-footer{max-width:1080px;margin:auto;display:flex;justify-content:space-between;gap:18px;padding:26px 0 34px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.storage-notice{max-width:1080px;margin:16px auto;background:#fff0cf;color:#704814;padding:15px 20px;border-radius:12px}
.home-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:430px;gap:26px;padding:42px 0 44px}.date-pill{display:inline-flex;align-items:center;gap:8px;color:var(--purple-dark);font-size:12px;font-weight:600;background:var(--lilac);border-radius:30px;padding:6px 12px;margin-bottom:24px}.dot{width:6px;height:6px;background:var(--purple);border-radius:50%}.hero-copy h1{font-size:57px;font-weight:650;line-height:1.04;letter-spacing:-2.6px;margin-bottom:22px}.hero-copy h1 span{color:var(--purple)}.hero-description{font-size:15px;line-height:1.75;max-width:410px;color:var(--muted)}.atelier-art{height:320px;position:relative;max-width:470px;width:100%;justify-self:end}.art-orbit{position:absolute;width:295px;height:295px;border-radius:50%;background:#e9e7f5;top:16px;left:95px}.art-notebook{position:absolute;width:245px;height:262px;left:120px;top:35px;background:repeating-linear-gradient(white,white 26px,#eeedf6 26px,#eeedf6 27px);border:1px solid #dbd8e9;border-radius:5px 18px 18px 5px;box-shadow:9px 12px 0 #dbd5ef;transform:rotate(9deg);padding:30px 17px 10px 29px}.notebook-binding{position:absolute;top:0;bottom:0;left:15px;width:1px;background:#e3bad0}.notebook-label{font-size:12px;font-weight:600}.notebook-equation{font-size:20px;font-weight:650;line-height:1.6;margin-top:10px;font-variant-numeric:tabular-nums}.notebook-equation span{color:var(--purple);margin:0 7px}.notebook-doodle{width:100%;height:60px;margin-top:8px}.notebook-footer{font-size:8px;color:var(--muted)}.note-sticker{position:absolute;z-index:2}.note-bonjour{background:var(--pink);padding:16px 22px;left:0;top:20px;transform:rotate(-9deg);font-size:32px;font-style:italic;font-weight:650;line-height:1.3;border-radius:3px;box-shadow:0 4px 0 #e6a9ba}.note-sticker span{display:block;font-size:11px;font-style:normal;font-weight:500}.note-check{background:var(--mint);width:117px;height:101px;bottom:4px;left:20px;transform:rotate(-7deg);padding:4px 13px;font-size:42px;line-height:1.3;clip-path:polygon(0 4%,95% 0,100% 95%,4% 100%)}.art-pencil{position:absolute;right:22px;bottom:0;width:11px;height:184px;background:linear-gradient(90deg,#e1ad57 0 30%,#f9cd85 30% 68%,#d19742 68%);transform:rotate(26deg);border-radius:3px}.art-pencil:after{position:absolute;content:'';bottom:-23px;left:0;border-left:5.5px solid transparent;border-right:5.5px solid transparent;border-top:23px solid #bba18b}.art-star{position:absolute;right:27px;top:0;font-size:43px;color:var(--purple);transform:rotate(12deg)}
.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px}.section-heading h2{font-size:22px}.section-heading .muted{font-size:13px}.text-link{font-size:12px;font-weight:600;padding:6px 0;border:0;background:none;color:var(--purple-dark);text-decoration:underline;text-underline-offset:4px;min-height:35px}.chapter-path{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 25px;padding:0;gap:10px}.chapter-stop{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:transparent;border-radius:13px;padding:12px 10px;width:100%;text-align:left;min-height:74px}.chapter-stop.selected{background:var(--purple);border-color:var(--purple);color:white}.chapter-number{height:28px;width:28px;flex:0 0 28px;display:grid;place-items:center;background:var(--lilac);color:var(--purple-dark);border-radius:50%;font-weight:650;font-size:12px}.selected .chapter-number{background:#8271dd;color:white}.done .chapter-number{background:var(--mint);color:var(--good)}.chapter-stop small{font-size:10px;display:block;color:var(--muted);margin-bottom:2px}.chapter-stop.selected small{color:#e1dbff}.chapter-stop strong{font-size:11px;line-height:1.35;display:block}.daily-layout{display:grid;grid-template-columns:1fr 270px;gap:24px}.today-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px 28px}.today-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:17px}.chapter-tag{font-size:11px;color:var(--purple-dark);background:var(--lilac);padding:4px 10px;border-radius:20px;font-weight:600}.pencil-tag{font-size:11px;color:var(--muted)}.today-panel>h2{font-size:27px;margin-bottom:9px}.daily-note{font-size:13px;color:var(--muted);margin-bottom:23px;max-width:550px}.session-block{display:grid;grid-template-columns:35px 1fr auto;gap:12px;align-items:center;padding:18px 0}.subject-icon{width:35px;height:39px;display:grid;place-items:center;background:var(--lilac);color:var(--purple-dark);border-radius:10px;font-size:30px;font-weight:600;align-self:start;line-height:1}.french-block .subject-icon{background:var(--mint);color:#315743}.session-block h3{font-size:16px;margin-bottom:5px}.session-block p{font-size:12px;color:var(--muted);line-height:1.5;max-width:265px}.time-label{font-size:10px;color:var(--muted);display:block;margin-top:6px}.session-block .button{font-size:11px;padding:11px 13px}.completion-mark{font-size:10px;display:inline-block;color:var(--good)}.pause-line{display:flex;gap:8px;align-items:center;border-block:1px dashed var(--line);padding:9px 0;font-size:10px;color:var(--muted)}.pause-line .text-link{font-size:10px;white-space:nowrap;margin-left:auto}.coach-note{position:relative;background:#eef2dc;padding:28px 23px;border-radius:3px 3px 20px 3px;align-self:start;transform:rotate(1deg);margin-top:10px}.note-corner{position:absolute;left:85px;top:-11px;background:#dad4eea8;height:22px;width:84px;transform:rotate(-5deg)}.handwritten{font-size:13px;font-style:italic;display:block;color:#596145;margin-bottom:17px}.coach-note h3{font-size:22px;margin-bottom:12px}.coach-note p,.gentle-list{font-size:12px;line-height:1.75}.gentle-list{padding-left:18px;margin-block:15px}.gentle-list li{padding:3px 0}.coach-bottom{padding-top:14px;border-top:1px solid #d6dbbe;color:#626951!important;font-size:10px!important}.explore-section{margin-top:36px}.subject-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.subject-card{display:flex;align-items:center;gap:19px;border:1px solid var(--line);padding:22px;text-align:left;border-radius:17px;background:#eeebf9}.french-card{background:#e8f1ec}.large-glyph{font-size:50px;font-weight:600;line-height:1;letter-spacing:-2px;color:var(--purple)}.french-card .large-glyph{color:#486f57}.subject-card h3{font-size:18px;margin-bottom:7px}.subject-card p{font-size:12px;color:var(--muted)}.card-arrow{margin-left:auto;font-size:22px}.parent-settings{font-size:13px;color:var(--muted);margin-top:30px;max-width:780px}.parent-settings summary{cursor:pointer;padding-block:10px}.parent-settings p{margin-top:12px}.parent-settings form{margin-top:16px}.parent-settings .field{width:210px;flex:0 1 auto}.parent-settings label{display:block;font-weight:600}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:var(--purple);color:white;border:1px solid var(--purple);border-radius:11px;padding:12px 20px;font-size:14px;min-height:46px;font-weight:600;line-height:1.3}.button:hover{background:var(--purple-dark)}.button.secondary{background:white;color:var(--purple-dark);border-color:#cfc8e9}.button.secondary:hover{background:var(--lilac)}.button.ghost{background:transparent;color:var(--muted);border-color:transparent}.button.small{padding:9px 14px;font-size:12px;min-height:40px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px}.panel>h2,.panel>h3{margin-bottom:14px}.panel>p{margin-bottom:14px}.panel p{max-width:72ch}.muted{color:var(--muted);font-size:14px}.page-intro{max-width:690px;padding:55px 0 35px}.page-intro h1{font-size:49px;letter-spacing:-2px;margin:20px 0}.page-intro p{color:var(--muted);font-size:15px;max-width:580px;line-height:1.75}.subject-tab{display:inline-block;background:var(--lilac);color:var(--purple-dark);border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600}.french-tab{background:var(--mint);color:#315743}.subject-options{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:27px}.subject-options .panel{display:flex;flex-direction:column;align-items:flex-start}.subject-options .panel .button{margin-top:auto}.subject-options .panel p{font-size:14px}.subject-options .large-glyph{margin-bottom:17px}.focus-panel{background:#f0edfc}.paper-strip{display:flex;align-items:center;justify-content:space-between;gap:25px;background:white;border:1px solid var(--line);padding:24px 30px;border-radius:var(--radius);margin:25px 0}.paper-strip h2{font-size:20px;margin-bottom:8px}.paper-strip p{font-size:13px;color:var(--muted)}.exam-tip{padding:25px 30px;border-left:3px solid var(--purple);margin:30px 0;background:var(--lilac);border-radius:0 15px 15px 0}.exam-tip h3{margin-bottom:10px}.exam-tip p{font-size:14px;max-width:80ch}.french-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px}.group-card{border:1px solid var(--line);background:white;border-radius:18px;text-align:left;padding:22px 18px}.group-art{height:84px;display:block;font-size:64px;line-height:1;color:var(--purple);font-weight:500}.group-1{background:#eff4e6}.group-2{background:#f7eaf0}.group-3{background:#eaeefb}.group-index{font-size:10px;color:var(--muted)}.group-card h2{font-size:20px;margin:7px 0 10px}.group-card p{font-size:12px;color:var(--muted);min-height:40px}.group-start{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-top:22px;color:var(--purple-dark)}.pause-view{max-width:580px;margin:65px auto;text-align:center}.pause-view h1{font-size:50px;letter-spacing:-2px;margin:18px 0}.pause-view p{margin:18px auto;max-width:390px}.pause-view .button{margin-top:20px}.pause-flower{display:block;font-size:140px;line-height:1.2;color:var(--purple);margin-bottom:25px}.mastery-count{display:flex;align-items:center;gap:15px;margin:20px 0}.mastery-count strong{font-size:65px;line-height:1;color:var(--purple)}.mastery-count span{font-size:14px;color:var(--muted)}.progress-card .progress-track{width:100%;margin-bottom:20px}.progress-card .button{margin-top:20px!important}.chapter-records>div{display:grid;grid-template-columns:25px 1fr 85px 95px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}.chapter-records>div:last-child{border:0}.record-number{color:var(--purple);font-weight:600}.chapter-records+p{margin-top:15px}
/* Shared exercise language: large, calm and keyboard accessible. */
.session-root{max-width:800px;margin:30px auto}.session-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 18px;font-size:13px}.session-top h1{font-size:25px;letter-spacing:-.7px}.section-title{font-size:24px;margin:15px 0}.eyebrow{color:var(--muted);font-size:12px;margin-bottom:10px}.field{padding:13px 16px;background:white;border:2px solid #cac7de;border-radius:10px;font-size:20px;color:var(--ink);min-height:52px;max-width:100%;width:100%}input.field:focus{border-color:var(--purple)}.progress-track{height:7px;background:#e8e5f0;border-radius:20px;overflow:hidden;margin-block:15px}.progress-fill{display:block;height:100%;background:var(--purple);border-radius:20px}.feedback{padding:19px 22px;border-radius:14px;margin-top:20px;line-height:1.7;border:1px solid var(--line);background:var(--lilac)}.feedback.good{background:#eaf4ed;border-color:#b5d6be;color:#214e32}.feedback.retry{background:#fff3e4;border-color:#ead2ae;color:#79501e}.feedback h2,.feedback h3{margin-bottom:10px}.feedback p{font-size:15px}.chip{display:inline-block;padding:4px 11px;border-radius:20px;background:var(--lilac);font-size:12px;color:var(--purple-dark)}.accent-keys{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.accent-keys button{border:1px solid var(--line);border-radius:9px;background:#f1eff8;min-width:40px;min-height:42px;font-size:20px}.word-card{padding:30px;border-radius:18px;background:var(--lilac);margin:20px 0}.word-card h2{font-size:30px}.choice-grid{display:grid;gap:12px;margin-block:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.choice{border:2px solid var(--line);background:white;padding:17px;border-radius:12px;text-align:left;min-height:53px}.choice:hover,.choice[aria-pressed=true]{border-color:var(--purple);background:var(--lilac)}.result-score{font-size:56px;font-weight:600;letter-spacing:-2px;color:var(--purple);line-height:1.2;margin:20px 0}.session-root table{width:100%;border-collapse:collapse;margin:20px 0;font-variant-numeric:tabular-nums}.session-root th,.session-root td{padding:9px;border:1px solid var(--line);text-align:center}.session-root th{background:var(--lilac)}.session-root ol,.session-root ul{padding-left:24px}.session-root li{padding:5px 0}.session-root label{display:block;margin-block:14px 7px;font-weight:600}.session-root details{margin-block:18px}.session-root summary{cursor:pointer;padding:8px 0;color:var(--purple-dark)}.session-root form{margin-top:20px}.session-root .panel+.panel{margin-top:20px}.session-root [role=status]{overflow-wrap:anywhere}.session-root .button{margin-top:0}.session-root svg text{font-family:inherit}.session-root .figure{overflow:auto}
@media(min-width:1400px){.site-header{max-width:1280px}.workspace{max-width:1240px}.home-hero{min-height:450px}.hero-copy h1{font-size:64px}.site-footer{max-width:1160px}.daily-layout{grid-template-columns:1fr 300px}.today-panel{padding:29px 32px}.session-block p{max-width:360px}.session-block .button{font-size:12px}}
@media(max-width:900px){.site-header{padding:17px 24px;gap:15px}.header-date{display:none}.workspace{padding:0 24px 40px}.hero-copy h1{font-size:48px}.atelier-art{transform:scale(.85);transform-origin:center right}.daily-layout{grid-template-columns:1fr}.coach-note{display:none}.chapter-stop{flex-direction:column;align-items:flex-start;gap:6px}.site-footer{margin-inline:24px}.french-groups{grid-template-columns:repeat(2,1fr)}.home-hero{gap:0;overflow:hidden}.session-block p{max-width:360px}}
@media(max-width:600px){body{font-size:15px}.site-header{padding:15px 20px 0;flex-wrap:wrap;gap:12px;min-height:120px}.brand{font-size:11px}.brand strong{font-size:15px}.brand-symbol{width:38px;height:38px;font-size:29px;border-radius:12px 12px 12px 3px}.site-header nav{order:3;justify-content:space-between;width:100%;gap:0;padding-bottom:10px}.nav-button{font-size:12px;padding:8px 13px;min-height:39px}.header-date{display:inline;font-size:11px;padding:5px 10px}.workspace{padding:0 20px 35px}.home-hero{grid-template-columns:1fr;min-height:0;padding:28px 0 30px;overflow:visible}.hero-copy h1{font-size:44px;letter-spacing:-2px;line-height:1.06;margin-bottom:15px}.date-pill{font-size:10px;margin-bottom:19px;padding:5px 10px}.hero-description{font-size:13px;max-width:330px}.atelier-art{display:none}.section-heading{margin-bottom:15px;align-items:flex-start;gap:8px}.section-heading h2{font-size:19px;letter-spacing:-.4px}.section-heading .text-link{font-size:10px;max-width:110px;text-align:right;line-height:1.6;padding-top:0}.chapter-path{gap:5px;margin-bottom:17px}.chapter-stop{padding:8px 6px;min-height:97px;gap:7px;border-radius:10px}.chapter-number{height:25px;width:25px;flex-basis:25px;font-size:11px}.chapter-stop strong{font-size:8px;line-height:1.4;hyphens:auto}.chapter-stop small{font-size:8px}.today-panel{padding:19px 17px;border-radius:17px}.today-heading{margin-bottom:17px}.chapter-tag,.pencil-tag{font-size:9px}.today-panel>h2{font-size:25px;letter-spacing:-.8px}.daily-note{font-size:12px;line-height:1.65;margin-bottom:15px}.session-block{grid-template-columns:31px 1fr;gap:10px;padding:16px 0}.subject-icon{width:31px;height:35px;font-size:27px}.session-block h3{font-size:15px}.session-block p{font-size:12px}.session-block .button{grid-column:2;width:100%;font-size:12px;min-height:43px;margin-top:3px}.pause-line{flex-wrap:wrap;gap:5px;padding:10px 0;font-size:10px}.pause-line>span:nth-child(2){flex:1}.pause-line .text-link{margin-left:25px;min-height:27px}.explore-section{margin-top:26px}.explore-section .section-heading{display:block}.explore-section .muted{font-size:11px;display:block;margin-top:5px}.subject-cards{grid-template-columns:1fr;gap:12px}.subject-card{padding:18px;gap:16px}.subject-card h3{font-size:17px}.subject-card p{font-size:11px}.large-glyph{font-size:43px}.parent-settings{font-size:12px;margin-top:20px}.site-footer{font-size:10px;margin-inline:20px;flex-direction:column;gap:3px;padding-block:20px}.page-intro{padding:30px 0 25px}.page-intro h1{font-size:37px;letter-spacing:-1.5px;margin:18px 0}.page-intro p{font-size:13px}.subject-options{grid-template-columns:1fr;gap:16px}.panel{padding:22px 19px;border-radius:17px}.panel h2{font-size:23px}.paper-strip{padding:22px 20px;display:block}.paper-strip .button{margin-top:16px}.paper-strip h2{font-size:21px}.exam-tip{padding:22px 19px}.exam-tip p{font-size:13px}.french-groups{gap:12px}.group-card{padding:18px 14px}.group-card h2{font-size:18px}.group-art{height:66px;font-size:55px}.group-card p{font-size:11px;min-height:53px}.group-start{font-size:10px}.subject-tab{font-size:11px}.chapter-records>div{grid-template-columns:20px 1fr;gap:7px;font-size:12px}.chapter-records>div>span:nth-child(3){grid-column:2}.chapter-records>div>span:nth-child(4){grid-column:2}.session-root{margin-top:20px}.session-top h1{font-size:22px}.session-top .button{font-size:11px;padding:9px 11px}.session-root .panel{padding:22px 18px}.field{font-size:19px}.choice-grid{grid-template-columns:1fr}.choice{font-size:14px}.word-card{padding:25px 18px}.word-card h2{font-size:25px}.actions{gap:9px}.actions .button{flex-grow:1;font-size:12px}.feedback{padding:16px}.feedback p{font-size:14px}.session-root table{font-size:12px}.session-root th,.session-root td{padding:5px}.pause-view{margin-top:35px}.pause-view h1{font-size:39px}.pause-flower{font-size:105px}.parent-settings .field{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
