@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-italic.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/shippori-mincho-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/shippori-mincho-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zen-kaku-gothic-new-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/zen-kaku-gothic-new-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/zen-kaku-gothic-new-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{ --bg:#f1ede6; --card:#fbf9f4; --ink:#1f1c1a; --muted:#6a645a; --line:#d8d0c2; --pink:#ff7eb6; --lav:#e8e1fa; --edge:2px;
  --serif:"Shippori Mincho","Hiragino Mincho ProN",Georgia,serif;
  --sans:"Zen Kaku Gothic New","Hiragino Sans",system-ui,-apple-system,"Segoe UI",sans-serif; color-scheme:light; }
@media (prefers-color-scheme: dark){ :root{ --bg:#1b1a18; --card:#252320; --ink:#efe9df; --muted:#a9a195; --line:#3d3a34; color-scheme:dark; } }
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-padding-top:env(safe-area-inset-top,0px); }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.65;
  padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px); }
.wrap{ max-width:720px; margin:0 auto; padding:0 22px 40px; }
.top{ display:flex; align-items:center; padding:16px 0 14px; margin-bottom:30px; border-bottom:var(--edge) solid var(--ink); }
.top a.home{ font-family:"Fraunces",Georgia,serif; font-weight:900; font-size:27px; line-height:1; color:var(--ink); text-decoration:none; }
.top a.home i{ font-weight:700; font-style:italic; text-shadow:2px 2px 0 var(--pink); margin:0 .03em; }
h1{ font-family:var(--serif); font-weight:500; font-size:38px; line-height:1.1; margin:0 0 6px; }
h2{ font-family:var(--serif); font-weight:700; font-size:22px; line-height:1.3; margin:30px 0 4px; }
p, li{ margin:0 0 12px; } ul, ol{ padding-left:1.3em; margin:0 0 12px; }
.muted{ color:var(--muted); }
a{ color:var(--ink); text-underline-offset:3px; }
a:focus-visible{ outline:3px solid #8fb0ff; outline-offset:3px; }
.btn{ display:inline-flex; align-items:center; min-height:48px; padding:0 24px; border:var(--edge) solid var(--ink); border-radius:12px; background:var(--pink); color:#1f1c1a; font-weight:700; text-decoration:none; box-shadow:3px 3px 0 var(--ink); }
.foot{ margin-top:48px; padding-top:18px; border-top:var(--edge) solid var(--line); font-size:14px; color:var(--muted); }
.foot nav{ display:flex; flex-wrap:wrap; gap:6px 18px; margin:0 0 8px; } .foot nav a{ color:var(--ink); }
.foot p{ margin:0; }
