@font-face{font-family:inter;src:url(../media/IBMPlexSans-s.p.1_21bh2ph91lm.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:101.35%;descent-override:27.19%;line-gap-override:0.0%;size-adjust:101.13%}.isqkJa_className{font-family:inter,inter Fallback}.isqkJa_variable{--font-inter:"inter", "inter Fallback"}
@font-face{font-family:lora;src:url(../media/Lora-s.p.0l75u03864-uz.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:lora;src:url(../media/Lora_Italic-s.p.14pa-ejyx90kg.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:italic}@font-face{font-family:lora Fallback;src:local(Arial);ascent-override:95.74%;descent-override:26.08%;line-gap-override:0.0%;size-adjust:105.08%}.O78g6a_className{font-family:lora,lora Fallback}.O78g6a_variable{--font-lora:"lora", "lora Fallback"}
html{scrollbar-gutter:stable;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{overscroll-behavior-y:none}:root{--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#0a0f18;--bg-surface:#121926;--bg-surface-hover:#1b2535;--bg-card:#141b2bb3;--bg-entity-card:var(--bg-base);--border-color:#26334d;--border-color-hover:#334155;--border-card:#94a3b82e;--shadow-card:inset 0 1px 0 #ffffff0a, 0 18px 40px -18px #000000bf;--shadow-control:0 1px 2px #00000073;--shadow-control-hover:0 8px 18px -8px #000000b3;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-accent:#38bdf8;--text-amber:#f59e0b;--text-emerald:#10b981;--text-red:#ef4444;--text-violet:#a78bfa;--accent-glow:#38bdf833;--amber-glow:#f59e0b26;--violet-glow:#8b5cf626;--font-sans:var(--font-inter), system-ui, sans-serif;--font-serif:var(--font-lora), Georgia, Cambria, serif}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#f8fafc;--bg-surface:#fff;--bg-surface-hover:#eaeff5;--bg-card:#ffffffd9;--bg-entity-card:#dcdcdc;--border-color:#e2e8f0;--border-color-hover:#94a3b8;--border-card:#0f172a12;--shadow-card:0 1px 2px #0f172a0a, 0 18px 40px -18px #0f172a2e;--shadow-control:0 1px 2px #0f172a0f;--shadow-control-hover:0 8px 18px -8px #0f172a38;--text-main:#0f172a;--text-muted:#64748b;--text-accent:#0284c7;--text-amber:#d97706;--text-emerald:#059669;--text-red:#dc2626;--text-violet:#6d28d9;--accent-glow:#0284c726;--amber-glow:#d977061a;--violet-glow:#6d28d91a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html.theme-switching :is(body,header,nav,main,section,article,aside,footer,div,span,p,h1,h2,h3,h4,h5,h6,a,button,input,select,textarea,label){transition:background-color .2s,border-color .2s,color .2s}:where(button,[role=button],a,.library-card){transition:scale 60ms ease-out}:where(button:not(:disabled),[role=button],a):active{scale:.97}:where(.library-card):active{scale:.99}button,[role=button],header a,nav a,img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tap-target{position:relative}.tap-target:after{content:"";position:absolute;inset:min(0px,50% - 22px)}button,a,[role=button],.reader-text,.vocab-entity,.library-card,.btn-primary,.btn-secondary,input,select,textarea{touch-action:manipulation}@media (max-width:640px){.lookup-overlay{padding-top:calc(var(--sat) + 12vh)!important;align-items:flex-start!important}}.gate-spinner,html[data-returning] .gate-landing{display:none}html[data-returning] .gate-spinner{display:flex}.language-picker{gap:4px;display:flex}.language-picker button{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 10px;font-size:.85rem;font-weight:600}.language-picker button[aria-pressed=true]{color:var(--text-accent);border-color:var(--border-color);background:var(--bg-surface)}.entity-card-overlay,.entity-card-modal{overscroll-behavior:contain}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::selection{background-color:var(--accent-glow);color:var(--text-accent)}button,input,select,textarea{font-family:inherit;font-size:inherit}body{background-color:var(--bg-base);color:var(--text-main);font-family:var(--font-sans);min-height:100dvh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{max-width:1100px;padding:0 max(20px, var(--sar)) 0 max(20px, var(--sal));margin:0 auto}@media (max-width:640px){.container{padding:0 max(12px, var(--sar)) 0 max(12px, var(--sal))}}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;padding:24px;box-shadow:0 1px 4px #0000000f}@media (max-width:640px){.glass-card{-webkit-backdrop-filter:none;border-radius:12px;padding:20px 16px}}.mobile-hide{display:block}@media (max-width:640px){.mobile-hide{display:none!important}}.mobile-only{display:none}@media (max-width:640px){.mobile-only{display:block}}.btn-primary{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:linear-gradient(135deg,#0ea5e9,#2563eb);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:opacity .15s;display:inline-flex;box-shadow:0 4px 12px #0ea5e926}@media (max-width:640px){.btn-primary,.btn-secondary{min-height:44px}}@media (hover:hover) and (pointer:fine){.btn-primary:hover{opacity:.88}}.btn-secondary{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:500;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--border-color-hover)}}.input-field{background:var(--bg-base);border:1px solid var(--border-color);color:var(--text-main);border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:16px;transition:border-color .2s,box-shadow .2s}.input-field:focus{border-color:var(--text-accent);box-shadow:0 0 0 2px var(--accent-glow)}@media (pointer:fine){select.input-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:38px}}.academic-serif{font-family:var(--font-serif);font-variant-numeric:oldstyle-nums;text-rendering:optimizelegibility}.drop-cap-char{float:left;font-size:4.2rem;font-weight:800;line-height:.85;font-family:var(--font-serif);text-shadow:2px 2px 0px var(--accent-glow);margin-top:.1rem;margin-right:.75rem;transition:color .15s}.mastered-text .drop-cap-char{text-shadow:2px 2px #10b98133}.vocab-entity{cursor:pointer;color:var(--text-accent);border-bottom:2px dotted var(--text-accent);border-radius:3px;padding:0 2px;font-weight:600;transition:all .2s;display:inline-block;position:relative}.vocab-entity.mastered{color:var(--text-emerald);border-bottom-color:var(--text-emerald)}@media (hover:hover) and (pointer:fine){.vocab-entity.mastered:hover{background-color:#10b9811a}}.word-segment{cursor:pointer;border-radius:4px;padding:0 1px;transition:background-color .15s,color .15s}@media (hover:hover) and (pointer:fine){.word-segment:hover{background-color:var(--bg-surface-hover);color:var(--text-accent)}}.word-segment.due-word{color:var(--text-amber);border-bottom:1px dotted var(--text-amber);background-color:#f59e0b0d}@media (hover:hover) and (pointer:fine){.word-segment.due-word:hover{background-color:var(--amber-glow);color:var(--text-amber)}}.vocab-entity .grammar-badge{background:var(--bg-surface);border:1px solid var(--border-color-hover);color:var(--text-amber);font-family:var(--font-sans);pointer-events:none;opacity:0;visibility:hidden;white-space:nowrap;z-index:20;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:700;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 2px 8px #0000001a}@media (hover:hover) and (pointer:fine){.vocab-entity:hover .grammar-badge{opacity:1;visibility:visible;transform:translate(-50%)translateY(-4px)}}.skeleton{background:linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-surface-hover) 50%, var(--bg-surface) 75%);background-size:200% 100%;border-radius:6px;animation:1.5s infinite skeletonLoading}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.animate-pulse-slow{animation:1.2s linear infinite spin}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}@keyframes glow{0%,to{text-shadow:0 0 10px #38bdf833}50%{text-shadow:0 0 25px #38bdf899}}.voice-recording{animation:1.4s ease-out infinite recording-ripple}@keyframes recording-ripple{0%{box-shadow:0 0 #ef44448c}to{box-shadow:0 0 0 8px #ef444400}}.animate-pulse-custom{animation:2s ease-in-out infinite pulse}.animate-glow{animation:3s ease-in-out infinite glow}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s ease-out forwards fadeIn}@keyframes reviewCardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes reviewReveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.review-card-enter{animation:.28s cubic-bezier(.22,1,.36,1) both reviewCardIn}.review-reveal{animation:.22s ease-out both reviewReveal}.review-reveal-late{animation-delay:60ms}.reader-text{font-size:1.35rem;line-height:2}@media (max-width:640px){.reader-text{font-size:1.15rem;line-height:1.8}}.library-card{transition:transform .2s,border-color .2s,box-shadow .2s}@media (hover:hover) and (pointer:fine){.library-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--text-accent)!important}}.input-group{gap:8px;display:flex}@media (max-width:640px){.input-group{flex-direction:column;align-items:stretch}.input-group button,.input-group input{min-height:44px;width:100%!important}}@keyframes quiz-pop{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:none}}.quiz-pop{animation:.3s ease-out quiz-pop}.quiz-choice{transition:border-color .15s,background-color .15s,transform .1s}@media (hover:hover) and (pointer:fine){.quiz-choice:hover:not(:disabled){border-color:var(--text-accent)!important;background:var(--accent-glow)!important}}.quiz-choice:active:not(:disabled){transform:scale(.99)}.word-photo{margin:20px 0 0}@media (min-width:641px){.word-photo{margin-top:0}}
