.englup-vocabulary { --ev-ink:#17243d; --ev-blue:#3159d9; --ev-pale:#eef3ff; color:var(--ev-ink); font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; max-width:760px; margin:0 auto; }
.englup-vocabulary * { box-sizing:border-box; }
.ev-panel { background:#fff; border:1px solid #dfe5f1; border-radius:22px; box-shadow:0 8px 26px rgba(38,55,92,.08); margin:16px 0; padding:24px; }
.ev-panel h2,.ev-panel h3,.ev-panel p { margin-top:0; }
.ev-eyebrow { color:var(--ev-blue); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:5px; }
.ev-muted { color:#63708a; font-size:.92rem; }
.ev-action-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ev-action-grid article { background:#f8faff; border:1px solid #e2e8f5; border-radius:16px; padding:18px; }
.ev-action-grid h3 { margin:4px 0 6px; }
.ev-action-grid small { display:block; color:#6b7690; margin-top:8px; }
.ev-count { align-items:center; background:#dfe8ff; border-radius:50%; color:#2449ba; display:inline-flex; font-size:1.25rem; font-weight:800; height:42px; justify-content:center; width:42px; }
.englup-vocabulary button,.ev-file { align-items:center; background:var(--ev-blue); border:0; border-radius:12px; color:#fff; cursor:pointer; display:inline-flex; font:inherit; font-weight:750; justify-content:center; min-height:46px; padding:10px 16px; }
.englup-vocabulary button:hover,.ev-file:hover { filter:brightness(.94); }
.englup-vocabulary button:focus-visible,.englup-vocabulary input:focus-visible,.ev-file:focus-within { outline:3px solid #f2b84b; outline-offset:2px; }
.englup-vocabulary button:disabled { cursor:default; opacity:.55; }
.ev-done { color:#276742; font-weight:750; padding-top:8px; }
.ev-stats { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }
.ev-stats div { background:var(--ev-pale); border-radius:12px; padding:12px 6px; text-align:center; }
.ev-stats strong,.ev-stats span { display:block; }
.ev-stats strong { font-size:1.35rem; }
.ev-stats span { color:#53617d; font-size:.75rem; }
.ev-alert { align-items:flex-start; background:#fff3d9; border:1px solid #efce7d; border-radius:14px; display:flex; gap:10px; justify-content:space-between; margin:12px 0; padding:12px 14px; }
.ev-alert button { background:transparent; color:#604b18; min-height:30px; padding:0 5px; }
.ev-progress { display:grid; gap:4px; grid-template-columns:auto 1fr; align-items:center; color:#66728a; font-size:.85rem; }
.ev-progress progress { accent-color:var(--ev-blue); height:8px; width:100%; }
.ev-word { font-size:clamp(2.3rem,10vw,4.4rem); margin:12px 0 0; }
.ev-meaning { color:#34415b; font-size:1.25rem; }
.ev-speak { background:#ebf0ff!important; color:#274ab4!important; margin-bottom:14px; }
.ev-speak small { font-weight:500; margin-left:7px; }
.ev-session blockquote { background:#f7f8fb; border-left:4px solid #aabdff; border-radius:0 12px 12px 0; margin:12px 0; padding:14px 16px; }
.ev-session blockquote span,.ev-session blockquote small { display:block; }
.ev-session blockquote small { color:#64708a; margin-top:5px; }
.ev-session form { display:grid; gap:8px; margin:18px 0 12px; }
.ev-session form label { font-weight:750; }
.ev-session input { border:2px solid #cbd4e6; border-radius:12px; font:inherit; min-height:50px; padding:10px 12px; width:100%; }
.ev-feedback { border-radius:12px; margin:12px 0; padding:12px 14px; }
.ev-success { background:#e6f6ec; color:#1e6038; }
.ev-error { background:#fff0ed; color:#8b3326; }
.englup-vocabulary .ev-link { background:transparent; color:#52617c; display:block; margin-top:8px; padding-left:0; text-decoration:underline; }
.englup-vocabulary .ev-secondary { background:#e8edfa; color:#273a69; }
.ev-data summary { cursor:pointer; font-weight:800; }
.ev-inline { display:flex; flex-wrap:wrap; gap:8px; }
.ev-file input { height:1px; opacity:0; position:absolute; width:1px; }
@media (max-width:430px) {
  .englup-vocabulary { font-size:15px; }
  .ev-panel { border-radius:17px; margin:10px 0; padding:17px; }
  .ev-action-grid { grid-template-columns:1fr; }
  .ev-stats { grid-template-columns:repeat(3,1fr); }
  .ev-session>button:not(.ev-link),.ev-session form button { width:100%; }
  .ev-progress { grid-template-columns:1fr; }
}
