:root{color-scheme:dark;--paper:#0b0810;--surface:#19131f;--ink:#f7f2fb;--muted:#c7b6d0;--line:#786184;--accent:#d1a2ff;--action:#c795f4;--focus:#e5bdff;--error:#ffb7c8;--error-bg:#421b2c;--button-ink:#1a0d22;--soft:#2a1d32;--rating-miss:#ff9fac;--rating-miss-bg:#3c1b28;--rating-hit:#99e4b2;--rating-hit-bg:#183629;--rating-hard:#ffd391;--rating-easy:#9ce7e8;--halo-purple:rgba(116,49,150,.19);--halo-red:rgba(122,28,62,.15)}:root[data-theme=light]{color-scheme:light;--paper:#f8f4fa;--surface:#fffafd;--ink:#2b1934;--muted:#5e4a67;--line:#947c9e;--accent:#763487;--action:#702e83;--focus:#702e83;--error:#9c2346;--error-bg:#fff0f4;--button-ink:#fff;--soft:#f0e7f3;--rating-miss:#97223f;--rating-miss-bg:#fce6ed;--rating-hit:#17653b;--rating-hit-bg:#e1f4e8;--rating-hard:#8a5600;--rating-easy:#08696b;--halo-purple:rgba(157,89,177,.09);--halo-red:rgba(171,48,85,.06)}@media (prefers-color-scheme:light){:root[data-theme=system]{color-scheme:light;--paper:#f8f4fa;--surface:#fffafd;--ink:#2b1934;--muted:#5e4a67;--line:#947c9e;--accent:#763487;--action:#702e83;--focus:#702e83;--error:#9c2346;--error-bg:#fff0f4;--button-ink:#fff;--soft:#f0e7f3;--rating-miss:#97223f;--rating-miss-bg:#fce6ed;--rating-hit:#17653b;--rating-hit-bg:#e1f4e8;--rating-hard:#8a5600;--rating-easy:#08696b;--halo-purple:rgba(157,89,177,.09);--halo-red:rgba(171,48,85,.06)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(circle at 82% 5%,var(--halo-purple),transparent 38%),radial-gradient(circle at 8% 82%,var(--halo-red),transparent 34%),var(--paper);color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}.button,button{cursor:pointer;border:1px solid var(--action);border-radius:10px;padding:11px 17px;background:var(--action);color:var(--button-ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;text-align:center;font-weight:700}.button:hover,button:hover{filter:brightness(1.08)}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px;background:var(--surface);color:var(--ink)}input[type=checkbox]{width:auto;accent-color:var(--ink)}textarea{min-height:190px;resize:vertical;line-height:1.6}label{display:grid;gap:7px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.welcome{width:100%;max-width:1240px;min-height:0;flex:1 1;padding:38px 64px;margin:0 auto;display:flex;flex-direction:column}.brand{display:flex;justify-content:space-between;align-items:center;font:900 33px Arial,Helvetica,sans-serif;letter-spacing:-2px;text-decoration:none}.hero{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:48px 0 100px;max-width:900px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:2.5px;font-weight:800;text-transform:uppercase}h1{font:800 68px/1.02 Arial,Helvetica,sans-serif;letter-spacing:-4px;margin:24px 0}h1 em{color:var(--accent);font-style:normal;font-weight:800}.hero h1{font-size:clamp(58px,8vw,110px);letter-spacing:-.065em}.hero form{margin-top:12px}.home-google{padding:8px 13px;min-height:38px;font-size:13px}.home-why{display:inline-flex;align-items:center;gap:6px;margin-top:19px;color:var(--muted);font-size:13px;font-weight:700}.home-why:hover{color:var(--ink)}.home-why span{display:inline-block;transition:transform .2s ease}.home-why:hover span{transform:translate(3px,-3px)}.why-page{max-width:980px;padding-top:clamp(36px,6vw,72px);padding-bottom:90px}.why-intro{max-width:760px;animation:why-appear .65s ease-out both}.why-page .why-intro h1{margin:0;font-size:clamp(17px,1.8vw,20px);font-weight:500;line-height:1.5;letter-spacing:-.012em}.why-reasons{list-style:none;margin:48px 0 34px;padding:0}.why-reasons li{display:grid;grid-template-columns:55px minmax(0,1fr);gap:20px;padding:22px 0 26px;border-top:1px solid var(--line);animation:why-appear .55s ease-out both}.why-reasons li:first-child{animation-delay:.12s}.why-reasons li:nth-child(2){animation-delay:.2s}.why-reasons li:nth-child(3){animation-delay:.28s}.why-reasons li:nth-child(4){animation-delay:.36s}.why-reasons li:nth-child(5){animation-delay:.44s}@keyframes why-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.why-number{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.15em;padding-top:4px}.why-reasons h2{margin:0 0 7px;font-size:clamp(21px,2.7vw,28px);line-height:1.2;letter-spacing:-.025em}.why-reasons p{max-width:690px;margin:0;line-height:1.6}.why-challenge{color:var(--muted)}.why-solution{max-width:730px;margin-top:17px;padding:14px 18px;border-left:2px solid var(--accent);border-radius:0 9px 9px 0;background:var(--soft);transition:background .2s ease,transform .2s ease}.why-reasons li:hover .why-solution{background:color-mix(in srgb,var(--soft) 78%,var(--accent));transform:translateX(3px)}.why-solution-label{display:block;margin-bottom:4px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.why-solution p{color:var(--ink)}@media (max-width:600px){.why-reasons{margin-top:48px}.why-reasons li{grid-template-columns:32px minmax(0,1fr);gap:12px}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;min-width:0;box-shadow:0 14px 38px rgba(0,0,0,.08)}.stack{display:grid;gap:18px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.quiet-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:100%;min-height:34px;padding:5px 9px;border:1px solid transparent;border-radius:8px;background:var(--soft);color:var(--ink);font-size:13px;font-weight:700;line-height:1.3;text-align:left;text-decoration:none;overflow-wrap:anywhere}.quiet-link:hover{color:var(--ink);border-color:var(--line);filter:none}.quiet-link svg{width:16px;height:16px;flex:none}.error{color:var(--error);background:var(--error-bg);padding:12px;border-radius:8px}.muted{color:var(--muted)}.shell{width:100%;max-width:1250px;margin:0 auto;padding:32px}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header-inner{max-width:1250px;min-height:78px;margin:auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-footer{width:100%;margin-top:auto;border-top:1px solid var(--line)}.site-footer-inner{max-width:1250px;min-height:58px;margin:auto;padding:12px 32px;display:flex;align-items:center;justify-content:flex-end;gap:22px}.site-footer a{padding:5px 0;color:var(--muted);font-size:13px;font-weight:700}.site-footer a:hover{color:var(--ink)}.guide-page{max-width:850px;padding-bottom:64px}.guide-page h1{margin-bottom:0}.guide-page h2{margin:0;font-size:22px;letter-spacing:-.5px}.guide-page p{margin:0}.guide-page .panel{display:grid;gap:14px}.guide-status-list{display:grid;gap:0;margin:0}.guide-status-list>div{display:grid;grid-template-columns:95px minmax(0,1fr);align-items:start;gap:14px;padding:11px 0;border-top:1px solid var(--line)}.guide-status-list dt{display:flex;align-items:center}.guide-status-list dd{margin:0;color:var(--muted)}.guide-page ol{margin:0;padding-left:22px}.guide-page li+li{margin-top:7px}.site-logo{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none;white-space:nowrap;font-size:26px;font-weight:900;letter-spacing:-1.7px}.site-nav{display:flex;align-items:center;gap:5px}.site-nav a{padding:9px 13px;border-radius:9px;color:var(--muted);text-decoration:none;white-space:nowrap;font-size:14px;font-weight:700}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink);background:var(--soft)}.site-nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent)}.site-actions{display:flex;align-items:center;gap:12px}.account-menu{position:relative}.account-trigger{width:38px;height:38px;min-height:38px;padding:7px;border-radius:50%;background:var(--soft);border-color:transparent}.account-trigger svg{width:20px;height:20px}.account-trigger[aria-expanded=true]{border-color:var(--accent)}.account-options{position:absolute;top:calc(100% + 10px);right:0;z-index:40;width:182px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 16px 40px rgba(0,0,0,.32)}.account-options a,.account-options button{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:38px;padding:7px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:13px;font-weight:700;text-align:left}.account-options a:hover,.account-options button:hover{background:var(--soft);color:var(--ink);filter:none}.account-options svg{width:17px;height:17px;flex:none}.profile-page{max-width:800px}.profile-page h1{margin:20px 0}.profile-card{display:grid;gap:5px}.profile-card strong{overflow-wrap:anywhere}.google-mark{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#fff;color:#4285f4;font-size:17px;font-weight:800}.admin-page h1{margin:0;font-size:clamp(36px,5vw,56px)}.admin-heading{margin:10px 0 24px}.admin-heading p,.admin-languages p{margin:4px 0 0}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-metric{display:grid;gap:5px;padding:18px}.admin-metric span{font-size:13px}.admin-metric strong{font-size:30px;line-height:1.15}.admin-sections{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);align-items:start;gap:16px;margin-top:16px}.admin-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-sections h2{margin:0 0 12px;font-size:22px}.admin-table-wrap{overflow-x:auto}.admin-table-wrap table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.admin-table-wrap td,.admin-table-wrap th{padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}.admin-table-wrap td:first-child,.admin-table-wrap th:first-child{padding-left:0}.admin-table-wrap small{display:block;font-size:10px}.admin-pagination{align-items:center;margin-top:16px;font-size:13px}.admin-language,.admin-pagination{display:flex;justify-content:space-between}.admin-language{gap:12px;padding:10px 0;border-top:1px solid var(--line)}.admin-footnote{font-size:12px}@media(max-width:900px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sections{grid-template-columns:1fr}}.item-detail-list a{color:var(--accent);font-weight:700}.auth-pending{min-height:45vh;display:grid;align-content:start}.auth-pending-line{width:90px;height:3px;border-radius:3px;background:var(--accent);opacity:.5;animation:auth-pulse 1s ease-in-out infinite alternate}@keyframes auth-pulse{to{opacity:.15}}.review-tabs .button{min-height:38px;padding:7px 13px;font-size:14px}.page-controls{display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;font-weight:700}.page-controls button{min-height:34px;padding:5px 11px;font-size:12px}.page-controls button:disabled{cursor:not-allowed}.review-hub .saved-items-page .muted,.review-hub h2{margin:0}.shell h1{font-size:40px;letter-spacing:-1px}.panel h2{margin:0;font:700 24px Arial,Helvetica,sans-serif;letter-spacing:-.6px}.library-columns{display:grid;grid-template-columns:minmax(225px,280px) minmax(0,1fr);gap:24px;align-items:start}.lesson-column{min-width:0}.lesson-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap}.lesson-heading h2{font:800 40px/1.1 Arial,Helvetica,sans-serif;letter-spacing:-1.5px;margin:0}.lesson-heading>div:first-child{min-width:0;flex:1 1 300px}.lesson-title-row h2{overflow-wrap:anywhere}.lesson-rename input{flex:1 1 240px;min-width:0}.source-section{scroll-margin-top:24px}.source-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0}.source-summary:before{content:"▸";color:var(--accent);font-size:20px}details[open]>.source-summary:before{content:"▾"}.source-summary>span:first-child{flex:1 1}.source-summary-title{display:block;color:var(--ink);font:700 24px Arial,Helvetica,sans-serif;letter-spacing:-.6px}.source-summary .muted{font-size:13px;font-weight:400}.source-section>.details-body{padding-top:18px}.page-intro{justify-content:space-between;align-items:end}.page-intro h1{margin:8px 0}.page-intro .muted{margin-bottom:0}.app-header{justify-content:space-between}.app-header nav a[aria-current=page]{font-weight:700}.library-toolbar{justify-content:space-between}.language-pills{position:relative;flex-wrap:wrap;gap:8px;max-width:100%}.language-picker{flex:none}.language-add{width:44px;height:44px;min-height:44px;padding:9px;border-radius:10px}.language-add svg,.language-expand svg{width:20px;height:20px}.language-expand{width:44px;height:44px;min-height:44px;padding:9px;border-radius:10px}.language-expand[aria-expanded=true] svg{transform:rotate(180deg)}.language-add[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.language-options{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:min(270px,calc(100vw - 64px));max-height:min(400px,65vh);overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 18px 45px rgba(0,0,0,.35)}.language-options .eyebrow{display:block;padding:5px 9px 7px}.language-options button{display:flex;justify-content:flex-start;width:100%;min-height:36px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:13px;font-weight:700}.language-options button:hover{background:var(--soft);filter:none}.language-options .language-archive{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 7px 7px;color:var(--muted)}.language-all-added{display:block;padding:7px 9px;font-size:13px}.check-label{display:flex;align-items:center;gap:8px}.folder-list{display:grid;gap:8px}.folder-list button{width:100%;justify-content:start;overflow-wrap:anywhere}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px}.lesson-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:150px;padding:20px;background:var(--soft);color:var(--ink);border:1px solid var(--line);text-align:left}.lesson-card:hover{border-color:var(--accent);filter:none}.lesson-card .eyebrow{font-size:10px}.lesson-card strong{font-size:19px;line-height:1.25;overflow-wrap:anywhere}.lesson-card .muted{font-size:13px}.saved-filter-panel{padding:10px 18px}.saved-filter-panel>summary{padding:6px 0}.saved-filter-panel .study-count{margin-left:6px}.saved-filters{display:grid;width:min(100%,980px);grid-template-columns:minmax(0,1.3fr) repeat(7,minmax(0,1fr));gap:6px;align-items:end;padding:13px 0 5px}.saved-filters label{min-width:0;gap:5px;font-size:12px}.saved-filters input,.saved-filters select{min-width:0;min-height:32px;padding:5px 6px;font-size:12px}.saved-filter-search{padding-right:6px;border-right:1px solid var(--line)}.saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:12px}.saved-item{position:relative;display:grid;min-width:0;min-height:188px;border:1px solid var(--line);border-left:3px solid var(--level-color);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,var(--level-color));color:var(--ink);transition:border-color .15s,transform .15s}.saved-item:hover{border-color:var(--accent);transform:translateY(-2px)}.saved-item-open{display:grid;align-content:start;justify-content:stretch;gap:8px;width:100%;min-height:186px;padding:18px;border:0;border-radius:14px;background:transparent;color:var(--ink);text-align:left;font-weight:400}.saved-item-open:hover{filter:none}.saved-item-open:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.saved-item-archive{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted)}.saved-item-archive:hover{color:var(--ink);border-color:var(--accent)}.saved-item-archive svg{width:18px;height:18px}.saved-action-notice{display:flex;align-items:center;gap:12px;margin:0;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.saved-action-notice .quiet-link{min-height:0;padding:0;border:0;background:none}.saved-item strong{font-size:20px;line-height:1.25}.saved-item .muted,.saved-item span,.saved-item strong{overflow-wrap:anywhere}.saved-item-meta{justify-content:space-between;gap:6px;padding-right:40px}.saved-item-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.saved-item-footer small{font-size:12px}[data-review-level=new]{--level-color:var(--muted)}[data-review-level=learning]{--level-color:var(--accent)}[data-review-level=missed]{--level-color:var(--rating-miss)}[data-review-level=mastered]{--level-color:var(--rating-hit)}.review-level-badge,.review-result-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.3;white-space:nowrap}.review-level-badge{color:var(--level-color);background:color-mix(in srgb,var(--level-color) 13%,var(--surface))}.review-result-badge[data-result=again]{color:var(--rating-miss);background:var(--rating-miss-bg)}.review-result-badge[data-result=hard]{color:var(--rating-hard);background:color-mix(in srgb,var(--rating-hard) 14%,var(--surface))}.review-result-badge[data-result=good]{color:var(--rating-hit);background:var(--rating-hit-bg)}.review-result-badge[data-result=easy]{color:var(--rating-easy);background:color-mix(in srgb,var(--rating-easy) 14%,var(--surface))}.saved-items-page>.secondary{justify-self:center}.item-dialog{width:min(760px,calc(100vw - 28px));height:min(72dvh,720px);max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.55);overflow-y:auto}.item-dialog::backdrop{background:rgba(5,3,9,.76);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.item-dialog-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.item-dialog-toolbar>button{min-height:32px;padding:4px 9px;font-size:12px}.item-dialog-toolbar>span{margin-right:auto;font-size:12px}.item-dialog-toolbar .item-dialog-close{width:32px;height:32px;padding:0;border-radius:50%;background:var(--soft);font-size:23px;font-weight:400;line-height:1}.item-inspector{display:grid;gap:16px;min-width:0;padding:24px}.item-loading{display:grid;place-items:center;min-height:90px}.loading-ring{display:block;width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading-ring{animation:none;border-color:var(--accent);opacity:.7}}.item-inspector .item-back{justify-self:start}.item-inspector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.item-inspector-heading>div{min-width:0}.item-inspector h1{margin:5px 0 3px;font-size:clamp(27px,4vw,38px);line-height:1.15;letter-spacing:-1px;overflow-wrap:anywhere}.item-inspector-heading .muted,.item-inspector-meta,.item-meaning{margin:0}.item-meaning{margin-top:6px;font-size:18px;font-weight:700}.item-inspector-meta{display:flex;align-items:center;gap:9px;font-size:13px}.item-audio-button{width:36px;height:36px;min-width:36px;min-height:36px;padding:7px;border-radius:50%}.item-audio-button svg{display:block;width:20px;height:20px}.item-inspector-section h2{margin:0 0 9px;font-size:17px}.item-context-list{display:grid;gap:8px}.item-context{display:grid;gap:2px;min-width:0;padding:10px 12px;border-radius:10px;background:var(--soft);overflow-wrap:anywhere}.item-context-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.item-context-heading strong{font-size:16px}.item-context .muted,.item-context small{font-size:12px}.item-inspector-actions{gap:8px}.item-detail-list button,.item-edit-form button,.item-inspector-actions button{min-height:34px;padding:5px 10px;font-size:12px}.item-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;border:1px solid var(--line);border-radius:10px}.item-edit-form label:nth-child(3){grid-column:1/-1}.item-edit-form button{justify-self:start}.item-inspector-details{border-top:1px solid var(--line)}.item-inspector-details summary{font-size:14px;padding:8px 0}.item-detail-list{display:grid;gap:8px;max-height:240px;overflow-y:auto;padding-bottom:8px}.item-detail-list p{margin:0;overflow-wrap:anywhere}.review-history-list{gap:5px}.review-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto 42px;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--soft);font-size:12px}.review-history-row time{overflow-wrap:anywhere}@media (max-width:600px){.item-dialog{width:calc(100vw - 16px);height:calc(100dvh - 24px)}.item-dialog-toolbar{padding:8px;gap:5px}.item-inspector{padding:18px}.item-edit-form{grid-template-columns:1fr}.item-edit-form label:nth-child(3){grid-column:auto}}.lesson-dashboard input[type=search]{max-width:420px}.lesson-dashboard{gap:12px;padding:18px 20px}.lesson-dashboard .study-header{align-items:center}.lesson-dashboard .study-header h2{margin:0;font-size:28px}.lesson-dashboard .study-header button svg{width:17px;height:17px}.lesson-search-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.lesson-dashboard .lesson-search-row{gap:8px}.lesson-dashboard .lesson-search-row label{gap:5px;font-size:12px}.lesson-dashboard .lesson-search-row input,.lesson-dashboard .lesson-search-row select{min-height:38px;padding:7px 9px;font-size:13px}.lesson-search-row label:first-child{flex:1 1 260px}.lesson-search-row label:last-child{flex:0 1 190px}.lesson-dashboard .empty-state{min-height:190px;justify-items:start}.lesson-dashboard .empty-state h3{margin:0}.back-to-lessons{justify-self:start}button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--accent)}.empty-state{min-height:250px;display:grid;align-content:center}summary{cursor:pointer;font-weight:700;padding:10px 0}.details-body{padding-top:12px}.source-text{background:var(--soft);border-radius:8px;padding:16px}pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-family:inherit}.language-code{font-size:11px;font-weight:700;border:1px solid var(--line);padding:4px 8px;border-radius:20px;text-transform:uppercase}.study-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}.study-card{min-width:0;display:grid;align-content:start;gap:6px;padding:14px;background:var(--soft);border:1px solid var(--line);border-radius:12px}.study-card-top{justify-content:space-between;align-items:flex-start;gap:6px}.study-card-actions{justify-content:flex-end;gap:5px;flex:1 1 auto}.study-icon-button{position:relative;width:32px;height:32px;min-width:32px;min-height:32px;padding:6px;border-radius:50%}.study-icon-button svg{width:18px;height:18px;display:block}.study-word-form{display:flex;align-items:center;gap:8px}.study-word-form label{flex:1 1;min-width:0}.study-word-form input{min-height:38px;padding:7px 9px;font-size:13px}.study-word-form button{flex:none;min-height:38px;padding:7px 12px;font-size:13px;white-space:nowrap}.study-icon-button:focus-visible:after,.study-icon-button:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:3;padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.25)}.study-show-hidden{justify-self:start;min-height:32px;padding:4px 9px;font-size:12px}.study-undo{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--soft);font-size:13px}.study-target{font-size:18px;line-height:1.25;overflow-wrap:anywhere}.study-meaning,.study-pronunciation{font-size:14px;line-height:1.35;overflow-wrap:anywhere}.study-card-details{border-top:1px solid var(--line);margin-top:5px}.study-card-details summary{font-size:12px;padding:7px 0 0}.study-card-details .details-body{gap:8px;padding-top:8px;font-size:13px}.study-example{margin:0;padding:9px;border-radius:8px;background:var(--surface)}.vocabulary-memory{border-top:1px solid var(--line);padding-top:10px;min-width:0;overflow-wrap:anywhere}.vocabulary-memory-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.vocabulary-memory-heading h4{margin:0;font-size:13px;font-weight:650}.vocabulary-memory-heading small{font-size:11px}.vocabulary-memory dl{display:grid;gap:10px;margin:10px 0 0}.vocabulary-memory dt{color:var(--muted);font-size:11px;font-weight:600;margin-bottom:2px}.vocabulary-memory dd{margin:0;line-height:1.55}.study-action{min-height:32px;padding:4px 9px;font-size:12px}.study-section{min-width:0;border:1px solid var(--line);border-radius:12px;padding:10px 16px}.study-section>summary{font-size:16px;padding:3px 0}.study-section>summary .study-count{margin-left:8px}.study-count{display:inline-block;padding:2px 7px;border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:12px;font-weight:600;vertical-align:middle}.study-hint{margin:4px 0 0;font-size:13px}.study-meta{margin:0;font-size:13px}.theme-control{width:38px;height:38px;min-height:38px;padding:8px;border-radius:50%;background:var(--soft);border-color:transparent;color:var(--ink);flex:none}.review-listen svg,.theme-control svg{width:20px;height:20px;display:block}@media (max-width:800px){.library-columns{grid-template-columns:1fr}.library-columns aside{display:contents}.library-columns aside .panel{margin-bottom:0}}@media (max-width:700px){.welcome{padding:25px}h1{font-size:48px}.hero{padding:48px 0 72px}.hero h1{font-size:clamp(56px,12vw,76px)}.shell{padding:18px}.shell h1{font-size:34px}.lesson-heading h2{font-size:32px}.panel{padding:18px}.site-header-inner{padding:10px 18px;flex-wrap:wrap;gap:6px 12px}.site-footer-inner{padding:10px 18px}.site-logo{font-size:22px}.site-nav{order:3;width:100%;justify-content:space-between;gap:0;overflow-x:auto}.site-nav a{padding:8px 7px;font-size:13px}.site-actions{margin-left:auto}.saved-filters{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.auth-pending-line,.why-intro,.why-reasons li{animation:none}.home-why span,.why-solution{transition:none}.home-why:hover span,.why-reasons li:hover .why-solution{transform:none}}.study-header{justify-content:space-between;align-items:start}.study-header .eyebrow{margin:0 0 4px}.study-download svg{width:18px;height:18px}.review-settings{padding:10px 16px}.review-settings summary .muted{margin-left:8px;font-size:12px;font-weight:400}.review-settings-body{display:grid;gap:10px;padding-top:10px}.review-filter-grid{display:grid;width:min(100%,960px);grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.8fr) repeat(4,minmax(0,1fr));gap:6px}.review-filter-grid label{min-width:0;gap:5px;font-size:12px}.review-filter-grid select{min-width:0;min-height:32px;padding:5px 6px;font-size:12px}.review-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:10px;border-top:1px solid var(--line)}.review-options label{display:flex;align-items:center;gap:7px;min-width:0;min-height:36px;padding:7px 9px;border-radius:9px;background:var(--soft);font-size:12px}.review-options input{width:auto;flex:none;margin:0;accent-color:var(--accent)}.review-settings-hint{margin:0;font-size:12px}.review-card{width:min(100%,700px);padding:clamp(16px,3vw,24px);display:grid;gap:14px;align-content:start}.review-counter{margin:0}.review-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.review-pronunciation{margin:4px 0 0;overflow-wrap:anywhere}.review-prompt h2{font-size:clamp(24px,4vw,34px);overflow-wrap:anywhere;min-width:0}.review-listen{width:42px;height:42px;min-width:42px;min-height:42px;padding:9px;border-radius:50%}.review-answer{gap:13px;padding-top:13px;border-top:1px solid var(--line)}.review-meaning{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 14px}.review-meaning strong{font-size:20px;line-height:1.3;overflow-wrap:anywhere}.review-example,.review-extra-example{display:grid;gap:3px;padding:10px 12px;border-radius:9px;background:var(--soft);overflow-wrap:anywhere}.review-example .eyebrow{font-size:10px}.review-example strong,.review-extra-example strong{font-size:16px}.review-example .muted,.review-extra-example .muted{font-size:13px}.review-more{border-top:1px solid var(--line)}.review-more summary{font-size:13px;padding:6px 0}.review-more-body{display:grid;gap:8px;padding:4px 0 8px;max-height:260px;overflow-y:auto}.review-more-body p{margin:0}.review-more-body ul{margin:4px 0 0;padding-left:19px}.review-loading{margin:0;font-size:13px}.review-actions,.review-ratings{gap:8px}.review-actions button,.review-ratings button{min-height:38px;padding:7px 12px;font-size:14px}.review-ratings .review-rating{flex:0 0 52px;width:52px;height:48px;min-height:48px;padding:10px;border-radius:11px}.review-rating svg{width:24px;height:24px}.review-rating-miss{border-color:var(--rating-miss);background:var(--rating-miss-bg);color:var(--rating-miss)}.review-rating-hit{border-color:var(--rating-hit);background:var(--rating-hit-bg);color:var(--rating-hit)}@media (max-width:700px){.review-filter-grid,.review-options{grid-template-columns:repeat(2,minmax(0,1fr))}.review-card .row button{flex:1 1 42%}.review-card .review-ratings .review-rating{flex:0 0 52px}.review-card .review-listen{flex:0 0 42px}}@media (max-width:480px){.saved-filter-search{padding-right:0;border-right:0}}.youtube-player{width:100%;min-height:200px;aspect-ratio:16/9;background:var(--surface);border-radius:12px;overflow:hidden}.youtube-player iframe{width:100%;height:100%;min-height:200px;border:0}.video-study{padding:1rem}.video-study>.details-body{gap:.65rem}.video-study .study-header{position:relative;justify-content:flex-start;gap:.5rem}.video-study .study-header>button{margin-inline-start:auto}.video-study>p{margin:0}.video-current-caption{height:7rem;overflow:auto;align-content:center;padding:.5rem .75rem;border:1px solid var(--line);border-radius:12px;text-align:center}.video-current-caption-russian{height:auto;min-height:12rem;overflow:visible}@media (max-width:700px){.video-current-caption-russian{min-height:16rem}}.video-current-caption p{margin:.15rem 0}.video-pronunciation{color:var(--muted);font-size:14px}.video-target-line{font-size:1.15rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}button.subtitle-word{display:inline;padding:0;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;cursor:pointer;min-height:0}button.subtitle-word:focus-visible,button.subtitle-word:hover{background:var(--line);text-decoration:underline}.video-transcript{max-height:480px;overflow:auto;padding:.25rem}.video-cue{padding:.4rem .5rem;border-bottom:1px solid var(--line);text-align:center}.video-cue.active{border-inline-start:3px solid var(--accent);background:var(--surface)}.video-cue p{margin:.15rem 0}.video-help{position:static}.video-help summary{cursor:pointer;color:var(--muted);list-style:none;padding:.25rem}.video-help summary::-webkit-details-marker{display:none}.video-help p{position:absolute;z-index:2;top:100%;inset-inline-end:0;width:min(260px,100%);margin:.25rem 0;padding:.65rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:.85rem;line-height:1.4;box-shadow:0 4px 12px #0002}.progress-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.progress-heading h2{margin:6px 0;font-size:clamp(24px,3vw,32px);letter-spacing:-.7px}.progress-heading p{margin:8px 0 0;max-width:650px}.progress-help{max-width:350px;font-size:13px;color:var(--muted)}.progress-goals summary,.progress-help summary,.progress-page details>summary{cursor:pointer}.progress-goals>summary{font-weight:700}.progress-goals>summary span{margin-left:12px;font-size:13px;font-weight:400}.progress-goals form{margin-top:14px}.progress-goal-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(150px,1fr);align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:12px;margin:0;min-width:0}.progress-goal-row legend{font-weight:700;padding:0 8px}.progress-goal-total{display:grid;gap:3px;padding-top:22px}.progress-goal-row input{min-width:0}.progress-controls{align-items:flex-end}.progress-controls label{max-width:200px}.progress-chart-title,.progress-language-title,.progress-period-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.progress-chart-title h3,.progress-language-title h3,.progress-period-title h3{margin:0}.progress-language-grid,.progress-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.progress-overview h3{margin:0 0 12px;font-size:15px;font-weight:400}.progress-overview p{font-size:13px}.progress-big{font-size:48px;font-weight:800;letter-spacing:-2px;line-height:1.15;margin-bottom:18px}.progress-metric{display:grid;gap:8px}.progress-metric>.row{justify-content:space-between}.progress-track{height:7px;border-radius:8px;background:var(--soft);overflow:hidden}.progress-track span{display:block;height:100%;background:var(--accent);border-radius:8px}.progress-met{color:var(--rating-hit)}.progress-legend{font-size:12px;color:var(--muted)}.progress-legend span:first-child{color:var(--accent)}.progress-legend span:nth-child(2){color:var(--rating-hit)}.progress-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;padding-top:12px}.progress-chart-column{display:grid;gap:10px;min-width:0;text-align:center}.progress-chart-column small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.progress-chart-bars{display:flex;justify-content:center;gap:4px;height:160px;border-bottom:1px solid var(--line)}.progress-chart-slot{width:35%;height:100%;position:relative}.progress-chart-bar{position:absolute;bottom:0;width:100%;left:0;border-radius:4px 4px 0 0;background:var(--accent)}.progress-chart-slot.reviewed .progress-chart-bar{background:var(--rating-hit)}.progress-chart-target{position:absolute;width:calc(100% + 4px);left:-2px;border-top:2px dashed var(--ink)}.progress-history-table{overflow:auto;max-width:100%;margin-top:12px}.progress-history-table table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.progress-history-table td,.progress-history-table th{padding:9px;border-bottom:1px solid var(--line);white-space:nowrap}@media(max-width:800px){.progress-language-grid,.progress-overview{grid-template-columns:1fr}.progress-goal-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.progress-goal-total{grid-column:1/-1;padding-top:0}.progress-chart{gap:5px}}@media(max-width:450px){.progress-page .panel{padding:16px}.progress-goal-row{grid-template-columns:1fr}.progress-goal-total{grid-column:auto}.progress-chart{gap:3px}.progress-chart-bars{gap:2px;height:120px}.progress-controls{gap:10px}}.progress-page .stack,.progress-page.stack{grid-template-columns:minmax(0,1fr)}.progress-page details{min-width:0}.progress-page [data-goal-state=met]{--goal-color:var(--rating-hit)}.progress-page [data-goal-state=progress]{--goal-color:var(--rating-hard)}.progress-page [data-goal-state=missed]{--goal-color:var(--rating-miss)}.progress-page [data-goal-state=off],.progress-page [data-goal-state=unset]{--goal-color:var(--muted)}.progress-heading h2{font-size:26px}.progress-navigation button{padding:8px 13px}.progress-controls{justify-content:flex-start;align-items:center}.progress-controls>label{margin-left:auto}.progress-goal-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--goal-color) 45%,transparent);background:color-mix(in srgb,var(--goal-color) 9%,var(--surface));color:var(--goal-color);padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700}.progress-state-legend{gap:12px;color:var(--muted);font-size:11px}.progress-state-legend span{color:var(--goal-color)}.progress-week-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}button.progress-week-tile{display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;align-content:start;min-width:0;padding:13px;border:1px solid color-mix(in srgb,var(--goal-color) 35%,var(--line));border-radius:12px;color:var(--ink);background:color-mix(in srgb,var(--goal-color) 5%,var(--surface));font-weight:400}button.progress-week-tile[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px;background:color-mix(in srgb,var(--accent) 9%,var(--surface))}button.progress-week-tile:hover{border-color:var(--goal-color);filter:none}.progress-tile-date{font-size:13px;font-weight:700}.progress-tile-status{grid-column:1/-1;flex-wrap:wrap;color:var(--goal-color);display:flex;align-items:center;gap:4px;font-size:12px}.progress-tile-count{color:var(--muted);font-size:12px;grid-column:1/-1}.progress-tile-track{grid-column:1/-1;height:3px;width:100%;border-radius:4px;overflow:hidden;background:var(--soft)}.progress-tile-track span{display:block;height:100%;background:var(--goal-color)}.progress-saved-tooltip{position:fixed;z-index:100;width:260px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 8px 28px rgba(0,0,0,.22);font-size:13px}.progress-tooltip-heading{display:block;margin-bottom:10px;font-size:12px;color:var(--muted)}.progress-tooltip-language{display:grid;grid-template-columns:1fr auto;gap:3px 14px;padding:7px 0}.progress-tooltip-language+.progress-tooltip-language{border-top:1px solid var(--line)}.progress-tooltip-language small{grid-column:1/-1;color:var(--muted);font-size:11px}.progress-tooltip-language strong[data-save-state=met]{color:var(--rating-hit)}.progress-tooltip-language strong[data-save-state=below]{color:var(--rating-hard)}.progress-tooltip-language strong[data-save-state=empty]{color:var(--rating-miss)}.progress-tooltip-language strong[data-save-state=neutral]{color:var(--muted)}.progress-period-subtitle{display:block;font-size:12px;margin-top:6px}.progress-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.progress-overview article{min-width:0}.progress-summary-card{display:flex;flex-direction:column;gap:18px;padding:20px;border:1px solid color-mix(in srgb,var(--line) 48%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface) 85%,transparent)}.progress-overview h3{font-size:13px;margin:0;color:var(--muted);font-weight:500}.progress-overview strong{font-size:18px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress-overview strong>span{font-size:13px;font-weight:400;color:var(--muted)}.progress-overview small{font-size:11px;font-weight:400}.progress-summary-card>.progress-metric{gap:8px}.progress-summary-card>.progress-metric>.row{justify-content:space-between}.progress-language-metrics{display:grid;gap:16px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--line) 32%,transparent)}.progress-language-metric{display:grid;gap:7px;min-width:0}.progress-language-metric-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:12px;font-size:13px}.progress-language-metric-heading>span{overflow-wrap:anywhere}.progress-language-metric-heading small{color:var(--goal-color)}.progress-language-metric-heading strong{font-size:13px;font-weight:500;white-space:nowrap}.progress-language-metric-heading strong>span{font-size:12px}.progress-language-metric .progress-track{height:4px}.progress-language-metric .progress-track span{background:var(--goal-color)}.progress-summary-note{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}.progress-summary-card>.quiet-link:last-child{margin-top:auto}.progress-overview .progress-vocabulary-total{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:0 4px;font-size:12px}.progress-vocabulary-total h3{margin-right:auto}.progress-vocabulary-total strong{font-size:15px}@media(max-width:650px){.progress-overview{grid-template-columns:minmax(0,1fr)}.progress-summary-card{padding:18px}}.progress-week-words>.row h3{margin:0;font-size:18px}.progress-week-words>.row .button{font-size:13px;padding:9px 12px}.progress-activity>section,.progress-language-details>.progress-language-grid{margin-top:18px}.progress-activity>summary,.progress-language-details>summary{font-size:14px}.progress-language-grid>.panel{box-shadow:none}.progress-metric small{color:var(--goal-color)}.progress-metric .progress-track span{background:var(--goal-color)}.progress-consistency{font-size:12px;margin:0}.progress-consistency strong{color:var(--ink);font-weight:600}.progress-consistency>span{margin-left:12px}.progress-goals{box-shadow:none}@media(max-width:950px){.progress-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.progress-week-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 3px 10px}button.progress-week-tile{flex:0 0 132px;scroll-snap-align:start}.progress-controls>label{margin-left:0;max-width:165px}.progress-overview{gap:18px}.progress-overview strong{font-size:16px}.progress-heading h2{font-size:23px}.progress-state-legend{gap:9px}.progress-consistency>span{display:block;margin:5px 0 0}}.weekly-lessons{min-width:0}.weekly-lessons label{font-size:12px;min-width:150px}.weekly-lesson-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weekly-lesson{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;color:inherit;text-decoration:none;min-width:0}.weekly-lesson:hover{background:var(--surface)}.weekly-lesson>span:nth-child(2){flex:1 1;min-width:0}.weekly-lesson small,.weekly-lesson strong{display:block;overflow-wrap:anywhere}.weekly-lesson-date{font-size:12px;color:var(--muted);max-width:90px}.lesson-date-editor{font-size:13px}.lesson-date-editor input{max-width:200px}.saved-week-organizer{font-size:13px;gap:12px}.saved-week-organizer label{font-size:12px;max-width:210px}.saved-word-select{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--line)}.saved-word-select input{width:16px;height:16px}@media(max-width:640px){.weekly-lesson-list{grid-template-columns:1fr}.weekly-lesson-date{max-width:75px}.saved-week-organizer{align-items:flex-start}.lesson-date-editor .row{flex-wrap:wrap}}.library-mode[hidden]{display:none}.library-view-switch{display:flex;gap:4px;align-self:flex-start;padding:4px;border:1px solid var(--line);background:var(--surface);border-radius:12px}.library-view-switch button{background:transparent;color:var(--muted);border:0;border-radius:8px;padding:9px 20px;box-shadow:none}.library-view-switch button[aria-selected=true]{background:var(--soft);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.collections-screen{min-width:0}.collection-dashboard>label{max-width:540px}.collection-dashboard .study-header p{margin:5px 0 0}.collection-card{text-align:left}.collection-card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px}.collection-card-footer{display:flex;flex-direction:column;gap:5px;margin-top:auto;font-size:13px}.collection-card-footer .muted{font-size:11px;letter-spacing:.04em}.collection-detail,.collection-editor{padding:26px}.collection-prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.collection-detail h2{font-size:clamp(22px,3vw,32px)}.collection-reading-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:24px;align-items:end;padding:16px 0 24px;border-bottom:1px solid var(--line)}.collection-group-links{gap:8px}.collection-group-links a{display:inline-flex;padding:7px 11px;border:1px solid var(--line);border-radius:30px;font-size:12px}.collection-read-group{scroll-margin-top:100px}.collection-read-group h3{margin:12px 0;font-size:19px}.collection-read-group>p{font-size:13px;max-width:900px}.collection-phrases{margin:0}.collection-phrase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;padding:15px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 45%,transparent)}.collection-phrase:last-child{border-bottom:0}.collection-phrase dt{gap:5px;font-size:18px;font-weight:600}.collection-phrase dd,.collection-phrase dt{display:flex;flex-direction:column;overflow-wrap:anywhere}.collection-phrase dd{margin:0;gap:6px;font-size:15px}.collection-pronunciation{color:var(--accent);font-weight:400;font-size:13px}.collection-phrase-note{font-size:12px;white-space:pre-wrap}.collection-empty{padding:20px 0}.collection-methods{gap:8px}.collection-preparation,.collection-preview{padding:18px;background:var(--soft);border-radius:12px}.collection-preparation>button{align-self:flex-start}.collection-language-options{display:flex;flex-wrap:wrap;gap:12px 20px;border:0;padding:0;margin:0}.collection-language-options legend{font-size:13px;margin-bottom:8px}.collection-preview .collection-reading{max-height:430px;overflow:auto}.compact-textarea{min-height:72px}.collection-edit-hint{padding:12px 15px;background:var(--soft);border-radius:8px;font-size:13px}.collection-edit-group{padding:18px;border:1px solid var(--line);border-radius:12px}.collection-group-title{flex:1 1;max-width:540px}.collection-entry-editor{padding:15px 0;border-top:1px solid var(--line);gap:10px}.collection-editor-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:14px}.collection-add{align-self:flex-start}.collection-save{position:sticky;bottom:12px;padding:14px 16px;border:1px solid var(--line);background:var(--surface);border-radius:12px;box-shadow:0 5px 20px #0002;z-index:2}.collection-save .muted{font-size:12px}@media(max-width:650px){.collection-detail,.collection-editor{padding:18px}.collection-editor-grid,.collection-reading-toolbar{grid-template-columns:1fr;gap:14px}.collection-phrase{gap:14px;padding:13px 0}.collection-phrase dt{font-size:17px}.collection-phrase dd{font-size:14px}.collection-edit-group{padding:13px}.collection-group-title{flex-basis:100%}.collection-methods button{flex:1 1;padding:8px;font-size:12px}.collection-save{bottom:8px;padding:12px}}.collection-editor-fields{min-width:0;border:0;padding:0;margin:0}.collections-screen button>svg{width:17px;height:17px;flex:none}.collection-editor:has(.collection-methods){max-width:760px;width:100%;align-self:start}.collection-methods{display:grid;grid-template-columns:1fr 1fr}.collection-methods button{justify-content:center}.collection-preparation{background:transparent;padding:4px 0 0}.collection-preparation textarea{min-height:112px}.collection-language-options{gap:8px 16px}.collection-editor-grid{grid-template-columns:1fr 1fr;gap:12px}.collection-disclosure>summary{display:flex;align-items:center;gap:7px;list-style:none;font-weight:500;font-size:13px;color:var(--muted);padding:7px 0}.collection-disclosure>summary::-webkit-details-marker{display:none}.collection-disclosure>summary>svg{width:14px;height:14px;flex:none;transform:rotate(-90deg)}.collection-disclosure[open]>summary>svg{transform:rotate(0)}.collection-edit-group>summary{color:var(--ink);font-size:15px;padding:0}.collection-edit-group .collection-disclosure>label{padding-top:8px}.collection-entry-editor>.collection-disclosure>label{margin-top:10px}.collection-edit-hint{padding:0;background:transparent}.collection-editor h2{font-size:24px;margin:0}@media(max-width:650px){.collection-editor-grid{grid-template-columns:1fr}.collection-methods button{font-size:13px}}.collection-dashboard .study-header>button{min-height:38px;padding:8px 13px;white-space:nowrap;flex:none;font-size:13px}.lesson-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px 9px;min-width:0}.lesson-save-count{--save-color:var(--muted);display:inline-flex;align-items:center;gap:5px;flex:none;white-space:nowrap;color:var(--save-color);background:color-mix(in srgb,var(--save-color) 8%,transparent);padding:3px 7px;border-radius:6px;font-size:12px;line-height:1.3;font-weight:600}.lesson-save-count[data-save-state=empty]{--save-color:var(--rating-miss)}.lesson-save-count[data-save-state=below]{--save-color:var(--rating-hard)}.lesson-save-count[data-save-state=met]{--save-color:var(--rating-hit)}.review-settings-body{margin:0;border:0;min-width:0;padding-left:0;padding-right:0;padding-bottom:0}.review-session-actions{gap:10px;flex-wrap:wrap}.review-session-actions .muted{margin-right:auto}.review-session-actions button{font-size:12px;padding:8px 11px}.review-session-summary{gap:12px}.review-session-summary h2,.review-session-summary p{margin:0}.lesson-study-guide{gap:18px}.lesson-study-guide .guide-actions{gap:8px;flex-wrap:nowrap}.lesson-study-guide .guide-actions>button{height:40px;min-height:40px;padding:8px 13px;font-size:13px;white-space:nowrap}.lesson-study-guide .guide-actions .guide-download{width:40px;min-width:40px;padding:0;border-radius:10px}.guide-feedback,.guide-footnote,.guide-meta{margin:0;font-size:13px}.guide-feedback{color:var(--accent)}.guide-selection-idle{font-size:13px}.guide-meta{margin-top:-10px}.guide-section{gap:12px}.guide-section+.guide-section{margin-top:8px}.guide-section-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}.lesson-study-guide .guide-section-heading h4{margin:0;font-size:18px;font-weight:600}.guide-section-heading>span{font-size:13px}.guide-table-wrap{min-width:0}.guide-table{width:100%;border-collapse:collapse;table-layout:fixed;color:var(--ink);background:transparent}.guide-table td,.guide-table th{border:0;padding:15px 12px;text-align:left;vertical-align:top;overflow-wrap:anywhere;white-space:pre-wrap}.guide-table th{padding-top:0;padding-bottom:10px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.04em}.guide-table td:first-child,.guide-table th:first-child{padding-left:0;width:40%}.guide-table td:last-child,.guide-table th:last-child{padding-right:0}.guide-table tbody tr{border-top:1px solid color-mix(in srgb,var(--line) 28%,transparent)}.guide-table tbody tr:hover{background:color-mix(in srgb,var(--soft) 30%,transparent)}.guide-target{font-size:17px;line-height:1.7;font-weight:500}.guide-pronunciation{color:var(--muted);font-size:14px;line-height:1.8}.guide-meaning{font-size:15px;line-height:1.7}.guide-table button{display:inline;min-height:0;min-width:0;background:none;border:0;border-radius:3px;padding:0;color:inherit;font:inherit;line-height:inherit;cursor:pointer;box-shadow:none}.guide-table button:focus-visible,.guide-table button:hover{background:var(--soft);color:var(--accent);outline:1px solid var(--accent);outline-offset:2px;filter:none}.guide-table details{margin-top:8px;font-size:12px;font-weight:400;color:var(--muted)}.guide-table details p{margin:6px 0 0}.guide-ai-label{display:block;width:fit-content;margin-top:8px;padding:2px 7px;border-radius:5px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:500;line-height:1.5}.guide-footnote{padding-top:8px;font-size:12px}@media(max-width:640px){.lesson-study-guide .study-header{gap:12px}.guide-table,.guide-table tbody{display:block}.guide-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.guide-table tbody tr{display:grid;gap:6px;padding:16px 0}.guide-table td,.guide-table td:first-child,.guide-table td:last-child{display:block;width:auto;padding:0}.guide-table td[data-label]:before{content:attr(data-label);display:inline-block;width:92px;color:var(--muted);font-size:11px}.guide-table .guide-meaning,.guide-table .guide-pronunciation{font-size:14px}}.icon-button{position:relative;width:40px;height:40px;min-width:40px;min-height:40px;flex:none;padding:0;border-radius:10px}.icon-button svg{display:block;width:18px;height:18px}.icon-button[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent)}.icon-button[aria-busy=true] svg{animation:icon-working 1.2s linear infinite}.icon-button:focus-visible:after,.icon-button:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);right:0;z-index:120;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.2)}.lesson-study-guide .guide-actions>.icon-button,.study-note-actions>.icon-button,.study-word-form>.icon-button{width:40px;height:40px;min-height:40px;padding:0}.word-selection-popover{position:fixed;z-index:100;width:360px;max-width:calc(100vw - 24px);padding:10px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 12px 36px rgba(0,0,0,.25)}.word-selection-actions{display:flex;align-items:center;gap:7px}.word-selection-actions label{flex:1 1;min-width:0}.word-selection-actions input{min-height:40px;padding:8px 10px;font-size:15px;background:var(--soft)}.word-selection-popover p{margin:9px 3px 2px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.word-selection-popover .word-selection-meaning{font-size:14px;color:var(--ink)}.word-selection-definition .row{flex-wrap:nowrap;align-items:center}.word-selection-definition .row p{flex:1 1}.word-selection-popover [role=status]{color:var(--accent)}.study-show-hidden.icon-button{padding:0}@keyframes icon-working{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.icon-button[aria-busy=true] svg{animation:none}}.study-panel-heading{display:flex;align-items:center;gap:6px}.study-panel-heading .study-collapse{width:28px;min-width:28px;height:32px;min-height:32px;border:0;padding:4px;background:transparent;color:var(--muted);border-radius:6px}.study-panel-heading .study-collapse:hover{background:var(--soft);color:var(--ink)}.study-panel-heading .study-collapse:after{left:0;right:auto}.study-collapse svg{transition:transform .15s ease}.study-collapse[aria-expanded=false] svg{transform:rotate(-90deg)}.study-panel-content[hidden]{display:none}@media(prefers-reduced-motion:reduce){.study-collapse svg{transition:none}}.progress-loading-status{min-height:20px;font-size:12px}.progress-heading{flex-wrap:nowrap}.progress-info{margin-top:6px}.progress-info:focus-visible:after,.progress-info:hover:after{display:none}.progress-info-tooltip{position:fixed;z-index:130;width:300px;max-width:calc(100vw - 24px);padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 8px 28px rgba(0,0,0,.25);font-size:13px;line-height:1.6}.progress-info-tooltip small{display:block;margin-top:8px;color:var(--muted)}.guide-subsection{gap:16px;min-width:0;border-top:1px solid color-mix(in srgb,var(--line) 35%,transparent);padding-top:18px}.guide-subsection>.study-header h3{font-size:18px}.guide-target-line{display:flex;align-items:flex-start;gap:8px}.guide-target-line>span{flex:1 1;min-width:0}.guide-table .guide-sentence-audio{display:inline-flex;flex:0 0 30px;align-items:center;justify-content:center;width:30px;height:30px;margin-top:1px;color:var(--muted);border:1px solid transparent}.guide-table .guide-sentence-audio[aria-pressed=true]{color:var(--accent);background:var(--soft)}.guide-table .guide-sentence-audio svg{width:17px;height:17px}.guide-audio-error{display:block;font-weight:400;font-size:12px}.progress-page{gap:18px}.progress-heading h2{margin:0}.progress-heading p{margin-top:5px;font-size:13px}.progress-week-grid{position:relative;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 3px 10px}button.progress-week-tile{flex:0 0 142px;gap:5px;padding:11px;scroll-snap-align:start}.progress-summary-card{gap:12px;padding:16px}.progress-language-metrics{gap:12px;padding-top:12px}.progress-page .progress-week-lessons,.progress-page .progress-week-words{padding:14px 16px;box-shadow:none;scroll-margin-top:16px}.progress-week-lessons>summary,.progress-week-words>summary{font-size:14px;font-weight:600}.progress-week-words>summary>span{margin-left:10px;font-size:12px;font-weight:400}.progress-week-lessons>section,.progress-week-words>section{margin-top:14px}.progress-week-words .progress-chart-title:empty{display:none}.progress-daily-total{display:flex;align-items:baseline;gap:8px}.progress-overview .progress-daily-total strong{font-size:28px}.progress-daily-total>span{font-size:12px}.progress-daily-language{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px}.progress-overview .progress-daily-language strong{font-size:13px}.progress-browse-week{margin:0;font-size:13px}.progress-loading-status:empty{display:none}.progress-page>.progress-goals,.progress-results>details.panel{padding:14px 16px;box-shadow:none}.progress-page>.progress-goals>summary,.progress-results>details>summary{padding:3px 0;font-size:14px}.review-hub[data-studying=true]{gap:12px;padding-top:16px;padding-bottom:16px}.review-hub[data-studying=true] .page-intro{align-items:center}.review-hub[data-studying=true] .page-intro h1{margin:0;font-size:26px}.review-experience{position:relative;gap:12px;min-width:0}.review-experience[data-active=true]{display:flex;flex-direction:column;height:min(560px,var(--review-workspace-height,calc(100svh - 220px)));gap:10px}.review-toolbar{position:relative;display:flex;align-items:center;gap:6px;width:min(100%,760px);margin-inline:auto;min-height:40px;flex:none}.review-toolbar .review-session-actions{display:flex;flex:1 1;min-width:0;align-items:center;gap:6px;flex-wrap:nowrap;font-size:12px}.review-session-actions>.muted{margin-right:auto;white-space:nowrap}.review-toolbar .icon-button{display:inline-flex;align-items:center;justify-content:center;padding:0;width:40px;height:40px;min-height:40px;flex:none}.review-undo-placeholder{display:block;width:40px;flex:none}.review-toolbar>.review-settings{position:relative;flex:none;margin-left:auto;padding:0;border:0;background:none;box-shadow:none}.review-settings>summary.icon-button{list-style:none;cursor:pointer}.review-settings>summary::-webkit-details-marker{display:none}.review-settings .review-settings-body{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:min(760px,calc(100vw - 48px));max-height:min(410px,max(100px,calc(min(560px,var(--review-workspace-height,calc(100dvh - 160px))) - 144px)));overflow:auto;overscroll-behavior:contain;margin:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 12px 40px rgba(0,0,0,.22)}.review-settings-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.review-settings-heading>strong{font-size:14px}.review-settings-heading .icon-button:after{top:calc(100% + 8px);bottom:auto}.review-options{grid-template-columns:repeat(5,minmax(0,1fr))}.review-experience[data-active=true]>.review-session-notices{position:absolute;z-index:20;top:98px;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),700px);max-height:120px;overflow:auto}.review-session-notices:empty{display:none}.review-session-notices p{margin:0 0 6px;font-size:13px}.review-cohort-context{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 10px;flex:none;font-size:12px}.review-cohort-context .quiet-link{min-height:28px;font-size:11px}.review-experience[data-active=true]>.review-guide-link{display:none}.review-card{position:relative;flex:1 1;width:min(100%,760px);min-height:0;margin-inline:auto;padding:16px;display:block;border-color:color-mix(in srgb,var(--accent) 22%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 5%,var(--surface)),var(--surface) 60%);box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 5%,transparent)}.review-card-inner{display:grid;height:100%;min-height:0;grid-template-rows:40px 3px minmax(0,1fr) 64px;gap:8px}.review-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.review-card-header .review-counter{margin:0;font-size:10px;letter-spacing:1.3px;white-space:nowrap}.review-card-language{color:var(--muted);padding:3px 8px;font-size:11px;background:var(--soft);border-radius:999px}.review-set-track{height:3px;border-radius:6px;background:var(--soft);overflow:hidden}.review-set-track>span{display:block;height:100%;border-radius:6px;background:var(--accent)}.review-card audio{display:none}.review-card-body{position:relative;display:flex;flex-direction:column;gap:12px;min-height:0;padding:8px 4px 12px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;scroll-padding:8px}.review-card-body:not([data-revealed=true])>.review-prompt-area{margin-block:auto}.review-prompt-area{flex:none;min-height:0;padding:0}.review-card .review-prompt{justify-content:center;text-align:center}.review-prompt-text{min-width:0;max-width:100%}.review-card .review-prompt h2{font-size:clamp(24px,4vw,36px);line-height:1.25;letter-spacing:-.4px}.review-card .review-prompt h2:focus{outline:none}.review-card .review-pronunciation{margin:6px 0 0;font-size:14px}.review-answer{flex:none;display:grid;padding-top:12px;gap:12px;animation:review-content-in .12s ease-out both}.review-answer:focus{outline:none}.review-meaning{justify-content:center;text-align:center}.review-meaning strong{font-size:21px}.review-example{min-height:0;gap:5px;padding:12px;border:1px solid color-mix(in srgb,var(--line) 50%,transparent);border-radius:10px;background:color-mix(in srgb,var(--accent) 5%,var(--soft))}.review-card .review-loading{margin:0;min-height:0;padding:12px 0;text-align:center;font-size:12px}.review-card .review-more-body{max-height:none;overflow:visible}.review-card-footer{display:grid;align-items:center;justify-content:center;grid-template-columns:repeat(4,56px);gap:10px;width:100%;height:64px;padding-top:10px;border-top:1px solid var(--line)}.review-card-footer .icon-button{width:100%;height:48px;min-height:48px;padding:0;border-radius:12px}.review-card-footer .review-rating svg{width:24px;height:24px}.review-card-footer[data-advanced=true]{grid-template-columns:repeat(5,44px);gap:6px}.review-card-footer>button:not(.icon-button){min-height:44px;padding:6px 2px;font-size:12px}.review-action-placeholder{height:48px}.review-card[aria-busy=true] .review-card-footer{opacity:.65}.review-hint{position:relative;display:inline-flex;width:100%;flex:none}.review-hint-button{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:transparent}.review-hint-button[aria-expanded=true]:after{display:none}.review-hint-content{position:absolute;z-index:60;left:0;bottom:calc(100% + 12px);width:min(320px,calc(100vw - 80px));max-height:min(220px,max(80px,calc(var(--review-workspace-height,500px) - 190px)));overflow:auto;overscroll-behavior:contain;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:12px;background:var(--surface);box-shadow:0 10px 30px rgba(0,0,0,.22);overflow-wrap:anywhere;animation:review-content-in .12s ease-out both}.review-hint-content .eyebrow{color:var(--accent);font-size:10px}.review-hint-content p{margin:5px 0 0;font-size:14px;line-height:1.6}.review-audio-error{margin:0;font-size:12px;text-align:center}@keyframes review-content-in{0%{opacity:0}to{opacity:1}}@media(max-width:700px){.review-hub[data-studying=true]{padding-top:12px;padding-bottom:12px;gap:10px}.review-hub[data-studying=true] .page-intro h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.review-hub[data-studying=true] .review-tabs{flex-wrap:nowrap;gap:6px;width:100%}.review-hub[data-studying=true] .review-tabs .button{flex:1 1;min-height:36px;padding:6px 8px;font-size:12px;white-space:nowrap}.review-options{grid-template-columns:repeat(2,minmax(0,1fr))}.review-toolbar .review-session-actions{font-size:11px}.review-card{padding:12px}.review-card-language{padding:3px 6px;font-size:10px}}@media(prefers-reduced-motion:reduce){.review-answer,.review-hint-content{animation:none}}.review-completion-message{margin:0;line-height:1.5}.review-next-practice{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.review-next-practice>span{width:100%;font-size:12px}.review-next-practice>button{min-height:40px;font-size:13px}.review-card-meta{display:flex;align-items:center;gap:6px}.review-shortcut-help{position:relative}.review-shortcut-help>.icon-button{width:32px;height:32px;min-width:32px;min-height:32px;border-color:transparent;border-radius:50%;background:transparent;color:var(--muted)}.review-shortcut-help>.icon-button svg{width:16px;height:16px}.review-shortcut-help>.icon-button:after{display:none}.review-shortcut-tooltip{position:absolute;z-index:80;top:100%;right:0;padding-top:8px;width:min(240px,calc(100vw - 76px))}.review-shortcut-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:12px;max-height:min(240px,max(100px,calc(var(--review-workspace-height,500px) - 180px)));overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px rgba(0,0,0,.2);font-size:12px}.review-shortcut-guide>span{display:flex;align-items:center;gap:7px}.review-shortcut-guide kbd{display:inline-grid;place-items:center;width:20px;height:22px;flex:none;border:1px solid var(--line);border-radius:4px;background:var(--soft);font-family:inherit;font-size:14px}.review-shortcut-guide small{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.5}.review-card .review-phrase-word{display:inline;width:auto;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;box-shadow:none;cursor:pointer}.review-card .review-phrase-word:hover,.review-card .review-phrase-word[data-selected=true]{background:var(--soft);color:var(--accent);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:4px;filter:none}.review-word-meaning{position:fixed;z-index:150;width:min(300px,calc(100vw - 24px));max-height:min(260px,calc(100dvh - 24px));overflow:auto;overscroll-behavior:contain;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 10px 32px rgba(0,0,0,.22);font-size:14px}.review-word-meaning>.eyebrow{font-size:10px}.review-word-meaning-heading{display:flex;align-items:center;gap:6px}.review-word-meaning-heading>strong{flex:1 1;min-width:0;overflow-wrap:anywhere;font-size:18px}.review-word-meaning-heading>.icon-button{width:32px;height:32px;min-width:32px;min-height:32px}.review-word-meaning .icon-button:after{top:calc(100% + 6px);bottom:auto}.review-word-meaning p{margin:8px 0 0;line-height:1.5;overflow-wrap:anywhere}.review-card .review-phrase-word:focus-visible{outline:none;background:var(--soft);color:var(--accent);-webkit-text-decoration:underline solid;text-decoration:underline solid;text-decoration-thickness:2px;text-underline-offset:4px}.review-experience[data-active=true]>.review-session-notices[data-fallback=true]{top:116px}.review-card-meta>.review-edit-action{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border-color:transparent;border-radius:50%;background:transparent;color:var(--muted)}.review-card-meta>.review-edit-action svg{width:15px;height:15px}.review-card-meta>.review-edit-action:hover{color:var(--ink);background:var(--soft)}.review-card-meta>.review-edit-action:after{top:calc(100% + 6px);bottom:auto}.review-card-editor{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 18px 64px rgba(0,0,0,.4);overflow:auto}.review-card-editor::backdrop{background:rgba(5,3,9,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.review-card-editor form{display:grid;gap:16px}.review-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-editor-heading h2{margin:4px 0 0;font-size:20px}.review-editor-heading>.icon-button{width:32px;height:32px;min-width:32px;min-height:32px}.review-editor-heading>.icon-button:after{top:calc(100% + 6px);bottom:auto}.review-editor-target{margin:0;font-size:18px;font-weight:700;overflow-wrap:anywhere}.review-editor-fields{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}.review-editor-fields>div{display:grid;gap:6px}.review-editor-fields label{font-size:12px;color:var(--muted)}.review-editor-fields input,.review-editor-fields textarea{width:100%;min-width:0;font-size:14px;color:var(--ink)}.review-editor-fields textarea{resize:vertical;min-height:64px;max-height:160px}.review-editor-error{display:flex;align-items:center;gap:10px;font-size:13px}.review-editor-error p{flex:1 1;margin:0}.review-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.review-editor-footer small{font-size:11px}.test-dashboard{gap:20px}.test-dashboard h2,.test-dashboard h3,.test-dashboard h4,.test-results h2{margin:0;letter-spacing:-.035em}.test-dashboard-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.test-dashboard-intro h2{font-size:30px;margin:6px 0}.test-dashboard-intro p{margin:0;font-size:14px}.test-history-filter{width:170px;flex:none;font-size:11px;color:var(--muted)}.test-history-filter select{font-size:13px;padding:8px 10px}.test-dashboard-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px}.test-launch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:linear-gradient(130deg,var(--soft),var(--surface))}.test-launch-copy h3{font-size:23px;margin:8px 0}.test-launch-copy p{margin:0 0 16px;font-size:13px}.test-launch-copy label{font-size:11px;color:var(--muted);max-width:180px}.test-launch-copy select{padding:7px 10px;font-size:13px}.test-launch-actions{display:grid;gap:10px;justify-items:center}.test-launch-actions>.test-start{width:58px;height:58px;border-radius:50%}.test-launch-actions>.test-start svg{width:24px;height:24px}.test-coverage{padding:24px;min-width:0}.test-coverage h3{margin:7px 0 5px;font-size:19px;letter-spacing:-.025em}.test-coverage-scope{margin:0 0 20px;font-size:12px}.test-coverage-languages{display:grid;gap:18px}.test-coverage-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:13px}.test-coverage-track{height:7px;border-radius:6px;overflow:hidden;background:var(--line);margin:9px 0}.test-coverage-track>span{display:block;height:100%;background:var(--accent);border-radius:inherit}.test-coverage-counts{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:11px;color:var(--muted)}.test-coverage-counts strong{color:var(--ink);font-weight:600;white-space:nowrap}.test-coverage-counts small{font-size:inherit;font-weight:400}.test-coverage-language>small{display:block;margin-top:5px;font-size:11px}.test-coverage-note{font-size:11px;margin:18px 0 0;line-height:1.5}.test-score{--score:0%;width:148px;height:148px;flex:none;padding:8px;border-radius:50%;background:conic-gradient(var(--accent) var(--score),var(--soft) 0)}.test-score>div{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--surface)}.test-score strong{display:flex;align-items:baseline;font-size:45px;line-height:1.1;letter-spacing:-.06em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.test-score strong small{font-size:17px;letter-spacing:0;margin-left:2px}.test-score span{color:var(--muted);font-size:12px;margin-top:3px}.test-score[data-small=true]{width:112px;height:112px;padding:6px}.test-score[data-small=true] strong{font-size:34px}.test-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.test-section-heading h3{font-size:18px}.test-section-heading .muted{font-size:12px}.test-activity,.test-history{padding:22px 24px}.test-chart-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:var(--muted)}.test-chart-legend>span{display:flex;align-items:center;gap:5px}.test-breakdown i,.test-chart-legend i{width:6px;height:6px;border-radius:50%;background:var(--muted);flex:none}.test-dashboard [data-result=known],.test-results [data-result=known]{--result-color:var(--rating-hit)}.test-dashboard [data-result=hard],.test-results [data-result=hard]{--result-color:var(--rating-hard)}.test-dashboard [data-result=missed],.test-results [data-result=missed]{--result-color:var(--rating-miss)}.test-breakdown [data-result]>i,.test-chart-legend [data-result]>i{background:var(--result-color,var(--muted))}.test-activity-chart{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:8px;height:156px}.test-activity-day{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;min-height:0;padding:0 5px;border:0;border-radius:7px;background:transparent;color:var(--muted)}.test-activity-day:hover,.test-activity-day[aria-pressed=true]{background:var(--soft);filter:none}.test-activity-column{display:flex;align-items:flex-end;width:100%;flex:1 1;min-height:0;border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent)}.test-activity-column>span{display:flex;flex-direction:column-reverse;overflow:hidden;width:100%;min-width:0;border-radius:5px 5px 0 0}.test-activity-column i{display:block;min-height:0;background:var(--result-color)}.test-activity-day small{font-size:10px;font-weight:400;padding-bottom:5px}.test-activity-detail{display:flex;align-items:center;gap:14px;border-top:1px solid color-mix(in srgb,var(--line) 40%,transparent);padding-top:14px;margin-top:12px;font-size:12px}.test-activity-detail>span:first-child{margin-right:auto}.test-activity-tooltip{position:fixed;z-index:130;width:190px;max-width:calc(100vw - 24px);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 8px 28px rgba(0,0,0,.22);font-size:12px}.test-activity-tooltip>.muted,.test-activity-tooltip>strong{display:block}.test-activity-tooltip>.muted{margin:3px 0 9px}.test-activity-tooltip>div{display:flex;justify-content:space-between;gap:16px;padding:3px 0}.test-tooltip-known{color:var(--rating-hit)}.test-tooltip-hard{color:var(--rating-hard)}.test-tooltip-missed{color:var(--rating-miss)}.weekly-goal-panel{display:grid;gap:16px;padding:22px 24px}.saved-dashboard-heading,.weekly-goal-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.weekly-goal-heading h3{margin:5px 0;font-size:21px;letter-spacing:-.03em}.weekly-goal-heading p{margin:0;font-size:12px}.weekly-goal-heading>.row{flex-shrink:0;gap:12px}.saved-dashboard-heading>.quiet-link,.weekly-goal-heading .quiet-link{font-size:12px;white-space:nowrap}.weekly-goal-overview{display:flex;align-items:center;gap:18px}.weekly-goal-ring{position:relative;display:grid;place-items:center;width:76px;height:76px;flex-shrink:0;border-radius:50%}.weekly-goal-ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--surface)}.weekly-goal-ring strong{position:relative;font-size:20px;letter-spacing:-.04em}.weekly-goal-total{display:grid;gap:3px}.weekly-goal-total>strong{font-size:28px;line-height:1.15;letter-spacing:-.05em}.weekly-goal-total>small,.weekly-goal-total>span{font-size:12px}.weekly-goal-pace{display:grid;gap:5px;margin-left:auto;text-align:right;max-width:230px}.weekly-goal-pace>strong{font-size:14px}.weekly-goal-pace>span{font-size:12px;color:var(--muted)}.weekly-goal-pace[data-state=met]>strong,.weekly-goal-pace[data-state=on-track]>strong{color:var(--rating-hit)}.weekly-goal-pace[data-state=below]>strong{color:var(--rating-hard)}.weekly-goal-languages{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:14px 24px}.weekly-goal-languages>div{min-width:0}.weekly-goal-languages>div>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px}.weekly-goal-languages small{font-size:10px}.weekly-goal-track{height:5px;margin:7px 0 4px;overflow:hidden;border-radius:8px;background:var(--line)}.weekly-goal-track>span{display:block;height:100%;background:var(--accent);border-radius:inherit}.weekly-goal-note{margin:0;font-size:11px}.weekly-goal-link{justify-self:end;font-size:12px}.saved-dashboard-heading h2{margin:5px 0;font-size:28px;letter-spacing:-.04em}.saved-dashboard-heading p{margin:0;font-size:13px}.saved-language-group{padding:0 20px}.saved-language-group>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;list-style:none}.saved-language-group>summary::-webkit-details-marker{display:none}.saved-language-group>summary>span:first-child{display:grid;gap:4px}.saved-language-group>summary strong{font-size:16px}.saved-language-group>summary small{font-size:11px}.saved-group-summary{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px;white-space:nowrap}.saved-group-summary svg{width:16px;height:16px;transition:transform .15s}.saved-language-group[open] .saved-group-summary svg{transform:rotate(180deg)}.saved-dashboard .saved-grid{grid-template-columns:1fr;gap:0;padding-bottom:8px}.saved-dashboard .saved-item{min-height:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;transition:none}.saved-dashboard .saved-item:hover{transform:none;background:var(--soft)}.saved-dashboard .saved-item-open{min-height:0;padding:14px 46px 14px 0;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:5px 24px}.saved-dashboard .saved-item-meta{grid-column:1/-1;padding:0;justify-content:flex-start;gap:10px}.saved-dashboard .saved-item-meta .language-code{display:none}.saved-dashboard .saved-item strong{font-size:16px}.saved-dashboard .saved-item-open>strong{grid-column:1;grid-row:2}.saved-dashboard .saved-item-open>span:not(.saved-item-meta):not(.saved-item-footer):not(.muted){grid-column:2;grid-row:2/span 2;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.saved-dashboard .saved-item-open>.muted{grid-column:1;grid-row:3;font-size:12px}.saved-dashboard .saved-item-footer{grid-column:1/-1;grid-row:4;justify-content:flex-start;gap:14px;margin-top:2px}.saved-dashboard .saved-item-footer small{font-size:10px}.saved-dashboard .saved-item-footer .review-result-badge{font-size:10px;padding:2px 6px}.saved-dashboard .saved-item-archive{top:17px;right:0;border-color:transparent;background:transparent}.saved-item>.saved-item-archive{position:absolute}@media(max-width:600px){.weekly-goal-panel{padding:18px;gap:14px}.weekly-goal-heading{align-items:flex-start}.weekly-goal-heading .eyebrow{font-size:9px;letter-spacing:.1em;white-space:nowrap}.weekly-goal-heading h3{font-size:19px}.weekly-goal-heading>.row{flex-direction:column-reverse;gap:4px;align-items:flex-end}.weekly-goal-overview{flex-wrap:wrap;gap:12px}.weekly-goal-ring{width:64px;height:64px}.weekly-goal-total{flex:1 1;min-width:0}.weekly-goal-total>strong{font-size:25px}.weekly-goal-total>small,.weekly-goal-total>span{font-size:11px}.weekly-goal-pace{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;max-width:none;width:100%;text-align:left}.weekly-goal-languages{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.weekly-goal-languages>div>div:first-child{display:grid;gap:4px}.saved-dashboard-heading{align-items:flex-start}.saved-dashboard-heading h2{font-size:25px}.saved-dashboard-heading .eyebrow{font-size:9px;letter-spacing:.1em;white-space:nowrap}.saved-language-group{padding:0 16px}.saved-group-summary{gap:8px;font-size:11px}.saved-dashboard .saved-item-open{grid-template-columns:minmax(0,1fr);gap:5px;padding-right:36px}.saved-dashboard .saved-item-open>span:not(.saved-item-meta):not(.saved-item-footer):not(.muted){grid-column:1;grid-row:4}.saved-dashboard .saved-item-footer{grid-row:5;flex-wrap:wrap;gap:5px 10px}}@media(prefers-reduced-motion:reduce){.saved-group-summary svg{transition:none}}.test-history-list{display:grid}.test-history-row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(160px,.7fr);align-items:center;gap:18px;padding:17px 0;border-top:1px solid color-mix(in srgb,var(--line) 35%,transparent)}.test-history-score{font-size:23px;font-weight:700;letter-spacing:-.05em;color:var(--accent)}.test-history-description{display:grid;gap:5px;min-width:0}.test-history-description strong{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.test-history-description>.muted{font-size:11px}.test-history-status{padding:2px 6px;background:var(--soft);border-radius:4px;color:var(--muted);font-size:9px;font-weight:400;letter-spacing:.02em}.test-history-outcome{display:grid;gap:7px}.test-outcome-bar{height:5px;display:flex;overflow:hidden;border-radius:6px;background:var(--soft)}.test-outcome-bar i{background:var(--result-color)}.test-history-outcome>span{font-size:10px;color:var(--muted)}.test-history-more{display:flex;justify-content:center;margin-top:12px}.test-history-empty{padding:30px 12px;text-align:center}.test-history-empty h4{font-size:17px}.test-history-empty p{font-size:13px;margin:8px 0 0}.test-earlier{padding:16px 24px}.test-earlier summary{cursor:pointer;display:flex;justify-content:space-between;gap:14px;font-size:13px}.test-earlier summary>.muted,.test-earlier>p{font-size:11px}.test-earlier-row{display:flex;gap:18px;padding:10px 0;border-top:1px solid color-mix(in srgb,var(--line) 35%,transparent);font-size:12px}.test-earlier-row>span:first-child{margin-right:auto}.test-history-error{display:flex;align-items:center;justify-content:space-between;color:var(--error);font-size:13px}.test-dashboard-loading{text-align:center;padding:48px;color:var(--muted)}.test-results{width:100%;max-width:760px;padding:24px;margin:0 auto}.test-results-heading{display:flex;justify-content:space-between;align-items:center}.test-info.icon-button{width:28px;height:28px;min-width:28px;min-height:28px;border-color:transparent;background:transparent;color:var(--muted)}.test-info:after{max-width:min(260px,calc(100vw - 64px));white-space:normal;top:calc(100% + 6px);bottom:auto;text-align:left}.test-results-main{display:flex;align-items:center;gap:28px;padding:22px 0 26px}.test-results-main h2{font-size:30px}.test-results-main p{font-size:12px;margin:8px 0 16px}.test-breakdown{display:flex;flex-wrap:wrap;gap:12px 18px}.test-breakdown>span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.test-breakdown strong{font-size:14px;color:var(--ink)}.test-weekly-summary{flex-wrap:wrap;gap:6px 20px;padding:16px 0;color:var(--muted);font-size:11px}.test-results-footer,.test-weekly-summary{display:flex;border-top:1px solid color-mix(in srgb,var(--line) 40%,transparent)}.test-results-footer{align-items:center;justify-content:space-between;gap:14px;padding-top:18px;margin-top:18px}.test-results-footer>.muted{font-size:11px}.test-results-actions{display:flex;gap:8px}.test-results-actions>.icon-button{width:38px;height:38px;min-width:38px;min-height:38px}.test-overview-link{font-size:12px}@media(max-width:700px){.test-dashboard-intro{align-items:flex-start}.test-dashboard-intro h2{font-size:25px}.test-history-filter{width:130px}.test-dashboard-top{grid-template-columns:1fr;gap:14px}.test-coverage,.test-launch{padding:20px}.test-activity,.test-history{padding:18px}.test-activity-chart{gap:3px}.test-activity-day{padding:0 3px}.test-history-row{gap:12px;grid-template-columns:48px minmax(0,1fr)}.test-history-outcome{grid-column:2}.test-history-score{grid-row:span 2}.test-chart-legend{gap:9px}.test-results{padding:20px}.test-results-main{gap:18px}.test-score{width:114px;height:114px;padding:6px}.test-score strong{font-size:34px}.test-results-main h2{font-size:24px}.test-breakdown{gap:10px 12px}.test-results-footer{align-items:flex-start;flex-direction:column}.test-results-actions{width:100%;justify-content:flex-end}}@media(max-width:400px){.test-dashboard-intro{flex-wrap:wrap;gap:14px}.test-history-filter{width:100%}.test-launch-copy h3{font-size:20px}.test-results-main{flex-direction:column;align-items:flex-start}.test-results-main h2{font-size:25px}.test-activity-day{padding:0 2px}.test-activity-detail{gap:9px;font-size:11px}.test-chart-legend{font-size:10px}.test-earlier{padding:14px 18px}.test-earlier-row{gap:10px;font-size:11px}}.test-dashboard .panel,.test-results{border-color:color-mix(in srgb,var(--line) 65%,transparent)}@media(max-width:400px){.test-activity .test-section-heading{flex-wrap:wrap;gap:12px}.test-activity .test-chart-legend{width:100%}}.lesson-move-dialog{width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);overflow-y:auto}.lesson-move-dialog::backdrop{background:rgba(5,3,9,.7)}.lesson-move-dialog h2{margin:0;font-size:21px}.lesson-move-dialog p{margin:0;overflow-wrap:anywhere}.lesson-move-title{font-weight:600}.lesson-move-dialog select{width:100%;min-width:0}.lesson-move-actions{justify-content:flex-end;padding-top:4px}.lesson-move-trigger{padding:7px 11px;min-height:34px;font-size:13px;white-space:nowrap}.lesson-memory-action{display:grid;gap:4px;font-size:13px}.lesson-memory-action .row{gap:8px}.lesson-source-fields{border:0;padding:0;margin:0;min-width:0}.lesson-video-source{border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}.lesson-video-source .row>label{flex:1 1;min-width:0}.lesson-video-tabs{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:2px}.lesson-video-tabs [role=tab]{flex:0 0 auto}.lesson-video-tabs [aria-selected=false]{background:transparent;color:inherit}.lesson-video-error-icon{display:inline-flex;align-self:center;flex:none;color:var(--error)}.lesson-video-error-icon svg{width:20px;height:20px}.lesson-video-source input[aria-invalid=true]{border-color:var(--error)}.lesson-video-link-error{margin:0;overflow-wrap:anywhere}.lesson-video-preparation{gap:8px;margin-top:-8px}.lesson-video-preparation p{margin:0;overflow-wrap:anywhere}.lesson-video-preparation .icon-button{justify-self:start}.lesson-video-tabs .lesson-video-error-icon{margin-left:6px;vertical-align:middle}