:root{--fg:#1d2330;--mut:#5b6474;--bg:#fff;--acc:#0b6e4f;--warn:#fff4d6;--line:#e5e8ee}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;color:var(--fg);background:var(--bg);line-height:1.9;
font-family:"Noto Sans Myanmar","Padauk","Myanmar Text","Myanmar Sangam MN","Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif}
[lang=ja]{line-height:1.7}
a{color:var(--acc)}
header.top{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid var(--line)}
.brand{font-weight:700;text-decoration:none;color:var(--fg)}.brand small{display:block;font-weight:400;font-size:.75rem;color:var(--mut)}
nav a{margin-right:.8rem;font-size:.9rem;white-space:nowrap}
main{max-width:720px;margin:0 auto;padding:1rem}
h1{font-size:1.45rem;line-height:1.7;margin:.6rem 0 .2rem}h2{font-size:1.15rem;margin-top:1.6rem}
.sub{color:var(--mut);margin-top:0}.small{font-size:.8rem;color:var(--mut)}
.note{background:#f3f6fa;border-left:4px solid #8aa0bf;padding:.6rem .8rem;margin:1rem 0;font-size:.9rem}
.note.review{background:var(--warn);border-color:#e0a800}
.list{padding-left:1.1rem}.list li{margin:.5rem 0}
.tag{font-size:.7rem;background:#e8f3ef;color:var(--acc);padding:.05rem .4rem;border-radius:4px;margin-left:.4rem}
.crumb{font-size:.85rem;color:var(--mut)}
.toggle{position:absolute;opacity:0}.btn{display:inline-block;border:1px solid var(--acc);color:var(--acc);border-radius:6px;padding:.2rem .7rem;font-size:.85rem;cursor:pointer;margin:.3rem 0}
.toggle:checked+.btn{background:var(--acc);color:#fff}
.line{margin:.9rem 0}.line .ja{display:none;color:var(--mut);font-size:.88rem}
.toggle:checked~.body .ja{display:block}
.pr{border:1px dashed #b9b9b9;padding:.6rem .8rem;margin:1.2rem 0;border-radius:6px}.prtag{font-size:.75rem;font-weight:700;background:#666;color:#fff;padding:.05rem .4rem;border-radius:3px}
.sources ul{font-size:.85rem}
.hero{padding:.5rem 0}.cards{display:grid;gap:.8rem;grid-template-columns:1fr}
@media(min-width:600px){.cards{grid-template-columns:1fr 1fr}}
.card{display:block;border:1px solid var(--line);border-radius:10px;padding:.9rem;text-decoration:none;color:var(--fg)}.card span{display:block;font-size:.85rem;color:var(--mut)}
.q{border:1px solid var(--line);border-radius:10px;padding:.8rem;margin:1rem 0}.qmeta{font-size:.75rem;color:var(--mut);margin:0}
.stem{font-size:1.1rem;margin:.3rem 0 .6rem}
.choices{display:grid;gap:.4rem}.ch{font:inherit;text-align:left;padding:.55rem .7rem;border:1px solid #cfd5df;border-radius:8px;background:#fff;cursor:pointer;min-height:44px}
.ch.ok{background:#e3f6ea;border-color:#2e9b5b}.ch.ng{background:#fde8e8;border-color:#d64545}
.result{font-weight:700;margin:.4rem 0}.exp ul{padding-left:1.1rem}.exp small{color:var(--mut)}
.score{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:.4rem 0;z-index:1}
.reset{font:inherit;font-size:.8rem;margin-left:.6rem}
.sets a{display:inline-block;padding:.1rem .6rem;border:1px solid var(--line);border-radius:6px;margin:.2rem}.sets a.cur{background:var(--acc);color:#fff}
footer{max-width:720px;margin:2rem auto;padding:1rem;border-top:1px solid var(--line);font-size:.85rem}
.jablock{font-size:.9rem}
