/* kynanglamviec.com – không phông chữ ngoài, không mã ngoài */
:root{
  --ink:#1d2a33; --muted:#5b6b75; --bg:#fbfaf7; --card:#fff; --line:#e3e0d8;
  --brand:#14524f; --brand-2:#1f7a74; --accent:#d98a1c; --accent-bg:#fdf3e2;
  --ok:#2e7d32; --ok-bg:#e8f5e9; --no:#b3261e; --no-bg:#fdecea;
  --r:12px; --max:780px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand-2)} a:hover{color:var(--brand)}
h1,h2,h3{line-height:1.25;color:var(--brand)}
h1{font-size:1.85rem;margin:.6em 0 .3em}
h2{font-size:1.35rem;margin:1.8em 0 .5em;padding-top:.3em;border-top:1px solid var(--line)}
h3{font-size:1.1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
.wrap.wide{max-width:1040px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:6px 10px;z-index:9}
.top{background:var(--brand);color:#fff}
.top-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding-top:10px;padding-bottom:10px;max-width:1040px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;line-height:1.1;font-size:.95rem}
.logo{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--accent);color:#fff;font-size:1.2rem}
.nav{display:flex;flex-wrap:wrap;gap:4px 14px}
.nav a{color:#d9eeec;text-decoration:none;font-size:.95rem;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{color:#fff;border-bottom-color:var(--accent)}
main{padding-bottom:40px}
.lead{font-size:1.1rem;color:#33454f}
.muted{color:var(--muted)} .small{font-size:.9rem}
.hero{padding:22px 0 6px}
.hero h1{font-size:2.1rem}
.btn{display:inline-block;background:var(--brand);color:#fff;border:2px solid var(--brand);border-radius:999px;padding:9px 18px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;margin:4px 6px 4px 0}
.btn:hover{background:var(--brand-2);border-color:var(--brand-2);color:#fff}
.btn.ghost{background:transparent;color:var(--brand)}
.btn.ghost:hover{background:var(--brand);color:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.cards{list-style:none;padding:0;display:grid;gap:10px}
.lesson-card{display:flex;flex-direction:column;gap:2px}
.lesson-card a{text-decoration:none}
.meta{color:var(--muted);font-size:.88rem}
.tag{display:inline-block;font-size:.75rem;padding:1px 8px;border-radius:999px;background:var(--accent-bg);color:#8a5200;width:max-content}
.done-flag{color:var(--ok);font-weight:600;font-size:.88rem}
.grid5{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px}
.group-card{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink);transition:transform .1s}
.group-card:hover{transform:translateY(-2px);border-color:var(--brand-2)}
.group-card b{color:var(--brand)}
.gcode{display:inline-grid;place-items:center;min-width:2.4em;height:1.8em;padding:0 .4em;border-radius:6px;background:var(--brand);color:#fff;font-weight:700;font-size:.85em;width:max-content}
h1 .gcode{vertical-align:middle;margin-right:6px}
.clusters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 18px}
.cluster h3{margin:.6em 0 .2em}
.cluster ul{margin:0;padding-left:18px}
.cols2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.cols2 p{margin:.3em 0 0}
.note{background:var(--accent-bg);border-left:4px solid var(--accent);padding:10px 14px;border-radius:0 var(--r) var(--r) 0}
blockquote{margin:1em 0;padding:10px 16px;background:#eef6f5;border-left:4px solid var(--brand-2);border-radius:0 var(--r) var(--r) 0}
blockquote p{margin:.4em 0}
table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.95rem;background:var(--card)}
th,td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
th{background:#f1efe9}
.matrix td:first-child{white-space:nowrap}
.meta-table th{width:9em;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:500;font-size:.85rem}
.mk{display:inline-block;width:1.2em;text-align:center;font-weight:700}
.mk-c{color:var(--brand-2)} .mk-a{color:var(--accent)} .mk-o{color:var(--muted)} .mk--{color:#aaa}
.crumb{font-size:.9rem;color:var(--muted);margin:18px 0 0}
.crumb a{color:var(--muted)}
.modules li{margin:.2em 0}
.level{border-left:3px solid var(--line);padding-left:14px;margin:14px 0}
.level h3{margin:.2em 0}
.lvn{display:inline-block;background:var(--accent-bg);color:#8a5200;border-radius:6px;padding:0 7px;font-size:.85em;margin-right:4px}
.level .cards{margin:6px 0}
/* bài học */
.lesson h2{scroll-margin-top:10px}
.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0;counter-reset:f}
.flow span{background:var(--brand);color:#fff;padding:8px 14px;border-radius:999px;font-weight:600;font-size:.95rem;position:relative}
.flow span:not(:last-child)::after{content:"→";position:absolute;right:-14px;color:var(--brand);font-weight:700}
.flow span:not(:last-child){margin-right:10px}
details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 14px;margin:8px 0}
summary{cursor:pointer;font-weight:600;color:var(--brand)}
details[open] summary{margin-bottom:6px}
.quiz .q{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin:12px 0}
.q-prompt{margin:.2em 0 .6em}
.opts{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.opt{width:100%;text-align:left;font:inherit;background:#f7f6f2;border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer;color:var(--ink)}
.opt:hover{border-color:var(--brand-2)}
.opt[disabled]{cursor:default}
.opt.right{background:var(--ok-bg);border-color:var(--ok)}
.opt.wrong{background:var(--no-bg);border-color:var(--no)}
.why{margin:4px 2px 0;font-size:.92rem}
.why-1 b{color:var(--ok)} .why-0 b{color:var(--no)}
.js .why{display:none}
.js .q.answered .why{display:block}
.quiz-score{font-weight:600;color:var(--brand)}
.reflect{width:100%;min-height:80px;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin:6px 0 2px;background:#fff}
.saved{font-size:.85rem;color:var(--ok)}
.finish{margin-top:28px}
.finish h2{border:0;margin-top:.2em}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}
.pager .next{margin-left:auto}
/* tự đánh giá */
.sa-skill{padding:10px 14px}
.sa-skill summary{font-size:1.05rem}
.sa-result{font-weight:500;color:var(--accent);font-size:.9rem;margin-left:6px}
.sa-item{border:0;border-top:1px solid var(--line);margin:0;padding:10px 0}
.sa-item legend{padding:0;font-weight:500}
.sa-opts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.sa-opts label{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-size:.88rem;cursor:pointer;background:#f7f6f2}
.sa-opts input{margin:0;accent-color:var(--brand)}
.sa-opts label:has(input:checked){background:#e2f0ee;border-color:var(--brand-2)}
.journal-entry{margin:10px 0}
.journal-entry .meta{display:block}
.foot{border-top:1px solid var(--line);background:#f3f1ec;font-size:.88rem;color:var(--muted);padding:16px 0 28px}
.foot a{color:var(--muted)}
@media (max-width:560px){
  body{font-size:16px} h1{font-size:1.55rem} .hero h1{font-size:1.7rem}
  .matrix td:first-child{white-space:normal}
}
@media print{
  .top,.foot,.noprint,.finish,.pager,.skip,.btn{display:none!important}
  body{background:#fff;font-size:12pt}
  details{border:0;padding:0} details>summary{list-style:none}
  .sa-skill{break-inside:avoid}
  .print-form td{height:2.4em}
  a{color:inherit;text-decoration:none}
}
