:root{--bg:#2e3440;--s:#3b4252;--s2:#434c5e;--t:#eceff4;--m:#d8dee9;--a:#88c0d0;--hl:#a3be8c}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--t);font-family:system-ui,-apple-system,'Segoe UI','Noto Sans JP',sans-serif;line-height:1.5}
a{color:var(--a)}
.top{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:var(--s)}
.brand{font-weight:800;color:var(--t);text-decoration:none;font-size:1.15rem}
.wrap{max-width:960px;margin:0 auto;padding:1.5rem 1rem 3rem}
h1{font-size:clamp(1.6rem,4vw,2.4rem);margin:.5rem 0}
.lead{color:var(--m);font-size:1.1rem;max-width:65ch}
.row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.row input,.row button{font:inherit;padding:.6rem .8rem;border-radius:8px;border:1px solid var(--s2);background:var(--s);color:var(--t)}
.row input{flex:1 1 14rem;min-width:0}
.row button,.btn{background:var(--a);color:var(--bg);border:0;font-weight:700;cursor:pointer;padding:.6rem 1.1rem;border-radius:8px;text-decoration:none;display:inline-block}
.facts{padding-left:1.1rem}
.facts li{margin:.35rem 0}
.notes li{color:#ebcb8b}
.muted{color:var(--m)}
.small{font-size:.85rem}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:560px}
th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--s2);vertical-align:top}
tr.hl td{background:rgba(163,190,140,.12)}
.callout{background:rgba(163,190,140,.15);border-left:4px solid var(--hl);padding:.7rem .9rem;border-radius:6px;margin:.8rem 0}
