:root{
  --paper:#F3E9DC; --card:#FFFBF4; --navy:#23344A; --ink:#2C3A4D; --muted:#5E6B7C;
  --teal:#2F8F83; --teal-dk:#236F66; --mustard:#E3A93C; --brick:#C2573F;
  --head:"Nunito","Avenir Next","Segoe UI",system-ui,sans-serif;
  --body:"Nunito Sans","Avenir Next","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--teal-dk)}
.topbar{background:var(--navy);padding:calc(14px + env(safe-area-inset-top,0px)) 20px 14px;text-align:center}
.topbar a{color:#F3E9DC;text-decoration:none;font:900 17px/1 var(--head)}
.topbar a span{color:var(--mustard)}
.wrap{max-width:720px;margin:0 auto;padding:36px 20px 0}
.back{display:inline-block;font:800 14px/1 var(--head);text-decoration:none;margin-bottom:22px}
h1,h2{font-family:var(--head);color:var(--navy);line-height:1.15}
h1{font-size:clamp(30px,5.5vw,42px);font-weight:900;letter-spacing:-.015em;margin:0 0 6px}
.updated{color:var(--muted);font-size:14px;margin:0 0 26px}
.doc{background:var(--card);border:1px solid #E6D8C4;border-radius:20px;padding:10px 28px 26px}
h2{font-size:21px;font-weight:900;margin:28px 0 8px}
p,li{margin:0 0 .8em}
ul{padding-left:1.2em}
b,strong{color:var(--navy)}
.box{background:#EAF4F2;border-radius:14px;padding:16px 18px;margin:20px 0 4px}
.box b{display:block;font-family:var(--head)}
.todo{background:#FFE9A8;border-radius:4px;padding:0 4px;font-weight:700}
.mail{display:inline-block;margin-top:6px;background:var(--brick);color:#fff;text-decoration:none;font:900 18px/1 var(--head);
  padding:18px 22px;border-radius:14px;box-shadow:0 5px 0 #8E3A28;word-break:break-all}
footer{max-width:720px;margin:48px auto 0;padding:24px 20px calc(40px + env(safe-area-inset-bottom,0px));border-top:1px solid #D9C7AE;font-size:13px;color:var(--muted)}
footer a{color:var(--muted)}
@media (max-width:560px){
  body{font-size:16px}
  .wrap{padding-top:26px}
  .doc{padding:4px 18px 20px;border-radius:16px}
  h2{font-size:19px}
  .mail{font-size:16px;padding:16px 18px}
}
