@font-face{font-family:Nunito;src:url(/assets/fonts/nunito.woff2) format("woff2");font-weight:200 1000;font-display:swap}
@font-face{font-family:Kalam;src:url(/assets/fonts/kalam-bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--paper:#f6f1e6;--paper2:#efe8d8;--ink:#34332f;--pencil:#7d7b74;--line:#c9c3b3;--orange:#e8772e;--orange-d:#c85f1a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Nunito,system-ui,sans-serif;
  background-image:radial-gradient(rgba(120,110,90,.06) 1px,transparent 1px);background-size:5px 5px}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--orange-d);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
.vh{position:absolute;left:-9999px}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:8px 12px;z-index:9}.skip:focus{left:8px;top:8px}
h1,h2,h3{font-family:Kalam,"Comic Sans MS",cursive;font-weight:700;line-height:1.2;color:var(--ink)}
h1{font-size:clamp(1.7rem,6vw,2.7rem);margin:.3em 0 .5em}
h2{font-size:1.4rem;margin:1.6em 0 .4em}
.kicker{font-family:Kalam,cursive;color:var(--orange-d);margin:0;font-size:1rem}
.lead{font-size:1.1rem;color:#4b4a45;max-width:46em}
.top{border-bottom:2px solid var(--line);background:var(--paper)}
.bar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}
.brand{font-family:Kalam,cursive;font-size:1.25rem;text-decoration:none;color:var(--ink);line-height:1}
.brand .lm{color:var(--orange)}
nav{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
nav a{color:var(--ink);text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent}
nav a:hover{border-bottom-color:var(--orange)}
.lang{border:2px solid var(--pencil)!important;border-radius:14px 10px 14px 10px/10px 14px 10px 14px;padding:3px 10px!important;font-weight:700;font-size:.9rem}
.lang .on{color:var(--orange-d)}
.hero{padding-top:34px;padding-bottom:10px}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.btn{display:inline-block;background:var(--orange);color:#fff;text-decoration:none;font-weight:800;padding:11px 20px;border:2px solid var(--ink);border-radius:14px 10px 15px 9px/10px 15px 9px 14px;cursor:pointer;font:inherit;font-weight:800;box-shadow:2px 2px 0 var(--ink)}
.btn:hover{background:var(--orange-d);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:none}
.btn.ghost:hover{background:var(--paper2);color:var(--ink)}
.char-row{display:grid;grid-template-columns:1fr;gap:18px}
.chars figure{margin:0;display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;border:2px solid var(--line);border-radius:16px 10px 14px 12px;padding:12px;background:transparent}
.chars img{width:110px;height:auto}
.chars figcaption b{display:block;font-family:Kalam,cursive;font-size:1.15rem}
.chars figcaption span{color:#55534d;font-size:.97rem}
.latest-card{display:block;text-decoration:none;color:var(--ink);border:2px solid var(--ink);border-radius:14px 10px 15px 9px/10px 15px 9px 14px;overflow:hidden;background:#fff;box-shadow:3px 3px 0 var(--line)}
.latest-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.latest-card .cap{display:block;padding:12px 16px}
.num{display:block;font-family:Kalam,cursive;color:var(--orange-d);font-size:.95rem}
.ttl{display:block;font-family:Kalam,cursive;font-size:1.3rem;line-height:1.25}
.meta{display:block;color:#6b6962;font-size:.92rem}
.note,.hint{color:#6b6962;font-size:.92rem}
.page{padding-top:28px;padding-bottom:20px}
.eps{list-style:none;margin:20px 0;padding:0;display:grid;gap:10px}
.ep a,.ep>div{display:block;border:2px solid var(--ink);border-radius:12px 9px 13px 8px/9px 13px 8px 12px;padding:10px 14px;text-decoration:none;color:var(--ink);background:rgba(255,255,255,.5)}
.ep.rel a:hover{background:#fff;border-color:var(--orange)}
.ep.soon>div{border-color:var(--line);border-style:dashed;color:#77746b;background:transparent}
.ep.soon .num{color:var(--pencil)}
.video{margin:18px 0}
video{width:100%;aspect-ratio:16/9;background:#2b2a27;border:2px solid var(--ink);border-radius:10px}
.vtabs{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.vtabs button{font:inherit;font-weight:700;background:transparent;border:2px solid var(--pencil);border-radius:12px 8px 12px 9px;padding:6px 14px;color:var(--ink);cursor:pointer}
.vtabs button.on{background:var(--orange);color:#fff;border-color:var(--ink)}
.two{display:grid;gap:8px 28px}
.ask{font-family:Kalam,cursive;font-size:1.35rem;color:var(--orange-d);margin:.2em 0 0}
.test{background:var(--paper2);border-left:5px solid var(--orange);padding:4px 18px 14px;border-radius:4px 12px 12px 4px;align-self:start}
.test h2{margin-top:.8em}
.dl .cover,.dl-ep .cover{display:grid;gap:16px;align-items:start}
.dl .cover img,.dl-ep .cover img{width:min(200px,60%);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--line)}
.dl-grid{display:grid;gap:14px}
.dl-col h4{margin:0 0 6px;font-family:Kalam,cursive;font-size:1.1rem}
.dl-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.dl-col li .hint{display:block;margin-top:2px}
.dl-col .btn{padding:8px 14px}
small{font-weight:400;opacity:.75}
.pn{display:flex;justify-content:space-between;gap:12px;margin:34px 0 8px;font-weight:700}
.rhythm,.latest,.chars{padding-top:6px;padding-bottom:6px}
.next{background:var(--paper2);padding:10px 14px;border-radius:10px}
.prose{max-width:720px}
.foot{margin-top:50px;border-top:2px solid var(--line);background:var(--paper2);padding:8px 0 30px}
.signup{background:var(--paper);border:2px solid var(--ink);border-radius:16px 10px 15px 11px/11px 15px 10px 14px;padding:6px 20px 18px;margin:30px 0 22px;max-width:620px}
.signup h2{margin-top:.8em}
.signup .row{display:flex;gap:8px;flex-wrap:wrap}
.signup input[type=email]{flex:1 1 220px;font:inherit;padding:10px 12px;border:2px solid var(--pencil);border-radius:10px;background:#fff;color:var(--ink);min-width:0}
.signup button{font:inherit;font-weight:800;padding:10px 18px;background:var(--orange);color:#fff;border:2px solid var(--ink);border-radius:12px 9px 13px 9px;cursor:pointer;box-shadow:2px 2px 0 var(--ink)}
.signup button[disabled]{opacity:.6}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:.92rem;line-height:1.45}
.consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--orange);flex:none}
.msg{min-height:1.4em;margin:10px 0 0;font-weight:700}.msg.ok{color:#2f6b3a}.msg.err{color:#b3321b}
.legal{font-family:Kalam,cursive;font-size:1.05rem;margin:6px 0}
.social a{margin-right:16px;font-weight:700}
.small{font-size:.88rem;color:#6b6962}
@media(min-width:720px){
  body{font-size:18px}
  .char-row{grid-template-columns:repeat(3,1fr)}
  .chars figure{grid-template-columns:1fr;text-align:center;justify-items:center}
  .chars img{width:150px}
  .two{grid-template-columns:3fr 2fr}
  .dl .cover,.dl-ep .cover{grid-template-columns:200px 1fr}
  .dl-grid{grid-template-columns:1fr 1fr}
  .dl .cover img,.dl-ep .cover img{width:100%}
}
@media(prefers-reduced-motion:no-preference){.btn,.ep a{transition:background .15s,border-color .15s}}
