:root{--paper:#faf7ef;--paper-strong:#fffdf8;--ink:#18343b;--ink-body:#2e2a24;--ink-soft:#6f6a62;--line:#423a302b;--line-strong:#423a3040;--terracotta:#a95543;--mustard:#aa7929;--orange:#c56d2c;--teal-soft:#5f8b82;--font-display:"Cormorant Garamond Variable", Georgia, serif;--font-ui:"Inter Variable", ui-sans-serif, system-ui, sans-serif;color:var(--ink-body);background:var(--paper);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{background:#e8e4db;min-width:320px;min-height:100%;margin:0}body{overflow-x:hidden}button,input{font:inherit}button{border:0}button,a{-webkit-tap-highlight-color:transparent}button:active,a:active{transform:scale(.985)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.mobile-app-shell{background:var(--paper);width:100%;max-width:390px;min-height:100dvh;margin:0 auto;overflow:hidden}.mobile-status-bar{width:100%;height:44px;padding:env(safe-area-inset-top) 22px 0;color:#191816;justify-content:space-between;align-items:center;font-size:12px;font-weight:650;display:flex;position:relative}.mobile-status-bar time{text-align:center;min-width:42px}.dynamic-island{background:#11110f;border-radius:14px;width:92px;height:25px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.dynamic-island:after{content:"";background:#18262c;border-radius:50%;width:5px;height:5px;position:absolute;top:8px;right:10px}.mobile-status-icons{align-items:center;gap:4px;display:flex}.mobile-screen{min-height:calc(100dvh - 44px);position:relative}.mobile-sign-in-screen{padding:42px 24px 26px}.sign-in-card{flex-direction:column;min-height:calc(100dvh - 112px);display:flex}.auth-brand{text-align:center}.auth-app-mark{width:68px;height:68px;margin:0 auto 12px;display:block;overflow:hidden}.auth-app-mark img{object-fit:contain;width:100%;height:100%;transform:scale(1.62)}.auth-brand h1{color:var(--ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:38px;font-weight:650;line-height:.94}.auth-brand p{color:var(--ink-soft);margin:8px 0 0;font-size:11px}.auth-controls{gap:15px;margin-top:50px;display:grid}.form-stack{gap:10px;display:grid}.auth-field{border:1px solid var(--line);color:#53514c;background:#fffdf852;border-radius:7px;align-items:center;height:48px;display:flex;position:relative}.auth-field:focus-within{border-color:#18343b7a}.auth-field>.app-icon{position:absolute;left:14px}.ui-input{width:100%;height:100%;color:var(--ink-body);background:0 0;border:0;outline:none;padding:0 43px;font-size:13px}.password-visibility-button{color:#65615a;cursor:pointer;background:0 0;place-items:center;width:38px;height:38px;display:grid;position:absolute;right:5px}.ui-button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.ui-button-primary{background:var(--ink);color:var(--paper-strong)}.ui-button-secondary{border-color:var(--line-strong);color:var(--ink-body);background:0 0}.ui-button:disabled{cursor:wait;opacity:.72}.auth-submit-button,.auth-demo-link{width:100%;height:48px}.auth-submit-button{margin-top:2px}.auth-divider{text-align:center;height:18px;position:relative}.auth-divider:before{background:var(--line);content:"";height:1px;position:absolute;top:9px;left:0;right:0}.auth-divider span{background:var(--paper);color:var(--ink-soft);padding:0 13px;font-size:11px;position:relative}.auth-demo-link{min-height:46px}.form-error{color:var(--terracotta);margin:0;font-size:11px}.demo-credentials{border:1px dashed var(--line-strong);color:#68635b;border-radius:7px;grid-template-columns:27px 1fr;align-items:center;gap:9px;min-height:68px;margin-top:13px;padding:11px 14px;display:grid}.demo-credentials p{margin:0;font-size:11px;line-height:1.55}.demo-credentials p span,.demo-credentials p strong{display:block}.demo-credentials p strong{color:var(--terracotta);font-weight:550}.language-selection-section{min-height:calc(100dvh - 44px);padding:14px 24px 28px;overflow:hidden}.language-back-button,.icon-button{color:var(--ink);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.language-back-button{width:34px;height:34px}.language-heading{z-index:1;margin-top:38px;position:relative}.language-heading h1{color:var(--ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:31px;font-weight:650;line-height:1}.language-heading p{color:var(--ink-soft);margin:10px 0 0;font-size:13px}.language-grid{z-index:1;gap:17px;margin-top:30px;display:grid;position:relative}.plain-button{text-align:left;cursor:pointer;background:0 0;width:100%;padding:0}.language-card{border:1px solid var(--line);background:#fffdf833;border-radius:8px;grid-template-columns:72px 1fr 22px;align-items:center;gap:15px;width:100%;height:122px;padding:13px 14px;transition:transform .18s,border-color .18s,background .18s;display:grid}.language-card:hover{background:#fffdf88c;border-color:#a955434d}.language-art{place-items:center;width:72px;height:86px;display:grid;overflow:hidden}.language-art img{object-fit:contain;width:100%;height:100%}.language-art-french img{transform:scale(1.18)}.language-card-copy{gap:4px;display:grid}.language-card-copy strong{color:var(--ink);font-family:var(--font-display);letter-spacing:0;font-size:24px;font-weight:650;line-height:1}.language-card-copy span{color:var(--ink-soft);font-size:12px}.language-card>.app-icon{color:#3f4b4d}.language-decoration{pointer-events:none;width:250px;height:250px;position:absolute;bottom:-76px;right:-56px}.language-decoration-arc{opacity:.3;width:100%;height:100%;position:absolute;inset:0;transform:rotate(14deg)}.language-decoration-grid{opacity:.22;width:118px;height:118px;position:absolute;bottom:54px;right:36px}.review-screen{padding:0 14px 12px}.review-layout{flex-direction:column;min-height:calc(100dvh - 44px);display:flex}.study-header{border-bottom:0;flex:none;height:99px;padding-top:3px}.study-header-row{grid-template-columns:38px 1fr 38px;align-items:center;height:35px;display:grid}.icon-button{width:38px;height:35px}.study-language-button{color:var(--ink-body);background:0 0;justify-content:center;justify-self:center;align-items:center;gap:3px;padding:0;font-size:11px;font-weight:550;display:inline-flex}.study-progress-label{color:#44413c;text-align:center;margin:3px 0 9px;font-size:11px;font-weight:600}.study-progress-track{background:#37332c24;width:100%;height:2px;overflow:hidden}.study-progress-track span{background:var(--ink);transform-origin:0;width:100%;height:100%;transition:transform .28s cubic-bezier(.16,1,.3,1);display:block}.review-phase{min-height:calc(100dvh - 143px);padding-bottom:max(18px, env(safe-area-inset-bottom));flex-direction:column;flex:1 0 auto;animation:.26s cubic-bezier(.16,1,.3,1) both phase-enter;display:flex;position:relative}@keyframes phase-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.flash-card{border:1px solid var(--line);background:#fffdf857;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;height:271px;display:flex;position:relative;box-shadow:0 7px 17px #493e3017}.flash-card-speaker{color:#39474a;cursor:pointer;background:0 0;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:14px;right:14px}.flash-card h1{color:var(--ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:31px;font-weight:650;line-height:1}.part-of-speech{color:var(--terracotta);font-family:var(--font-display);margin:11px 0 0;font-size:17px;font-weight:600}.card-ornament{color:#776d6059;grid-template-columns:62px 20px 62px;align-items:center;gap:8px;margin:27px 0;display:grid}.card-ornament span{background:#50483e21;height:1px}.card-translation{color:#27353a;font-family:var(--font-display);margin:0;font-size:20px;font-weight:520}.pronunciation-button{border:1px solid var(--line);color:#3d4546;cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:9px;width:100%;height:46px;margin-top:10px;font-size:12px;display:flex}.example-section{margin-top:24px;padding:0 3px}.section-label{color:var(--terracotta);letter-spacing:.04em;text-transform:uppercase;margin:0 0 9px;font-size:10px;font-weight:700}.example-section strong{color:#2c3436;font-family:var(--font-display);margin-bottom:4px;font-size:17px;font-weight:650;display:block}.example-section span,.memory-note span{color:var(--ink-soft);font-size:12px;line-height:1.45}.answer-example-section{margin-top:18px}.review-footer{grid-template-columns:44px 1fr;gap:10px;min-height:64px;margin-top:auto;padding-top:18px;display:grid}.bookmark-button,.review-action{border:1px solid var(--line);color:#344448;cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;display:flex}.review-action{gap:10px;font-size:12px;font-weight:550}.review-action.primary{border-color:var(--ink);background:var(--ink);color:var(--paper-strong);justify-content:space-between;padding:0 17px 0 43px}.review-back-phase .flash-card{height:270px}.memory-note{border-top:1px solid var(--line);color:#363937b8;grid-template-columns:1fr 70px;align-items:center;gap:16px;min-height:129px;margin-top:18px;padding:22px 6px 0;display:grid}.memory-note img{filter:contrast(1.45)saturate(.75);object-fit:contain;justify-self:center;width:76px;height:68px}.rating-phase{padding:23px 6px 0}.rating-phase>h1{color:#293639;font-family:var(--font-display);letter-spacing:0;margin:0 0 20px;font-size:16px;font-weight:650}.rating-options{gap:8px;display:grid}.rating-option{border:1px solid var(--line);height:60px;color:var(--ink-body);text-align:left;cursor:pointer;background:#fffdf82e;border-radius:7px;grid-template-columns:39px 1fr;align-items:center;gap:7px;padding:7px 13px;transition:background .16s,border-color .16s,transform .16s;display:grid;box-shadow:0 3px 8px #493e300a}.rating-option:hover{background:#fffdf8a6}.rating-option>.app-icon{justify-self:center}.rating-option span{gap:2px;display:grid}.rating-option strong{color:#343a3a;font-size:13px;font-weight:600}.rating-option small{color:var(--ink-soft);font-size:10px}.rating-option-easy>.app-icon{color:var(--teal-soft)}.rating-option-medium>.app-icon{color:var(--mustard)}.rating-option-high>.app-icon{color:var(--orange)}.rating-option-again>.app-icon{color:var(--terracotta)}.next-card-section{border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.next-card-section h2{color:#293639;font-family:var(--font-display);letter-spacing:0;margin:0 0 14px;font-size:16px;font-weight:650}.next-card-preview{border:1px solid var(--line);border-radius:7px;flex-direction:column;justify-content:center;align-items:center;height:108px;display:flex;position:relative}.next-card-preview>.app-icon{color:#39474a;position:absolute;top:14px;right:14px}.next-card-preview strong{color:var(--ink);font-family:var(--font-display);font-size:26px;font-weight:650}.next-card-preview span{color:var(--terracotta);font-family:var(--font-display);margin-top:5px;font-size:15px;font-weight:600}.review-complete-screen{align-content:center;gap:18px;padding:28px 24px;display:grid}.review-complete-screen h1{color:var(--ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:32px}.review-complete-screen .eyebrow{color:var(--terracotta);text-transform:uppercase;margin:0;font-size:10px;font-weight:700}@media (height<=760px){.mobile-sign-in-screen{padding-top:24px}.auth-controls{margin-top:30px}.demo-credentials{margin-top:0}.study-header{height:88px}.review-phase{min-height:calc(100dvh - 132px)}.flash-card,.review-back-phase .flash-card{height:232px}.card-ornament{margin:18px 0}.example-section{margin-top:14px}.memory-note{min-height:104px;margin-top:17px;padding-top:14px}.review-footer{min-height:60px;padding-top:14px}.rating-phase{padding-top:12px}.rating-option{height:52px}.next-card-section{margin-top:14px;padding-top:13px}.next-card-preview{height:84px}}@media (width>=391px){.mobile-app-shell{box-shadow:0 0 0 1px #423a3014}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
