:root{color:#233c34;font-synthesis:none;--bg:#f8f7f3;--paper:#fffefa;--ink:#233c34;--muted:#68726b;--line:#e2e5dc;--green:#275e49;--green-dark:#183e30;--soft:#e9eee5;--sand:#f1eadb;--clay:#935b35;background:#e9ece4;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{-webkit-font-smoothing:antialiased;background:#e9ece4;margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #aa6b39}svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}h1,h2,p{margin:0}h1,h2{font-weight:600}a{color:var(--green)}.stage{align-items:stretch;width:min(1440px,100%);min-height:100vh;margin:auto;padding:28px;display:flex}.workspace{background:var(--bg);border:1px solid #d6dbd1;border-radius:24px;width:100%;height:calc(100vh - 56px);min-height:620px;position:relative;overflow:hidden;box-shadow:0 22px 60px #293e2b14}.app{grid-template:88px minmax(0,1fr)/236px minmax(0,1fr);height:100%;display:grid}.topbar{border-bottom:1px solid var(--line);background:var(--paper);grid-column:1/-1;justify-content:space-between;align-items:center;height:88px;padding:16px 30px;display:flex}.app-brand{letter-spacing:-1.4px;min-height:48px;padding:0;font-size:26px;font-weight:700}.header-actions{align-items:center;gap:2px;display:flex}.language-picker select{width:142px;min-height:44px;color:var(--muted);text-align:right;background:0 0;border:0;font-size:11px;font-weight:600}.account-menu{position:relative}.account-menu summary{cursor:pointer;border-radius:50%;place-items:center;width:48px;height:48px;list-style:none;display:grid}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover{background:var(--soft)}.account-menu>div{z-index:30;border:1px solid var(--line);background:var(--paper);border-radius:13px;width:160px;padding:10px;position:absolute;top:50px;right:0;box-shadow:0 10px 30px #183e3020}.account-menu span{color:var(--muted);text-overflow:ellipsis;padding:8px;font-size:11px;display:block;overflow:hidden}.account-menu button{width:100%;min-height:44px;color:var(--green);text-align:left;border-radius:9px;font-size:13px;font-weight:600}.account-menu button:hover{background:var(--soft)}.account-menu button+button{border-top:1px solid var(--line);border-radius:0 0 9px 9px}.detail-topbar{height:60px;padding:5px 12px}.detail-topbar>span{color:var(--muted);font-size:13px}.detail-topbar>span:last-child{width:48px}.icon-button{border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:inline-grid}.icon-button:hover{background:var(--soft)}.screen{background:var(--bg);flex-direction:column;grid-area:2/2;min-width:0;min-height:0;display:flex;position:relative}.app.reviewing .screen{grid-area:1/1/-1/-1}.screen>:not([hidden]),.page{width:100%;height:100%;min-height:0}.scroll-page{overscroll-behavior:contain;scrollbar-width:thin;padding:18px clamp(32px,5vw,76px) 48px;overflow-y:auto}.scroll-page>*{max-width:920px}.bottomnav{border-right:1px solid var(--line);background:#f1f3ed;flex-direction:column;grid-area:2/1;gap:6px;min-height:0;padding:28px 18px;display:flex}.bottomnav:before{color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;content:"Workspace";margin:0 12px 16px;font-size:10px;font-weight:700}.bottomnav button{min-height:52px;color:var(--muted);border-radius:12px;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:12px;padding:0 12px;font-size:13px;font-weight:600;display:flex;position:relative}.bottomnav button:hover{background:#e6eae1}.bottomnav button.active{color:var(--green);font-weight:700}.nav-icon{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.active .nav-icon{background:var(--paper);box-shadow:0 2px 8px #183e300d}.bottomnav svg{width:21px;height:21px}.nav-badge{color:#fff;background:var(--green);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;border-radius:11px;min-width:22px;height:22px;padding:0 6px;font-size:10px;font-weight:700;line-height:22px;position:absolute;right:12px}.eyebrow{color:var(--muted);letter-spacing:1.7px;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.5}.page-title{padding:14px 0 20px}.page-title h1{letter-spacing:-1.1px;font-size:30px}.page-title p{color:var(--muted);margin-top:9px;font-size:14px;line-height:1.6}.searchbox{background:var(--paper);border:1px solid #cbd4c7;border-radius:15px;align-items:center;gap:10px;min-height:55px;padding-left:15px;display:flex;position:relative}.searchbox:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #275e4910}.searchbox>svg{width:20px;height:20px;color:var(--green)}.searchbox input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:17px 4px 17px 0;font-size:15px}.searchbox input::placeholder{color:#777d75;font-size:14px}.searchbox .icon-button{width:44px;height:48px}.search-caption{color:var(--muted);margin:9px 2px 18px;font-size:11px}.section-label{justify-content:space-between;align-items:center;margin:24px 0 12px;display:flex}.section-label h2{letter-spacing:0;font-size:14px}.section-label span{color:var(--muted);font-size:12px}.wordlist{border-top:1px solid var(--line)}.wordrow{border-bottom:1px solid var(--line);align-items:center;gap:7px;min-height:97px;display:flex}.wordmain{text-align:left;flex:1;align-self:stretch;min-width:0;padding:17px 0}.word-title{overflow-wrap:anywhere;letter-spacing:-.5px;font:400 20px/1.3 Georgia,Times New Roman,serif}.article{color:var(--muted);letter-spacing:0;margin-right:5px;font:400 14px/1 Inter,sans-serif}.word-translation{margin-top:5px;font-size:13px;line-height:1.5}.word-translation span{color:var(--muted);font-size:12px}.word-sub{color:var(--muted);text-transform:capitalize;margin-top:5px;font-size:11px;line-height:1.6}.add-small{border:1px solid var(--line);background:var(--paper);border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.add-small.saved{color:var(--green);background:var(--soft);border-color:#0000}.add-small:hover{background:var(--soft)}.alias{background:var(--soft);border-radius:10px;margin:12px 0;padding:10px 12px;font-size:12px;line-height:1.6}.search-footer{color:var(--muted);gap:11px;margin-top:22px;font-size:12px;line-height:1.6;display:flex}.search-footer svg{width:18px;height:18px;margin-top:1px}.empty{text-align:center;padding:35px 10px}.empty>svg{width:38px;height:38px;color:var(--muted);margin-bottom:15px}.empty h2{margin-bottom:9px;font-size:20px}.empty p{color:var(--muted);margin-bottom:20px;font-size:13px;line-height:1.7}.data-credit,.source-note{color:var(--muted);margin:22px 0 3px;font-size:10px;line-height:1.6}.filters{scrollbar-width:none;gap:6px;margin:17px 0 15px;padding:2px 0 5px;display:flex;overflow-x:auto}.filters button{border:1px solid var(--line);white-space:nowrap;border-radius:12px;min-height:44px;padding:9px 14px;font-size:12px}.filters button.active{border-color:var(--green);color:#fff;background:var(--green)}.library-count{color:var(--muted);margin:6px 0 12px;font-size:11px}.library .wordrow{min-height:96px}.library .word-title{font-size:19px}.library .wordmain{border-radius:6px}.status-dot{vertical-align:middle;background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:4px;display:inline-block}.status-due{color:var(--clay)}.status-new{color:var(--green)}.status-scheduled{color:var(--muted)}.word-detail{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.detail-scroll{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:0 22px 22px;overflow-y:auto}.word-hero{padding-top:8px}.word-hero .eyebrow{margin-bottom:10px}.word-hero h1{overflow-wrap:anywhere;letter-spacing:-1.5px;font:400 40px/1.12 Georgia,Times New Roman,serif}.word-hero h1 .article{letter-spacing:-.5px;margin-right:7px;font-family:Georgia,Times New Roman,serif;font-size:25px}.word-hero>p:last-child{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.6}.definition{border:1px solid var(--line);background:var(--paper);border-radius:17px;margin-top:17px;padding:16px}.definition .eyebrow{letter-spacing:1.3px;font-size:9px}.definition h2{margin-top:6px;font-size:23px;line-height:1.25}.definition>p:last-child{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5}.forms{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.form{border-bottom:1px solid var(--line);min-width:0;padding:9px 0}.form span{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.form strong{overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.4}.example{background:var(--soft);letter-spacing:-.2px;border:0;border-radius:15px;margin:0 0 12px;padding:16px 17px;font-size:16px;line-height:1.7}.detail-footer{border-top:1px solid var(--line);background:var(--bg);flex:none;padding:12px 22px 14px}.secondary{border:1px solid var(--line);background:var(--paper);border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:14px 19px;font-size:15px;font-weight:600;display:flex}.detail-footer .secondary{width:100%}.secondary.danger{color:#804d34}.secondary.danger:hover{background:#f1e9df}.detail-footer p{color:var(--muted);text-align:center;margin-top:8px;font-size:10px;line-height:1.5}.review-home .page-title{padding-bottom:16px}.review-hero{color:#fffefa;background:var(--green);border-radius:23px;margin:4px 0 20px;padding:23px;position:relative;overflow:hidden}.review-hero .eyebrow{color:inherit;opacity:.75}.review-hero>strong{letter-spacing:-5px;margin:17px 0 2px;font:400 82px/1.05 Georgia,Times New Roman,serif;display:block}.review-hero>p:not(.eyebrow){opacity:.86;font-size:13px;line-height:1.5}.review-hero .primary{width:100%;color:var(--green-dark);background:var(--paper);margin-top:24px}.hero-mark{opacity:.18;border:1px solid #fff;border-radius:13px;width:78px;height:97px;position:absolute;top:55px;right:24px;transform:rotate(13deg)}.hero-mark:after{content:"";border:1px solid #fff;border-radius:13px;position:absolute;inset:-7px 7px 7px -7px}.primary{color:#fff;background:var(--green);border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:14px 19px;font-size:15px;font-weight:600;display:flex}.primary:hover{background:var(--green-dark)}.next-row{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:17px;align-items:center;gap:13px;width:100%;padding:17px;display:flex}.next-row>span{background:var(--sand);border-radius:12px;flex:none;place-items:center;width:39px;height:39px;display:grid}.next-row strong{font-size:14px;font-weight:600}.next-row p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5}.review-note{color:var(--muted);padding:18px 2px;font-size:12px;line-height:1.7}.review-session,.review-complete{flex-direction:column;height:100%;min-height:0;display:flex}.session-top{flex:none;grid-template-columns:1fr auto 1fr;align-items:center;padding:9px 12px 13px;display:grid;position:relative}.session-top>button:first-child{justify-self:start}.session-top>button:nth-child(3){justify-self:end}.session-top>strong{font-size:12px;font-weight:600}.session-progress{background:var(--line);border-radius:4px;height:3px;position:absolute;bottom:3px;left:23px;right:23px;overflow:hidden}.session-progress span{background:var(--green);height:100%;transition:width .2s;display:block}.session-body{flex-direction:column;flex:1;min-height:0;padding:30px 22px 18px;display:flex;overflow-y:auto}.session-body>.eyebrow{text-align:center}.question-area{text-align:center;margin:auto 0;padding:38px 0 25px}.question-area>p{color:var(--muted);margin-bottom:19px;font-size:14px}.question-area h1{overflow-wrap:anywhere;letter-spacing:-1.5px;font:400 42px/1.2 Georgia,Times New Roman,serif}.thinking{color:var(--muted);text-align:center;margin:20px 0;font-size:12px;line-height:1.7}.session-body.revealed{padding-top:22px}.revealed .question-area{margin:0;padding:22px 0 18px}.revealed .question-area>p{display:none}.revealed .question-area h1{font-size:31px}.answer-area{border-top:1px solid var(--line);margin-top:6px;padding-top:24px;animation:.2s ease-out appear}.answer-area>h2{letter-spacing:-.6px;text-align:center;margin-bottom:19px;font-size:25px}.review-support .forms{margin-bottom:18px}.review-support .example{margin-top:18px}.session-footer{border-top:1px solid var(--line);background:var(--bg);flex:none;padding:12px 22px 27px}.session-footer>p{color:var(--muted);text-align:center;margin-bottom:12px;font-size:10px;line-height:1.5}.session-footer>.primary{width:100%}.rating-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rating-grid button{border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:64px;font-size:14px;font-weight:600;display:flex}.rating-grid small{opacity:.82;font-size:10px;font-weight:400}.rate-again{color:#804d34;background:#f1e9df}.rate-good{color:#fff;background:var(--green)}.review-complete{position:relative}.review-complete>div{text-align:center;margin:auto;padding:42px 22px}.complete-close{position:absolute;top:8px;right:12px}.completion-mark{background:var(--soft);border:1px solid #c9d5c3;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 24px;display:grid}.review-complete h1{letter-spacing:-1.3px;font:400 39px Georgia,Times New Roman,serif}.review-complete p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.8}.profile-page{padding-bottom:34px}.profile-intro{align-items:center;gap:15px;padding:15px 0 23px;display:flex}.profile-avatar{color:#fff;background:var(--green);border-radius:18px;flex:none;place-items:center;width:58px;height:58px;font:400 27px Georgia,Times New Roman,serif;display:grid}.profile-intro h1{letter-spacing:-.8px;margin-top:2px;font-size:27px}.profile-intro div>p:last-child{color:var(--muted);margin-top:4px;font-size:12px}.streak-card{color:#fff;background:var(--green);border-radius:20px;padding:21px}.streak-card .eyebrow{color:#d5e2dc}.streak-card strong{letter-spacing:-3px;margin-top:8px;font:400 58px/1 Georgia,Times New Roman,serif;display:inline-block}.streak-card div>span{opacity:.8;margin-left:7px;font-size:13px}.streak-card>p{opacity:.8;margin-top:13px;font-size:12px;line-height:1.6}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.stat-grid div{border:1px solid var(--line);background:var(--paper);border-radius:14px;flex-direction:column;min-width:0;padding:15px 10px;display:flex}.stat-grid strong{font:400 25px Georgia,Times New Roman,serif}.stat-grid span{color:var(--muted);text-transform:uppercase;margin-top:4px;font-size:9px}.activity-section{margin-top:5px}.activity-months,.activity-grid{grid-template-rows:repeat(7,11px);grid-template-columns:repeat(12,11px);grid-auto-flow:column;justify-content:space-between;gap:4px;display:grid}.activity-months{height:17px;color:var(--muted);grid-template-rows:1fr;font-size:9px}.activity-months span{white-space:nowrap}.activity-day{background:var(--line);border-radius:3px;width:11px;height:11px;display:block}.activity-day.level-1{background:#c8dacb}.activity-day.level-2{background:#91b89b}.activity-day.level-3{background:#538266}.activity-day.level-4{background:var(--green)}.activity-day.future{opacity:.3}.activity-legend{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:11px;font-size:9px;display:flex}.activity-legend span:first-child{margin-right:2px}.activity-legend span:last-child{margin-left:2px}.profile-note{border-top:1px solid var(--line);color:var(--muted);margin-top:22px;padding-top:17px;font-size:11px;line-height:1.7}.login-page,.onboarding{background:var(--soft);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:var(--paper);border-radius:24px;grid-template-columns:1fr 1fr;width:min(820px,100%);display:grid;overflow:hidden;box-shadow:0 24px 70px #203b3414}.login-panel>div{color:#fff;background:var(--green);padding:58px}.login-panel .eyebrow{color:#d5e2dc;margin:70px 0 10px}.login-panel h1{letter-spacing:-.05em;font-size:58px}.login-panel>div>p:last-child{color:#d5e2dc;margin-top:12px;line-height:1.6}.login-mark{width:48px;height:48px;color:var(--green);background:var(--paper);border-radius:13px;place-items:center;font-weight:700;display:grid}.login-panel form{flex-direction:column;justify-content:center;gap:20px;padding:58px;display:flex}.login-panel label{color:var(--muted);flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.login-panel input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:13px 14px}.login-error{color:#984939;margin:0;font-size:13px}.onboarding>section{text-align:center;width:min(760px,100%)}.onboarding .login-mark{color:#fff;background:var(--green);margin:0 auto 30px}.onboarding h1{letter-spacing:-.05em;font-size:clamp(42px,7vw,68px)}.onboarding>section>p:last-of-type{color:var(--muted);margin-top:12px}.language-options{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px;display:grid}.language-options button{border:1px solid var(--line);background:var(--paper);border-radius:16px;flex-direction:column;justify-content:center;gap:7px;min-height:110px;padding:20px;display:flex}.language-options strong{font-size:24px}.language-options span{color:var(--muted);font-size:12px}.session-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes appear{0%{opacity:0;transform:translateY(4px)}}@media (width<=850px){.stage{min-height:100vh;padding:20px;display:block}.workspace{border-radius:28px;width:min(520px,100%);height:calc(100dvh - 40px);margin:auto}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--bg);border-bottom:0;flex:none;height:69px;padding:7px 20px}.screen{flex:1}.scroll-page{padding:0 22px 22px}.scroll-page>*{max-width:none}.bottomnav{border-top:1px solid var(--line);background:var(--bg);border-right:0;flex-direction:row;flex:none;gap:0;min-height:80px;padding:8px 8px 17px}.bottomnav:before{display:none}.bottomnav button{border-radius:0;flex-direction:column;flex:1;justify-content:center;gap:5px;min-height:48px;padding:0;font-size:10px;font-weight:500}.bottomnav button:hover{background:0 0}.nav-icon{width:48px;height:29px}.active .nav-icon{background:var(--soft);box-shadow:none}.nav-badge{border:2px solid var(--bg);min-width:18px;height:18px;padding:0 4px;font-size:9px;line-height:14px;top:0;left:calc(50% + 10px);right:auto}}@media (width<=480px){body{background:var(--bg)}.stage{min-height:100dvh;padding:0}.workspace{width:100%;height:100dvh;min-height:0;box-shadow:none;border:0;border-radius:0}.app{height:100%}.topbar{height:calc(69px + env(safe-area-inset-top));padding-top:max(7px, env(safe-area-inset-top))}.detail-topbar{height:calc(60px + env(safe-area-inset-top))}.language-picker select{width:132px}.bottomnav{padding-bottom:max(14px, env(safe-area-inset-bottom))}.session-top{padding-top:max(9px, env(safe-area-inset-top))}.session-footer{padding-bottom:max(24px, env(safe-area-inset-bottom))}.login-page,.onboarding{min-height:100dvh;padding:20px;display:block;overflow-y:auto}.login-panel{display:block}.login-panel>div{padding:28px}.login-panel .eyebrow{margin:28px 0 8px}.login-panel h1{font-size:44px}.login-panel form{padding:28px}.onboarding>section{margin:auto}.onboarding .login-mark{margin-bottom:20px}.onboarding h1{font-size:38px}.language-options{grid-template-columns:1fr;gap:8px;margin-top:24px}.language-options button{min-height:76px;padding:14px}.language-options strong{font-size:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
