/* ============================================================
   PARCOURS · Vocabulary — lexicon + practice stub
   ============================================================ */

/* ─── TOOLBAR · search + add ───────────── */
.lex-toolbar{display:flex;gap:8px;align-items:center;margin:6px 0 12px}
.lex-search{position:relative;flex:1;min-width:0}
.lex-search-ic{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;stroke:var(--ink-soft);fill:none;stroke-width:1.8;
  stroke-linecap:round;opacity:.55;pointer-events:none;
}
.lex-search-input{
  width:100%;font-family:var(--serif-lit);font-size:1.08rem;color:var(--ink);
  border:1.5px solid var(--line);border-radius:12px;background:var(--paper);
  padding:11px 14px 11px 38px;
}
.lex-search-input:focus{outline:none;border-color:var(--burgundy);background:#fff}
.lex-add-btn{flex:0 0 auto;white-space:nowrap}

/* ─── SEARCH RESULTS ───────────────────── */
.lex-results-head{font-family:var(--serif-lit);font-style:italic;font-size:1.3rem;color:var(--ink);margin:4px 0 10px}
.lex-results-head .lbl-orn{color:var(--burgundy);margin-right:6px}
.lex-results-sub{
  font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);opacity:.7;margin:18px 0 9px;
}
.lex-results-empty{font-family:var(--serif-lit);font-style:italic;color:var(--ink-soft);opacity:.7;padding:2px 0 4px}
.lex-cand{
  display:flex;align-items:center;gap:12px;
  background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--lvl-B1);
  border-radius:14px;padding:12px 14px;
}
.lex-cand-main{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.lex-cand-word{font-family:var(--serif-lit);font-style:italic;font-weight:600;font-size:1.3rem;color:var(--ink)}
.lex-cand-sep{color:var(--ink-soft);opacity:.4}
.lex-cand-trans{font-family:var(--sans);font-size:.95rem;color:var(--olive)}
.lex-cand-add{flex:0 0 auto}
.lex-cand--loading,.lex-cand--none{font-family:var(--serif-lit);font-style:italic;color:var(--ink-soft);opacity:.75;border-left-color:var(--line)}
.lex-cand--exists{border-left-color:var(--green)}
.lex-cand-badge{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);opacity:.85;white-space:nowrap}

.lex-bar{display:flex;align-items:center;gap:12px;margin:2px 0 14px}

/* ─── GROUPS ───────────────────────────── */
.lex-group{margin-bottom:22px}
.lex-group-head{
  display:block;font-family:var(--serif-lit);font-style:italic;font-weight:600;font-size:1.35rem;
  color:var(--ink);text-decoration:none;margin:0 0 10px;line-height:1.15;
  border-bottom:1px solid var(--line);padding-bottom:8px;
}
a.lex-group-head:hover{color:var(--burgundy)}
.lex-group-head span{font-family:var(--mono);font-style:normal;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);opacity:.6}
.lex-group-head--manual{color:var(--ink-soft);opacity:.85}

/* ─── ITEMS ────────────────────────────── */
.lex-item{
  display:flex;align-items:flex-start;gap:12px;
  background:var(--paper);border:1px solid var(--line);border-radius:14px;
  padding:13px 14px;margin-bottom:9px;transition:opacity .16s, border-color .2s;
}
.lex-item:hover{border-color:var(--line-strong)}
.lex-main{min-width:0;flex:1}
.lex-word-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.lex-word{font-family:var(--serif-lit);font-style:italic;font-weight:600;font-size:1.35rem;line-height:1.15;color:var(--ink)}
/* inline English gloss (task: auto-translate) */
.lex-trans{font-family:var(--sans);font-size:.9rem;color:var(--olive)}
.lex-trans::before{content:'·';margin-right:9px;color:var(--ink-soft);opacity:.4}
.lex-trans--pending{opacity:.4;letter-spacing:.12em}
.lex-trans--none{color:var(--burgundy);font-style:italic;font-size:.78rem;opacity:.85}
/* unresolved word — flagged so it stands out for a manual look */
.lex-word--unresolved{
  background:linear-gradient(transparent 62%, rgba(168,50,50,.22) 0);
  text-decoration:underline wavy rgba(168,50,50,.6);
  text-underline-offset:3px;text-decoration-thickness:1px;
}
.lex-sentence{font-family:var(--serif-lit);font-size:1.02rem;line-height:1.4;color:var(--ink-soft);opacity:.9;margin-top:3px}
.lex-sentence em{font-style:italic;color:var(--burgundy);font-weight:600}
.lex-note-line{margin-top:5px;min-height:1.2em}
.lex-note{font-family:var(--sans);font-size:.86rem;color:var(--olive)}
.lex-note--empty{color:var(--ink-soft);opacity:.4;font-style:italic}

