.account-dialog.account-dialog{border-radius:12px 12px 0 0;box-shadow:none}.account-dialog .account-sheet{padding:8px 24px calc(20px + env(safe-area-inset-bottom,0px));background:var(--page)}.account-dialog .account-sheet-top{gap:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}.account-dialog .account-sheet h2:not(.screen-reader-only){margin:0;font-size:1rem;line-height:1.5;font-weight:600}.account-dialog .account-sheet-top>.icon-button{flex-shrink:0;margin-right:-12px;border:0;background:transparent;color:var(--ink-soft)}.account-dialog .account-modes{gap:24px;margin:0;padding:0;background:none;border-radius:0}.account-dialog .account-modes button{flex:none;min-width:48px;padding:12px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--ink-soft);font-size:1rem;font-weight:400;box-shadow:none}.account-dialog .account-modes button[aria-pressed=true]{border-bottom-color:var(--bleu);color:var(--ink);font-weight:600}.account-dialog .account-form{display:grid;gap:20px}.account-dialog .account-form .account-field{margin:0}.account-dialog .account-field{font-size:.8125rem;font-weight:400}.account-dialog .account-field input,.account-dialog .account-field select{min-height:48px;margin-top:2px;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.account-dialog .account-field input:focus,.account-dialog .account-field select:focus{border-bottom-color:var(--bleu);box-shadow:none;outline:none}.account-dialog .account-field input:focus-visible,.account-dialog .account-field select:focus-visible{outline:2px solid var(--bleu);outline-offset:2px}.account-dialog .account-field input::placeholder{color:var(--ink-soft);opacity:1}.account-dialog .password-control{gap:0;margin-top:2px;border-bottom:1px solid var(--line)}.account-dialog .password-control:focus-within{border-bottom-color:var(--bleu)}.account-dialog .password-control input{border:0;margin-top:0}.account-dialog .password-toggle{display:grid;place-items:center;min-width:48px;min-height:48px;margin:0;padding:12px;border:0;border-radius:0;background:none;color:var(--ink-soft)}.account-dialog .account-form .account-hint{margin:6px 0 0;font-size:.6875rem;line-height:1.6}.account-dialog .account-rules{display:flex;flex-wrap:wrap;gap:2px 16px;margin:8px 0 0;padding:0;list-style:none;font-size:.75rem;line-height:1.6;color:var(--ink-soft)}.account-dialog .account-rules li{display:inline-flex;align-items:center;gap:6px;transition:color var(--motion-fast) var(--motion-ease-standard)}.account-dialog .account-rules [data-state=met]{color:var(--vert)}.account-dialog .account-rules [data-state=unmet]{color:var(--rouge)}.account-dialog .rule-mark{display:grid;place-items:center;width:14px;height:14px}.account-dialog .rule-mark:empty:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55}.account-dialog .rule-mark svg,.account-dialog .confirm-mark svg{stroke-width:2.2;animation:rule-mark-in var(--motion-fast) var(--motion-ease-out)}.account-dialog .confirm-mark{display:grid;place-items:center;min-width:48px;color:var(--vert)}.account-dialog .confirm-mark[data-state=unmet]{color:var(--rouge)}.account-dialog .password-control:has(input[aria-invalid=true]){border-bottom-color:var(--rouge)}@keyframes rule-mark-in{0%{opacity:0;transform:scale(.6)}}.account-dialog .account-personal-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr));gap:12px 20px}.account-dialog .account-personal-details>*{min-width:0}.account-dialog .account-personal-details .account-level-hint{grid-column:1 / -1;margin-top:-6px}.account-dialog .account-form>.button-primary{width:100%;min-height:48px;margin-top:4px;border-radius:6px;font-weight:600}.account-dialog .account-footnote{margin-top:16px;padding:0;border:0;font-size:.6875rem;line-height:1.7;color:var(--ink-soft)}@media(max-width:370px){.account-dialog .account-sheet{padding-inline:20px}}.prepared-lesson{min-height:100%}.prepared-word-heading .word-meta{margin:0}.prepared-word-heading.is-continuation{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin:.2rem 0 1rem}.prepared-word-heading.is-continuation .word-title{margin:0;font-size:1.125rem;font-weight:600;letter-spacing:0;line-height:1.5}.prepared-prompt{margin:1.4rem 0 1rem;font-size:1.125rem;line-height:1.65;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}.prepared-prompt:focus{outline:none}.prepared-text{line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.prepared-lesson .lesson-inner>.prepared-text{margin:1.25rem 0;font-size:1.125rem;line-height:1.85}.prepared-meaning-note{color:var(--ink-soft);font-size:.9375rem;line-height:1.75;overflow-wrap:anywhere}.prepared-lesson .lesson-inner>.prepared-meaning-note{margin:-.5rem 0 1.25rem}.prepared-collocations{margin:1.25rem 0;padding-left:1.3rem;line-height:1.85;font-size:1.125rem;overflow-wrap:anywhere}.prepared-collocations li+li{margin-top:.5rem}.prepared-support{margin:.75rem 0 1rem;color:var(--ink);font-size:1rem;line-height:1.75;overflow-wrap:anywhere}.prepared-support>summary{width:fit-content;min-height:48px;box-sizing:border-box;padding:12px 4px;color:var(--ink-soft);cursor:pointer}.prepared-support-content{margin:.5rem 0 1rem;padding-left:1rem;border-left:2px solid var(--line);white-space:pre-wrap}.prepared-support-content ul{margin:0 0 .75rem;padding-left:1.1rem}.prepared-support-content p{margin:0;line-height:1.85}.prepared-lesson .sentence-answer{display:block;width:100%;max-width:100%;box-sizing:border-box;margin-top:.6rem;min-height:96px;max-height:min(240px,38dvh);padding:12px;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--page);color:var(--ink);font:inherit;font-size:max(16px,1rem);line-height:1.7;appearance:none;overflow-y:auto;overscroll-behavior-y:contain;resize:none}.prepared-lesson .sentence-answer::placeholder{color:var(--ink-soft)}.prepared-lesson .sentence-answer:focus{outline:2px solid var(--bleu);outline-offset:2px}.prepared-lesson .sentence-answer:disabled{color:var(--ink-soft);background:var(--bleu-tint)}:root[data-keyboard-open=true] .prepared-lesson .sentence-answer{min-height:80px;max-height:max(80px,min(180px,calc(var(--visual-viewport-height, 100dvh) * .36)))}.prepared-sources{font-size:.8125rem;color:var(--ink-soft);margin-top:1.5rem;line-height:1.75;overflow-wrap:anywhere}.prepared-sources summary{width:fit-content;min-height:48px;box-sizing:border-box;padding:12px 0;cursor:pointer}.prepared-sources ul{padding-left:1.1rem}.prepared-lesson .completion{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:2rem 0}.prepared-lesson .completion h2{flex:none;margin:0;font-size:1.25rem;font-weight:600;line-height:1.5;text-wrap:balance;overflow-wrap:anywhere}.prepared-lesson .completion>.button{max-width:100%}.prepared-quick .prepared-text{margin-top:1.5rem}.sourced-examples{margin:0 0 1.25rem}.sourced-examples h4{margin:0 0 .5rem;color:var(--ink-soft);font-size:.9375rem;font-weight:600}.sourced-examples ul{margin:0;padding:0;list-style:none}.sourced-examples li+li{margin-top:1rem}.sourced-examples .french-sentence{margin:0;font-size:1.0625rem;line-height:1.75;overflow-wrap:anywhere}.sourced-translation{margin:.125rem 0 0;font-size:.9375rem;line-height:1.75;overflow-wrap:anywhere}.sourced-credit{margin:.125rem 0 0;color:var(--ink-soft);font-size:.8125rem;line-height:1.6;overflow-wrap:anywhere}.sourced-credit a{display:inline-flex;align-items:center;min-height:48px;color:var(--bleu);text-underline-offset:.2em}.prepared-sources li+li{margin-top:1rem}.prepared-sources p{margin:.25rem 0}.prepared-sources a{display:inline-flex;align-items:center;min-height:48px;color:var(--bleu);text-underline-offset:.2em}.prepared-lesson .sheet-actions{flex-wrap:wrap}.practice-result{margin:1rem 0 0;font-size:.9375rem;line-height:1.75;overflow-wrap:anywhere}.practice-result>p{margin:0 0 .5rem}.practice-result .grading-status{margin:0;padding:8px 0;color:var(--ink-soft)}.practice-result .text-link{margin-top:.25rem}.practice-usage-badge{display:inline-block;margin:0 0 .5rem;padding:2px 10px;border-radius:999px;font-size:.8125rem;font-weight:600;line-height:1.7;background:var(--bleu-tint);color:var(--ink)}.practice-usage-badge.is-correct{background:var(--vert-tint);color:var(--vert)}.practice-usage-badge.is-attention{background:var(--rouge-tint);color:var(--rouge)}.practice-result .feedback-explanation{margin:0 0 .75rem}.practice-result .sentence-issues{margin-bottom:.75rem}.practice-label{display:block;margin:0 0 .25rem;color:var(--ink-soft);font-size:.75rem}.practice-result .corrected-sentence,.practice-submitted{white-space:pre-wrap}.practice-submitted [lang]{display:block;font-size:1rem}.practice-note,.practice-message{color:var(--ink-soft);font-size:.8125rem}.practice-message{color:var(--ink);font-size:.875rem}.practice-summary{position:relative;align-self:stretch;margin:0 0 1.25rem;padding:4px 14px 8px;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--page)}.practice-summary>details>summary{display:flex;align-items:center;gap:6px;width:fit-content;min-height:48px;padding-right:48px;font-weight:600;cursor:pointer;list-style:none}.practice-summary>details>summary::-webkit-details-marker{display:none}.practice-summary>details[open]>summary>svg{transform:rotate(90deg)}.practice-summary-close{position:absolute;top:0;right:0}.practice-summary-list{margin:0;padding:0;list-style:none}.practice-summary-list>li{padding:12px 0;border-top:1px solid var(--line)}.practice-summary-list h4{margin:0;font-size:.9375rem;font-weight:600;line-height:1.6}.practice-summary-prompt{margin:.25rem 0 0;color:var(--ink-soft);font-size:.8125rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.practice-summary .practice-result{margin-top:.5rem}.jellydog-brand{display:flex;align-items:center;gap:7px;min-width:0}.jellydog-brand .brand-logo{display:block;width:36px;height:36px;flex:0 0 36px}.jellydog-brand .brand-copy{display:flex;align-items:center;gap:4px;min-width:0}.jellydog-brand .brand-wordmark{display:block;width:114px;height:36px;max-width:100%;object-fit:contain;object-position:left center}.topbar-brand .jellydog-brand{gap:4px}.topbar-brand .brand-wordmark{width:105px;height:31px;margin-block:-2px}@media(max-width:350px){.topbar-brand .jellydog-brand{gap:2px}.topbar-brand .brand-wordmark{width:94px}.topbar-brand .jellydog-brand .brand-logo{width:30px;height:30px;flex-basis:30px}}:root[data-theme=dark] .jellydog-brand .brand-wordmark{filter:invert(1) brightness(1.12)}.jellydog-mark{--jd-head: #F9F9F9;--jd-ear: #142B61;overflow:visible}:root[data-theme=dark] .jellydog-mark{--jd-head: #DDE5DF;--jd-ear: #2B4C8C}.jellydog-mark .jd-head{fill:var(--jd-head)}.jellydog-mark .jd-ear{fill:var(--jd-ear)}.jellydog-mark .jd-dog,.jellydog-mark .jd-beret,.jellydog-mark .jd-pop,.jellydog-mark .jd-tongue{transform-box:fill-box}.jellydog-mark .jd-dog{transform-origin:50% 90%}.jellydog-mark .jd-beret{transform-origin:50% 100%}.jellydog-mark .jd-pop{transform-origin:50% 50%}.jellydog-mark .jd-tongue{transform-origin:50% 0}.word-pager{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.word-pager-window{position:relative;flex:1;min-height:0;overflow:hidden}.word-pager-track{position:relative;width:100%;height:100%}.word-pager-current{min-width:0;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}.word-pager[data-axis=vertical] .word-pager-current{overscroll-behavior-y:none}.word-pager-current:focus-visible{outline:2px solid var(--bleu);outline-offset:-3px}.word-pager-content{display:flex;flex-direction:column;min-height:100%;box-sizing:border-box;padding:4px 7px 8px}.word-pager-neighbor{position:absolute;inset:0 auto auto 0;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;padding:4px 7px 8px;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.word-pager-neighbor.previous{left:-100%}.word-pager-neighbor.next{left:100%}.word-pager[data-axis=vertical] .word-pager-neighbor.previous{top:-100%;left:0}.word-pager[data-axis=vertical] .word-pager-neighbor.next{top:100%;left:0}.word-pager-footer{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;flex-shrink:0;padding:2px 4px}.word-pager-navigation{display:flex;align-items:center;gap:0;flex-shrink:0}.word-pager-arrow{display:inline-flex;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;padding:12px;border:0;border-radius:50%;background:transparent;color:var(--ink-soft)}.word-pager-arrow.previous>svg{transform:rotate(180deg)}.word-pager[data-axis=vertical] .word-pager-arrow.previous>svg{transform:rotate(-90deg)}.word-pager[data-axis=vertical] .word-pager-arrow.next>svg{transform:rotate(90deg)}.word-pager-arrow:disabled{color:var(--ink-soft);opacity:.3}.word-pager-dots{display:flex;align-items:center;gap:5px;padding-inline:2px}.word-pager-dot{width:5px;height:5px;border-radius:3px;background:var(--ink-faint);opacity:.45;transition:width var(--motion-fast) var(--motion-ease-standard)}.word-pager-dot.is-current{width:16px;background:var(--bleu);opacity:1}.word-pager-dot.is-empty{opacity:.12}.word-pager[data-axis=vertical] .word-pager-dots{flex-direction:column;gap:4px}.word-pager[data-axis=vertical] .word-pager-dot.is-current{width:5px;height:14px}.word-pager-arrow:hover:not(:disabled),.word-pager-arrow:focus-visible{background:var(--bleu-tint);color:var(--bleu)}.word-pager-hint{flex:1;min-width:0;margin:0;padding-inline:8px;color:var(--ink-soft);font-size:.6875rem;line-height:1.5;overflow-wrap:anywhere}.word-pager-guide{position:absolute;z-index:2;inset:auto 16px 54px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;width:fit-content;max-width:calc(100% - 32px);margin-inline:auto;padding:12px 18px;border-radius:18px;background:var(--paper);color:var(--ink-soft);border:1px solid var(--line);font-size:.75rem;line-height:1.5;text-align:center;pointer-events:none}.word-pager-guide-motion{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;width:94px;height:22px;color:var(--bleu)}.word-pager-guide-motion>svg:first-child{transform:rotate(180deg)}.word-pager-guide-dot{position:absolute;width:8px;height:8px;top:7px;left:43px;border:1px solid currentColor;border-radius:50%;animation:word-guide-horizontal 1.1s ease-in-out 2}.word-pager-guide[data-axis=vertical] .word-pager-guide-motion{flex-direction:column;gap:18px;width:22px;height:62px}.word-pager-guide[data-axis=vertical] .word-pager-guide-motion>svg:first-child{transform:rotate(-90deg)}.word-pager-guide[data-axis=vertical] .word-pager-guide-motion>svg:last-child{transform:rotate(90deg)}.word-pager-guide[data-axis=vertical] .word-pager-guide-dot{left:7px;top:27px;animation-name:word-guide-vertical}.word-pager-preview .sheet-actions{pointer-events:none}.word-preview-title{color:var(--ink);font-size:2rem;font-weight:650;letter-spacing:-.75px;line-height:1.15;margin:0 0 8px;overflow-wrap:anywhere}.word-preview-sentence{font-size:1.1875rem;line-height:1.65;letter-spacing:-.15px;margin-bottom:0;font-weight:450;overflow-wrap:anywhere}.lesson-sheet .word-preview-sentence{font-size:1.125rem}@keyframes word-guide-horizontal{0%,to{transform:translate(-12px)}50%{transform:translate(12px)}}@keyframes word-guide-vertical{0%,to{transform:translateY(-12px)}50%{transform:translateY(12px)}}@media(prefers-reduced-motion:reduce){.word-pager-guide .word-pager-guide-dot,.word-pager-guide[data-axis=vertical] .word-pager-guide-dot{animation:none}}.settings-entry{display:grid;place-items:center;min-width:48px;min-height:48px;flex-shrink:0;padding:12px;border:0;background:transparent;color:var(--ink-soft)}.settings-entry:hover{color:var(--ink)}.settings-dialog{position:fixed;inset:auto 0 var(--visual-viewport-bottom-inset, 0px);width:min(480px,100%);max-width:100%;max-height:calc(var(--visual-viewport-height, 100dvh) - env(safe-area-inset-top,0px) - 16px);margin:0 auto;padding:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:20px;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:var(--page);color:var(--ink)}.settings-dialog::backdrop{background:var(--backdrop)}.settings-dialog[open]{animation:sheet-arrive var(--motion-sheet) var(--motion-ease-out)}.settings-sheet{padding:8px 24px calc(20px + env(safe-area-inset-bottom,0px))}.settings-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.settings-top h2{margin:0;font-size:1rem;line-height:1.5;font-weight:600}.settings-top>.icon-button{flex-shrink:0;margin-right:-12px;border:0;background:transparent;color:var(--ink-soft)}.settings-group{min-width:0;margin:24px 0 0;padding:0;border:0}.settings-group legend{padding:0;margin-bottom:8px;color:var(--ink-soft);font-size:.8125rem;line-height:1.5}.settings-choices{display:grid;gap:8px}.settings-directions{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-themes{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-choice{position:relative;display:flex;min-width:0;cursor:pointer}.settings-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.settings-choice>span{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 4px;border-bottom:2px solid var(--line);color:var(--ink-soft);font-size:1rem;line-height:1.5;text-align:center;overflow-wrap:anywhere}.settings-choice input:checked+span{border-color:var(--bleu);color:var(--bleu)}.settings-choice input:checked+span svg{stroke-width:2}.settings-choice input:focus-visible+span{outline:2px solid var(--bleu);outline-offset:2px}.settings-row{display:flex;align-items:center;gap:0;min-height:56px;margin-top:16px}.settings-row+.settings-row{margin-top:0;border-top:1px solid var(--line)}.settings-row>label{display:flex;align-items:center;min-width:48px;min-height:48px;margin-right:auto;font-size:1rem;line-height:1.5;cursor:pointer}.settings-row>label:has(+.settings-info){margin-right:0}.settings-info{display:grid;place-items:center;width:48px;min-width:48px;height:48px;margin-right:auto;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-soft)}.settings-info[aria-expanded=true]{color:var(--bleu)}.settings-switch{position:relative;flex-shrink:0;width:56px;height:48px;margin:0 -4px 0 0;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}.settings-switch:before{content:"";position:absolute;top:11px;left:4px;width:44px;height:26px;box-sizing:border-box;border:2px solid var(--ink-soft);border-radius:13px;background:transparent;transition:background-color var(--motion-fast) var(--motion-ease-standard),border-color var(--motion-fast) var(--motion-ease-standard)}.settings-switch:after{content:"";position:absolute;top:17px;left:10px;width:14px;height:14px;border-radius:50%;background:var(--ink-soft);transition:transform var(--motion-fast) var(--motion-ease-standard),background-color var(--motion-fast) var(--motion-ease-standard),width var(--motion-fast) var(--motion-ease-standard)}.settings-switch:checked:before{border-color:var(--bleu);background:var(--bleu)}.settings-switch:checked:after{top:15px;width:18px;height:18px;background:var(--on-accent);transform:translate(14px)}.settings-switch:focus-visible{outline:none}.settings-switch:focus-visible:before{outline:3px solid var(--bleu);outline-offset:3px}.settings-row+.settings-storage{margin-top:0}.settings-about{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;margin-top:16px;padding:12px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink-soft);font-size:1rem;text-align:left}.settings-storage{margin:12px 0 0;color:var(--ink-soft);font-size:.8125rem;line-height:1.6}@media(max-width:370px){.settings-sheet{padding-inline:20px}}@media(prefers-reduced-motion:reduce){.settings-dialog[open]{animation:none}}.splash{--splash-ease: cubic-bezier(.45, 0, .25, 1);position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;touch-action:none}.splash-backdrop{position:absolute;inset:0;background:var(--page)}.splash-stage{position:relative;display:grid;justify-items:center;transform:translateY(-5vh)}.splash-mark,.splash-wordmark{display:block;height:auto;overflow:visible;transform-origin:0 0}.splash-mark{width:min(46vw,184px)}.splash-wordmark{width:min(62vw,248px);margin-top:calc(min(46vw,184px)*-.1)}:root[data-theme=dark] .splash-wordmark{filter:invert(1) brightness(1.12)}:root[data-splash] .topbar-brand .brand-logo,:root[data-splash] .topbar-brand .brand-wordmark{visibility:hidden}.splash-dot{transform-box:fill-box;transform-origin:50% 50%}.splash-mark .jd-sketch{fill:none;stroke:var(--ink);stroke-width:14;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;animation:splash-draw .64s var(--splash-ease) both,splash-fade-out .28s var(--splash-ease) 1s both}.splash-mark .jd-sketch-ear-left{animation-duration:.42s,.28s;animation-delay:.2s,1s}.splash-mark .jd-sketch-ear-right{animation-duration:.42s,.28s;animation-delay:.28s,1s}.splash-mark .jd-fill{animation:splash-fade-in .3s var(--splash-ease) .54s both}.splash-mark .jd-ear-left{animation-delay:.62s}.splash-mark .jd-ear-right{animation-delay:.68s}.splash-mark .jd-beret{animation:splash-beret .52s var(--splash-ease) .78s both}.splash-mark .jd-pop{animation:splash-pop .34s var(--splash-ease) 1.02s both}.splash-mark .jd-eye-1{animation-delay:1.08s}.splash-mark .jd-nose{animation-delay:1.16s}.splash-mark .jd-mouth{stroke-dasharray:1 2;animation:splash-draw .26s var(--splash-ease) 1.3s both}.splash-mark .jd-tongue{animation:splash-blep .38s var(--splash-ease) 1.52s both}.splash-mark .jd-dog{animation:splash-nod .62s var(--splash-ease) 1.56s both}.splash-letter{stroke-dasharray:1 2;animation:splash-draw .12s var(--splash-ease) .9s both;animation-timing-function:cubic-bezier(.3,.1,.6,1)}.splash-dot{animation:splash-pop .18s var(--splash-ease) 2.02s both}.splash-grain{animation:splash-fade-in .3s var(--splash-ease) 2.06s both}@keyframes splash-draw{0%{stroke-dashoffset:1.05}to{stroke-dashoffset:0}}@keyframes splash-fade-in{0%{opacity:0}to{opacity:1}}@keyframes splash-fade-out{0%{opacity:1}to{opacity:0}}@keyframes splash-pop{0%{transform:scale(0)}65%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes splash-blep{0%{transform:scaleY(0)}60%{transform:scaleY(1.12)}to{transform:scaleY(1)}}@keyframes splash-beret{0%{opacity:0;transform:translate(40px,-220px) rotate(-14deg)}35%{opacity:1}70%{transform:translateY(14px) rotate(3deg)}to{opacity:1;transform:none}}@keyframes splash-nod{0%,to{transform:none}40%{transform:rotate(-5deg)}75%{transform:rotate(2deg)}}:root{--paper: #FFFFFF;--page: #FFFFFF;--ink: #202522;--ink-soft: #59635E;--ink-faint: #68716C;--seyes: #E3E7E4;--margin: #E3E7E4;--bleu: #283D34;--bleu-press: #15251D;--bleu-tint: #F0F4F1;--rouge: #B83232;--rouge-tint: #FFF0EF;--beret: #E3262D;--vert: #197448;--vert-tint: #E8F7EE;--jaune: #FFF0B0;--line: #E3E7E4;--background: #F4F5F4;--on-accent: #FFFFFF;--warning-ink: #695209;--backdrop: #20252252;--shadow: #2025220C;--subtle-shadow: #20252204;--space-unit: 4px;--touch-target: 48px;--card-radius: 10px;--rule-spacing: 32px;--font-serif: ui-serif, "New York", "Iowan Old Style", Charter, Georgia, "Noto Serif", "Times New Roman", serif;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--motion-fast: .14s;--motion-page: .24s;--motion-sheet: .28s;--motion-ease-out: cubic-bezier(.22, 1, .36, 1);--motion-ease-standard: cubic-bezier(.2, 0, 0, 1)}:root[data-theme=dark]{--paper: #18221C;--page: #18221C;--ink: #EDF2EE;--ink-soft: #B9C5BD;--ink-faint: #A0ADA6;--seyes: #35433A;--margin: #35433A;--bleu: #B5D3C1;--bleu-press: #C6E0D0;--bleu-tint: #25372D;--rouge: #FFADA7;--rouge-tint: #422724;--beret: #FF7D76;--vert: #95D6AF;--vert-tint: #233A2D;--jaune: #4D431D;--line: #35433A;--background: #111713;--on-accent: #15251D;--warning-ink: #F8E5A1;--backdrop: #080D0AB8;--shadow: #00000033;--subtle-shadow: #0000001A}*{box-sizing:border-box}:root{font-family:var(--font-sans);color:var(--ink);background:var(--background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--bleu);outline-offset:4px}h1:focus,main:focus,h2[tabindex]:focus,.practice-feedback:focus{outline:none}p,h1,h2,h3{margin-top:0}button svg{flex-shrink:0}.app-shell{max-width:640px;display:flex;flex-direction:column;height:100dvh;min-height:0;margin:0 auto;background:var(--paper)}.workspace{display:flex;flex-direction:column;flex:1;min-height:0}.topbar{display:flex;align-items:center;gap:0;margin:0 16px;min-height:calc(56px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--line)}.topbar-note{font-size:1.0625rem;font-weight:700;letter-spacing:-.5px;color:var(--ink)}.brand-period{color:var(--bleu)}.preview-badge{display:flex;align-items:center;flex-shrink:0}.status-dot{width:7px;height:7px;border-radius:50%}.preview-badge[data-source=cache] .status-dot{background:var(--warning-ink)}.preview-badge[data-source=sample] .status-dot{box-shadow:inset 0 0 0 1.5px var(--ink-soft)}.mobile-about{min-width:48px;min-height:48px;display:flex;justify-content:center;align-items:center;border:0;background:none;color:var(--ink-soft);margin-right:-8px}.sidebar{position:relative;z-index:20;order:2;flex-shrink:0;width:100%;border-top:1px solid var(--line);background:var(--page);padding:4px 12px calc(4px + env(safe-area-inset-bottom,0px))}.primary-nav{display:flex;gap:0}.nav-item{position:relative;width:33.333%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;background:none;border:0;border-radius:8px;padding:8px 4px;color:var(--ink-soft)}.nav-item.active{color:var(--bleu)}.nav-item.active>svg{stroke-width:2.2px}.nav-item.active:before{content:none}.nav-copy{font-size:.75rem;font-weight:600}.nav-item:not(.active) .nav-copy{display:none}.nav-count{background:var(--bleu);color:var(--on-accent);border-radius:4px;padding:1px 4px;font-size:.625rem;min-width:16px}main{padding:12px 16px 0}.eyebrow{font-size:.6875rem;font-weight:650;letter-spacing:1px;color:var(--bleu);margin-bottom:11px}h1{font-size:1.625rem;letter-spacing:-.7px;font-weight:700;line-height:1.5;margin-bottom:8px}.word-sheet,.lesson-sheet{background:var(--page);border:0;border-radius:0}.sheet-topline{display:flex;align-items:center;justify-content:space-between;padding:0;color:var(--ink-soft)}.word-position{color:var(--bleu);font-size:.75rem;font-weight:700;letter-spacing:.5px}.word-position span{color:var(--ink-soft);font-weight:400}.sheet-content{padding:12px 0 0}.word-title,.word-preview-title,.french-sentence,.word-preview-sentence,.saved-word-title,.completion h2 em,.collocation [lang=fr]{font-family:var(--font-serif)}.word-title{color:var(--ink);font-size:2rem;font-weight:650;letter-spacing:-.75px;line-height:1.15;margin:0 0 8px;overflow-wrap:anywhere}.word-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--ink-soft);font-size:.75rem;margin-bottom:0}.word-meta [lang]{font-size:.875rem;letter-spacing:.3px}.meta-dot{color:var(--ink-soft)}.sentence-block{margin-top:24px;padding:0}.french-sentence{font-size:1.1875rem;line-height:1.65;letter-spacing:normal;margin-bottom:0;font-weight:450;overflow-wrap:anywhere}mark{color:var(--bleu);background:var(--bleu-tint);border-radius:2px;padding:1px 2px;font-weight:650}.translation{color:var(--ink-soft);font-size:1rem;line-height:1.85;margin:12px 0 0;overflow-wrap:anywhere}.sheet-actions{display:flex;align-items:center;gap:8px;margin-top:20px}.button{min-width:48px;min-height:48px;padding:10px 16px;border:1px solid var(--line);background:var(--page);color:var(--bleu);border-radius:var(--card-radius);display:inline-flex;gap:8px;justify-content:center;align-items:center;font-size:1rem;font-weight:650;line-height:1.65;transition:background-color var(--motion-fast) var(--motion-ease-standard),border-color var(--motion-fast) var(--motion-ease-standard),box-shadow var(--motion-fast) var(--motion-ease-standard)}.button:hover{background:var(--bleu-tint);border-color:var(--bleu)}.button-primary{background:var(--bleu);border-color:var(--bleu);color:var(--on-accent)}.button-primary:hover{background:var(--bleu-press);color:var(--on-accent)}.button-save{min-width:48px;padding:10px;color:var(--ink-soft);background:none;border-color:transparent}.button-save.is-saved,.button-save[aria-pressed=true]{color:var(--beret);border-color:transparent;background:none}.button-save[aria-pressed=true] svg path{fill:currentColor}.button-small{padding:9px 13px;font-size:.875rem}.sheet-footer [lang]{font-size:.5625rem;letter-spacing:.5px;text-transform:uppercase}.meaning-block{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.meaning-block h3{font-size:1.25rem;font-weight:650;margin:9px 0 7px}.meaning-block p{font-size:1rem;line-height:1.85;color:var(--ink-soft);margin-bottom:0}.text-link{background:none;border:0;padding:8px 0;color:var(--bleu);display:flex;gap:9px;align-items:center;min-height:48px;font-size:.875rem;font-weight:650}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.lesson-steps{display:flex;flex-shrink:0;align-items:center;gap:4px;color:var(--ink-soft);padding:0;margin:0;list-style:none}.lesson-steps .current{color:var(--bleu);background:var(--bleu-tint)}.lesson-inner{padding:0}.lesson-meaning{font-size:1.125rem;font-weight:650;margin:12px 0}.lesson-inner>.french-sentence{font-size:1.125rem;line-height:1.8}.lesson-note{margin-top:16px;padding:0 0 0 12px;border-left:2px solid var(--line)}.lesson-note p{color:var(--ink-soft);font-size:1rem;line-height:1.85;margin:0}.collocation{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:16px 0}.collocation [lang]{font-size:1.0625rem;font-weight:600;color:var(--bleu)}.collocation span+span{font-size:1rem;line-height:1.75;color:var(--ink-soft)}.practice-title{font-size:1rem;font-weight:650;margin:0 0 16px;line-height:1.5}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:1rem;line-height:1.7;margin-bottom:16px;padding:0;font-weight:600}.choices{display:grid;gap:8px;margin-bottom:16px}.choice{display:flex;gap:12px;align-items:center;background:var(--page);border:1px solid var(--line);min-height:52px;padding:12px;font-size:.875rem;border-radius:var(--card-radius);line-height:1.7;cursor:pointer}.choice input{width:18px;height:18px;flex-shrink:0;accent-color:var(--bleu);margin:0}.choice.selected{background:var(--bleu-tint);border-color:var(--bleu)}.choice.correct{border-color:var(--vert)}.choice svg{margin-left:auto;color:var(--vert);flex-shrink:0}form>.button{width:100%}.practice-feedback{padding:12px;background:var(--rouge-tint);border-radius:var(--card-radius);margin:16px 0;font-size:.875rem;line-height:1.7}.practice-feedback strong{color:var(--rouge);font-weight:650}.practice-feedback p{margin:8px 0}.practice-feedback small{color:var(--ink-soft);font-size:.75rem}.practice-feedback.success{background:var(--vert-tint)}.practice-feedback.success strong{color:var(--vert)}.completion{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0}.completion-icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;background:var(--vert-tint);border-radius:50%;color:var(--vert)}.completion h2{font-size:1.25rem;line-height:1.6;font-weight:650;margin:0;overflow-wrap:anywhere;min-width:0}.completion h2 em{font-style:normal;font-size:1em;color:var(--bleu)}.completion-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.completion h2{flex:1}.completion-review{margin-top:16px}.notebook-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px}.notebook-count{display:flex;gap:6px;align-items:center;font-size:.875rem;color:var(--ink-soft)}.notebook-count>span{font-size:1.0625rem;font-weight:700;color:var(--bleu);margin-right:4px}.search-field{display:flex;flex:1;min-width:0;align-items:center;gap:8px;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:var(--page);color:var(--ink-soft)}.search-field input{min-width:0;width:100%;padding:13px 0;font-size:max(16px,1rem);background:none;border:0;color:var(--ink);min-height:48px}.search-field input::placeholder{color:var(--ink-soft)}.notebook-grid{display:flex;flex-direction:column}.saved-word{display:flex;align-items:center;border-bottom:1px solid var(--line)}.saved-word-meaning{font-size:.9375rem;color:var(--ink-soft);line-height:1.7}.icon-button{min-width:48px;min-height:48px;border:0;background:none;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.icon-button:hover{background:var(--bleu-tint)}.remove-button{flex-shrink:0}.remove-button:hover{background:var(--rouge-tint);color:var(--rouge)}.empty-state{text-align:center;padding:32px 12px;background:var(--page)}.empty-state>svg{color:var(--ink-soft);margin-bottom:16px}.empty-state h2{font-weight:600;font-size:1rem;line-height:1.6}.empty-state p{font-size:.875rem;color:var(--ink-soft);line-height:2;margin:14px 0 25px}.empty-state .button{min-width:96px}.notebook-footnote{font-size:.75rem;color:var(--ink-soft);line-height:1.7;margin:8px 0 0}.storage-notice{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:17px;background:var(--rouge-tint);border-radius:12px;margin-bottom:22px;font-size:.875rem}.storage-notice strong{color:var(--rouge)}.storage-notice p{margin:6px 0 0;line-height:1.8}.about-dialog{color:var(--ink);background:var(--page);border:1px solid var(--line);padding:0;width:min(430px,calc(100% - 32px));max-height:calc(100dvh - 48px);border-radius:20px;box-shadow:0 12px 70px var(--shadow)}.about-dialog::backdrop{background:var(--backdrop)}.dialog-content{padding:17px 24px 27px}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.dialog-top .eyebrow{margin-bottom:0;font-size:.5625rem;letter-spacing:1px}.about-dialog h2{font-size:1.5rem;font-weight:700;margin:20px 0}.about-dialog p,.about-dialog li{font-size:.875rem;line-height:2}.about-dialog ul{padding-left:20px;margin:18px 0 25px;color:var(--ink-soft)}.about-dialog li{padding-bottom:7px}.about-dialog .button{width:100%}.toast{position:fixed;top:calc(65px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);max-width:min(432px,calc(100vw - 32px));width:max-content;display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:var(--page);box-shadow:0 4px 24px var(--shadow);color:var(--ink-soft);font-size:.6875rem;line-height:1.8;z-index:30;pointer-events:none}.toast svg{flex-shrink:0;color:var(--bleu)}.screen-reader-only,.skip-link:not(:focus){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:focus{position:fixed;top:10px;left:10px;padding:15px;z-index:100;color:var(--bleu);background:var(--page)}button{touch-action:manipulation}.button:active:not(:disabled){filter:brightness(.95)}.nav-item,.icon-button,.mobile-about,.text-link{transition:background-color var(--motion-fast) var(--motion-ease-standard),color var(--motion-fast) var(--motion-ease-standard)}.nav-item:active,.icon-button:active,.mobile-about:active,.text-link:active{background:var(--bleu-tint)}.save-icon{display:inline-flex;animation:save-feedback var(--motion-page) var(--motion-ease-out)}.meaning-block,.sentence-block .translation,.practice-feedback{animation:content-reveal var(--motion-page) var(--motion-ease-out)}.choice{transition:background-color var(--motion-fast) var(--motion-ease-standard),border-color var(--motion-fast) var(--motion-ease-standard)}@keyframes content-reveal{0%{transform:translateY(3px)}to{transform:translateY(0)}}@keyframes save-feedback{0%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}button:active{transform:none!important}}.sheet-actions>.button-primary{flex:1}.lesson-steps li{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.lesson-steps li+li:before{content:"";width:4px;height:1px;background:var(--line);position:absolute;transform:translate(-20px)}.saved-word-open{flex:1;min-width:0;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;background:none;border:0;text-align:left}.saved-word-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.saved-word-title{font-size:1.1875rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.saved-word-open>svg{flex-shrink:0;color:var(--ink-soft)}.notebook-footnote summary{display:flex;align-items:center;justify-content:center;width:48px;min-height:48px;padding:0;cursor:pointer;list-style:none}.notebook-footnote summary::-webkit-details-marker{display:none}.notebook-footnote[open] summary{color:var(--bleu)}summary:focus-visible,textarea:focus-visible{outline:3px solid var(--bleu);outline-offset:3px}.account-entry>span:not(.account-pending){display:none}@media(max-width:370px){main{padding-left:12px;padding-right:12px}.topbar{margin:0 12px}.nav-item{gap:5px}.nav-copy{font-size:.6875rem}}.topbar-brand{display:flex;align-items:center;gap:6px;min-width:0;margin-right:auto}.topbar-brand .topbar-note{overflow-wrap:anywhere}.topbar-brand .preview-badge{margin:0;padding:0}.account-entry{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;flex-shrink:0;min-width:48px;min-height:48px;padding:5px;background:none;border:0;border-radius:10px;color:var(--ink-soft);font-size:.6875rem}.account-entry:hover{background:var(--bleu-tint)}.account-dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:min(480px,100%);max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 16px);padding:0;border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;background:var(--page);color:var(--ink);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -8px 50px var(--shadow)}.account-dialog::backdrop{background:var(--backdrop)}.account-sheet{padding:12px 24px calc(28px + env(safe-area-inset-bottom,0px))}.account-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-kicker{font-size:.625rem;color:var(--ink-soft);font-weight:650;letter-spacing:.6px}.account-sheet h2{margin:12px 0;font-size:1.5rem;line-height:1.5}.account-intro{color:var(--ink-soft);font-size:.875rem;line-height:1.85;margin-bottom:18px}.account-modes{display:flex;gap:4px;background:var(--paper);padding:4px;border-radius:12px;margin:18px 0}.account-modes button{flex:1;min-width:0;min-height:48px;padding:10px;font-size:1rem;border:1px solid transparent;border-radius:9px;background:none;color:var(--ink-soft)}.account-modes button[aria-pressed=true]{background:var(--page);border-color:var(--line);color:var(--bleu);font-weight:650}.account-field{display:block;color:var(--ink);font-size:.875rem;font-weight:600;margin:16px 0 0;line-height:1.8}.account-field input,.account-field select{display:block;width:100%;min-width:0;min-height:50px;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--page);color:var(--ink);font-size:max(16px,1rem);font-weight:400}.password-control{display:flex;align-items:stretch;gap:6px}.password-control input{flex:1;width:0}.password-toggle{flex-shrink:0;min-width:48px;min-height:50px;margin-top:6px;padding:8px;font-size:.875rem;color:var(--bleu);border:1px solid var(--line);border-radius:10px;background:var(--bleu-tint)}.field-optional{font-weight:400;color:var(--ink-soft)}.account-hint{margin:7px 0 16px;font-size:.75rem;color:var(--ink-soft);line-height:1.8}.account-form>.button{margin-top:22px}.account-message{margin:16px 0;padding:13px 15px;font-size:.875rem;line-height:1.85;border-radius:12px;background:var(--bleu-tint);color:var(--ink);overflow-wrap:anywhere}.account-message.is-error{color:var(--rouge);background:var(--rouge-tint)}.account-message:focus{outline:2px solid var(--bleu);outline-offset:3px}.account-wait{display:block}.account-footnote{font-size:.75rem;color:var(--ink-soft);margin:24px 0 0;line-height:1.85;padding-top:18px;border-top:1px solid var(--line)}.account-profile{display:flex;flex-direction:column;gap:12px}.profile-identity{display:flex;align-items:center;gap:14px;margin:10px 0;min-width:0}.profile-identity>div{min-width:0;overflow-wrap:anywhere}.profile-avatar{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:52px;height:52px;border-radius:18px;background:var(--bleu-tint);color:var(--bleu);font-size:1.375rem;font-weight:700}.profile-identity h3{font-size:1.1875rem;margin:0 0 3px}.profile-identity p{font-size:.875rem;color:var(--ink-soft);margin:0}.account-logout{color:var(--rouge)}.account-pending{font-size:.875rem;line-height:1.85}.account-pending>.button{width:100%}@media(max-width:370px){.account-sheet{padding-left:18px;padding-right:18px}}.learning-empty{padding:32px 0}.learning-empty p{line-height:1.7}.sentence-practice,.sentence-preview{margin-top:24px;padding-top:12px;border-top:1px solid var(--line);overflow-wrap:anywhere}.sentence-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.sentence-toolbar h2{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;font-size:1rem;line-height:1.6}.sentence-toolbar h2>svg{flex-shrink:0}.sentence-word{color:var(--ink-soft);font-weight:400}.sentence-tools{display:flex;align-items:center;flex-shrink:0}.sentence-quota{font-size:.75rem;color:var(--ink-soft);white-space:nowrap}.sentence-quota strong{color:var(--ink);font-size:.875rem}.sentence-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:48px;padding:10px;border-radius:8px}button.sentence-icon-button:not(.button){border:0;background:none;color:var(--ink-soft)}button.sentence-icon-button:hover:not(.button){background:var(--bleu-tint)}.sentence-details{font-size:.8125rem;line-height:1.7;padding:12px;margin-bottom:12px;border-radius:8px;background:var(--bleu-tint);color:var(--ink-soft)}.sentence-details p{margin:0 0 8px}.sentence-details p:last-child{margin-bottom:0}.sentence-practice textarea{display:block;width:100%;max-width:100%;min-height:96px;padding:12px;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--page);color:var(--ink);font:inherit;font-size:max(16px,1rem);line-height:1.7;resize:vertical}.sentence-practice textarea::placeholder{color:var(--ink-soft)}.sentence-practice textarea:focus{outline:2px solid var(--bleu);outline-offset:2px}.sentence-practice textarea:disabled{color:var(--ink-soft);background:var(--bleu-tint)}.sentence-compose-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.sentence-compose-actions .sentence-meta{margin-right:auto}.sentence-compose-actions .button{width:auto}.sentence-meta{color:var(--ink-soft);font-size:.75rem;line-height:1.7;margin:8px 0 0}.sentence-compose-actions .sentence-meta{margin-top:0}.learning-message{margin-top:12px;padding:12px;border-left:2px solid var(--rouge);background:var(--rouge-tint);color:var(--ink);font-size:.875rem;line-height:1.7}.learning-message p{margin-bottom:6px}.grading-status{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 0}.grading-status strong{font-size:.875rem;color:var(--ink-soft)}.grading-orbit{flex-shrink:0;width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--bleu);border-radius:50%;animation:grading-spin 1.4s linear infinite}@keyframes grading-spin{to{transform:rotate(360deg)}}.sentence-result{margin-top:8px;animation:feedback-arrive var(--motion-page) var(--motion-ease-out)}.sentence-result:focus{outline:none}.sentence-result:focus-visible{outline:2px solid var(--bleu);outline-offset:4px}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;min-height:48px}.result-heading h3{margin:0;font-size:.875rem;line-height:1.6;color:var(--ink)}.sentence-result-summary{display:flex;align-items:center;gap:8px}.sentence-result-summary>svg{flex-shrink:0}.sentence-result.graded .sentence-result-summary>svg{color:var(--vert)}.sentence-result-actions{flex-shrink:0}.submitted-sentence,.corrected-sentence{margin-bottom:12px;font-size:1.0625rem;line-height:1.75;white-space:pre-wrap}.corrected-sentence,.sentence-unchanged{padding:12px;border-radius:8px;background:var(--vert-tint);color:var(--ink)}.sentence-original summary{display:flex;align-items:center;gap:6px;width:fit-content;min-width:48px;min-height:48px;font-size:.8125rem;color:var(--ink-soft);cursor:pointer;list-style:none}.sentence-original summary::-webkit-details-marker{display:none}.sentence-original[open] summary>svg:last-child{transform:rotate(90deg)}.sentence-original .submitted-sentence{color:var(--ink-soft)}.previous-feedback-note{margin:0 0 8px;color:var(--ink-soft);font-size:.75rem}.feedback-explanation{font-size:.875rem;line-height:1.75;margin:8px 0 12px}.sentence-result small{display:block;font-size:.75rem;color:var(--ink-soft);line-height:1.7}.sentence-result.failed>p{font-size:.875rem;line-height:1.7}.sentence-issues{margin:0;padding:0;list-style:none}.sentence-issues li{padding:12px 0;border-top:1px solid var(--line);font-size:.875rem;line-height:1.7}.sentence-issues p{margin-bottom:4px}.sentence-issues p:last-child{margin:0;color:var(--ink-soft)}.issue-change{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;white-space:pre-wrap}.issue-action{color:var(--ink-soft)}.sentence-issues del{color:var(--rouge);text-decoration-thickness:1px}.sentence-issues ins{color:var(--vert);text-decoration:none;font-weight:600}@keyframes feedback-arrive{0%{transform:translateY(4px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.grading-orbit,.sentence-result{animation:none}}h1.screen-reader-only:focus-visible{position:static;width:auto;height:auto;padding:8px;margin:0 0 12px;overflow:visible;clip:auto;clip-path:none;white-space:normal;font-size:1rem;outline:2px solid var(--bleu)}.primary-nav{position:relative;isolation:isolate}.primary-nav:before{content:"";position:absolute;inset:0 auto 0 0;width:33.333333%;border-radius:10px;background:var(--bleu-tint);transform:translate(calc(var(--navigation-index, 0) * 100%));transition:transform var(--motion-sheet) var(--motion-ease-out);z-index:-1}.sidebar{box-shadow:0 -4px 20px var(--subtle-shadow);transition:opacity var(--motion-fast) var(--motion-ease-standard)}.nav-item>svg{transition:color var(--motion-fast) var(--motion-ease-standard)}.button,.choice,.search-field,.sentence-practice textarea,.account-field input,.account-field select{border-radius:var(--card-radius)}.search-field,.account-field input,.account-field select,.sentence-practice textarea{transition:border-color var(--motion-fast) var(--motion-ease-standard),box-shadow var(--motion-fast) var(--motion-ease-standard)}.search-field:focus-within{border-color:var(--bleu);box-shadow:0 0 0 3px var(--bleu-tint)}.search-field input:focus-visible{outline:none}input,textarea,select{scroll-margin-block:20px 88px}input::placeholder,textarea::placeholder{opacity:1}.sentence-practice textarea{-webkit-appearance:none;appearance:none;min-height:96px;max-height:min(240px,38dvh);overflow-y:auto;overscroll-behavior-y:contain;resize:none}.sentence-compose-actions{min-height:48px}.account-field input:focus{border-color:var(--bleu);box-shadow:0 0 0 3px var(--bleu-tint);outline:2px solid var(--bleu);outline-offset:2px}.account-field input{-webkit-appearance:none;appearance:none}.account-sheet{scroll-padding-block:12px}.account-dialog,.about-dialog{scroll-padding-block:20px}.account-dialog[open]{animation:sheet-arrive var(--motion-sheet) var(--motion-ease-out)}.about-dialog[open]{animation:content-reveal var(--motion-page) var(--motion-ease-out)}.account-dialog[open]::backdrop,.about-dialog[open]::backdrop{animation:backdrop-arrive var(--motion-page) var(--motion-ease-standard)}.account-dialog::backdrop,.about-dialog::backdrop{background:var(--backdrop)}.toast{animation:toast-arrive var(--motion-page) var(--motion-ease-out);box-shadow:0 4px 20px var(--subtle-shadow)}.sentence-details,.sentence-original[open]>p,.notebook-footnote[open]>p{animation:content-reveal var(--motion-page) var(--motion-ease-out)}.refresh-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:48px;padding:10px 12px;border:0;border-radius:var(--card-radius);background:var(--bleu-tint);color:var(--bleu);font:inherit;font-size:.875rem;font-weight:600;flex-shrink:0;transition:background-color var(--motion-fast) var(--motion-ease-standard)}.refresh-button:disabled{opacity:1;color:var(--ink-soft)}.refresh-compact{padding:12px;background:transparent}.refresh-button:hover:not(:disabled){background:var(--line)}.refresh-glyph{display:inline-flex}.refresh-glyph.is-refreshing{animation:refresh-turn .9s linear infinite}.refresh-button{position:relative}.refresh-alert{position:absolute;top:12px;right:11px;width:8px;height:8px;border-radius:50%;background:var(--rouge);box-shadow:0 0 0 2px var(--page)}.refresh-alert[data-alert=warning]{background:var(--warning-ink)}@keyframes refresh-turn{to{transform:rotate(360deg)}}@keyframes sheet-arrive{0%{transform:translateY(18px)}to{transform:translateY(0)}}@keyframes backdrop-arrive{0%{opacity:0}to{opacity:1}}@keyframes toast-arrive{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}:root[data-keyboard-open=true] .sidebar{display:none;visibility:hidden;opacity:0;pointer-events:none}:root[data-keyboard-open=true] .account-dialog{bottom:var(--visual-viewport-bottom-inset, 0px);max-height:calc(var(--visual-viewport-height, 100dvh) - 16px);border-radius:18px 18px 0 0;animation:none}:root[data-keyboard-open=true] .account-sheet{padding-bottom:20px}:root[data-keyboard-open=true] .about-dialog{position:fixed;top:calc(var(--visual-viewport-top, 0px) + 8px);bottom:auto;max-height:calc(var(--visual-viewport-height, 100dvh) - 16px);margin-block:0}:root[data-keyboard-open=true] .sentence-practice textarea{min-height:80px;max-height:max(80px,min(180px,calc(var(--visual-viewport-height, 100dvh) * .36)))}:root[data-keyboard-open=true] input,:root[data-keyboard-open=true] textarea{scroll-margin-block:16px 72px}:root[data-keyboard-open=true] .toast{display:none}@media(hover:hover)and (pointer:fine){.saved-word-open:hover{color:var(--bleu);background:var(--bleu-tint)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after,*::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.brand-logo{width:36px;height:36px;flex:0 0 36px;object-fit:contain}.brand-copy{min-width:0}html:has(.app-shell),html:has(.app-shell) body{overscroll-behavior-y:none}.topbar{flex-shrink:0}#main-content{display:flex;flex-direction:column;flex:1;min-height:0}#main-content>.storage-notice{flex-shrink:0;max-height:30%;overflow-y:auto}.quick-layout,.study-layout{display:flex;flex-direction:column;flex:1;min-height:0}.notebook-section,.learning-empty{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding-bottom:16px}.word-sheet{display:flex;flex-direction:column;flex:1}.word-sheet.is-concealed{cursor:pointer}.sheet-topline{min-height:32px;flex-shrink:0;margin-bottom:12px}.sheet-mode{display:inline-flex;align-items:center;gap:6px;font-size:.75rem}.sheet-content{display:flex;flex-direction:column;flex:1;padding-top:0}.quick-layout .sentence-block{margin-top:clamp(28px,7dvh,64px)}.quick-layout .french-sentence,.quick-layout .word-preview-sentence{font-size:1.25rem;line-height:1.75}.quick-layout .meaning-block{margin-top:28px}.quick-layout .sheet-actions{margin-top:auto;padding-top:28px}.sheet-actions>.button-primary{flex:0 0 auto}.study-page{display:flex;flex-direction:column;flex:1}.study-page>.lesson-sheet{padding-bottom:8px}.study-page>.sentence-practice,.study-page>.sentence-preview{margin-top:auto}.sentence-preview-field{min-height:96px;border:1px solid var(--line);border-radius:var(--card-radius);padding:12px;color:var(--ink-soft);font-size:1rem;line-height:1.7}.lesson-steps li{width:28px;height:28px}.lesson-steps li+li:before{transform:translate(-18px)}.meaning-block h3:focus{outline:none}.meaning-block h3:focus-visible{outline:2px solid var(--bleu);outline-offset:4px}:root[data-keyboard-open=true] .workspace{padding-bottom:calc(var(--visual-viewport-bottom-inset, 0px) + 12px)}:root[data-keyboard-open=true] .word-pager-navigation{visibility:hidden}.notebook-switch{display:flex;flex-shrink:0;align-items:center;gap:4px}.notebook-switch button{display:grid;place-items:center;min-height:48px;min-width:48px;padding:10px 4px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-soft);font:inherit;font-size:.875rem}.notebook-switch button[aria-pressed=true]{color:var(--bleu);border-bottom-color:var(--bleu)}.notebook-switch button[aria-pressed=true] svg{stroke-width:2}.journey-end,.journey-end-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:320px;padding:32px 16px;text-align:center}.journey-end>svg,.journey-end-preview>svg{color:var(--vert)}.journey-end h2{margin:0;font-size:1.25rem;font-weight:500}.journey-end p,.journey-end-preview p{margin:0;color:var(--ink-soft);line-height:1.7}.journey-end-preview{height:100%}.journey-storage{flex-shrink:0;margin:8px 0;color:var(--ink-soft);font-size:.75rem;line-height:1.6}.journey-back svg{transform:rotate(180deg)}.notebook-toolbar .search-field{flex:1 1 11rem}.notebook-section{scrollbar-width:thin}.quick-layout .meaning-block p,.study-page .lesson-note p{overflow-wrap:anywhere}
