@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url(../media/5423f56a4e793434-s.2slq_y0q7fo71.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url(../media/6a9fa677ec1bbd33-s.p.10wt7qvuyylzw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:italic;font-weight:700;font-display:swap;src:url(../media/f0e3cf4bb5eec8ca-s.25x6e3cg_itku.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:italic;font-weight:700;font-display:swap;src:url(../media/1112828ec2c13661-s.p.43y6rzpm0hc6v.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b529365fa126a3f2-s.441olqq_uijdr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8e451580e5e95631-s.p.27vw08z6_vw0m.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d74bdd14d6019bc6-s.097vcw437jzga.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(../media/345c85a432359eed-s.p.0zem_9y19rte6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato Fallback;src:local(Arial);ascent-override:101.03%;descent-override:21.8%;line-gap-override:0.0%;size-adjust:97.69%}.lato_201cfeba-module__UBXMVG__className{font-family:Lato,Lato Fallback}.lato_201cfeba-module__UBXMVG__variable{--font-lato:"Lato", "Lato Fallback"}
:root{--paper:#fbf7f0;--paper-2:#f3ede2;--paper-3:#ece4d6;--ink:#141210;--marker:#d8f651;--coral:#ff4e1f;--display:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text:var(--font-lato), "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", monospace;--bg:var(--paper);--bg-elevated:#fffef9;--bg-hover:var(--paper-3);--fg:var(--ink);--muted:#141210ad;--line:#14121021;--card:#fffef9;--accent:var(--ink);--accent-hover:#2c2926;--accent-soft:#d8f65159;--green:#4a5c18;--green-glow:#d8f65173;--green-soft:#d8f65147;--orange:var(--coral);--danger:#9b2c2c;--focus:var(--ink);--sidebar-collapsed:56px;--sidebar-expanded:220px;--sidebar-width:var(--sidebar-collapsed);--transition-sidebar:.28s cubic-bezier(.4, 0, .2, 1);--rule-stripe:#1412100b;--input-bg:#fffef9;--heatmap-cell-border:transparent}@media (prefers-color-scheme:dark){:root{--paper:#12110e;--paper-2:#1a1814;--paper-3:#24211b;--ink:#f4ead2;--marker:#e4c14a;--coral:#ff6b3d;--bg:var(--paper);--bg-elevated:#1c1a16;--bg-hover:var(--paper-3);--fg:var(--ink);--muted:#f4ead2a6;--line:#e4c14a52;--card:#1c1a16;--accent:#e4c14a;--accent-hover:#f0d36a;--accent-soft:#e4c14a29;--green:#c8b04a;--green-glow:#e4c14a59;--green-soft:#e4c14a2e;--orange:var(--coral);--danger:#f07171;--focus:var(--accent);--rule-stripe:#e4c14a14;--input-bg:#1c1a16;--heatmap-cell-border:#f4ead247}}*{box-sizing:border-box}html,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;min-height:100%;margin:0;padding:0;overflow-x:clip}@media (prefers-color-scheme:dark){html,body{--lightningcss-light: ;--lightningcss-dark:initial}}body{color:var(--fg);background:var(--bg);font-family:var(--text);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.55}::selection{background:var(--marker);color:var(--ink)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.shell{--sidebar-width:var(--sidebar-collapsed);min-height:100vh;display:flex}.shell.sidebar-expanded{--sidebar-width:var(--sidebar-expanded)}.sidebar{width:var(--sidebar-width);background:var(--paper-2);border-right:1px solid var(--line);z-index:100;transition:width var(--transition-sidebar);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-top{flex-shrink:0;align-items:center;gap:.5rem;min-height:52px;padding:.75rem .65rem;display:flex}.sidebar-toggle{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--fg)}.sidebar-brand-wrap{white-space:nowrap;opacity:0;width:0;transition:opacity var(--transition-sidebar), width var(--transition-sidebar);overflow:hidden}.sidebar-expanded .sidebar-brand-wrap{opacity:1;width:auto}.sidebar-brand{font-family:var(--display);letter-spacing:-.02em;color:var(--fg);font-size:1rem;font-weight:700}.sidebar-lang{border:1px solid var(--line);background:var(--card);opacity:0;max-height:0;transition:opacity var(--transition-sidebar), max-height var(--transition-sidebar);border-radius:8px;align-items:center;gap:.5rem;margin:0 .75rem;padding:0 .65rem;display:flex;overflow:hidden}.sidebar-expanded .sidebar-lang{opacity:1;max-height:48px;margin-bottom:.75rem;padding-top:.5rem;padding-bottom:.5rem}.sidebar-lang-flag{background:var(--accent);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.sidebar-lang-text{white-space:nowrap;font-size:.88rem}.sidebar-nav{flex-direction:column;flex:1;gap:.15rem;padding:0 .5rem;display:flex;overflow:hidden auto}.sidebar-link{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.55rem .65rem;font-size:.92rem;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.sidebar-link:hover{background:var(--bg-hover);color:var(--fg)}.sidebar-link.active{background:var(--accent-soft);color:var(--fg);box-shadow:inset 0 -.45em 0 -.05em var(--marker)}.sidebar-link.active .sidebar-icon{color:var(--accent-hover)}.sidebar-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:color .15s;display:flex}.sidebar-label{white-space:nowrap;opacity:0;width:0;transition:opacity var(--transition-sidebar), width var(--transition-sidebar);overflow:hidden}.sidebar-expanded .sidebar-label{opacity:1;flex:1;width:auto}.sidebar-footer{border-top:1px solid var(--line);flex-shrink:0;padding:.5rem}.sidebar-account{border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:8px;align-items:center;gap:.5rem;margin:0 .25rem .35rem;padding:.5rem .65rem;text-decoration:none;transition:background .15s;display:flex;overflow:hidden}.sidebar-account:hover{background:var(--bg-hover)}.sidebar-account-flag{background:var(--accent);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.sidebar-account-email{white-space:nowrap;text-overflow:ellipsis;opacity:0;width:0;transition:opacity var(--transition-sidebar), width var(--transition-sidebar);font-size:.82rem;overflow:hidden}.sidebar-expanded .sidebar-account-email{opacity:1;flex:1;width:auto;min-width:0}.sidebar-logout{position:relative}.main-area{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-sidebar);flex-direction:column;flex:1;display:flex}.content-header{flex-shrink:0;justify-content:flex-end;align-items:center;min-height:44px;padding:.65rem 1.25rem;display:flex}.content-header-tools{align-items:center;gap:.5rem;display:flex}.header-tool{border:1px solid var(--line);background:var(--card);min-width:32px;height:28px;color:var(--muted);cursor:default;border-radius:6px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.78rem;display:inline-flex}.header-tool-wide{min-width:36px}.page-content{flex:1;width:100%;max-width:1400px;padding:0 1.25rem 2.5rem}.page-content:has(.help-page){margin-inline:auto}.page-content--flush{max-width:none;padding:0}.nav-menu-btn{border:1px solid var(--line);background:var(--card);width:40px;height:40px;color:var(--fg);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:none}.sidebar-backdrop,.sidebar-toggle-mobile{display:none}@media (max-width:768px){.shell,.shell.sidebar-expanded{--sidebar-width:0px}.main-area{margin-left:0}.nav-menu-btn{display:inline-flex}.content-header{justify-content:space-between;gap:.75rem;padding-left:1rem;padding-right:1rem}.content-header-tools,.sidebar-toggle-desktop{display:none}.sidebar-toggle-mobile{display:flex}.sidebar{width:min(280px,86vw);box-shadow:none;transition:transform .2s;transform:translate(-105%)}.shell-nav-open .sidebar{transform:translate(0);box-shadow:8px 0 32px #0000002e}.shell-nav-open .sidebar-backdrop{z-index:90;cursor:pointer;background:#0f121873;border:none;margin:0;padding:0;display:block;position:fixed;inset:0}.sidebar-brand-wrap,.sidebar-label{opacity:1;width:auto}.sidebar-label{flex:1}.sidebar-lang{opacity:1;max-height:48px;margin:0 .75rem .75rem;padding:.5rem .65rem}.sidebar-account-email{opacity:1;flex:1;width:auto;min-width:0}.page-content{padding-left:1rem;padding-right:1rem}}.page-loading{justify-content:center;align-items:center;min-height:50vh;display:flex}h1{font-family:var(--display);letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.6rem;font-style:normal;font-weight:700}.lede,.muted{color:var(--muted);margin:0 0 1.25rem}.form{background:var(--card);border:1px solid var(--line);border-radius:10px;gap:.85rem;padding:1.25rem;display:grid}label{gap:.35rem;font-size:.92rem;display:grid}input,select,button,textarea{font:inherit}input,select,textarea{border:1px solid var(--line);background:var(--input-bg);width:100%;color:var(--fg);border-radius:8px;padding:.55rem .65rem}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.btn{border:1px solid var(--accent);background:var(--accent);color:var(--paper);cursor:pointer;font-family:var(--display);border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.92rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:.18rem .18rem 0 0 var(--marker);font-weight:700}.btn:not(.btn-ghost):hover:not(:disabled),a.btn:not(.btn-ghost):hover:not(:disabled){color:var(--paper)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost,.btn-ghost:not(:disabled){color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:var(--muted);box-shadow:none}.btn-danger,.btn-danger:not(:disabled){color:var(--danger);border-color:var(--danger);background:0 0}.btn-lg{border-radius:999px;padding:.85rem 2rem;font-size:1rem}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.error{color:var(--danger);margin:0}.stack{gap:1rem;display:grid}.card{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:1rem}.pp-layout{grid-template-columns:1fr min(340px,100%);align-items:start;gap:1.5rem;display:grid}@media (max-width:900px){.pp-layout{grid-template-columns:1fr}}.pp-main-card{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;align-items:center;min-height:420px;padding:2.5rem 2rem 1.5rem;display:flex}.pp-title-wrap{margin-bottom:2rem;position:relative}.pp-title{border:2px solid var(--green);box-shadow:0 0 20px var(--green-glow), inset 0 0 12px #1a7a660f;color:var(--fg);letter-spacing:.02em;border-radius:12px;margin:0;padding:.5rem 1.75rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700}.pp-info-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:-10px;right:-10px}.pp-stats-line{color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.95rem;display:flex}.pp-session-done{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 10%, transparent);text-align:left;border-radius:10px;margin:0 0 1rem;padding:.85rem 1rem}.pp-session-done-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.pp-session-done-title{color:var(--fg);margin:0;font-weight:650}.pp-session-done-stats{margin:.35rem 0 0;font-size:.9rem}.pp-session-done-dismiss{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem;line-height:1}.pp-urgent{color:var(--muted);align-items:center;gap:.4rem;margin-bottom:2rem;font-size:.95rem;display:flex}.pp-urgent-count{background:var(--accent);color:#fff;border-radius:6px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 .35rem;font-size:.85rem;font-weight:600;display:inline-flex}.pp-start-btn{margin-bottom:auto}.pp-settings-bar{border:1px solid var(--line);background:var(--bg-elevated);width:100%;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;margin-top:2rem;padding:.65rem 1rem;font-size:.88rem;transition:background .15s,color .15s;display:flex}.pp-settings-bar:hover{background:var(--bg-hover);color:var(--fg)}.pp-settings-panel{gap:.85rem;width:100%;margin-top:.75rem;display:grid}.pp-setting-row{justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;display:flex}.pp-setting-row>span{gap:.15rem;display:grid}.pp-setting-hint{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.pp-toggle{width:2.6rem;height:1.4rem;accent-color:var(--accent)}.pp-setting-slider{gap:.35rem;font-size:.88rem;display:grid}.pp-setting-slider>span{justify-content:space-between;align-items:baseline;display:flex}.pp-setting-slider input[type=range]{width:100%;accent-color:var(--accent)}.pp-setting-select{gap:.35rem;font-size:.88rem;display:grid}.pp-setting-select select{border:1px solid var(--line);background:var(--card);width:100%;color:var(--fg);border-radius:8px;padding:.45rem .6rem}.stats-panel{flex-direction:column;gap:1.25rem;display:flex}.stats-panel-title{color:var(--fg);margin:0;font-size:1rem;font-weight:600}.heatmap-wrap{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:1rem}.heatmap{grid-template-columns:repeat(auto-fill,minmax(14px,1fr));gap:3px;margin-bottom:.75rem;display:grid}.heatmap-cell{aspect-ratio:1;border:1px solid var(--heatmap-cell-border);background:var(--bg-hover);border-radius:2px;transition:background .15s,transform .1s}.heatmap-cell:hover{transform:scale(1.15)}.heatmap-cell.level-1{background:#d8f65147}.heatmap-cell.level-2{background:#d8f65180}.heatmap-cell.level-3{background:#d8f651bf}.heatmap-cell.level-4{background:var(--marker)}@media (prefers-color-scheme:dark){.heatmap-cell.level-1{background:#e4c14a38}.heatmap-cell.level-2{background:#e4c14a6b}.heatmap-cell.level-3{background:#e4c14a9e}.heatmap-cell.level-4{background:var(--marker)}}.heatmap-labels{color:var(--muted);justify-content:space-between;margin-bottom:.5rem;font-size:.72rem;display:flex}.period-toggle{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.period-toggle-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:1;padding:.4rem .5rem;font-size:.82rem;transition:background .15s,color .15s}.period-toggle-btn:hover{background:var(--bg-hover)}.period-toggle-btn.active{background:var(--bg-hover);color:var(--fg)}.flow-diagram{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:1.25rem 1rem}.flow-row{justify-content:center;gap:.75rem;display:flex}.flow-box{border:1px solid var(--line);background:var(--bg-elevated);text-align:center;max-width:140px;color:var(--muted);border-radius:8px;flex:1;padding:.65rem .5rem;font-size:.78rem;transition:border-color .15s}.flow-box strong{color:var(--fg);margin-top:.25rem;font-size:1.1rem;display:block}.flow-box-icon{margin-bottom:.15rem;font-size:1rem}.flow-arrows{justify-content:center;gap:2.5rem;padding:.35rem 0;display:flex;position:relative}.flow-arrow{color:var(--accent);flex-direction:column;align-items:center;font-size:.72rem;display:flex}.flow-arrow-line{background:var(--accent);width:2px;height:24px;position:relative}.flow-arrow-line:after{content:"";border:5px solid #0000;border-top-color:var(--accent);position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.flow-arrow-badge{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:20px;height:20px;margin-bottom:.25rem;padding:0 .3rem;font-size:.7rem;font-weight:600;display:inline-flex}.flow-loop{color:var(--accent);justify-content:center;align-items:center;gap:.5rem;margin-top:.35rem;font-size:1.1rem;display:flex}.vocab-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.vocab-tabs{align-items:center;gap:.25rem;display:flex}.vocab-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.92rem;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.vocab-tab:hover{background:var(--bg-hover);color:var(--fg)}.vocab-tab.active{background:var(--accent-soft);color:var(--fg);box-shadow:inset 0 -.45em 0 -.05em var(--marker)}.vocab-header-actions{align-items:center;gap:.5rem;display:flex}.vocab-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.vocab-search-wrap{flex:200px;position:relative}.vocab-search-wrap svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.vocab-search{border:1px solid var(--line);background:var(--card);width:100%;color:var(--fg);border-radius:999px;padding:.55rem .75rem .55rem 2.25rem}.vocab-source-select{border-radius:8px;width:auto;min-width:120px;padding:.5rem .75rem}.vocab-toolbar-icons{gap:.35rem;display:flex}.vocab-icon-btn{border:1px solid var(--line);background:var(--card);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.vocab-icon-btn:hover{background:var(--bg-hover);color:var(--fg)}.filter-pills{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.filter-pill{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.85rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.filter-pill:hover{border-color:var(--muted);color:var(--fg)}.filter-pill.active{border-color:var(--orange);color:var(--orange);background:#fb923c26}.filter-pill.known.active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.filter-pill.ignored.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.filter-pill-count{font-weight:600}.vocab-table-wrap{border:1px solid var(--line);background:var(--card);border-radius:10px;overflow:hidden}.vocab-table-header{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:32px 40px minmax(100px,1fr) minmax(90px,1.1fr) minmax(160px,2.2fr) minmax(90px,1fr) 88px minmax(120px,auto);gap:.5rem;padding:.65rem 1rem;font-size:.82rem;font-weight:500;display:grid}.date-group-label{text-align:center;color:var(--muted);background:var(--bg-elevated);border-bottom:1px solid var(--line);padding:.5rem;font-size:.82rem}.vocab-row{border-bottom:1px solid var(--line);grid-template-columns:32px 40px minmax(100px,1fr) minmax(90px,1.1fr) minmax(160px,2.2fr) minmax(90px,1fr) 88px minmax(120px,auto);align-items:start;gap:.5rem;padding:.75rem 1rem;transition:background .12s;display:grid}.vocab-row:last-child{border-bottom:none}.vocab-row:hover{background:var(--bg-hover)}.vocab-row-check{align-items:center;padding-top:.15rem;display:flex}.vocab-row-check input{width:auto;accent-color:var(--accent)}.play-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .15s,transform .1s;display:flex}.play-btn:hover{background:var(--accent-hover);transform:scale(1.05)}.play-btn svg{width:14px;height:14px;margin-left:2px}.vocab-word{color:var(--orange);font-size:1rem;font-weight:600}.vocab-translation{color:var(--muted);font-size:.9rem}.vocab-row>*,.vocab-context-cell{min-width:0}.vocab-source-cell{min-width:0;color:var(--muted);white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:.82rem;line-height:1.35}.vocab-status-cell{justify-content:flex-start;align-items:flex-start;min-width:0;display:flex}.vocab-context{color:var(--fg);white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:.88rem;line-height:1.4}.vocab-context-cell .vocab-source{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.vocab-row-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.35rem;min-width:0;display:flex}.vocab-source{color:var(--muted);font-size:.82rem}.vocab-status-badge{text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.vocab-status-badge.learning{color:var(--orange);background:#fb923c26}.vocab-status-badge.known{background:var(--green-soft);color:var(--green)}.vocab-status-badge.ignored{background:var(--accent-soft);color:var(--accent-hover)}.vocab-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:.5rem;padding:.75rem 0;font-size:.88rem;display:flex}@media (max-width:768px){.vocab-table-header{display:none}.vocab-row{grid-template-rows:auto auto;grid-template-columns:32px 40px 1fr}.vocab-row>:nth-child(4),.vocab-row>:nth-child(5),.vocab-row>:nth-child(6),.vocab-row>:nth-child(7),.vocab-row>:nth-child(8){grid-column:3}}.page{width:min(960px,100% - 2rem);margin:1.5rem auto 3rem}.auth-page{background:var(--card);border:1px solid var(--line);border-radius:12px;width:min(420px,100% - 2rem);margin:4rem auto;padding:1.5rem 1.35rem}.auth-split{--auth-warm:var(--coral);--auth-cool:var(--marker);--auth-ink:var(--ink);background:var(--paper);min-height:100vh;color:var(--auth-ink);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);display:grid}.auth-split--loading{place-items:center;min-height:100vh;display:grid}.auth-split-form{background:radial-gradient(ellipse 80% 60% at 18% 38%, #d8f6511a, transparent 72%), radial-gradient(ellipse 65% 50% at 82% 78%, #ff4e1f12, transparent 70%), var(--paper);justify-content:center;align-items:center;padding:clamp(1.5rem,4vw,3rem);display:flex;position:relative}.auth-split-form-card{border:1px solid var(--line);background:var(--card);border-radius:28px;width:min(100%,440px);padding:clamp(1.75rem,3.2vw,2.5rem);box-shadow:0 20px 44px #14121012,inset 0 1px #ffffffa6}.auth-split-form-inner{width:100%}.auth-split-mark{color:inherit;align-items:center;gap:.65rem;margin-bottom:1.75rem;text-decoration:none;display:inline-flex}.auth-split-mark:hover{color:inherit}.auth-split-mark-tile{color:#fbf7f0;width:2rem;height:2rem;font-family:var(--display);background:#141210;border-radius:.4rem;place-items:center;font-size:.95rem;font-weight:700;display:inline-grid}.auth-split-mark-name{font-family:var(--display);letter-spacing:-.02em;font-size:1.05rem;font-weight:650}.auth-split-title{font-family:var(--display);letter-spacing:-.03em;margin:0 0 1.5rem;font-size:clamp(1.55rem,2.4vw,1.9rem);font-weight:700;line-height:1.15}.auth-split-fields{gap:.9rem;display:grid}.auth-split-fields label{font-family:var(--display);gap:.35rem;font-size:.88rem;font-weight:560;display:grid}.auth-split-fields input{border:1px solid var(--line);background:var(--input-bg);width:100%;color:var(--auth-ink);font:inherit;border-radius:10px;padding:.7rem .8rem;font-weight:400}.auth-split-fields input:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.auth-split-submit{width:100%;font-family:var(--display);border-radius:10px;margin-top:.25rem;padding:.8rem 1rem;font-weight:650}.auth-split .google-auth{justify-items:stretch;width:100%;margin-top:1rem}.auth-split .google-btn-host{justify-content:stretch;width:100%;min-height:44px;display:flex}.auth-split .google-btn-host>div{width:100%!important}.auth-split-error{font-family:var(--display);margin:.85rem 0 0;font-size:.9rem}.auth-split-footer{gap:.55rem;margin-top:1.35rem;display:grid}.auth-split-links{color:var(--muted);font-family:var(--display);margin:0;font-size:.9rem}.auth-split-links a{color:var(--fg);text-underline-offset:.15em;font-weight:650;text-decoration:underline}.auth-split-visual{min-height:100vh;padding:clamp(1rem,2.5vw,1.75rem);position:relative}.auth-split-stage{isolation:isolate;background:#12100e;border-radius:28px;height:100%;min-height:calc(100vh - 2*clamp(1rem,2.5vw,1.75rem));position:relative;overflow:hidden}.auth-split-wash{pointer-events:none;mix-blend-mode:screen;filter:blur(8px);position:absolute;inset:-20%}.auth-split-wash--a{background:radial-gradient(55% 50% at 18% 35%,#ff4e1ff2,#0000 70%),radial-gradient(45% 40% at 30% 75%,#ff78288c,#0000 70%);animation:10s ease-in-out infinite alternate auth-wash-a}.auth-split-wash--b{background:radial-gradient(50% 55% at 82% 40%,#d8f6518c,#0000 68%),radial-gradient(40% 45% at 70% 78%,#d8f65147,#0000 70%);animation:12s ease-in-out infinite alternate auth-wash-b}.auth-split--register .auth-split-wash--a{animation-duration:11s}.auth-split--register .auth-split-wash--b{animation-duration:9s;animation-direction:alternate-reverse}.auth-split-orb{filter:blur(2px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.auth-split-orb--1{background:radial-gradient(circle,#ff4e1fd9,#0000 70%);width:min(42vw,280px);height:min(42vw,280px);animation:14s ease-in-out infinite alternate auth-orb-1;top:18%;left:8%}.auth-split-orb--2{background:radial-gradient(circle,#1a9b9bcc,#0000 70%);width:min(38vw,240px);height:min(38vw,240px);animation:16s ease-in-out infinite alternate auth-orb-2;bottom:22%;right:10%}.auth-split-caption{pointer-events:none;gap:.35rem;display:grid;position:absolute;left:8%;right:8%}.auth-split-caption--top{animation:7s ease-in-out infinite auth-float;top:18%}.auth-split-caption--mid{animation:8.5s ease-in-out infinite reverse auth-float;top:42%}.auth-split-cap-line{width:fit-content;max-width:100%;font-family:var(--display);letter-spacing:-.02em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:.55rem .85rem;font-size:clamp(.95rem,1.6vw,1.2rem);font-weight:650;line-height:1.25;display:block}.auth-split-cap-line--src{color:#fff;background:#ffffff24;border:1px solid #ffffff2e}.auth-split-cap-line--tgt{color:#f7f4ee;background:#14121073;border:1px solid #ffffff1a;margin-left:1.1rem}.auth-split-pill{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:min(320px,84%);font-family:var(--display);background:#ffffff24;border:1px solid #fff3;border-radius:999px;gap:.2rem;padding:.85rem 1rem;display:grid;position:absolute;bottom:8%;left:8%}.auth-split-pill strong{font-size:.92rem;font-weight:650}.auth-split-pill span{opacity:.82;font-size:.78rem}@keyframes auth-wash-a{0%{transform:translate(-4%,-2%)scale(1)}to{transform:translate(6%,5%)scale(1.08)}}@keyframes auth-wash-b{0%{transform:translate(5%,3%)scale(1.05)}to{transform:translate(-7%,-4%)scale(1)}}@keyframes auth-orb-1{0%{transform:translate(0,0)}to{transform:translate(18%,12%)}}@keyframes auth-orb-2{0%{transform:translate(0,0)}to{transform:translate(-16%,-10%)}}@keyframes auth-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.auth-split-wash--a,.auth-split-wash--b,.auth-split-orb--1,.auth-split-orb--2,.auth-split-caption--top,.auth-split-caption--mid{animation:none}}@media (prefers-color-scheme:dark){.auth-split-form{background:radial-gradient(ellipse 72% 58% at 14% 34%, #e4c14a17, transparent 68%), radial-gradient(ellipse 58% 48% at 88% 76%, #ff6b3d1a, transparent 72%), var(--paper)}.auth-split-form-card{background:var(--bg-elevated);border-color:#e4c14a38;box-shadow:0 28px 56px #00000061,inset 0 1px #ffffff0d}.auth-split-mark-tile{color:var(--ink);border:1px solid var(--line);background:#1c1a16}.auth-split-fields label{color:var(--fg)}.auth-split-fields input::placeholder{color:#f4ead266}.auth-split-submit.btn{background:var(--accent);border-color:var(--accent);color:#12110e}.auth-split-submit.btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#12110e;font-weight:700;box-shadow:.18rem .18rem #e4c14a59}.btn{color:#12110e}.btn:not(.btn-ghost):hover:not(:disabled),a.btn:not(.btn-ghost):hover:not(:disabled){color:#12110e;font-weight:700}}@media (max-width:960px){.auth-split{grid-template-columns:1fr}.auth-split-visual{display:none}.auth-split-form{align-items:center;min-height:100vh;padding-top:2rem;padding-bottom:2.5rem}}@media (max-width:480px){.auth-split-form-card{border-radius:20px;padding:1.5rem 1.25rem}}.auth-divider{color:var(--muted);align-items:center;gap:.75rem;width:100%;margin:.25rem 0 .15rem;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.google-auth{justify-items:stretch;gap:.65rem;width:100%;margin-top:.85rem;display:grid}.google-auth--disabled{pointer-events:none;opacity:.55}.google-btn-host{justify-content:stretch;width:100%;min-height:44px;display:flex}.google-btn-host>div{width:100%!important}.google-auth-hint{margin:0;font-size:.85rem}.table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem .75rem;font-size:.95rem}.table th{color:var(--muted);font-size:.85rem;font-weight:600}.code-block{letter-spacing:.12em;border:1px dashed var(--line);background:var(--card);text-align:center;overflow-wrap:anywhere;word-break:break-word;border-radius:10px;padding:1rem;font-family:ui-monospace,Consolas,monospace;font-size:clamp(1rem,4.5vw,1.8rem)}.check{align-items:center;gap:.5rem;display:flex}.check input{width:auto}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.stat-label{color:var(--muted);margin-bottom:.35rem;font-size:.85rem}.stat-value{font-size:1.35rem;font-weight:650}.stat-grid-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid-primary .stat-value{overflow-wrap:anywhere;min-width:0;font-size:1.6rem}.stat-grid-secondary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.stat-quiet{background:var(--paper-2);padding:.7rem .8rem}.stat-quiet .stat-label{margin-bottom:.2rem;font-size:.75rem}.stat-quiet .stat-value{font-size:1.05rem;font-weight:600}.recent-list{margin:0;padding:0;list-style:none}.recent-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.2rem .75rem;padding:.4rem 0;display:grid}.recent-item:last-child{border-bottom:none;padding-bottom:0}.recent-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.recent-meta{color:var(--muted);white-space:nowrap;font-size:.8rem}@media (max-width:1100px){.stat-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.stat-grid-primary,.stat-grid-secondary{grid-template-columns:1fr}.recent-item{grid-template-columns:minmax(0,1fr)}.recent-meta{white-space:normal;overflow-wrap:anywhere}}.trend{align-items:end;gap:.35rem;height:72px;display:flex}.trend-bar-wrap{flex:1;align-items:end;height:100%;display:flex}.trend-bar{background:var(--accent);border-radius:2px 2px 0 0;width:100%;min-height:4px}.trend-caption{margin:-.5rem 0 .25rem;font-size:.85rem}.empty-dashboard{gap:.75rem}.login-required{gap:.75rem;margin-bottom:1.25rem}.feature-locked{pointer-events:none;-webkit-user-select:none;user-select:none}.empty-steps{color:var(--muted);margin:0;padding-left:1.25rem}.empty-steps li+li{margin-top:.35rem}.links{color:var(--muted);margin-top:1rem;font-size:.95rem}.plans-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.plans-header h1{margin:0 0 .35rem}.plans-header .lede{margin:0}.plans-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem 0 1.5rem;display:grid}.plans-section-label{margin:0 0 .75rem;font-size:1.05rem;font-weight:650}.plans-banner{background:var(--accent-soft);color:var(--fg);border-radius:8px;margin-bottom:1rem;padding:.7rem 1rem;font-size:.92rem}.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.plan-card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:12px;padding:1.5rem 1.35rem 1.35rem}.plan-card h2{margin:0 0 .4rem;font-size:1.35rem}.plan-card-tagline{color:var(--muted);min-height:2.6em;margin:0 0 1rem;font-size:.92rem}.plan-card-price{color:var(--fg);margin:0;font-size:2.4rem;font-weight:700;line-height:1.1}.plan-card-period{color:var(--muted);margin:.25rem 0 1.1rem;font-size:.88rem}.plan-card-select{border-radius:999px;width:min(12rem,100%);margin:0 auto}.plan-card-features{text-align:left;gap:.55rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.plan-card-features li{color:var(--fg);padding-left:1.5rem;font-size:.92rem;position:relative}.plan-card-features li:before{content:"✓";color:var(--green);font-weight:700;position:absolute;left:0}@media (max-width:800px){.plans-header{flex-direction:column;align-items:stretch}.plans-summary,.plans-grid{grid-template-columns:1fr}}.billing-page{max-width:980px}.billing-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.billing-crumb{color:var(--muted);margin:0 0 .25rem;font-size:.85rem}.billing-header h1{margin:0}.billing-header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.billing-plan-pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.billing-change-plan{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.55rem 1rem;font-size:.78rem}.billing-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:2rem;display:grid}.billing-card{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-height:8.5rem;padding:1.1rem 1.15rem;display:flex}.billing-card-highlight{background:linear-gradient(180deg, #d8f6512e 0%, var(--card) 100%)}.billing-card-outline{border-style:dashed}.billing-card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.82rem;font-weight:600}.billing-card-value{color:var(--accent);margin:0;font-size:1.45rem;font-weight:700;line-height:1.2}.billing-card-value-sm{color:var(--fg);font-size:1.05rem}.billing-card-meta{color:var(--muted);margin:.45rem 0 0;font-size:.88rem}.billing-card-link{color:var(--accent);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin-top:auto;padding-top:.85rem;font-size:.88rem;font-weight:600;text-decoration:none}.billing-card-link:hover:not(:disabled){color:var(--accent-hover)}.billing-card-link:disabled{opacity:.45;cursor:not-allowed}.billing-history-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.billing-history-header h2{margin:0;font-size:1.15rem}.billing-portal-btn{text-transform:uppercase;letter-spacing:.04em;font-size:.82rem}.billing-table-wrap{border:1px solid var(--line);background:var(--card);border-radius:12px;overflow-x:auto}.billing-table{width:100%;margin:0}.billing-table th,.billing-table td{white-space:nowrap}.billing-status{text-transform:capitalize;font-size:.85rem;font-weight:600}.billing-status-paid{color:var(--green)}.billing-status-pending{color:var(--orange)}.billing-status-other{color:var(--muted)}.billing-invoice-link{text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;font-weight:650}.billing-empty{border:1px dashed var(--line);background:var(--card);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.15rem;display:flex}.billing-empty p{color:var(--muted);margin:0}.billing-footnote{margin:1.25rem 0 0;font-size:.88rem}@media (max-width:960px){.billing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.billing-header,.billing-history-header,.billing-empty{flex-direction:column;align-items:flex-start}.billing-summary-grid{grid-template-columns:1fr}}.settings-page{max-width:1080px}.settings-header{margin-bottom:1.25rem}.settings-crumb{color:var(--muted);margin:0 0 .25rem;font-size:.85rem}.settings-header h1{margin:0}.settings-account{border:1px solid var(--line);background:linear-gradient(180deg, var(--accent-soft) 0%, var(--card) 100%);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.15rem;display:flex}.settings-account-main{gap:.85rem;min-width:0;display:flex}.settings-account-icon{background:var(--accent-soft);width:2.5rem;height:2.5rem;color:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.settings-account-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.settings-account-email{font-weight:650}.settings-account-meta{color:var(--muted);margin:.35rem 0 0;font-size:.9rem}.settings-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.settings-badge-free{color:#5c6570;background:#eceff3}.settings-badge-active{background:var(--green-soft);color:var(--green)}.settings-badge-comped{color:#4b63a8;background:#8aa8ff2e}.settings-account-actions{flex-shrink:0;align-items:center;gap:1rem;display:flex}.settings-account-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600;text-decoration:none}.settings-account-link:hover{color:var(--accent-hover)}.settings-layout{gap:1.25rem;display:grid}.settings-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.settings-column{gap:1.25rem;display:grid}.settings-panel{border:1px solid var(--line);background:var(--card);border-radius:14px;overflow:hidden}.settings-panel-title{color:#141210;border-bottom:1px solid var(--line);background:var(--marker);margin:0;padding:.85rem 1rem;font-size:1rem;font-weight:700}.settings-panel-body{gap:.95rem;padding:1rem;display:grid}.settings-field{gap:.4rem;display:grid}.settings-field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700;display:block}.settings-field-hint{letter-spacing:0;text-transform:none;color:var(--muted);margin-top:.15rem;font-size:.78rem;font-weight:500;display:block}.settings-field select,.settings-field input[type=password]{width:100%}.settings-row{justify-content:space-between;align-items:center;gap:.85rem;display:flex}.settings-row-copy{align-items:flex-start;gap:.65rem;min-width:0;display:flex}.settings-row-label{font-size:.92rem;font-weight:600;display:block}.settings-row-hint{color:var(--muted);margin-top:.15rem;font-size:.82rem;font-weight:400;display:block}.settings-swatch{border-radius:3px;flex-shrink:0;width:.85rem;height:.85rem;margin-top:.2rem}.settings-switch{flex-shrink:0;display:inline-flex;position:relative}.settings-switch input{opacity:0;width:0;height:0;position:absolute}.settings-switch-track{background:#d5d0c8;border-radius:999px;width:42px;height:24px;transition:background .18s;display:block}.settings-switch-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000002e}.settings-switch input:checked+.settings-switch-track{background:var(--accent)}.settings-switch input:checked+.settings-switch-track:after{transform:translate(18px)}.settings-switch input:focus-visible+.settings-switch-track{outline:2px solid var(--focus);outline-offset:2px}.settings-slider{gap:.45rem;display:grid}.settings-slider-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.settings-slider-value{border:1px solid var(--line);text-align:center;background:#fff;border-radius:6px;min-width:3.2rem;padding:.15rem .45rem;font-size:.82rem}.settings-slider input[type=range]{width:100%;accent-color:var(--accent)}.settings-preview{border:1px solid var(--line);background:color-mix(in srgb, var(--marker) 32%, var(--card));border-radius:10px;margin-top:.35rem;padding:.85rem .9rem}.settings-preview-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fg);margin:0 0 .55rem;font-size:.72rem;font-weight:700}.settings-preview-line{color:var(--fg);margin:0;font-size:.95rem;line-height:1.55}.settings-preview-line+.settings-preview-line{margin-top:.65rem}.settings-preview-translation{color:var(--muted);font-size:.88rem}.settings-preview-blurred{filter:blur(5px);-webkit-user-select:none;user-select:none}.settings-preview-word{border-radius:3px}.settings-preview-known{background:#7ec8a859;box-shadow:inset 0 -2px #1a7a6673}.settings-preview-known-hidden{opacity:.28}.settings-preview-focus{background:#ffd66659;box-shadow:inset 0 -2px #c45d1a73}.settings-savebar{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.85rem;padding:.95rem 1rem;display:flex}.settings-savebar-meta{margin-left:auto;font-size:.85rem}.settings-saved-note{color:var(--green);margin:0;font-size:.9rem;font-weight:600}.settings-password-btn{justify-self:start}@media (max-width:900px){.settings-columns{grid-template-columns:1fr}.settings-account{flex-direction:column}.settings-savebar-meta{width:100%;margin-left:0}}.landing{width:min(880px,100% - 2rem);margin:0 auto 3rem;padding-top:2rem}.hero{margin-bottom:2rem}.hero h1{max-width:18ch;font-size:clamp(1.75rem,4vw,2.35rem);line-height:1.15}.hero-lede{color:var(--muted);max-width:52ch;margin:0 0 1.5rem;font-size:1.05rem}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.steps-card code{background:var(--bg-elevated);border-radius:3px;padding:.1em .35em;font-family:ui-monospace,Consolas,monospace;font-size:.88em}.toolbar{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.toolbar-field{flex:140px;min-width:120px}.status-select{min-width:7rem;padding:.35rem .5rem;font-size:.9rem}.review-card{min-height:16rem}.review-prompt{margin:.5rem 0 1rem;font-size:1.6rem;font-weight:650}.review-actions{flex-wrap:wrap;gap:.5rem;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.85rem 1.25rem;display:flex}.brand{letter-spacing:.01em;font-size:1.1rem}.nav{flex-wrap:wrap;flex:1;gap:.75rem;display:flex}.nav-link{color:var(--muted);font-size:.95rem;text-decoration:none}.nav-link.active,.nav-link:hover{color:var(--fg);text-underline-offset:.2em;text-decoration:underline}.ppx{flex-direction:column;align-items:center;max-width:760px;min-height:calc(100vh - 5rem);margin:0 auto;padding-bottom:1.5rem;display:flex}.ppx-progress{align-items:center;gap:.75rem;width:100%;margin:0 0 1.75rem;display:flex}.ppx-progress-segments{flex:1;align-items:center;gap:3px;min-width:0;height:10px;display:flex}.ppx-seg{background:color-mix(in srgb, var(--green) 55%, var(--paper-3));opacity:.55;border-radius:2px;flex:1 1 0;min-width:2px;height:100%;transition:opacity .15s,transform .15s,background .15s}.ppx-seg.is-intro{background:#e4b84a}.ppx-seg.is-listen{background:#3d9a6a}.ppx-seg.is-done{opacity:.95}.ppx-seg.is-current{opacity:1;box-shadow:0 0 0 1px color-mix(in srgb, var(--fg) 35%, transparent);transform:scaleY(1.35)}.ppx-progress-label{color:var(--muted);text-align:right;min-width:3.25rem;font-size:.82rem}.ppx-gear-wrap{flex:none;position:relative}.ppx-gear{border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;border-radius:8px;width:2rem;height:2rem}.ppx-quick-settings{width:100%;max-width:28rem;margin:.75rem auto 1rem}.ppx-popover-backdrop{z-index:40;cursor:default;background:0 0;border:none;position:fixed;inset:0}.ppx-popover{z-index:50;border:1px solid var(--line);background:var(--card);border-radius:12px;gap:.85rem;max-height:min(70vh,520px);padding:1rem;display:grid;overflow:auto;box-shadow:0 12px 40px #0000002e}.ppx-settings-popover{width:min(18rem,100vw - 3rem);position:absolute;top:0;right:calc(100% + .5rem)}.ppx-popover-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ppx-settings-link{text-align:center;justify-self:stretch}.ppx.has-dict{padding-right:min(22rem,42vw)}.ppx-dict-drawer{z-index:45;border-left:1px solid var(--line);background:var(--card);flex-direction:column;gap:.75rem;width:min(22rem,42vw);padding:1rem 1rem 1.1rem;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 28px #0000001f}.ppx-dict-search-row{flex:none;align-items:center;gap:.4rem;display:flex}.ppx-dict-search{border:1px solid var(--line);background:var(--bg-elevated,#0000000a);border-radius:8px;flex:1;align-items:center;gap:.35rem;min-width:0;padding:.35rem .5rem;display:flex}.ppx-dict-search-icon{color:var(--muted);letter-spacing:-.04em;flex:none;font-size:.68rem;font-weight:700}.ppx-dict-search input{min-width:0;color:var(--fg);background:0 0;border:none;outline:none;flex:1;font-size:.92rem}.ppx-dict-search-clear{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;font-size:1.1rem;line-height:1}.ppx-dict-history-wrap{flex:none;position:relative}.ppx-dict-history-btn{border:1px solid var(--line);background:var(--bg-elevated,var(--card));width:2rem;height:2rem;color:var(--muted);cursor:pointer;border-radius:8px}.ppx-dict-history-menu{z-index:55;border:1px solid var(--line);background:var(--card);border-radius:10px;min-width:10rem;max-width:16rem;max-height:16rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;overflow:auto;box-shadow:0 10px 28px #00000029}.ppx-dict-history-item,.ppx-dict-history-clear{width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:none;padding:.55rem .75rem;font-size:.9rem;display:block}.ppx-dict-history-item:hover,.ppx-dict-history-clear:hover{background:var(--bg-hover,#0000000d)}.ppx-dict-history-clear{border-top:1px solid var(--line);color:var(--muted)}.ppx-dict-history-empty{color:var(--muted);margin:0;padding:.75rem;font-size:.85rem}.ppx-dict-related{color:var(--muted);margin:.2rem 0 0;font-size:.88rem}.ppx-dict-speak{border:1px solid var(--line);width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;flex:none}.ppx-dict-scroll{flex:1;min-height:0;padding-right:.15rem;overflow-y:auto}.ppx-dict-body{height:fit-content}.ppx-dict-body>*{margin:0 0 15px}.ppx-dict-body>:last-child{margin-bottom:0}.ppx-dict-foot{border-top:1px solid var(--line);flex:none;padding-top:.35rem}@media (max-width:720px){.ppx.has-dict{padding-right:0}.ppx-dict-drawer{width:min(100vw,22rem)}}.ppx-prompt{color:var(--muted);text-align:center;margin:0 0 .35rem;font-size:.95rem}.ppx-focus{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.75rem;margin-bottom:1.25rem;display:flex}.ppx-focus-word{color:var(--coral);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700}.ppx-focus-meta{color:var(--muted);font-size:.85rem}.ppx-card{border:1px solid var(--line);background:var(--card);border-radius:16px;width:100%;min-height:220px;padding:1.1rem 1.25rem 2.25rem;position:relative;box-shadow:0 10px 28px #1412100f}.ppx-card-top{grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:1.5rem;display:grid}.ppx-dots{justify-content:center;gap:.45rem;display:flex}.ppx-dot{background:var(--paper-3);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0}.ppx-dot.is-active{background:var(--fg)}.ppx-card-top-spacer{width:44px}.ppx-phrase{text-align:center;margin:0 0 .85rem;font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:650;line-height:1.45}.ppx-phrase,.ppx-translation{filter:blur();transition:filter .42s cubic-bezier(.22,1,.36,1),opacity .32s}.ppx-phrase.is-blurred,.ppx-translation.is-blurred{filter:blur(11px);-webkit-user-select:none;user-select:none;pointer-events:none}.ppx-eye{justify-content:center;align-items:center;font-size:1.15rem;line-height:1;display:inline-flex}.ppx-token{font:inherit;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 .05em;transition:box-shadow .1s,color .1s,background .1s;display:inline;box-shadow:inset 0 -.12em #0000}.ppx-token:hover,.ppx-token.is-selected{box-shadow:inset 0 -.14em 0 var(--marker)}.ppx-token-new{color:var(--coral);background:color-mix(in srgb, var(--coral) 16%, transparent)}.ppx-token-known{color:var(--green,#3d9a6a)}.ppx-token-plain{color:var(--fg)}.ppx-quick-title{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.95rem}.ppx-lang-select{border:1px solid var(--accent);background:var(--card);width:100%;color:var(--fg);border-radius:8px;padding:.55rem .7rem}.ppx-body{align-items:start;gap:1rem;display:grid}.ppx-dict-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.ppx-dict-word{margin:0;font-size:1.35rem;font-weight:700}.ppx-dict-phonetic{color:var(--muted);margin:.15rem 0 0;font-size:.85rem}.ppx-dict-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.ppx-dict-status{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.ppx-dict-status button{border:1px solid var(--line);background:var(--bg-elevated,var(--card));color:var(--fg);cursor:pointer;border-radius:8px;padding:.4rem .35rem;font-size:.78rem}.ppx-dict-status button:hover{border-color:var(--accent)}.ppx-dict-tabs{border-bottom:1px solid var(--line);gap:.35rem;display:flex}.ppx-dict-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.45rem}.ppx-dict-tabs button.is-active{color:var(--fg);border-bottom-color:var(--accent)}.ppx-dict-sources{flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;margin:0 0 15px;display:flex}.ppx-dict-source{color:var(--muted);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:.82rem;font-weight:650;line-height:1.2;text-decoration:none}.ppx-dict-source:hover{color:var(--fg)}.ppx-dict-source.is-active{color:var(--accent);text-underline-offset:.18em;text-decoration:underline}.ppx-dict-source.is-gpt.is-active{color:#3ecf8e}.ppx-dict-source:disabled{opacity:.4;cursor:not-allowed}.ppx-dict-explain{margin:0 0 15px;font-size:.92rem;line-height:1.45}.ppx-dict-gloss{margin:0;font-size:1.05rem;font-weight:650}.ppx-dict-example{background:var(--bg-elevated,#0000000a);border-radius:8px;margin:0;padding:.45rem .55rem;font-size:.9rem}.ppx-example-block{height:fit-content;margin:0}.ppx-example-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem;font-size:.72rem;font-weight:700}.ppx-example-list{margin:0;padding:0;list-style:none}.ppx-example-row{border-bottom:1px solid var(--line);padding:.45rem 0;position:relative}.ppx-example-row:last-child{border-bottom:none}.ppx-example-main{grid-template-columns:auto 1fr auto;align-items:baseline;column-gap:.35rem;display:grid}.ppx-example-play,.ppx-example-star{color:var(--accent);cursor:pointer;opacity:0;pointer-events:auto;background:0 0;border:none;margin:0;padding:.15rem;font-size:.92rem;line-height:1.45;transition:opacity .1s}.ppx-example-row.is-hover .ppx-example-play,.ppx-example-row.is-hover .ppx-example-star,.ppx-example-row:hover .ppx-example-play,.ppx-example-row:hover .ppx-example-star,.ppx-example-star.is-active{opacity:1}.ppx-example-play{background:color-mix(in srgb, var(--accent) 18%, transparent);width:1.15em;height:1.15em;color:var(--accent);text-align:center;border-radius:999px;font-size:.65rem;line-height:1.15em}.ppx-example-star{color:var(--muted);text-align:center;min-width:1.4em;font-size:.92rem;line-height:1.45}.ppx-example-star.is-active{color:var(--accent)}.ppx-example-tip{z-index:2;border:1px solid var(--line);background:var(--card);width:fit-content;max-width:min(100%,28rem);color:var(--fg);pointer-events:none;border-radius:8px;margin:0;padding:.4rem .55rem;font-size:.82rem;line-height:1.35;position:absolute;bottom:calc(100% - .1rem);left:0;box-shadow:0 8px 24px #00000024}.ppx-example-text{margin:0;font-size:.92rem;line-height:1.45}.ppx-example-text mark{background:color-mix(in srgb, var(--coral) 22%, transparent);color:inherit;border-radius:3px;padding:.02em .12em}.ppx-translation{text-align:center;color:var(--muted);margin:0;font-size:1rem}.ppx-translation.is-missing{opacity:.85;font-style:italic}.ppx-translation.is-hidden{opacity:.7;font-style:italic}.ppx-info{background:var(--marker);width:26px;height:26px;color:var(--fg);cursor:pointer;border:none;border-radius:50%;font-size:.8rem;font-weight:700;position:absolute;bottom:.85rem;right:1rem}.ppx-info-panel{text-align:center;color:var(--muted);margin:.85rem 0 0;font-size:.85rem}.ppx-verdicts{grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;margin-top:1.35rem;display:grid}.ppx-verdict{border:2px solid var(--line);background:var(--card);min-height:52px;color:var(--fg);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .5rem;font-size:.82rem;font-weight:700;display:flex}.ppx-verdict kbd,.ppx-round kbd{color:var(--muted);background:0 0;border:none;padding:0;font-family:inherit;font-size:.7rem;font-weight:600}.ppx-verdict-icon{font-size:1rem}.ppx-verdict.is-active{border-color:var(--marker);background:var(--accent-soft);box-shadow:0 0 0 1px var(--marker)}.ppx-nav{justify-content:center;gap:1.1rem;margin-top:1.25rem;display:flex}.ppx-round{border:1px solid var(--line);background:var(--card);width:52px;height:52px;color:var(--fg);cursor:pointer;border-radius:50%;font-size:1.15rem;position:relative}.ppx-round kbd{position:absolute;bottom:-1.15rem;left:50%;transform:translate(-50%)}.ppx-round-accent{background:var(--marker);color:var(--fg);border-color:#c6e24a}.ppx-round.is-on{border-color:var(--fg)}.ppx-round:disabled{opacity:.4;cursor:not-allowed}.ppx-session{text-align:center;margin-top:1.75rem;font-size:.85rem}.ppx-summary{text-align:center;width:min(100%,28rem);margin:2.5rem auto 0;padding:1.75rem 1.5rem}.ppx-summary-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-size:.72rem;font-weight:700}.ppx-summary-title{margin:0 0 .45rem;font-size:1.85rem}.ppx-summary-lead{margin:0 0 1.35rem}.ppx-summary-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.ppx-summary-stats li{border:1px solid var(--line);background:var(--bg-elevated,transparent);border-radius:10px;padding:.85rem .5rem}.ppx-summary-stat-value{color:var(--fg);font-size:1.55rem;font-weight:700;line-height:1.1;display:block}.ppx-summary-stat-label{color:var(--muted);margin-top:.25rem;font-size:.78rem;display:block}.ppx-summary-actions{justify-items:center;gap:.65rem;display:grid}.ppx-empty{width:100%;margin-top:1rem}.help-page{max-width:42rem;margin:0 auto}.help-intro{margin-bottom:2.5rem}.help-kicker,.help-complete-kicker{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-size:.75rem}.help-complete{border:1px solid var(--line);background:var(--card);border-radius:12px;margin-bottom:2rem;padding:1.25rem 1.35rem}.help-complete h1{margin-top:0}.help-block{margin:0 0 2.5rem}.help-block h2{font-family:var(--display);margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.help-block p{margin:0 0 .85rem}.help-shortcuts{flex-direction:column;gap:.55rem;margin:.75rem 0 1.5rem;padding:0;list-style:none;display:flex}.help-shortcuts li{align-items:center;gap:.7rem;display:flex}.help-page kbd{border:1px solid var(--line);background:var(--card);min-width:1.65rem;height:1.65rem;box-shadow:0 1px 0 var(--line);font-family:var(--mono);color:var(--fg);border-radius:.35rem;justify-content:center;align-items:center;padding:0 .4rem;font-size:.78rem;font-weight:600;display:inline-flex}.help-kbd-wide{min-width:3.6rem}.help-kbd-row{gap:.28rem;display:inline-flex}.help-shot-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:720px){.help-shot-grid{grid-template-columns:1fr 1fr}}.help-shot{margin:1rem 0 0}.help-shot img,.help-shot-placeholder{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;display:block}.help-shot img{height:auto}.help-shot-placeholder{text-align:center;min-height:11rem;color:var(--muted);justify-content:center;align-items:center;padding:1.25rem;font-size:.92rem;display:flex}.help-shot figcaption{color:var(--muted);margin-top:.45rem;font-size:.88rem}@media (max-width:640px){.ppx-verdicts{grid-template-columns:1fr}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.route-skeleton{min-height:24rem;position:relative}.sk{background:var(--paper-3);border-radius:10px;animation:1.2s ease-in-out infinite sk-pulse}.sk-title{width:11rem;height:1.7rem;margin-bottom:.7rem}.sk-title-wide{width:min(16rem,70%);height:2.4rem;margin:0 auto 2rem}.sk-lede{width:min(28rem,80%);height:.9rem;margin-bottom:1.5rem}.sk-lede-short{width:min(18rem,60%)}.sk-lede-center{margin-inline:auto}.sk-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;display:grid}.sk-card{height:7.25rem}.sk-stat{border-radius:12px;height:5.4rem}.sk-bar{height:.85rem}.sk-bar-xs{width:4.5rem}.sk-bar-sm{width:8rem}.sk-bar-md{width:min(14rem,70%)}.sk-pills{flex-wrap:wrap;gap:.5rem;display:flex}.sk-pill{border-radius:999px;width:7.5rem;height:2rem}.sk-trend{align-items:end;gap:.35rem;height:72px;display:flex}.sk-trend-bar{border-radius:4px;flex:1;height:40%}.sk-trend-bar:nth-child(2n){height:65%}.sk-trend-bar:nth-child(3n){height:90%}.sk-table{gap:.55rem;display:grid}.sk-row{width:100%;height:2.4rem}.sk-header-row{opacity:.7;height:1.6rem}.sk-heatmap{min-height:5.5rem}.sk-heat{border-radius:2px;min-height:14px}.sk-btn{border-radius:999px;width:8.5rem;height:2.4rem}.sk-btn-lg{width:min(16rem,80%);height:3rem;margin:1.25rem auto 1.5rem}.sk-settings-bar{width:100%;margin-top:.75rem}.sk-settings{gap:.65rem;width:100%;margin-top:.75rem;display:grid}.sk-search{border-radius:999px;flex:1;min-width:10rem;height:2.4rem}.sk-date-group{border-radius:0;width:100%;height:1.6rem}.sk-vocab-row{border-radius:0;width:100%;height:4.1rem}.sk-account{grid-template-columns:auto 1fr;align-items:center;gap:1rem;margin:1rem 0 1.25rem;display:grid}.sk-circle{border-radius:50%;flex:none;width:1.75rem;height:1.75rem}.sk-circle-lg{width:2.5rem;height:2.5rem}.sk-field{width:100%;height:2.75rem}.sk-code{width:min(14rem,70%);height:3.2rem}.sk-billing-card{height:8.5rem}.sk-phrase{width:min(28rem,80%);height:2.4rem;margin:1.5rem auto 1rem}.sk-seg{border-radius:2px;flex:1;min-width:2px;height:10px}.sk-verdicts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;width:100%;margin-top:1.25rem;display:grid}.sk-verdict{height:3.2rem}@keyframes sk-pulse{0%,to{opacity:.5}50%{opacity:1}}@media (max-width:640px){.sk-verdicts{grid-template-columns:1fr}}
