.learning-plan-cta {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 239, 176, .92) !important;
  color: #fff9e5 !important;
  background: linear-gradient(115deg, #8a5a08, #d5a523 48%, #8a5a08) !important;
  box-shadow: 0 0 0 1px rgba(255, 220, 111, .22), 0 8px 20px rgba(205, 157, 35, .28) !important;
  text-shadow: 0 1px 2px rgba(71, 43, 0, .55);
  animation: learning-plan-glow 2.4s ease-in-out infinite;
}
.learning-plan-cta::before {
  content: "✦";
  margin-right: 8px;
  color: #fff4bd;
}
.learning-plan-cta::after {
  content: "";
  position: absolute;
  inset: -20% auto -20% -35%;
  width: 26%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent);
  animation: learning-plan-sweep 3.2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes learning-plan-glow {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,220,111,.2), 0 7px 17px rgba(205,157,35,.23); }
  50% { box-shadow: 0 0 0 3px rgba(255,220,111,.18), 0 9px 27px rgba(230,183,54,.45); }
}
@keyframes learning-plan-sweep {
  0%, 42% { left: -35%; }
  78%, 100% { left: 125%; }
}

.weekly-modal.learning-plan-open {
  top: calc(50% + 34px);
  width: 560px;
  max-height: calc(100vh - 104px);
  box-sizing: border-box;
}
.learning-plan-section {
  position: relative;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid #ecd181;
  border-radius: 14px;
  background: radial-gradient(ellipse at 100% 0, rgba(255,236,164,.66), transparent 48%), linear-gradient(145deg,#fffdf5,#fff7dd);
  box-shadow: 0 5px 0 #ead8a4, 0 10px 22px rgba(85,68,23,.1), inset 0 1px #fff;
}
.learning-plan-heading { display:flex; align-items:center; gap:9px; margin:0 0 5px; color:#563d06; font-size:17px; }
.learning-plan-heading .spark { color:#d29a0a; animation: learning-plan-star 1.8s ease-in-out infinite; }
@keyframes learning-plan-star { 50% { transform:scale(1.28) rotate(16deg); text-shadow:0 0 12px #eabf45; } }
.learning-plan-intro { margin:0 0 13px; color:#736339; font-size:12px; line-height:1.55; }
.learning-plan-settings { display:grid; grid-template-columns:1fr auto; align-items:center; gap:10px; margin-bottom:12px; }
.learning-plan-settings label { color:#35475a; font-size:13px; font-weight:650; }
.learning-plan-settings input[type=number] { width:94px; padding:8px 10px; border:1px solid #d8c27f; border-radius:9px; background:white; color:#172033; font-size:16px; font-weight:700; text-align:center; }
.learning-plan-types { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 13px; }
.learning-plan-types label { display:flex; align-items:center; gap:6px; padding:7px 10px; border:1px solid #e0d5af; border-radius:9px; background:rgba(255,255,255,.78); color:#43546a; font-size:12px; cursor:pointer; }
.learning-plan-types input { accent-color:#bd8d16; }
.learning-plan-primary,.learning-plan-secondary,.learning-card-button {
  border:0; border-radius:9px; padding:9px 14px; font-weight:700; cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease;
}
.learning-plan-primary { width:100%; color:white; background:linear-gradient(135deg,#a6770e,#c99a1f); box-shadow:0 4px 0 #8f6710,0 8px 14px rgba(127,92,13,.18); }
.learning-plan-primary:hover,.learning-plan-secondary:hover,.learning-card-button:hover { transform:translateY(-1px); }
.learning-plan-secondary { padding:6px 10px; color:#775910; background:#f7edca; }
.learning-plan-progress { display:flex; justify-content:space-between; align-items:center; margin:4px 0 10px; color:#725b22; font-size:12px; }
.learning-plan-progress strong { color:#4d3a0c; }
.learning-card-scene { perspective:1000px; min-height:184px; margin:8px 0 12px; cursor:pointer; }
.learning-card { position:relative; min-height:184px; transform-style:preserve-3d; transition:transform .62s cubic-bezier(.2,.75,.25,1); }
.learning-card.is-flipped { transform:rotateY(180deg); }
.learning-card-face { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:20px; box-sizing:border-box; border:1px solid #cdd9e5; border-radius:14px; background:linear-gradient(145deg,#fff,#eff5fa); box-shadow:0 6px 0 #dce5ed,0 12px 22px rgba(30,53,75,.12),inset 0 1px white; backface-visibility:hidden; -webkit-backface-visibility:hidden; text-align:center; }
.learning-card-face.back { transform:rotateY(180deg); background:linear-gradient(145deg,#fffdf5,#fff2cf); border-color:#e8d28d; box-shadow:0 6px 0 #ead8a4,0 12px 22px rgba(85,68,23,.12),inset 0 1px white; }
.learning-card-kind { color:#8293a6; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.learning-card-term,.learning-card-phonetic { font-size:clamp(25px,4vw,34px); }
.learning-card-term { color:#172c43; font-family:Georgia,"Times New Roman",serif; font-weight:700; overflow-wrap:anywhere; }
.learning-card-phonetic { color:#168f79; font-family:Georgia,"Times New Roman",serif; font-weight:600; line-height:1.1; overflow-wrap:anywhere; }
.learning-card-meaning { color:#4b3b11; font-size:22px; font-weight:750; overflow-wrap:anywhere; }
.learning-card-hint { color:#8795a5; font-size:11px; }
.learning-card-actions { display:flex; justify-content:center; gap:9px; flex-wrap:wrap; }
.learning-card-button { color:#344c62; background:#eaf0f5; box-shadow:0 3px 0 #d1dce5; }
.learning-card-button.remember { color:white; background:linear-gradient(135deg,#24765c,#176149); box-shadow:0 3px 0 #124b3a; }
.learning-plan-status { min-height:17px; margin-top:8px; color:#66806d; font-size:12px; text-align:center; }
.learning-plan-status.error { color:#a34636; }
.learning-plan-complete { padding:22px 10px 14px; color:#285d48; text-align:center; }
.learning-plan-complete strong { display:block; margin:5px; font-size:21px; }
@media (prefers-reduced-motion: reduce) {
  .learning-plan-cta,.learning-plan-cta::after,.learning-plan-heading .spark { animation:none !important; }
  .learning-card { transition:none; }
}
