/* ============ Ankin Academy v2: bloques de lección, quizzes, exámenes y portadas ============ */

/* ---- portadas por categoría (provisionales: degradado + variación del logo) ---- */
.cover-ia{background:radial-gradient(120% 90% at 85% 10%,rgba(255,170,90,.55),transparent 55%),linear-gradient(135deg,#1b0a05 0%,#9a3412 45%,#db2777 100%)}
.cover-python{background:radial-gradient(120% 90% at 15% 90%,rgba(250,204,21,.5),transparent 55%),linear-gradient(135deg,#0a1a2f 0%,#1d4ed8 50%,#0f766e 100%)}
.cover-git{background:radial-gradient(120% 90% at 80% 20%,rgba(251,113,133,.5),transparent 55%),linear-gradient(135deg,#1c0b0b 0%,#b91c1c 50%,#f97316 100%)}
.cover-docker{background:radial-gradient(120% 90% at 20% 20%,rgba(125,211,252,.55),transparent 55%),linear-gradient(135deg,#051a2e 0%,#0369a1 50%,#22d3ee 100%)}
.cover-web{background:radial-gradient(120% 90% at 85% 85%,rgba(196,181,253,.55),transparent 55%),linear-gradient(135deg,#0f0a1f 0%,#4338ca 50%,#a855f7 100%)}
.cover-datos{background:radial-gradient(120% 90% at 15% 15%,rgba(110,231,183,.5),transparent 55%),linear-gradient(135deg,#03211c 0%,#0f766e 45%,#2563eb 100%)}
.cover-seg{background:radial-gradient(120% 90% at 80% 80%,rgba(252,165,165,.45),transparent 55%),linear-gradient(135deg,#0a0a0a 0%,#3f0d12 50%,#b91c1c 100%)}

/* ---- catálogo: categorías y subcategorías ---- */
.ccard .kind .cat{color:var(--text)}
.sub-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0}
.sub-chips .chip{min-height:34px;font-size:13.5px}
.cat-h{font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:1px;margin:34px 0 4px}
.cat-p{color:var(--text-3);margin-bottom:12px}
.soon{opacity:.55}

/* ---- lección: bloques ---- */
.objectives{border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:18px 0 6px;background:var(--surface)}
.objectives b{font-family:var(--mono);font-size:12px;letter-spacing:1px;text-transform:uppercase}
.objectives ul{margin:8px 0 0 20px}
.objectives li{margin:4px 0;color:var(--text-2)}
.lh3{font-size:19px;font-weight:600;margin:22px 0 8px}
.lbl,.lsteps{margin:6px 0 14px 22px}
.lbl li,.lsteps li{margin:6px 0;font-size:16.5px;line-height:1.65;color:#262626}
.lsteps li::marker{font-family:var(--mono);font-weight:700}
.lcode{margin:12px 0 16px;border-radius:12px;overflow:hidden;background:#0b0b0b;border:1px solid #222}
.lcode figcaption{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #222;font-family:var(--mono);font-size:11.5px;color:#9a9a9a;text-transform:uppercase;letter-spacing:1px}
.lcode pre{margin:0;padding:14px 16px;overflow-x:auto;color:#f1f1f1;font-family:var(--mono);font-size:13.5px;line-height:1.6}
.copy-btn{background:transparent;border:1px solid #3a3a3a;color:#d4d4d4;border-radius:999px;font-family:var(--mono);font-size:11px;padding:3px 10px;cursor:pointer}
.copy-btn:hover{border-color:#fff;color:#fff}
.callout{border-radius:12px;padding:12px 16px;margin:12px 0 16px;font-size:15.5px;line-height:1.6}
.callout b{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:4px}
.callout.tip{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d}
.callout.warn{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12}
.lprompt{margin:12px 0 16px;border:1px dashed var(--line-2);border-radius:12px;background:var(--surface);overflow:hidden}
.lprompt figcaption{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:8px 14px;border-bottom:1px dashed var(--line-2);color:var(--text-3)}
.lprompt pre{margin:0;padding:14px 16px;white-space:pre-wrap;font-family:var(--mono);font-size:13.5px;line-height:1.6;color:var(--text)}
.lprompt .why{margin:0;padding:10px 16px 14px;font-size:15px}
.lcompare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 16px}
.lcompare>div{border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:15.5px;line-height:1.6;color:#262626}
.lcompare>div:last-child{background:#0b0b0b;color:#e5e5e5;border-color:#0b0b0b}
.lcompare b{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px}
.lsec-ai{border-top:2px solid var(--text)}
.lsec-labs .lab{margin:18px 0 26px}
.table-wrap thead th{background:var(--surface)}

/* ---- quiz de repaso por sección ---- */
.squiz{margin:22px 0 6px;border:1px solid var(--line);border-radius:14px;padding:6px 18px 12px;background:var(--surface)}
.squiz-h{font-family:var(--mono);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:10px 0 4px}
.sq{border:0;border-top:1px dashed var(--line);padding:12px 0 6px;margin:0}
.sq:first-of-type{border-top:0}
.sq legend{font-weight:600;font-size:15.5px;padding:0;margin-bottom:6px}
.sq-opt{display:flex;gap:10px;align-items:flex-start;padding:7px 10px;border-radius:10px;cursor:pointer;font-size:15px}
.sq-opt:hover{background:#fff}
.sq-opt input{margin-top:4px;accent-color:#000}
.sq-fb{font-size:14px;margin:6px 0 0;min-height:1em}
.sq-ok .sq-fb{color:#15803d}
.sq-bad .sq-fb{color:#b91c1c}

/* ---- examen de la lección ---- */
.test-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--text);border-radius:14px;padding:16px 18px}
.test-cta b{font-size:16px}
.toc-exam{margin-top:16px}
.cert-status.fail{background:#b91c1c}
.p-review-h{font-family:var(--mono);font-size:13px;letter-spacing:2px;text-transform:uppercase;margin:34px 0 10px}
.review{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:10px 0}
.review.ok{border-left:4px solid #15803d}
.review.bad{border-left:4px solid #b91c1c}
.review-q{font-weight:600;margin:0 0 4px}
.review-a{margin:0;color:var(--text-2);font-size:15px}
.review-e{margin:6px 0 0;font-size:14.5px;color:#7c2d12}

@media(max-width:700px){.lcompare{grid-template-columns:1fr}}

/* ============ Idiomas (es / en / ja / pt) ============ */
/* Aviso: lección aún no traducida, o curso con traducción parcial */
.lang-notice{border:1px dashed var(--line-2);border-radius:10px;background:var(--surface);color:var(--text-2);padding:10px 14px;margin:12px 0;font-size:14.5px;line-height:1.55}
.lang-note{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.4px;color:var(--text-3);margin:6px 0 2px}
.review-e-ok{color:#14532d}
/* Cabecera: selector de idioma junto al botón de cuenta; en pantallas chicas pasa a otra fila */
.anav-end{display:flex;align-items:center;gap:10px;flex:none}
.anav-end .langsw{color:var(--text-2)}
@media(max-width:760px){
  .anav{height:auto;min-height:var(--nav-h)}
  .anav .container{flex-wrap:wrap;row-gap:6px;padding-top:6px;padding-bottom:6px}
  .anav-end{margin-left:auto}
}
@media(max-width:480px){
  .alinks a{padding:0 8px;font-size:11.5px}
  .anav-end .btn{padding:0 12px;max-width:44vw;overflow:hidden;text-overflow:ellipsis}
}
/* Textos largos sin espacios (japonés, URLs, títulos compuestos): que siempre corten */
.ccard h3,.ccard p,.course h1,.tagline,.syllabus b,.syllabus span,.toc-t,.lesson h1,.lesson h2,.lesson p,.lesson li,
.review-q,.q legend,.sq legend,.missing a,.exam-rules span,.cert-card h1,.notice,.alert,.lang-notice{overflow-wrap:anywhere}
/* Japonés: fuentes con glifos CJK como respaldo y ajustes de ritmo */
:lang(ja){
  --sans:'Inter','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic UI','Yu Gothic','Meiryo','Noto Sans JP',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,'Hiragino Sans','Yu Gothic','Meiryo','Noto Sans JP',monospace;
  --display:'League Gothic','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo','Noto Sans JP',sans-serif;
}
:lang(ja) body,:lang(ja) .lesson,:lang(ja) .ccard{line-break:strict;word-break:normal}
:lang(ja) .lesson p,:lang(ja) .lesson li{line-height:1.9}
:lang(ja) .ahero h1{word-break:auto-phrase;font-weight:700;letter-spacing:.02em;line-height:1.2;font-size:clamp(34px,5.2vw,60px)}
:lang(ja) .results-bar h2,:lang(ja) .cat-h{font-weight:700;letter-spacing:.02em}
:lang(ja) .alinks a,:lang(ja) .btn,:lang(ja) .kind,:lang(ja) .stats span,:lang(ja) .filters legend,:lang(ja) .lkicker,
:lang(ja) .squiz-h,:lang(ja) .objectives b,:lang(ja) .callout b,:lang(ja) .lcompare b,:lang(ja) .p-review-h{letter-spacing:.04em}
:lang(ja) .btn{white-space:normal;text-align:center;line-height:1.3}