.lex-note-edit{display:flex;gap:6px;align-items:center;margin-top:2px}
.lex-note-input{
  flex:1;font-family:var(--sans);font-size:.9rem;color:var(--ink);
  border:1.5px solid var(--burgundy);border-radius:8px;background:#fff;padding:6px 10px;
}
.lex-note-input:focus{outline:none}
.lex-note-save{
  border:none;background:var(--ink);color:var(--cream);border-radius:8px;padding:6px 12px;
  font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;cursor:pointer;
}

.lex-actions{display:flex;flex-direction:column;gap:6px}
.lex-act{
  width:30px;height:30px;border-radius:8px;border:1px solid var(--line);
  background:var(--cream);color:var(--ink-soft);cursor:pointer;font-size:.8rem;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:.15s;
}
.lex-act:hover{border-color:var(--ink);color:var(--ink)}
.lex-act--rm:hover{border-color:var(--red);color:var(--red);background:rgba(168,50,50,.06)}

/* ─── ADD-WORD MODAL · centred, full-page blur ── */
.lex-modal-back{
  position:fixed;inset:0;z-index:180;background:rgba(26,31,46,.40);
  opacity:0;transition:opacity .22s;
  backdrop-filter:blur(7px) saturate(1.1);-webkit-backdrop-filter:blur(7px) saturate(1.1);
}
.lex-modal-back.show{opacity:1}
.lex-modal{
  position:fixed;left:50%;top:50%;z-index:190;
  width:min(92vw,440px);
  background:var(--paper);border:1px solid var(--line);border-radius:18px;
  padding:24px 24px 22px;
  box-shadow:0 30px 90px -34px rgba(26,31,46,.65);
  transform:translate(-50%,-46%) scale(.98);opacity:0;
  transition:transform .24s cubic-bezier(.2,.7,.25,1), opacity .22s ease;
}
.lex-modal.show{transform:translate(-50%,-50%) scale(1);opacity:1}
.lex-modal-eyebrow{font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy);opacity:.85}
.lex-modal-title{font-family:var(--serif-display);font-weight:700;font-size:1.7rem;line-height:1.05;margin:4px 0 16px;color:var(--ink)}
.lex-modal-title em{font-style:italic;color:var(--burgundy)}
.lex-modal input{
  width:100%;font-family:var(--serif-lit);font-size:1.1rem;color:var(--ink);
  border:1.5px solid var(--line);border-radius:12px;background:var(--cream);padding:12px 15px;margin-bottom:10px;
}
.lex-modal input:focus{outline:none;border-color:var(--burgundy);background:#fff}
.lex-modal-hint{font-family:var(--serif-lit);font-style:italic;font-size:.92rem;color:var(--ink-soft);opacity:.8;margin:2px 0 16px}
.lex-modal-actions{display:flex;gap:10px;justify-content:flex-end}

/* ─── PRACTICE STUB ────────────────────── */
.practice-stub{cursor:default;text-align:center;padding:40px 28px 34px;max-width:46rem;margin:0 auto}
.practice-stub:hover{transform:none;box-shadow:none;border-color:var(--line)}
.practice-orn{font-family:var(--serif-lit);font-size:2rem;color:var(--burgundy);opacity:.5;letter-spacing:.3em}
.practice-title{font-family:var(--serif-lit);font-style:italic;font-weight:600;font-size:2rem;margin:6px 0 14px;color:var(--ink)}
.practice-lede{font-family:var(--serif-lit);font-size:1.22rem;line-height:1.6;color:var(--ink-soft);max-width:38rem;margin:0 auto 24px}
.practice-lede em{font-style:italic;color:var(--burgundy)}
.practice-meta{margin:22px 0}
.practice-num{font-family:var(--serif-lit);font-weight:600;font-size:3.4rem;line-height:1;
  background:linear-gradient(135deg,var(--burgundy),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.practice-num-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);opacity:.7;margin-top:6px}
.practice-foot{font-family:var(--serif-lit);font-style:italic;font-size:1.02rem;color:var(--ink-soft);opacity:.8;margin:20px auto 22px;max-width:34rem}

@media(max-width:540px){
  .practice-lede{font-size:1.1rem}
}
