:root{--bg:#f4f1ea;--panel:#fffdf7;--ink:#2c2b28;--ink2:#6b6a63;--ink3:#9b998f;--line:#e6e2d6;--line2:#d8d3c4;--accent:#9c2f26;--accent-bg:#f7e7e3;--done:#1f9d6b;--done-bg:#e3f4ec;--warn:#b03a2e;--warn-bg:#fbe9e7;--map-land:#ece7da;--map-border:#c9c2ae;--radius:14px;--shadow:0 1px 2px #3c321e0f, 0 8px 24px #3c321e0d;--d1:#c2703a;--d1bg:#f9ece0;--d2:#a9701a;--d2bg:#fdefd6;--d3:#2c6bb3;--d3bg:#e6f0fb;--d4:#1f9d6b;--d4bg:#e3f4ec;--d5:#6b6a63;--d5bg:#eeece4;color-scheme:light}html[data-theme=dark]{--bg:#16150f;--panel:#1e1c15;--ink:#ece7da;--ink2:#a8a496;--ink3:#7a7668;--line:#2e2b22;--line2:#3d392e;--accent:#e0655a;--accent-bg:#2e1a17;--done:#4cc98d;--done-bg:#14291f;--warn:#e8705f;--warn-bg:#2d1a17;--map-land:#262319;--map-border:#3d392e;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000038;--d1:#d68a52;--d1bg:#2b2117;--d2:#d3a05a;--d2bg:#2b2317;--d3:#6ba3e0;--d3bg:#17222d;--d4:#4cc98d;--d4bg:#14291f;--d5:#9b998f;--d5bg:#26241d;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,sans-serif;font-size:16px;line-height:1.8}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}.nav{z-index:5;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);position:sticky;top:0}.nav-in{align-items:center;gap:22px;max-width:62rem;margin:0 auto;padding:12px 20px;display:flex}.nav .brand{color:var(--ink);align-items:center;gap:10px;margin-right:6px;font-weight:700;display:flex}.nav .brand img{border-radius:50%;width:32px;height:32px;display:block}.nav a{color:var(--ink2);font-size:15px}.nav a:hover{color:var(--ink);text-decoration:none}.nav a[aria-current=page]{color:var(--accent);font-weight:600}.nav .links{flex:1;align-items:center;gap:22px;display:flex}.nav button{color:var(--ink2);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px;font-size:17px;line-height:1}.nav button:hover{background:var(--panel);color:var(--ink)}.nav .menu{display:none}@media (width<=600px){.nav-in{gap:10px;padding:10px 16px}.nav .brand{flex:1}.nav .menu{font-size:20px;display:block}.nav .links{background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%;left:0;right:0}.nav.open .links{display:flex}.nav .links a{border-top:1px solid var(--line);padding:13px 20px;font-size:16px}}.wrap{max-width:62rem;margin:0 auto;padding:0 20px 72px}@media (width<=480px){.wrap{padding:0 16px 56px}}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12.5px;font-weight:600}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:40px;padding:56px 0 28px;display:grid}.hero h1{letter-spacing:-.01em;text-wrap:balance;margin:0 0 14px;font-size:44px;font-weight:800;line-height:1.22}.hero h1 span{white-space:nowrap}.hero .lead{color:var(--ink2);max-width:34em;margin:0 0 22px;font-size:17px}.hero .lead strong{color:var(--ink)}.hero .pic img{aspect-ratio:1;width:100%;max-width:380px;height:auto;box-shadow:var(--shadow);border-radius:28px;margin-left:auto;display:block}.stats{border-top:1px solid var(--line2);gap:28px;padding-top:18px;display:flex}.stats b{color:var(--accent);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1;display:block}.stats small{color:var(--ink3);font-size:12.5px}@media (width<=720px){.hero{grid-template-columns:1fr;gap:20px;padding:28px 0 16px}.hero .pic{order:-1}.hero .pic img{border-radius:22px;max-width:160px;margin-left:0}.hero h1{font-size:32px}.stats{gap:20px}.stats b{font-size:24px}}@media (width<=400px){.hero h1{font-size:30px}}@media (width<=360px){.hero h1 span{white-space:normal}}.index{border-top:1px solid var(--line2);grid-template-columns:1fr 1fr;gap:0 40px;margin:24px 0 8px;display:grid}.index a{border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:18px;padding:18px 4px;font-size:18px;font-weight:600;display:flex}.index a:hover{color:var(--accent);text-decoration:none}.index .n{color:var(--accent);width:2em;font-family:Georgia,Songti SC,serif;font-size:22px;font-weight:400}.index .arrow{color:var(--accent);margin-left:auto}.index small{color:var(--ink3);font-size:13px;font-weight:400;display:block}@media (width<=720px){.index{grid-template-columns:1fr}}.prose{max-width:44rem}.prose h1{letter-spacing:-.01em;text-wrap:balance;margin:48px 0 10px;font-size:40px;line-height:1.2}.prose h1+p strong:only-child,.prose>p:first-of-type strong{font-size:1.05em}.prose h2{counter-increment:sec;text-wrap:balance;margin:52px 0 12px;font-size:26px;line-height:1.3}.prose h2:before{content:counter(sec, decimal-leading-zero);color:var(--accent);letter-spacing:.12em;margin-bottom:6px;font-family:inherit;font-size:12.5px;font-weight:600;display:block}.prose h3{margin:30px 0 8px;font-size:19px}.prose p{margin:0 0 14px}.prose ul,.prose ol{margin:0 0 14px;padding-left:1.3em}.prose li{margin:4px 0}.prose blockquote{border-left:3px solid var(--accent);background:var(--panel);color:var(--ink2);border-radius:0 10px 10px 0;margin:0 0 14px;padding:12px 18px}.prose table{border-collapse:collapse;width:100%;margin:6px 0 18px;font-size:15px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.prose th{color:var(--ink3);font-size:13px;font-weight:600}.prose hr{border:0;border-top:1px solid var(--line2);margin:40px 0}.prose code{background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.92em}.prose img{border:1px solid var(--line2);border-radius:12px;max-width:100%}.prose p.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 18px}.prose .cards{grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px;display:grid}.prose .cards p{margin:0}@media (width<=720px){.prose .cards{grid-template-columns:1fr}.prose h1{margin-top:32px;font-size:30px}.prose h2{margin-top:40px;font-size:22px}}body{counter-reset:sec}.foot{border-top:1px solid var(--line);max-width:62rem;color:var(--ink3);flex-wrap:wrap;gap:8px 24px;margin:0 auto;padding:28px 20px 40px;font-size:13.5px;display:flex}.foot a{color:var(--ink2)}.prose .shots{grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 22px;display:grid}.prose .shots a{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink2);border-radius:12px;font-size:13px;text-decoration:none;display:block;overflow:hidden}.prose .shots a:hover{border-color:var(--accent)}.prose .shots img{border:0;border-bottom:1px solid var(--line);border-radius:0;width:100%;height:auto;display:block}.prose .shots span{padding:8px 12px;display:block}@media (width<=720px){.prose .shots{grid-template-columns:1fr}}
