/* Original learner dictionary UI · Lani – Be A Gift.
   Words are enhanced in published lesson reading/structures, never in dictation questions. */
.word-tap{
  display:inline;background:transparent;color:inherit;
  font:inherit;letter-spacing:inherit;word-spacing:inherit;line-height:inherit;
  text-transform:inherit;text-decoration:none;
  padding:0;border:0;border-radius:3px;cursor:pointer;
  border-bottom:1px dotted #5da7d1;
}
.word-tap:hover,.word-tap:focus-visible{
  background:#e5f5ff;color:#0f5d9b;
  border-bottom:2px solid #2f83bf;
}
.word-tap:focus-visible{outline:2px solid #4c91d6;outline-offset:2px}
.word-lookup-dialog{
  position:fixed;inset:0;
  padding:0;width:min(510px,calc(100vw - 28px));
  max-height:min(90vh,770px);border:1px solid #c5deef;border-radius:20px;
  box-shadow:0 22px 85px #0d346652;
  background:#fff;color:#153e69;overflow:auto;
}
.word-lookup-dialog::backdrop{background:#0d34568c;backdrop-filter:blur(3px)}
.wl-loading{min-height:180px;display:flex;align-items:center;justify-content:center;gap:15px;padding:35px}
.wl-loading span{font-size:2rem}.wl-loading strong{font-size:1.05rem;color:#174c80}
.wl-loading .wl-close{position:absolute;right:18px;top:14px}
.wl-card{padding:clamp(20px,3vw,29px)}
.wl-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e1edf5;padding-bottom:12px}
.wl-eyebrow{font-size:.73rem;letter-spacing:.12em;color:#4380aa;font-weight:850}
.wl-card h2{font-size:clamp(1.75rem,4vw,2.2rem);margin:7px 0 0;color:#0b3a70}
.wl-close{
  width:43px;height:43px;border:0;border-radius:12px;
  background:#f0f7fc;color:#174b7c;cursor:pointer;font-size:1.65rem;
  flex-shrink:0;
}
.wl-close:hover{background:#dbeeff}
.wl-pron{
  margin:17px 0 10px;
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;
}
.wl-pron>div{padding:9px 14px;background:#f1f8ff;border-radius:11px;min-width:105px}
.wl-pron small,.wl-meaning small,.wl-context small{
  display:block;font-size:.72rem;letter-spacing:.1em;
  color:#477a9d;font-weight:800;margin-bottom:6px
}
.wl-pron strong{font-size:1.1rem;font-weight:650;line-height:1.5}
.wl-muted{font-size:.89rem;color:#72879b}
.wl-audio{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.wl-audio button,.wl-source button{
  border:1px solid #a9d8f3;border-radius:10px;
  background:#e7f6ff;color:#14639f;padding:9px 13px;
  font-family:inherit;font-size:.92rem;font-weight:700;line-height:1.35;min-height:43px;
}
.wl-audio small{color:#748a9e;font-size:.83rem}
.wl-pos{font-size:.89rem;color:#5984a4;font-style:italic}
.wl-meaning{margin:18px 0;padding:17px 18px;background:#f3faf5;border:1px solid #d9edde;border-radius:14px}
.wl-meaning p{font-size:1.14rem;color:#234e37;font-weight:760;line-height:1.55;margin:0 0 6px}
.wl-meaning span{display:block;font-size:.84rem;color:#55826a;line-height:1.45}
.wl-context{padding:14px 17px;background:#f4f9ff;border-left:4px solid #85c4e9;border-radius:0 12px 12px 0;margin-top:16px}
.wl-context p{margin:0;color:#234976;line-height:1.7;font-size:1rem}
.wl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:21px}
.wl-actions .button{min-height:47px}
.wl-actions a{font-weight:750;color:#226da4;line-height:1.5}
.wl-status{font-size:.88rem;color:#24765b;margin:12px 0 0}
.wl-attribution{font-size:.77rem;color:#728598;line-height:1.55;margin:18px 0 0;border-top:1px solid #e6eff6;padding-top:10px}
.wl-library{max-width:1200px;margin:auto}
.wl-library h1{font-size:clamp(1.9rem,4vw,2.5rem);margin:9px 0 10px}
.wl-library .lead{font-size:1.04rem;line-height:1.65}
.wl-library-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:17px 0 20px;background:#f1f8ff;padding:15px 18px;border-radius:13px}
.wl-word-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wl-word-item{min-width:0;background:#fff;border:1px solid #dceaf4;border-radius:16px;padding:18px;box-shadow:0 4px 13px #1c63940c}
.wl-word-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.wl-word-item header small{display:block;color:#73849a;font-size:.88rem;line-height:1.4}
.wl-list-word{background:none;border:0;color:#165b95;padding:0;font-size:1.4rem;font-weight:830;cursor:pointer}
.wl-list-word:hover{text-decoration:underline}
.wl-remove{width:36px;height:36px;background:#f9f1ee;color:#b46b5f;border:0;border-radius:10px;font-size:1.35rem;cursor:pointer}
.wl-word-item>p{font-size:1.07rem;font-weight:650;color:#244f3f;margin:12px 0 5px}
.wl-word-item>small{display:block;color:#547896;line-height:1.5}
.wl-word-item blockquote{margin:11px 0;padding:10px 12px;border-left:3px solid #b9d9ec;background:#f6fbff;border-radius:0 9px 9px 0;font-size:.95rem;line-height:1.65;color:#31587d}
.wl-source{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.89rem;margin-top:13px}
.wl-source a{color:#2068a5;font-weight:750}
.wl-library-note{color:#68839d;font-size:.88rem;margin:25px 0}
@media(max-width:780px){
 .wl-word-grid{grid-template-columns:1fr}
 .wl-card{padding:21px}
 .word-lookup-dialog{max-height:calc(100dvh - 30px)}
 .wl-audio button{min-height:48px}
 .wl-actions .button{width:100%;justify-content:center}
 .wl-library-tools{flex-wrap:wrap}
}

/* Non-blocking dictionary enrichment status. */
.wl-lookup-progress{display:flex;align-items:center;gap:7px;padding:9px 11px;background:#eef7ff;border-left:3px solid #79b8e2;border-radius:0 9px 9px 0;color:#45708f;font-size:.87rem;line-height:1.5;margin:12px 0}

.wl-pron-source{font-size:12px;color:#587f93;margin:11px 0 0;line-height:1.6}
.wl-pron-source a{font-weight:700;text-decoration:underline;text-underline-offset:2px}
.wl-pron-retry{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:12px;font-size:12px;color:#7891a4}
.wl-pron-retry button{padding:8px 12px;min-height:40px;border:1px solid #b6d7e8;border-radius:9px;background:#eff8fd;color:#247ca4;font-weight:800}
.wl-pron-retry button:hover,.wl-pron-retry button:focus-visible{background:#deeffa;outline-offset:2px}

/* One My Vocabulary page: add personally saved words to the same review scheduler. */
.wl-review-schedule{margin-top:14px;display:flex;align-items:center;gap:8px;font-size:.85rem;color:#26755b}
.wl-review-schedule .button{min-height:40px;padding:9px 13px}

/* Automatic spaced-review status in the dictionary popup. */
.wl-review-note{margin-top:16px;padding:12px 15px;border:1px solid #cde2ef;border-radius:12px;background:#f0f8fe;color:#225f88;font-weight:650;line-height:1.5}

.wl-review-note + .wl-actions .button{min-height:42px}
