/* Hermes Daily — hmbook.kuma.cx */
:root{
  --bg: oklch(17% 0.02 280);
  --bg2: oklch(21% 0.025 280);
  --card: oklch(24% 0.03 280);
  --line: oklch(32% 0.03 280);
  --ink: oklch(93% 0.01 80);
  --dim: oklch(72% 0.015 280);
  --amber: oklch(80% 0.14 75);
  --amber-deep: oklch(65% 0.15 65);
  --green: oklch(75% 0.13 150);
  --indigo: oklch(65% 0.12 285);
  --red: oklch(68% 0.16 25);
  --radius: 14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
body{
  background:var(--bg);color:var(--ink);
  font-family:'Noto Sans Thai','IBM Plex Sans Thai',-apple-system,'Segoe UI',sans-serif;
  line-height:1.75;-webkit-font-smoothing:antialiased;
}
a{color:var(--amber);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:880px;margin:0 auto;padding:0 20px}

/* header */
header.site{
  position:sticky;top:0;z-index:10;
  background:color-mix(in oklch, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{font-weight:800;font-size:1.1rem;letter-spacing:.02em;color:var(--ink)}
.logo span{color:var(--amber)}
.hprog{font-size:.85rem;color:var(--dim)}

/* hero */
.hero{padding:48px 0 8px}
.hero img{width:100%;border-radius:var(--radius);border:1px solid var(--line);display:block}
.hero h1{font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800;margin:28px 0 8px;text-wrap:balance}
.hero p.sub{color:var(--dim);font-size:1.05rem;max-width:62ch}
.hero .stats{display:flex;gap:24px;margin:24px 0 8px;flex-wrap:wrap}
.hero .stat b{display:block;font-size:1.5rem;color:var(--amber)}
.hero .stat i{font-style:normal;color:var(--dim);font-size:.85rem}

/* progress bar */
.pbar{height:8px;background:var(--bg2);border-radius:99px;overflow:hidden;margin:12px 0 4px;border:1px solid var(--line)}
.pbar>div{height:100%;background:linear-gradient(90deg,var(--amber-deep),var(--amber));width:0;transition:width .4s cubic-bezier(.22,1,.36,1)}
.plabel{font-size:.85rem;color:var(--dim)}

/* level sections */
.level{margin:56px 0}
.level img.banner{width:100%;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:20px}
.level h2{font-size:1.4rem;font-weight:800;display:flex;align-items:center;gap:10px}
.level h2 .badge{font-size:.75rem;font-weight:700;padding:3px 12px;border-radius:99px;letter-spacing:.05em}
.lv1 .badge{background:oklch(35% 0.08 150);color:var(--green)}
.lv2 .badge{background:oklch(35% 0.08 90);color:var(--amber)}
.lv3 .badge{background:oklch(35% 0.09 60);color:var(--amber-deep)}
.lv4 .badge{background:oklch(33% 0.09 25);color:var(--red)}
.level p.desc{color:var(--dim);margin:6px 0 20px;max-width:65ch}
.days{display:grid;gap:10px}
.day{
  display:flex;align-items:center;gap:16px;
  background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 18px;color:var(--ink);transition:border-color .15s,transform .15s;
}
.day:hover{border-color:var(--amber-deep);text-decoration:none;transform:translateX(4px)}
.day .num{
  flex:0 0 44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:var(--card);font-weight:800;color:var(--dim);font-size:.95rem;
}
.day.done .num{background:oklch(33% 0.08 150);color:var(--green)}
.day .t{flex:1}
.day .t b{display:block;font-weight:700}
.day .t small{color:var(--dim)}
.day .chk{color:var(--green);font-size:1.2rem;opacity:0;transition:opacity .2s}
.day.done .chk{opacity:1}

/* lesson page */
.lesson{padding:40px 0 80px}
.crumb{font-size:.85rem;color:var(--dim);margin-bottom:16px}
.lesson h1{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:800;margin:4px 0 6px;text-wrap:balance}
.meta{color:var(--dim);font-size:.9rem;margin-bottom:28px}
.meta .lvchip{padding:2px 10px;border-radius:99px;font-size:.75rem;font-weight:700;margin-right:8px}
.content h2{font-size:1.25rem;font-weight:800;margin:36px 0 12px;color:var(--amber)}
.content h3{font-size:1.05rem;font-weight:700;margin:24px 0 8px}
.content p{margin:12px 0;max-width:70ch}
.content ul,.content ol{margin:12px 0 12px 24px;max-width:68ch}
.content li{margin:6px 0}
.content code{
  background:var(--card);border:1px solid var(--line);border-radius:6px;
  padding:2px 7px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.85em;color:var(--amber);
}
.content pre{
  background:oklch(14% 0.02 280);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;overflow-x:auto;margin:16px 0;
}
.content pre code{background:none;border:none;padding:0;color:oklch(85% 0.03 150);font-size:.85rem;line-height:1.6}
.content table{border-collapse:collapse;width:100%;margin:16px 0;font-size:.92rem}
.content th,.content td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.content th{background:var(--bg2);color:var(--amber)}
.tipbox{
  background:oklch(26% 0.05 90 / .35);border:1px solid oklch(45% 0.08 90);
  border-radius:var(--radius);padding:18px 22px;margin:36px 0;
}
.tipbox b{color:var(--amber)}
.warnbox{
  background:oklch(26% 0.05 25 / .3);border:1px solid oklch(45% 0.09 25);
  border-radius:var(--radius);padding:14px 20px;margin:16px 0;
}
.warnbox b{color:var(--red)}

/* quiz */
.quiz{margin:44px 0 0;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.quiz h2{color:var(--indigo);font-size:1.15rem;margin:0 0 16px;font-weight:800}
.q{margin:0 0 20px}
.q p.qq{font-weight:700;margin:0 0 10px}
.q label{
  display:flex;gap:10px;align-items:flex-start;padding:9px 14px;border:1px solid var(--line);
  border-radius:10px;margin:6px 0;cursor:pointer;transition:border-color .15s;background:var(--bg);
}
.q label:hover{border-color:var(--indigo)}
.q label.correct{border-color:var(--green);background:oklch(28% 0.06 150/.4)}
.q label.wrong{border-color:var(--red);background:oklch(28% 0.07 25/.35)}
.q input{margin-top:6px;accent-color:var(--amber)}

/* footer nav */
.navbtns{display:flex;justify-content:space-between;gap:12px;margin:48px 0 0}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:12px;
  border:1px solid var(--line);background:var(--bg2);color:var(--ink);font-weight:700;
  cursor:pointer;font-size:.95rem;transition:border-color .15s;font-family:inherit;
}
.btn:hover{border-color:var(--amber-deep);text-decoration:none}
.btn.primary{background:var(--amber-deep);border-color:var(--amber-deep);color:oklch(15% 0.02 280)}
.btn.primary:hover{background:var(--amber)}
footer.site{border-top:1px solid var(--line);margin-top:80px;padding:32px 0;color:var(--dim);font-size:.85rem}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}
@media (max-width:560px){.day .t small{display:none}}
