:root{--ra-accent:#1a4590;--ink:#16324f;--paper:#fffaf0;--sea:#1a4590;--land:#8cc56b;--sun:#ffd166;--red:#e4572e;--radius:18px;--sans:"Trebuchet MS",Verdana,system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:19px/1.6 var(--sans)}
.wrap{max-width:46rem;margin:0 auto;padding:0 1rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
header.site{background:var(--sea);color:#fff;padding:.6rem 0}header.site a{color:#fff;font-weight:bold}
header.site nav a{margin-right:1rem}.brand{font-size:1.2rem;margin-right:1.5rem;text-decoration:none}
.hero{text-align:center;padding:1.5rem 0}.hero h1{font-size:2.3rem;margin:.3rem 0}.tag{font-size:1.2rem}
.card{background:#fff;border:3px solid var(--sea);border-radius:var(--radius);padding:1rem 1.2rem;margin:1.2rem 0}
.parts{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.part h3{margin:.2rem 0;color:var(--sea)}
button{font:inherit;background:var(--sun);border:2px solid var(--ink);border-radius:12px;padding:.4rem .9rem;cursor:pointer;margin:.2rem}
button:focus-visible{outline:3px solid var(--red)}
fieldset{border:2px dashed var(--sea);border-radius:12px;margin:1rem 0}
.fb{font-weight:bold}.ok{color:#145a22}.no{color:#8c1d17}
.print-only{display:none}
.pager,.jugami-more{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:1.5rem 0}
footer.site{background:var(--ink);color:#fff;padding:1rem 0;font-size:.95rem}footer.site a{color:var(--sun)}
img,svg{max-width:100%;height:auto}
main a{color:#1a4590}main a:visited{color:#551a8b}
