:root {
  --ink: #0f172a;
  --muted: #64748b;
  --line: rgba(148, 163, 184, .28);
  --accent: #4f46e5;
  --accent-2: #06b6d4;
  --soft: rgba(255,255,255,.72);
}
* { box-sizing: border-box; }
.app-shell {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(79,70,229,.18), transparent 32rem),
    radial-gradient(circle at 80% 10%, rgba(6,182,212,.14), transparent 28rem),
    linear-gradient(135deg, #f8fafc 0%, #eef2ff 45%, #f8fafc 100%);
}
.sidebar-panel {
  background: rgba(255,255,255,.78);
  border-right: 1px solid var(--line);
  backdrop-filter: blur(22px);
  box-shadow: 24px 0 80px rgba(15,23,42,.06);
}
.brand-lockup { display:flex; align-items:center; gap:.8rem; text-decoration:none; color:var(--ink); }
.brand-lockup.compact { gap:.65rem; }
.brand-mark { width:2.75rem; height:2.75rem; border-radius:1rem; display:inline-flex; align-items:center; justify-content:center; font-weight:900; color:white; background:linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow:0 12px 30px rgba(79,70,229,.28); }
.compact .brand-mark { width:2.25rem; height:2.25rem; border-radius:.8rem; }
.brand-title { display:block; font-size:1.45rem; line-height:1.1; font-weight:900; letter-spacing:-.045em; }
.compact .brand-title { font-size:1.25rem; }
.brand-subtitle { display:block; margin-top:.15rem; font-size:.78rem; color:var(--muted); }
.nav-link { display:flex; align-items:center; padding:.85rem 1rem; border-radius:1.1rem; color:#334155; font-weight:750; transition:.15s ease; }
.nav-link:hover { background:#fff; color:#312e81; box-shadow:0 10px 28px rgba(15,23,42,.08); transform:translateY(-1px); }
.mobile-header { background:rgba(255,255,255,.84); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); padding:1rem; }
.mobile-menu-btn { width:2.45rem; height:2.45rem; border:1px solid var(--line); border-radius:.9rem; background:#fff; font-weight:900; box-shadow:0 8px 20px rgba(15,23,42,.06); }
.mobile-menu { margin-top:.9rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.mobile-link { padding:.7rem .8rem; border-radius:1rem; background:#fff; border:1px solid var(--line); font-size:.9rem; font-weight:800; color:#334155; text-align:center; }
.mobile-link.danger { color:#991b1b; background:#fff1f2; }
.user-mini-card { border:1px solid var(--line); background:rgba(255,255,255,.72); border-radius:1.4rem; padding:1rem; }
.page-hero { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:2rem; padding:1.4rem; background:linear-gradient(135deg, rgba(255,255,255,.86), rgba(238,242,255,.76)); box-shadow:0 24px 80px rgba(15,23,42,.08); }
@media (min-width: 768px) { .page-hero { padding:1.75rem 2rem; } }
.page-title { font-size:2.1rem; line-height:2.25rem; font-weight:950; letter-spacing:-.06em; }
@media (min-width: 768px) { .page-title { font-size:3rem; line-height:3.1rem; } }
.section-title { font-size:1.15rem; line-height:1.5rem; font-weight:900; letter-spacing:-.02em; }
.card { background:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.76); border-radius:1.6rem; padding:1.25rem; box-shadow:0 18px 55px rgba(15,23,42,.07); backdrop-filter:blur(18px); }
@media (min-width:768px){ .card{padding:1.5rem;} }
.stat-card { background:rgba(255,255,255,.86); border:1px solid rgba(255,255,255,.78); border-radius:1.5rem; padding:1.15rem; box-shadow:0 18px 45px rgba(15,23,42,.07); position:relative; overflow:hidden; }
.stat-card:before { content:""; position:absolute; inset:auto -20% -60% 30%; height:4rem; background:linear-gradient(90deg, rgba(79,70,229,.15), rgba(6,182,212,.18)); filter:blur(18px); }
.stat-number { font-size:2rem; line-height:2.25rem; font-weight:950; letter-spacing:-.055em; }
.stat-label { color:#64748b; font-size:.82rem; margin-top:.25rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.label { display:block; font-size:.86rem; font-weight:850; margin-bottom:.4rem; color:#334155; }
.input { width:100%; border:1px solid #cbd5e1; border-radius:1rem; padding:.82rem 1rem; outline:none; background:rgba(255,255,255,.92); transition:.15s ease; }
.input:focus { border-color:#6366f1; box-shadow:0 0 0 4px rgba(99,102,241,.13); }
.btn-primary, .btn-secondary, .btn-danger, .btn-download { display:inline-flex; align-items:center; justify-content:center; border-radius:1rem; padding:.78rem 1rem; font-weight:900; transition:.15s ease; }
.btn-primary { background:linear-gradient(135deg, #4f46e5, #06b6d4); color:white; box-shadow:0 14px 30px rgba(79,70,229,.2); }
.btn-primary:hover { transform:translateY(-1px); box-shadow:0 18px 40px rgba(79,70,229,.26); }
.btn-secondary { background:white; color:#0f172a; border:1px solid #cbd5e1; }
.btn-download { background:#0f172a; color:white; }
.btn-danger { background:#fee2e2; color:#991b1b; font-size:.875rem; padding:.55rem .8rem; }
.btn-small { border:1px solid #cbd5e1; border-radius:999px; padding:.48rem .78rem; font-size:.875rem; background:white; font-weight:800; }
.btn-small-primary { border:1px solid #4f46e5; background:#4f46e5; color:white; border-radius:999px; padding:.48rem .78rem; font-size:.875rem; font-weight:800; }
.badge { display:inline-flex; padding:.28rem .65rem; border-radius:999px; background:#eef2ff; color:#3730a3; font-size:.74rem; font-weight:900; }
.filter-link { padding:.55rem .85rem; border-radius:999px; background:white; border:1px solid rgba(148,163,184,.35); font-weight:850; white-space:nowrap; }
.filter-active { background:#0f172a; color:white; border-color:#0f172a; }
.r2b1-word { cursor:pointer; border-radius:.35rem; padding:0 .08rem; }
.r2b1-word:hover { background:#dbeafe; color:#1e3a8a; }
.word-popup { position:fixed; z-index:80; width:min(320px, calc(100vw - 24px)); background:white; border:1px solid #cbd5e1; border-radius:1.25rem; padding:1rem; box-shadow:0 20px 60px rgba(15,23,42,.2); }
.reader-content { font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; }
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
/* LexiPulse v0.4 — calm Apple-like interface */
:root { --bg:#f5f5f7; --surface:rgba(255,255,255,.9); --surface-2:#ffffff; --ink:#111827; --muted:#6b7280; --line:#e5e7eb; --accent:#0a84ff; --danger:#ff3b30; --shadow:0 18px 50px rgba(0,0,0,.06); }
html.dark { --bg:#0b0c0f; --surface:rgba(28,28,30,.88); --surface-2:#1c1c1e; --ink:#f5f5f7; --muted:#a1a1aa; --line:#2c2c2e; --accent:#0a84ff; --danger:#ff453a; --shadow:0 18px 50px rgba(0,0,0,.35); }
body.app-shell { background:var(--bg) !important; color:var(--ink) !important; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",sans-serif; }
.sidebar-panel,.mobile-header,.page-hero,.card,.stat-card,.user-mini-card { background:var(--surface) !important; border-color:var(--line) !important; box-shadow:var(--shadow) !important; backdrop-filter: saturate(180%) blur(20px); }
.page-hero,.card,.stat-card { border-radius:28px !important; }
.minimal-hero:before { display:none !important; }
.brand-mark { background:var(--ink) !important; color:var(--bg) !important; box-shadow:none !important; }
.brand-title,.page-title,.section-title,.stat-number,.font-black { color:var(--ink); }
.subtle,.brand-subtitle,.stat-label,.text-slate-500,.text-slate-600 { color:var(--muted) !important; }
.eyebrow { font-size:.76rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); }
.nav-link,.mobile-link { color:var(--ink) !important; background:transparent !important; box-shadow:none !important; }
.nav-link:hover,.mobile-link:hover { background:rgba(127,127,127,.10) !important; transform:none !important; }
.input { background:var(--surface-2) !important; border-color:var(--line) !important; color:var(--ink) !important; box-shadow:none !important; }
.input:focus { border-color:var(--accent) !important; box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent) !important; }
.btn-primary { background:var(--accent) !important; color:white !important; box-shadow:none !important; }
.btn-secondary { background:var(--surface-2) !important; color:var(--ink) !important; border:1px solid var(--line) !important; box-shadow:none !important; }
.btn-primary:hover,.btn-secondary:hover { transform:none !important; filter:brightness(.98); }
.btn-danger { background:color-mix(in srgb, var(--danger) 14%, transparent) !important; color:var(--danger) !important; }
.badge { background:color-mix(in srgb, var(--accent) 12%, transparent) !important; color:var(--accent) !important; }
.filter-link { background:var(--surface-2) !important; border-color:var(--line) !important; color:var(--ink) !important; }
.filter-active { background:var(--ink) !important; color:var(--bg) !important; }
.learning-card { display:block; background:var(--surface); border:1px solid var(--line); border-radius:28px; padding:24px; box-shadow:var(--shadow); transition:.14s ease; }
.learning-card:hover { transform:translateY(-2px); }
.learning-card h2 { margin-top:14px; font-size:1.25rem; font-weight:850; letter-spacing:-.03em; color:var(--ink); }
.learning-card p { margin-top:6px; color:var(--muted); font-size:.95rem; }
.emoji { width:52px; height:52px; border-radius:18px; display:flex; align-items:center; justify-content:center; background:rgba(127,127,127,.1); font-size:1.65rem; }
.micro-step { border:1px solid var(--line); border-radius:20px; padding:16px; background:var(--surface-2); }
.micro-step b { display:block; font-size:1.15rem; color:var(--ink); }
.micro-step span { display:block; margin-top:4px; color:var(--muted); font-size:.9rem; }
.back-link { font-weight:800; color:var(--accent); }
.notice { border-radius:18px; padding:14px 16px; font-weight:800; }
.notice.ok { background:rgba(52,199,89,.14); color:#16833a; }
.notice.warn { background:rgba(255,149,0,.14); color:#a05a00; }
.rule-box { white-space:pre-wrap; background:rgba(127,127,127,.08); border:1px solid var(--line); border-radius:18px; padding:16px; color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.92rem; }
.exercise-card { background:var(--surface-2); border:1px solid var(--line); border-radius:22px; padding:18px; }
.quiz-option { text-align:left; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:16px; padding:12px 14px; font-weight:800; }
.quiz-option:hover { border-color:var(--accent); }
.vocabulary-table th { color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; text-align:left; padding:12px; border-bottom:1px solid var(--line); }
.vocabulary-table td { padding:14px 12px; border-bottom:1px solid var(--line); vertical-align:top; color:var(--ink); }
.compact-input { padding:.55rem .7rem !important; border-radius:12px !important; min-width:140px; }
.btn-mini { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; border:1px solid var(--line); background:var(--surface-2); color:var(--ink); padding:.45rem .75rem; font-weight:850; font-size:.78rem; }
.btn-mini.danger { color:var(--danger); background:color-mix(in srgb, var(--danger) 10%, transparent); }
.memory-bar { width:110px; height:8px; border-radius:999px; background:rgba(127,127,127,.14); overflow:hidden; }
.memory-bar span { display:block; height:100%; border-radius:999px; background:var(--accent); }
.empty-state { border:1px dashed var(--line); border-radius:24px; padding:36px; text-align:center; color:var(--muted); }
.word-popup { background:var(--surface-2) !important; color:var(--ink) !important; border-color:var(--line) !important; box-shadow:var(--shadow) !important; }
.badge.soft { background:rgba(127,127,127,.10) !important; color:var(--muted) !important; }
.whitespace-pre-line { white-space: pre-line; }

/* v0.6 learning upgrades */
.explanation-block{font-size:1.02rem;line-height:1.85;color:var(--text);background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.56));border:1px solid var(--border);border-radius:24px;padding:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.dark .explanation-block{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025))}
.example-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.example-card{border:1px solid var(--border);border-radius:20px;padding:14px;background:rgba(255,255,255,.66)}.dark .example-card{background:rgba(255,255,255,.04)}
.flip-card{position:relative;min-height:130px;border:1px solid var(--border);border-radius:24px;background:rgba(255,255,255,.72);box-shadow:var(--soft-shadow);padding:18px;text-align:left;font-weight:900;cursor:pointer;overflow:hidden}.dark .flip-card{background:rgba(255,255,255,.04)}.flip-card .front,.flip-card .back{display:block;transition:.22s ease}.flip-card .front{font-size:1.25rem}.flip-card .back{opacity:0;transform:translateY(12px);font-weight:700;line-height:1.5;color:var(--muted);margin-top:10px}.flip-card.flipped .front{opacity:.36}.flip-card.flipped .back{opacity:1;transform:translateY(0)}
.typing-card,.matching-card{border:1px dashed var(--border);border-radius:22px;padding:14px;background:rgba(255,255,255,.45)}.dark .typing-card,.dark .matching-card{background:rgba(255,255,255,.035)}.match-chip{border:1px solid var(--border);border-radius:999px;padding:10px 13px;font-weight:900;background:var(--card);cursor:pointer}.match-chip:hover,.quiz-option:hover{transform:translateY(-1px)}.needs-review{border-color:rgba(245,158,11,.55)!important;box-shadow:0 0 0 4px rgba(245,158,11,.08)}.warn-soft{background:rgba(245,158,11,.12)!important;color:#92400e!important}.feedback-panel{border:1px solid var(--border);border-radius:18px;padding:13px;background:rgba(255,255,255,.55)}.dark .feedback-panel{background:rgba(255,255,255,.04)}.feedback-panel p{margin-top:6px;line-height:1.65}.mini-link{font-size:.82rem;font-weight:900;color:var(--accent);background:transparent;border:0;cursor:pointer}.btn-secondary{border:1px solid var(--border);border-radius:999px;background:var(--card);padding:10px 14px;font-weight:900}.btn-primary{border:0;border-radius:999px;background:var(--accent);color:white;padding:10px 14px;font-weight:900}.input{width:100%;border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--card);color:var(--text)}


/* v0.7 utilities */
:root{--border:var(--line);--text:var(--ink);--card:var(--surface-2);--soft-shadow:var(--shadow)}
.settings-note{border:1px solid var(--line);border-radius:22px;padding:16px;background:var(--surface-2)}
.pwa-card{border:1px solid var(--line);border-radius:22px;padding:16px;background:rgba(127,127,127,.06)}

/* LexiPulse v0.8 reader and compact dictionary popup */
.reader-progress-card{position:sticky;top:10px;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:14px 16px;box-shadow:var(--shadow);backdrop-filter:saturate(180%) blur(18px)}
.reader-progress-track{height:8px;background:rgba(127,127,127,.14);border-radius:999px;overflow:hidden}.reader-progress-track span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .2s ease}.bookmark-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:850}.reader-content{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;color:var(--ink)}.reader-paragraph{color:var(--ink)!important}.r2b1-word{cursor:pointer;border-radius:6px;padding:0 .07rem;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.r2b1-word:hover{background:rgba(10,132,255,.14);color:var(--accent)}.r2b1-word.in-vocabulary{background:rgba(52,199,89,.16);box-shadow:inset 0 -2px 0 rgba(52,199,89,.42);color:var(--ink)}
.lexi-mini-popup{position:absolute;z-index:1000;width:min(360px,calc(100vw - 24px));background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:0 18px 60px rgba(0,0,0,.18);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;backdrop-filter:saturate(180%) blur(20px)}.lp-mini-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.lp-mini-word{font-size:30px;line-height:1.05;font-weight:760;letter-spacing:-.04em}.lp-mini-meta{margin-top:5px;color:var(--muted);font-size:12px;font-weight:750;display:flex;gap:6px;align-items:center}.lp-mini-close{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.lp-mini-sounds{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.lp-mini-sounds button{border:0;background:transparent;color:var(--ink);font-weight:850;font-size:13px;padding:0;cursor:pointer}.lp-mini-sounds span{color:var(--muted);font-weight:650}.lp-mini-translation{margin-top:12px;border-radius:14px;background:rgba(127,127,127,.09);padding:11px 12px;font-size:17px;line-height:1.35;font-weight:850}.lp-mini-definition{margin-top:10px;font-size:14px;line-height:1.5;color:var(--ink)}.lp-mini-section{margin-top:10px;margin-bottom:5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:10px;font-weight:950}.lp-mini-example{font-size:13px;line-height:1.45;color:var(--muted);padding:4px 0;border-top:1px solid rgba(127,127,127,.10)}.lp-mini-context{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.4;border-left:3px solid var(--line);padding-left:9px;max-height:52px;overflow:hidden}.lp-mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.lp-mini-primary,.lp-mini-secondary{border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer}.lp-mini-primary{border:1px solid var(--ink);background:var(--ink);color:var(--bg)}.lp-mini-secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.lp-mini-status{min-height:16px;margin-top:8px;color:var(--muted);font-size:12px;font-weight:700}.btn-mini{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.btn-mini.danger{color:var(--danger)}


/* LexiPulse v0.8.2 persistent reader highlights */
.r2b1-word.r2b1-known,
.r2b1-word.in-vocabulary{
  background:rgba(52,199,89,.16)!important;
  box-shadow:inset 0 -2px 0 rgba(52,199,89,.42)!important;
  color:var(--ink)!important;
}
.r2b1-word.r2b1-known-new{background:rgba(255,204,0,.18)!important;box-shadow:inset 0 -2px 0 rgba(255,204,0,.45)!important;}
.r2b1-word.r2b1-known-learning{background:rgba(10,132,255,.14)!important;box-shadow:inset 0 -2px 0 rgba(10,132,255,.40)!important;}
.r2b1-word.r2b1-known-learned{background:rgba(52,199,89,.18)!important;box-shadow:inset 0 -2px 0 rgba(52,199,89,.45)!important;}

/* LexiPulse v0.8.3 sticky reader toolbar */
.reader-progress-card{
  position: sticky !important;
  top: 12px !important;
  z-index: 70 !important;
}
@media (max-width: 1023px){
  .reader-progress-card{ top: 76px !important; }
}
.reader-sticky-row{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.reader-sticky-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.reader-sticky-meta{min-width:150px;}
.reader-floating-toolbar{display:none;position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:90;gap:8px;padding:8px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 18px 45px rgba(0,0,0,.16);backdrop-filter:saturate(180%) blur(18px);}
.reader-floating-toolbar .btn-mini{white-space:nowrap;}
@media (max-width: 720px){
  .reader-hero-actions{display:none!important;}
  .reader-sticky-row{align-items:flex-start;}
  .reader-sticky-actions{display:none;}
  .reader-floating-toolbar{display:flex;}
  .reader-content{padding-bottom:82px!important;}
}
@media (min-width: 1280px){
  .reader-progress-card{top:18px!important;}
}

/* LexiPulse v0.9 learning rebuild */
.course-card{min-height:210px}.progress-line{height:7px;border-radius:999px;background:rgba(127,127,127,.13);overflow:hidden}.progress-line span{display:block;height:100%;border-radius:999px;background:var(--accent)}.lesson-nav{display:flex;gap:8px;overflow-x:auto;padding:8px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow);backdrop-filter:saturate(180%) blur(18px)}.lesson-nav a{white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900;color:var(--ink);background:var(--surface-2)}.lesson-focus-card{border-left:5px solid var(--accent)}.example-list{display:grid;gap:8px}.example-row{display:grid;grid-template-columns:42px 1fr 38px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;padding:10px 12px;background:var(--surface-2)}.example-row span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(127,127,127,.11);font-weight:950}.example-row p{margin:0;line-height:1.55}.example-row button{border:0;background:transparent;font-size:16px;cursor:pointer}.lesson-topbar{position:relative}.dark .example-row{background:rgba(255,255,255,.035)}

/* LexiPulse v1.0 imported course builder */
.lesson-row-card{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:24px;padding:16px;background:var(--surface-2);box-shadow:var(--shadow);transition:.16s ease;color:var(--ink)}
.lesson-row-card:hover{transform:translateY(-1px);border-color:var(--accent)}
.lesson-row-card h2{font-size:1.15rem;font-weight:950;letter-spacing:-.02em;margin:0}.lesson-row-card p{margin:.25rem 0 0;color:var(--muted);line-height:1.5}.lesson-row-index{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--bg);font-weight:950;flex:0 0 auto}.method-list{display:grid;gap:12px}.method-list li{border:1px solid var(--line);border-radius:18px;padding:12px;background:var(--surface-2);line-height:1.55}.lesson-block{border:1px solid var(--line);border-radius:28px;padding:22px;background:var(--surface);box-shadow:var(--shadow)}.lesson-block.lead_in{border-left:6px solid #34c759}.lesson-block.grammar_focus,.lesson-block.explanation{border-left:6px solid #0a84ff}.lesson-block.vocabulary_set{border-left:6px solid #af52de}.lesson-block.exercise,.lesson-block.typing,.lesson-block.translation,.lesson-block.writing,.lesson-block.matching{border-left:6px solid #ff9500}.lesson-content{font-size:1.03rem;line-height:1.82;color:var(--ink)}.lesson-content.en{color:var(--muted);font-style:italic}.vocab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.vocab-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--surface-2);display:grid;gap:5px}.vocab-card b{font-size:1.1rem}.vocab-card span{font-weight:850;color:var(--accent)}.vocab-card small{color:var(--muted);line-height:1.45}.editor-panel{border:1px dashed var(--line);border-radius:18px;padding:14px;background:rgba(127,127,127,.06)}
