.french-learning-page{--french-ink:#20211e;--french-muted:#74756f;--french-line:rgba(35,39,31,.11);--french-cream:#f6f2e9;--french-blue:#244a76;--french-red:#e45d50;min-height:80vh;color:var(--french-ink);background:#f5f6f7}.french-learning-hero{position:relative;overflow:hidden;padding:76px 0 72px;background:radial-gradient(circle at 7% 18%,rgba(228,93,80,.14),transparent 25rem),radial-gradient(circle at 91% 84%,rgba(36,74,118,.13),transparent 30rem),linear-gradient(135deg,#fbfaf6,#f3f0e8 48%,#f3f6f9)}.french-learning-hero:after{position:absolute;inset:0;opacity:.25;background-image:linear-gradient(rgba(35,39,31,.045) 1px,transparent 0),linear-gradient(90deg,rgba(35,39,31,.035) 1px,transparent 0);background-size:44px 44px;content:"";mask-image:linear-gradient(180deg,#000,transparent 85%)}.french-learning-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);align-items:center;gap:clamp(44px,7vw,100px)}.french-learning-hero-copy{min-width:0}.french-learning-hero-copy .french-learning-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;color:#9c443a;font-size:.75rem;font-weight:880;text-transform:uppercase}.french-learning-hero-copy .french-learning-kicker svg{width:16px}.french-learning-hero-copy h1{max-width:780px;overflow-wrap:anywhere;margin:0;font-size:clamp(3.5rem,7vw,3.5rem);font-weight:820;line-height:.9}.french-learning-hero-copy h1 em{color:var(--french-red);font-style:normal;font-weight:560}.french-learning-hero-copy>p{max-width:680px;margin:28px 0 0;color:#62645e;font-size:clamp(.875rem,1.4vw,1.125rem);line-height:1.65}.french-learning-hero-copy>[data-slot=button]{margin-top:26px;border-radius:14px}.french-learning-hero-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.french-learning-hero-points span{display:inline-flex;min-height:34px;align-items:center;gap:7px;padding:6px 10px;color:#565952;border:1px solid rgba(35,39,31,.09);border-radius:999px;background:rgba(255,255,255,.58);font-size:.75rem;font-weight:720;backdrop-filter:blur(8px)}.french-learning-hero-points span svg{width:14px;color:var(--french-blue)}.french-learning-hero-card{position:relative;display:grid;min-height:470px;align-content:start;padding:clamp(26px,4vw,46px);overflow:hidden;color:#f8f6ef;border:1px solid rgba(255,255,255,.17);border-radius:34px;background:radial-gradient(circle at 90% 0,rgba(228,93,80,.45),transparent 44%),linear-gradient(155deg,#172d47,#203b5c 54%,#14243a);box-shadow:0 38px 100px rgba(26,39,54,.25);transform:rotate(1.5deg)}.french-learning-hero-card:before{position:absolute;inset:14px;border:1px solid rgba(255,255,255,.1);border-radius:24px;content:"";pointer-events:none}.french-learning-hero-card>span{color:#f1a69d;font-size:.75rem;font-weight:850;text-transform:uppercase}.french-learning-hero-card>small{margin-top:80px;color:rgba(255,255,255,.56);font-size:.75rem}.french-learning-hero-card>strong{max-width:430px;margin-top:12px;font-size:clamp(1.25rem,2.8vw,2.25rem);line-height:1.16}.french-learning-hero-card>div{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;padding:18px 0;border-block:1px solid rgba(255,255,255,.12)}.french-learning-hero-card>div b{font-size:.875rem;line-height:1.5}.french-learning-hero-card>div button{display:grid;width:39px;height:39px;flex:0 0 auto;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);font-size:.75rem;font-weight:800}.french-learning-hero-card>footer{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:auto}.french-learning-hero-card>footer span{padding:8px 4px;color:rgba(255,255,255,.62);border-radius:8px;background:rgba(255,255,255,.06);font-size:.75rem;text-align:center}.french-learning-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-block:34px 72px}.french-learning-preview>div{display:grid;min-height:190px;align-content:end;padding:24px;border:1px solid var(--french-line);border-radius:22px;background:#fff;box-shadow:0 16px 48px rgba(29,35,43,.05)}.french-learning-preview span{color:var(--french-red);font-size:.75rem;font-weight:900}.french-learning-preview strong{margin-top:13px;font-size:1rem}.french-learning-preview p{margin:7px 0 0;color:var(--french-muted);font-size:.75rem;line-height:1.55}.french-learning-workspace{padding-block:30px 84px}.french-learning-toolbar{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:10px 12px 10px 20px;border:1px solid var(--french-line);border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 12px 34px rgba(29,35,43,.045)}.french-learning-toolbar>div{display:grid;gap:3px}.french-learning-toolbar>div span{color:var(--french-muted);font-size:.75rem}.french-learning-toolbar>div strong{font-size:.75rem}.french-learning-toolbar nav{display:flex;gap:4px}.french-learning-toolbar nav button{display:inline-flex;min-height:44px;align-items:center;gap:7px;padding:0 13px;color:#6d716a;border:0;border-radius:13px;background:rgba(0,0,0,0);font:720 .75rem/1 var(--app-sans);cursor:pointer}.french-learning-toolbar nav button svg{width:15px}.french-learning-toolbar nav button:hover{color:var(--french-ink);background:#f1f2f2}.french-learning-toolbar nav button.is-active{color:#fff;background:var(--french-blue)}.french-learning-error{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:11px 14px;color:#983c31;border:1px solid rgba(190,65,49,.2);border-radius:13px;background:#fff0ed;font-size:.75rem;font-weight:700}.french-learning-error svg{width:16px}.french-learning-error button{display:grid;width:26px;height:26px;place-items:center;margin-left:auto;color:inherit;border:0;background:rgba(0,0,0,0)}.french-learning-error button svg{width:14px}.french-today-layout{display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start;gap:18px}.french-daily-panel{position:sticky;top:calc(var(--ui-header-height) + 18px);display:grid;gap:22px;padding:24px;border:1px solid var(--french-line);border-radius:24px;background:#fff;box-shadow:0 18px 54px rgba(29,35,43,.055)}.french-daily-panel>div:nth-child(2) h2{margin:9px 0 7px;font-size:1.25rem}.french-daily-panel>div:nth-child(2) p{margin:0;color:var(--french-muted);font-size:.75rem;line-height:1.55}.french-daily-panel>dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-block:1px solid var(--french-line)}.french-daily-panel>dl div{display:grid;gap:6px;padding:15px 5px;text-align:center}.french-daily-panel>dl div+div{border-left:1px solid var(--french-line)}.french-daily-panel dt{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--french-muted);font-size:.75rem}.french-daily-panel dt svg{width:12px}.french-daily-panel dd{margin:0;font-size:.75rem;font-weight:850}.french-daily-panel details summary{display:flex;align-items:center;gap:7px;color:#676a64;cursor:pointer;font-size:.75rem;font-weight:720;list-style:none}.french-daily-panel details summary svg{width:14px}.french-daily-panel details>div{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:11px}.french-daily-panel details>div button{min-height:33px;color:#686b65;border:1px solid var(--french-line);border-radius:9px;background:#f7f7f5;font:750 .75rem/1 var(--app-sans);cursor:pointer}.french-daily-panel details>div button.is-active{color:#fff;border-color:var(--french-blue);background:var(--french-blue)}.french-panel-kicker{display:inline-flex;align-items:center;gap:7px;color:#9a463c;font-size:.75rem;font-weight:880;text-transform:uppercase}.french-panel-kicker svg{width:14px}.french-daily-ring{display:grid;width:118px;height:118px;place-items:center;margin-inline:auto;border-radius:50%;background:conic-gradient(var(--french-red) var(--progress),#e9e9e5 0)}.french-daily-ring:before{position:absolute;width:96px;height:96px;border-radius:50%;background:#fff;content:""}.french-daily-ring>span{z-index:1;display:grid;text-align:center}.french-daily-ring>span strong{font-size:1.5rem;line-height:1}.french-daily-ring>span small{margin-top:5px;color:var(--french-muted);font-size:.75rem}.french-review-stage{min-width:0}.french-review-card{position:relative;display:grid;min-height:610px;overflow:hidden;border:1px solid var(--french-line);border-radius:28px;background:#fff;box-shadow:0 20px 65px rgba(29,35,43,.065)}.french-review-card>header{display:flex;min-height:62px;align-items:center;gap:9px;padding:0 24px;border-bottom:1px solid var(--french-line)}.french-review-card>header span{color:var(--french-blue);font-size:.75rem;font-weight:880;text-transform:uppercase}.french-review-card>header em{color:var(--french-muted);font-size:.75rem;font-style:normal}.french-review-card>header button{display:grid;width:36px;height:36px;place-items:center;margin-left:auto;color:var(--french-blue);border:1px solid rgba(36,74,118,.14);border-radius:11px;background:#eef4fa;cursor:pointer}.french-review-card>header button svg{width:16px}.french-item-visual{position:relative;width:min(720px,100%);height:150px;margin:0 0 24px;overflow:hidden;border-radius:18px;background:#e9e7de;box-shadow:inset 0 0 0 1px rgba(25,31,38,.06)}.french-item-visual img{width:100%;height:100%;object-fit:cover}.french-item-visual:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,36,53,.16),transparent 43%,rgba(22,36,53,.07));content:"";pointer-events:none}.french-item-visual figcaption{position:absolute;z-index:1;right:12px;bottom:10px;max-width:55%;overflow:hidden;padding:5px 8px;color:#fff;border-radius:7px;background:rgba(18,29,43,.65);backdrop-filter:blur(8px);font-size:.75rem;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.french-item-visual.is-compact{width:calc(100% + 36px);height:82px;margin:-18px -18px 16px;border-radius:16px 16px 0 0}.french-item-visual.is-compact figcaption{right:9px;bottom:8px}.french-review-question{display:grid;justify-items:center;padding:40px 28px 34px;text-align:center}.french-review-question small{color:var(--french-muted);font-size:.75rem}.french-review-question h2{max-width:780px;margin:18px 0 0;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:670;line-height:1.08}.french-review-question input{width:min(580px,100%);height:58px;margin-top:30px;padding:0 18px;color:var(--french-ink);border:1px solid rgba(36,74,118,.2);border-radius:15px;outline:0;background:#f5f8fb;font:700 1rem/1 var(--app-sans);text-align:center}.french-review-question input:focus{border-color:var(--french-blue);box-shadow:0 0 0 4px rgba(36,74,118,.08)}.french-reveal-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;justify-self:center;margin:0 20px 42px;padding:0 20px;color:#fff;border:0;border-radius:13px;background:var(--french-blue);font:790 .75rem/1 var(--app-sans);cursor:pointer}.french-reveal-button svg{width:15px}.french-answer-choices{display:grid;width:min(680px,100%);grid-template-columns:1fr 1fr;gap:9px;margin-top:34px}.french-answer-choices button{min-height:53px;padding:10px 15px;color:var(--french-ink);border:1px solid var(--french-line);border-radius:13px;background:#f8f9f8;font:720 .75rem/1.25 var(--app-sans);cursor:pointer}.french-answer-choices button:hover{border-color:rgba(36,74,118,.35);background:#f1f5f8}.french-review-answer{display:grid;justify-items:center;padding:8px 28px 26px;text-align:center}.french-review-answer>span{display:flex;min-height:22px;align-items:center;gap:5px;color:#64816d;font-size:.75rem;font-weight:760}.french-review-answer>span svg{width:13px}.french-review-answer h3{margin:8px 0 0;color:var(--french-blue);font-size:clamp(1.75rem,3vw,2.5rem)}.french-review-answer>p{margin:5px 0 0;color:#5f625d;font-size:.75rem}.french-review-answer>button{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:var(--french-blue);border:0;background:rgba(0,0,0,0);font:650 .75rem/1 var(--app-sans);cursor:pointer}.french-review-answer>button svg{width:15px}.french-review-answer blockquote{display:grid;width:min(650px,100%);gap:5px;margin:20px 0 0;padding:14px 18px;border-left:3px solid var(--french-red);border-radius:0 12px 12px 0;background:#f8f5ee;font-size:.75rem;font-style:normal;line-height:1.5}.french-review-answer blockquote small{color:var(--french-muted);font-size:.75rem}.french-review-answer aside{display:flex;width:min(650px,100%);align-items:flex-start;gap:8px;margin-top:10px;color:#696c66;font-size:.75rem;line-height:1.5;text-align:left}.french-review-answer aside svg{width:14px;flex:0 0 auto;color:var(--french-red)}.french-choice-result{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;padding:16px 20px;border-top:1px solid var(--french-line);background:#fafaf8}.french-choice-result span{display:flex;align-items:center;gap:7px;color:#a3473f;font-size:.75rem;font-weight:760}.french-choice-result span svg{width:16px}.french-choice-result.is-correct span{color:#397657}.french-choice-result button{display:inline-flex;min-height:43px;align-items:center;gap:7px;padding:0 15px;color:#fff;border:0;border-radius:11px;background:var(--french-blue);font:780 .75rem/1 var(--app-sans);cursor:pointer}.french-choice-result button svg{width:14px}.french-rating-block{margin-top:auto;border-top:1px solid var(--french-line);background:#fafaf8}.french-rating-block>p{margin:0;padding:13px 16px 0;color:#72756f;font-size:.75rem;font-weight:720;text-align:center}.french-rating-block>footer{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:11px 16px 16px}.french-rating-block>footer button{display:grid;min-height:67px;grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:4px 8px;padding:9px 12px;color:#5f625d;border:1px solid var(--french-line);border-radius:13px;background:#fff;cursor:pointer;text-align:left;transition:transform .15s ease,border-color .15s ease}.french-rating-block>footer button:hover{transform:translateY(-2px)}.french-rating-block>footer button kbd{grid-row:1/3;display:grid;width:25px;height:25px;place-items:center;border-radius:7px;background:#f0f1ef;font-size:.75rem}.french-rating-block>footer button strong{font-size:.75rem}.french-rating-block>footer button small{color:#92948f;font-size:.75rem}.french-rating-block>footer button.is-again:hover{border-color:#dc6a5d}.french-rating-block>footer button.is-hard:hover{border-color:#d99a3c}.french-rating-block>footer button.is-good:hover{border-color:#4a9b70}.french-rating-block>footer button.is-easy:hover{border-color:#4c78ba}.french-card-busy{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:rgba(26,34,43,.34);backdrop-filter:blur(2px);font-size:.75rem;font-weight:800}.french-card-busy svg{width:17px}.french-session-complete{display:grid;min-height:500px;place-items:center;align-content:center;padding:40px;border:1px solid var(--french-line);border-radius:28px;background:#fff;text-align:center}.french-session-complete svg{width:38px;color:var(--french-red)}.french-session-complete h2{margin:17px 0 7px;font-size:1.75rem}.french-session-complete p{max-width:520px;margin:0;color:var(--french-muted);font-size:.75rem;line-height:1.6}.french-session-complete button{display:inline-flex;align-items:center;gap:6px;margin-top:20px;color:var(--french-blue);border:0;background:rgba(0,0,0,0);font:800 .75rem/1 var(--app-sans);cursor:pointer}.french-session-complete button svg{width:15px}.french-library-view,.french-method-view,.french-progress-view,.french-rules-view{padding:28px;border:1px solid var(--french-line);border-radius:26px;background:#fff;box-shadow:0 18px 54px rgba(29,35,43,.05)}.french-library-view>header{display:flex;align-items:end;justify-content:space-between;gap:24px}.french-library-view>header h2{margin:9px 0 6px;font-size:1.75rem}.french-library-view>header p{max-width:680px;margin:0;color:var(--french-muted);font-size:.75rem;line-height:1.5}.french-library-view>header>button{display:inline-flex;min-height:43px;flex:0 0 auto;align-items:center;gap:7px;padding:0 14px;color:#fff;border:0;border-radius:12px;background:var(--french-blue);font:780 .75rem/1 var(--app-sans);cursor:pointer}.french-library-view>header>button svg{width:14px}.french-library-view>header>button:disabled{opacity:.42;cursor:default}.french-library-filters{display:grid;grid-template-columns:auto auto minmax(180px,1fr);align-items:center;gap:9px;margin-top:26px;padding:9px;border:1px solid var(--french-line);border-radius:16px;background:#f7f8f8}.french-library-filters>div{display:flex;gap:3px;padding:3px;border-radius:11px;background:#e9ebeb}.french-library-filters>div button{min-height:32px;padding:0 10px;color:#6c7069;border:0;border-radius:8px;background:rgba(0,0,0,0);font:760 .75rem/1 var(--app-sans);cursor:pointer}.french-library-filters>div button.is-active{color:var(--french-ink);background:#fff;box-shadow:0 2px 7px rgba(29,35,43,.08)}.french-library-filters label{display:grid;grid-template-columns:17px 1fr;align-items:center;gap:7px;min-width:0;height:38px;padding:0 10px;border-radius:10px;background:#fff}.french-library-filters label svg{width:15px;color:#8a8d88}.french-library-filters label input{min-width:0;border:0;outline:0;background:rgba(0,0,0,0);font:650 .75rem/1 var(--app-sans)}.french-level-summary{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:15px;margin-top:18px;padding:16px 18px;border-radius:16px;background:color-mix(in srgb,var(--level-accent) 9%,#f7f7f5)}.french-level-summary>span{display:grid;width:46px;height:46px;place-items:center;color:#fff;border-radius:14px;background:var(--level-accent);font-size:.75rem;font-weight:900}.french-level-summary>div{display:grid;gap:3px}.french-level-summary>div strong{font-size:.75rem}.french-level-summary>div p{margin:0;color:var(--french-muted);font-size:.75rem}.french-level-summary>small{color:#70736d;font-size:.75rem}.french-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;transition:opacity .15s ease}.french-library-grid.is-loading{opacity:.42}.french-library-grid>article{display:grid;min-width:0;min-height:260px;align-content:start;padding:18px;border:1px solid var(--french-line);border-radius:17px;background:#fff;transition:transform .15s ease,box-shadow .15s ease}.french-library-grid>article:hover{z-index:1;box-shadow:0 16px 35px rgba(29,35,43,.08);transform:translateY(-2px)}.french-library-grid>article>header{display:flex;align-items:center;justify-content:space-between}.french-library-grid>article>header span{color:var(--french-muted);font-size:.75rem;font-weight:820;text-transform:uppercase}.french-library-grid>article>header em{padding:4px 6px;color:#767973;border-radius:99px;background:#eff0ef;font-size:.75rem;font-style:normal}.french-library-grid>article>header em.is-mastered{color:#287251;background:#e6f5ed}.french-library-grid>article>header em.is-learning,.french-library-grid>article>header em.is-review{color:#8d5c1d;background:#fff3dd}.french-library-grid>article h3{margin:22px 0 0;color:var(--french-blue);font-size:1.25rem;line-height:1.2}.french-library-grid>article>p{margin:5px 0 0;color:#555852;font-size:.75rem}.french-library-grid>article>button{display:inline-flex;align-items:center;gap:6px;justify-self:start;margin-top:10px;color:var(--french-muted);border:0;background:rgba(0,0,0,0);font:600 .75rem/1 var(--app-sans);cursor:pointer}.french-library-grid>article>button svg{width:13px;color:var(--french-red)}.french-library-grid>article>footer{display:grid;gap:5px;margin-top:auto;padding-top:15px;border-top:1px solid var(--french-line)}.french-library-grid>article>footer span{color:#9a463c;font-size:.75rem;font-weight:800;text-transform:uppercase}.french-library-grid>article>footer small{overflow:hidden;color:#848781;font-size:.75rem;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.french-library-pages{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}.french-library-pages span{color:var(--french-muted);font-size:.75rem}.french-library-pages button{min-height:36px;padding:0 13px;color:var(--french-blue);border:1px solid var(--french-line);border-radius:10px;background:#fff;font:750 .75rem/1 var(--app-sans);cursor:pointer}.french-library-pages button:disabled{opacity:.4;cursor:default}.french-rules-view>header{max-width:760px}.french-rules-view>header h2{margin:9px 0 7px;font-size:1.75rem}.french-rules-view>header p{margin:0;color:var(--french-muted);font-size:.75rem;line-height:1.6}.french-rules-levels{display:flex;gap:4px;margin-top:24px;padding:4px;overflow-x:auto;border-radius:13px;background:#eff1f2}.french-rules-levels button{min-width:52px;min-height:36px;padding:0 13px;color:#6f7479;border:0;border-radius:9px;background:rgba(0,0,0,0);font:800 .75rem/1 var(--app-sans);cursor:pointer}.french-rules-levels button.is-active{color:#fff;background:var(--french-blue);box-shadow:0 3px 9px rgba(36,74,118,.2)}.french-rules-grid{display:grid;gap:9px;margin-top:14px}.french-rules-grid>article{overflow:hidden;border:1px solid var(--french-line);border-radius:17px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.french-rules-grid>article.is-open{border-color:rgba(36,74,118,.25);box-shadow:0 10px 28px rgba(29,35,43,.06)}.french-rules-grid>article>button{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:14px;padding:17px;color:var(--french-ink);border:0;background:rgba(0,0,0,0);cursor:pointer;text-align:left}.french-rules-grid>article>button>span{display:grid;width:36px;height:36px;place-items:center;color:#fff;border-radius:11px;background:var(--french-blue);font-size:.75rem;font-weight:900}.french-rules-grid>article>button div{min-width:0}.french-rules-grid>article>button em{color:var(--french-red);font-size:.75rem;font-style:normal;font-weight:850}.french-rules-grid>article>button h3{margin:4px 0 0;font-size:.75rem}.french-rules-grid>article>button p{margin:4px 0 0;color:var(--french-muted);font-size:.75rem;line-height:1.45}.french-rules-grid>article>button>svg{width:16px;color:#858a8d;transition:transform .15s ease}.french-rules-grid>article.is-open>button>svg{transform:rotate(90deg)}.french-rule-details{padding:0 17px 18px 69px}.french-rule-details>p{max-width:760px;margin:0;color:#4e5555;font-size:.75rem;line-height:1.65}.french-rule-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:14px 0 0}.french-rule-details dl div{padding:10px 12px;border-radius:11px;background:#f6f7f5}.french-rule-details dl dt{color:var(--french-blue);font-size:.75rem;font-weight:800}.french-rule-details dl dd{margin:4px 0 0;color:var(--french-muted);font-size:.75rem}.french-rule-details aside{display:flex;align-items:flex-start;gap:7px;margin-top:12px;color:#876045;font-size:.75rem;line-height:1.5}.french-rule-details aside svg{width:14px;flex:0 0 auto;color:var(--french-red)}.french-progress-view>header{display:flex;align-items:end;justify-content:space-between;gap:24px}.french-progress-view>header h2{margin:9px 0 0;font-size:1.75rem}.french-progress-view>header dl{display:grid;grid-template-columns:repeat(3,auto);gap:28px;margin:0}.french-progress-view>header dl div{display:grid;gap:4px}.french-progress-view>header dl dt{color:var(--french-muted);font-size:.75rem}.french-progress-view>header dl dd{margin:0;font-size:1rem;font-weight:850}.french-memory-week{margin-top:28px;padding:22px;border-radius:19px;background:#f5f6f6}.french-memory-week h3{margin:0;font-size:.75rem}.french-memory-week>div{display:grid;grid-template-columns:repeat(14,1fr);align-items:end;gap:6px;height:150px;margin-top:18px}.french-memory-week>div>span{display:grid;height:100%;align-items:end;gap:7px}.french-memory-week>div>span i{display:block;min-height:8px;border-radius:6px 6px 2px 2px;background:#dcdedc}.french-memory-week>div>span small{color:#999b97;font-size:.75rem;text-align:center}.french-memory-week>div>span.is-active i{background:#aabed2}.french-memory-week>div>span.is-goal i{background:linear-gradient(to top,var(--french-blue),#5883b2)}.french-level-progress{display:grid;gap:9px;margin-top:28px}.french-level-progress>h3{margin:0 0 5px;font-size:.75rem}.french-level-progress>article{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--french-line);border-radius:16px}.french-level-progress>article>span{display:grid;width:43px;height:43px;place-items:center;color:#fff;border-radius:13px;background:var(--level-accent);font-size:.75rem;font-weight:900}.french-level-progress>article>div{display:grid;min-width:0;gap:3px}.french-level-progress>article>div strong{font-size:.75rem}.french-level-progress>article>div p{overflow:hidden;margin:0;color:var(--french-muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.french-level-progress>article>div i{display:block;height:5px;margin-top:6px;overflow:hidden;border-radius:99px;background:#eceeec}.french-level-progress>article>div i b{display:block;height:100%;border-radius:inherit;background:var(--level-accent)}.french-level-progress>article>dl{display:grid;grid-template-columns:repeat(3,68px);margin:0;text-align:center}.french-level-progress>article>dl div+div{border-left:1px solid var(--french-line)}.french-level-progress>article>dl dt{color:var(--french-muted);font-size:.75rem}.french-level-progress>article>dl dd{margin:5px 0 0;font-size:.75rem;font-weight:830}.french-method-view>header{max-width:840px}.french-method-view>header h2{margin:10px 0 8px;font-size:1.75rem}.french-method-view>header p{margin:0;color:var(--french-muted);font-size:.75rem;line-height:1.6}.french-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}.french-method-grid article{position:relative;min-height:210px;padding:24px;overflow:hidden;border:1px solid var(--french-line);border-radius:19px;background:#f8f8f6}.french-method-grid article>span{color:var(--french-red);font-size:.75rem;font-weight:900}.french-method-grid article h3{margin:28px 0 7px;font-size:1rem}.french-method-grid article p{margin:0;color:var(--french-muted);font-size:.75rem;line-height:1.6}.french-method-grid article:first-child{color:#fff;border-color:rgba(0,0,0,0);background:var(--french-blue)}.french-method-grid article:first-child p{color:rgba(255,255,255,.7)}.french-method-grid article:first-child>span{color:#f1a69d}.french-research-sources{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:28px}.french-research-sources>h3{grid-column:1/-1;margin:0 0 5px;font-size:.75rem}.french-research-sources>a{position:relative;display:grid;min-width:0;min-height:115px;align-content:end;padding:15px;border:1px solid var(--french-line);border-radius:15px;background:#fff}.french-research-sources>a span,.french-research-sources>a strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.french-research-sources>a strong{font-size:.75rem}.french-research-sources>a span{margin-top:4px;color:var(--french-muted);font-size:.75rem}.french-research-sources>a svg{position:absolute;top:14px;right:14px;width:13px;color:var(--french-red)}.french-research-sources>a:hover{border-color:rgba(228,93,80,.35)}@media(max-width:1050px){.french-learning-hero-grid{grid-template-columns:minmax(0,1fr) 380px;gap:36px}.french-learning-hero-copy h1{font-size:clamp(3.5rem,7.5vw,3.5rem)}.french-today-layout{grid-template-columns:270px minmax(0,1fr)}.french-learning-toolbar{align-items:flex-start;flex-direction:column}.french-learning-toolbar nav{width:100%;overflow-x:auto}.french-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.french-research-sources{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.french-learning-hero{padding-block:52px}.french-learning-hero-grid{grid-template-columns:minmax(0,1fr)}.french-learning-hero-card{min-height:390px;transform:none}.french-today-layout{grid-template-columns:1fr}.french-daily-panel{position:static;grid-template-columns:120px minmax(0,1fr);align-items:center}.french-daily-panel details,.french-daily-panel>dl{grid-column:1/-1}.french-library-filters{grid-template-columns:1fr 1fr}.french-library-filters label{grid-column:1/-1}.french-level-progress>article{grid-template-columns:45px minmax(0,1fr)}.french-level-progress>article>dl{grid-column:1/-1}.french-progress-view>header{align-items:flex-start;flex-direction:column}}@media(max-width:639px){.french-learning-hero{padding:38px 0}.french-learning-hero-copy h1{font-size:clamp(2rem,10vw,3.5rem)}.french-learning-hero-copy>p{font-size:.875rem}.french-learning-hero-card{min-height:360px;padding:27px;border-radius:25px}.french-learning-hero-card>small{margin-top:54px}.french-learning-hero-card>footer{grid-template-columns:1fr 1fr}.french-learning-preview{grid-template-columns:1fr;padding-bottom:46px}.french-learning-workspace{padding-block:16px 105px}.french-learning-toolbar{padding:14px;border-radius:17px}.french-learning-toolbar nav button{flex:0 0 auto;min-height:39px;padding-inline:10px}.french-learning-toolbar nav button span{display:none}.french-daily-panel{grid-template-columns:90px minmax(0,1fr);gap:16px;padding:18px;border-radius:20px}.french-daily-ring{width:84px;height:84px}.french-daily-ring:before{width:68px;height:68px}.french-daily-ring>span strong{font-size:1.125rem}.french-review-card{min-height:570px;border-radius:21px}.french-review-card>header{padding-inline:16px}.french-answer-choices{grid-template-columns:1fr}.french-rating-block>footer{grid-template-columns:1fr 1fr}.french-rating-block>footer button{min-height:59px}.french-review-question{padding:50px 18px 28px}.french-review-question h2{font-size:2rem}.french-review-answer{padding-inline:18px}.french-library-view,.french-method-view,.french-progress-view,.french-rules-view{padding:18px;border-radius:21px}.french-library-view>header{align-items:flex-start;flex-direction:column}.french-library-filters{grid-template-columns:1fr}.french-library-filters>div{overflow-x:auto}.french-library-filters label{grid-column:auto}.french-level-summary{grid-template-columns:48px minmax(0,1fr)}.french-level-summary>small{grid-column:1/-1}.french-library-grid{grid-template-columns:1fr}.french-rule-details{padding:0 15px 16px}.french-rule-details dl{grid-template-columns:1fr}.french-progress-view>header dl{width:100%;grid-template-columns:repeat(3,1fr);gap:5px}.french-memory-week{overflow-x:auto}.french-memory-week>div{min-width:520px}.french-method-grid,.french-research-sources{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.french-learning-page *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}