:root{--bg:#fbf6ee;--surface:#fff;--surface-2:#f4ece0;--ink:#1d2a24;--muted:#66736c;--line:#e6dccd;--leaf:#1f4d3a;--leaf-2:#2f6b52;--petal:#f2b880;--coral:#e2725b;--sun:#f4c95d;--sky:#5b8fd9;--danger:#c0392b;--ok:#2f8a57;--shadow:0 1px 2px #1f4d3a0f, 0 8px 24px #1f4d3a14;--radius:18px;--serif:"Fraunces", Georgia, serif;--sans:"DM Sans", system-ui, -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111a16;--surface:#18241f;--surface-2:#1f2e27;--ink:#eef2ec;--muted:#98a69e;--line:#2b3b33;--leaf:#3f8a68;--leaf-2:#57a582;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 .4em;font-weight:700;line-height:1.15}h1{font-size:clamp(1.7rem,4vw,2.4rem)}h2{font-size:1.35rem}h3{font-size:1.15rem}p{margin:0 0 .6em}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;outline:none;width:100%;padding:.65rem .8rem;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--leaf-2)}label{color:var(--muted);gap:.3rem;font-size:.88rem;font-weight:500;display:grid}kbd{font-family:var(--sans);opacity:.55;border:1px solid;border-radius:5px;margin-left:.4rem;padding:0 .3rem;font-size:.7rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.ok{color:var(--ok);font-weight:700}.center{text-align:center}.row{align-items:center;gap:.6rem;display:flex}.row.wrap{flex-wrap:wrap}.loading{text-align:center;color:var(--muted);padding:4rem 0}.splash{place-items:center;min-height:100vh;animation:1.4s ease-in-out infinite pulse;display:grid}@keyframes pulse{50%{opacity:.7;transform:scale(1.08)}}.btn{border:1.5px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:.6rem 1.1rem;font-weight:700;transition:transform .1s,background .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--leaf-2)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--leaf);border-color:var(--leaf);color:#fbf6ee}.btn.primary:hover:not(:disabled){background:var(--leaf-2)}.btn.ghost{background:0 0}.btn.toggled{background:color-mix(in srgb, var(--leaf) 12%, transparent);border-color:var(--leaf-2);color:var(--leaf-2)}.btn.danger,.link.danger{color:var(--danger)}.btn.lg{padding:.85rem 1.6rem;font-size:1.05rem}.btn.small{padding:.4rem .85rem;font-size:.85rem}.btn.wide{width:100%}.link{color:var(--leaf-2);background:0 0;border:none;padding:0;font-size:.9rem;font-weight:500}.icon-btn{background:0 0;border:none;border-radius:8px;padding:.2rem .35rem;font-size:1.05rem;line-height:1}.icon-btn:hover{background:var(--surface-2)}.icon-btn.small{font-size:.85rem}.chips{flex-wrap:wrap;gap:.5rem;margin:.6rem 0 1rem;display:flex}.chips.scroll{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.chip{border:1.5px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;padding:.35rem .85rem;font-size:.88rem;font-weight:500}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.options .chip{white-space:normal;text-align:left}.shell{min-height:100vh}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem max(16px,50vw - 520px);display:flex;position:sticky;top:0}.brand{font-family:var(--serif);background:0 0;border:none;align-items:center;gap:.55rem;padding:0;font-size:1.2rem;font-weight:700;display:flex}.topbar nav{gap:.2rem;display:flex}.tab{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:.45rem .8rem;font-weight:500}.tab.on{background:var(--surface-2);color:var(--ink)}.tab.subtle{font-size:.88rem}.page{gap:2rem;max-width:1040px;margin:0 auto;padding:1.5rem 16px 4rem;display:grid}.auth{grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;max-width:1040px;min-height:100vh;margin:0 auto;padding:2rem 16px;display:grid}.brand-row{align-items:center;gap:.7rem;margin-bottom:2rem;display:flex}.wordmark{font-family:var(--serif);font-size:1.6rem;font-weight:700}.auth-hero h1{color:var(--leaf);font-size:clamp(2.4rem,6vw,3.8rem)}@media (prefers-color-scheme:dark){.auth-hero h1{color:var(--leaf-2)}}.auth-hero p{color:var(--muted);max-width:30rem;font-size:1.1rem}.chips.float .chip{font-family:var(--serif);font-size:1rem;animation:4s ease-in-out infinite rise}.chips.float .chip:nth-child(2n){animation-delay:-1.3s}.chips.float .chip:nth-child(3n){animation-delay:-2.6s}@keyframes rise{50%{transform:translateY(-4px)}}.auth-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;gap:1rem;padding:2rem;display:grid}.auth-card .link{justify-self:center}@media (width<=760px){.auth{grid-template-columns:1fr;align-content:start;gap:1.5rem;padding-top:2.5rem}.brand-row{margin-bottom:1rem}}.hero-card{background:var(--leaf);color:#fbf6ee;border-radius:28px;grid-template-columns:1.3fr 1fr;gap:1.5rem;padding:clamp(1.4rem,4vw,2.2rem);display:grid;position:relative;overflow:hidden}.hero-card:after{content:"";background:radial-gradient(circle, var(--petal) 0%, transparent 70%);opacity:.35;pointer-events:none;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.hero-card .muted{color:#fbf6eebf}.hero-card .btn.primary{background:var(--petal);border-color:var(--petal);color:#2a1a0c;margin-top:.6rem}.hero-card .btn.primary:hover{background:#f6c99b}.eyebrow{text-transform:uppercase;letter-spacing:.12em;opacity:.75;font-size:.75rem;font-weight:700}.big{color:var(--petal);font-size:1.5em}.hero-stats{z-index:1;grid-template-columns:1fr 1fr;align-content:start;gap:.6rem;display:grid;position:relative}.stat{background:#ffffff14;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem;padding:.7rem .85rem;display:grid}.stat-icon{grid-row:span 2;font-size:1.3rem}.stat strong{font-family:var(--serif);font-size:1.4rem;line-height:1.1}.stat span:last-child{opacity:.75;font-size:.78rem}.spark{grid-column:span 2;align-items:flex-end;gap:4px;height:46px;padding:6px 2px 0;display:flex}.spark span{background:#ffffff26;border-radius:4px;flex:1}.spark span.on{background:var(--petal)}.limit{color:#fbf6eecc;grid-column:span 2;grid-template-columns:1fr auto;align-items:center}.limit select{color:#fbf6ee;background:#ffffff1a;border-color:#fff3;width:auto;padding:.3rem .6rem}.limit option{color:#1d2a24}@media (width<=760px){.hero-card{grid-template-columns:1fr}}.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.3rem;display:flex}.section-head h2{align-items:center;gap:.3rem;margin:0;display:flex}.search{max-width:240px;padding:.45rem .8rem}.lang-en{--accent:var(--sky)}.lang-fr{--accent:#7a6ad8}.lang-es{--accent:var(--coral)}.lang-yo{--accent:#2f8a57}.lang-ig{--accent:#d1952a}.lang-ha{--accent:#b5546f}.lang-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--accent,var(--leaf-2));font-size:.75rem;font-weight:700;display:inline-block}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.deck{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:transform .15s;display:flex;overflow:hidden}.deck:hover{transform:translateY(-2px)}.deck-body{text-align:left;background:0 0;border:none;flex-direction:column;flex:1;padding:1rem 1.1rem .6rem;display:flex}.deck-body h3{margin-top:.3rem}.deck-top{justify-content:space-between;align-items:center;display:flex}.level{color:var(--muted);background:var(--surface-2);border-radius:999px;padding:.1rem .55rem;font-size:.75rem}.deck-body .small:last-child{margin:0}.due{color:var(--coral)}.progress{background:var(--surface-2);border-radius:999px;height:7px;margin:auto 0 .5rem;position:relative;overflow:hidden}.deck-body p.muted.small:not(:last-child){margin-bottom:.9rem}.progress span{border-radius:999px;position:absolute;top:0;bottom:0;left:0}.progress .seen{background:color-mix(in srgb, var(--accent) 40%, transparent)}.progress .mastered{background:var(--accent)}.deck-actions{gap:.5rem;padding:.6rem 1.1rem 1rem;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem}.form-grid{grid-template-columns:1fr 1fr;align-items:end;gap:.9rem;display:grid}.form-grid .span{grid-column:1/-1}.with-btn{gap:.4rem;display:flex}.options{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.back{color:var(--muted);background:0 0;border:none;justify-self:start;margin-bottom:-1rem;padding:0;font-weight:500}.deck-hero{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 25%, var(--line));border-radius:24px;gap:1rem;padding:1.5rem;display:grid}.word-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.word{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.9rem 1.1rem}.word p{margin:.3rem 0 0}.word .row{margin-top:.5rem}.word-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.term{font-family:var(--serif);font-size:1.2rem}.pos{color:var(--muted);font-size:.8rem;font-style:italic}.pron{color:var(--muted);font-size:.85rem}.example{color:var(--muted);font-style:italic}.pill{text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);color:var(--muted);border-radius:999px;margin-left:auto;padding:.1rem .55rem;font-size:.7rem;font-weight:700}.pill.learning{background:color-mix(in srgb, var(--sun) 30%, transparent);color:#8a6510}.pill.mastered{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.pill.new{background:color-mix(in srgb, var(--sky) 18%, transparent);color:var(--sky)}@media (prefers-color-scheme:dark){.pill.learning{color:var(--sun)}}.editing{list-style:none}.lookup-hero p{max-width:36rem}.search-row{gap:.5rem;display:flex}.search-row input{border-radius:999px;padding:.8rem 1rem;font-size:1.1rem}.save-select{border-radius:999px;width:auto;padding:.4rem .7rem;font-size:.88rem}.review{max-width:680px;min-height:100dvh;padding:0 16px env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}.review-bar{align-items:center;gap:.8rem;padding:1rem 0;display:flex}.review-progress{background:var(--surface-2);border-radius:999px;flex:1;height:8px;overflow:hidden}.review-progress span{background:var(--leaf-2);border-radius:999px;height:100%;transition:width .3s;display:block}.count{text-align:right;min-width:4rem}.stage{flex-direction:column;flex:1;gap:1rem;padding-bottom:1rem;display:flex}.flashcard{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--accent);min-height:340px;box-shadow:var(--shadow);cursor:pointer;border-radius:26px;flex-direction:column;flex:1;padding:1.4rem;animation:.25s ease-out pop;display:flex}.flashcard.flipped{cursor:default}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.fc-top{justify-content:space-between;display:flex}.fc-top .pill{margin-left:0}.fc-term{text-align:center;margin:auto 0 1rem;padding-top:1.5rem}.fc-term h1{word-break:break-word;margin-bottom:.3rem;font-size:clamp(2rem,8vw,3.2rem)}.fc-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.fc-hint{text-align:center;color:var(--muted);margin:0 0 auto}.fc-answer{border-top:1.5px dashed var(--line);text-align:center;margin-bottom:auto;padding-top:1.1rem;animation:.2s ease-out pop}.meaning{font-size:1.25rem;font-weight:500}.answer-bar{background:linear-gradient(transparent, var(--bg) 30%);padding:.5rem 0 1rem;position:sticky;bottom:0}.grades{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.grade{color:#fff;border:none;border-radius:16px;justify-items:center;gap:.1rem;padding:.7rem .3rem;font-weight:700;transition:transform .1s,filter .15s;display:grid}.grade:hover{filter:brightness(1.08)}.grade:active{transform:scale(.96)}.grade .when{opacity:.9;font-size:.78rem;font-weight:500}.grade kbd{margin:0}.grade.again{background:var(--coral)}.grade.hard{background:#c9922d}.grade.good{background:var(--leaf-2)}.grade.easy{background:var(--sky)}@media (hover:none){.grade kbd,.answer-bar kbd{display:none}}.finished{text-align:center;flex:1;place-content:center;justify-items:center;gap:.5rem;padding:2rem 0 4rem;display:grid}.bloom{font-size:4rem;animation:3s ease-in-out infinite rise}.finished p{max-width:26rem}@media (width<=520px){.topbar .brand span{display:none}.tab{padding:.4rem .6rem}}
