:root{--bg:#f4f6f5;--surface:#fff;--ink:#17201d;--muted:#5b6863;--rule:#dce3e0;--soft:#eaefed;--canary:#e5b000;--canary-ink:#6f5300;--canary-tint:#fbf1cc;--link:#0e6b60;--display:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;--body:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#0f1412;--surface:#161d1a;--ink:#e4eae7;--muted:#95a29c;--rule:#28322e;--soft:#1d2522;--canary:#f0c53a;--canary-ink:#f0c53a;--canary-tint:#2c2710;--link:#5fc4b5}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--body);margin:0;padding-inline:16px;font-size:16px;line-height:1.9}a{color:var(--link)}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--canary);outline-offset:2px}.wrap{max-width:1040px;margin-inline:auto}.site-head{top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);margin-inline:-16px;padding-inline:16px;position:sticky}.site-head .wrap{flex-wrap:wrap;align-items:center;gap:20px;min-height:64px;padding-block:8px;display:flex}.logo{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.logo b{font-family:var(--display);letter-spacing:.02em;font-size:22px;font-weight:900}.logo .dot{background:var(--canary);width:10px;height:10px;box-shadow:0 0 0 3px var(--canary-tint);border-radius:50%}.nav{flex-wrap:wrap;gap:16px;margin-left:auto;font-size:14px;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav a:hover,.nav a[aria-current]{color:var(--ink)}.intro{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;padding-block:40px 20px;display:flex}.intro h1{font-family:var(--display);text-wrap:balance;margin:0;font-size:clamp(24px,4vw,32px);line-height:1.4}.intro p{color:var(--muted);margin:4px 0 0;font-size:14px}.section-title{font-family:var(--display);align-items:baseline;gap:12px;margin:48px 0 16px;font-size:20px;display:flex}.section-title small{font-family:var(--body);color:var(--muted);font-size:13px;font-weight:400}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.card{color:inherit;background:var(--surface);border:1px solid var(--rule);border-radius:10px;flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.card:hover{border-color:var(--muted);transform:translateY(-2px)}.card-body{flex-direction:column;flex:1;gap:8px;padding:16px 18px 18px;display:flex}.card h2,.card h3{font-family:var(--display);text-wrap:balance;margin:0;font-size:18px;line-height:1.5}.card .lead{color:var(--muted);flex:1;margin:0;font-size:14px;line-height:1.75}.thumb{aspect-ratio:40/21;object-fit:cover;background:var(--soft);width:100%;display:block}.thumb-art{aspect-ratio:40/21;background:radial-gradient(circle at 18% 30%, color-mix(in srgb, var(--g) 55%, transparent) 0 6%, transparent 7%), radial-gradient(circle at 70% 62%, color-mix(in srgb, var(--g) 45%, transparent) 0 9%, transparent 10%), radial-gradient(circle at 44% 80%, var(--canary) 0 3%, transparent 4%), linear-gradient(135deg, var(--soft), color-mix(in srgb, var(--g) 18%, var(--soft)));width:100%;display:block;position:relative;overflow:hidden}.meta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{letter-spacing:.04em;color:var(--g);border:1px solid color-mix(in srgb, var(--g) 45%, transparent);border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;text-decoration:none}.badge{color:var(--canary-ink);background:var(--canary-tint);border-radius:4px;padding:1px 8px;font-size:12px}.badge.human{color:var(--link);background:color-mix(in srgb, var(--link) 12%, transparent)}.stamp{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.post{background:var(--surface);border:1px solid var(--rule);border-radius:12px;margin-block:32px;padding:clamp(20px,5vw,56px)}.post>*{max-width:700px;margin-inline:auto}.crumbs{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:20px;font-size:13px;display:flex}.crumbs a{color:var(--muted)}.post-head{flex-direction:column;gap:14px;display:flex}.post h1{font-family:var(--display);text-wrap:balance;margin:0;font-size:clamp(24px,3.6vw,32px);line-height:1.45}.hero{max-width:860px;margin-block:28px 32px}.hero img,.hero .thumb-art{aspect-ratio:16/8.4;object-fit:cover;border-radius:8px;width:100%}.hero figcaption{color:var(--muted);margin-top:8px;font-size:12px}.notice{background:var(--canary-tint);color:var(--ink);border-radius:8px;margin-bottom:20px;padding:10px 14px;font-size:13px}.prose{font-size:17px}.prose h2{font-family:var(--display);border-left:4px solid var(--canary);text-wrap:balance;margin:2.2em 0 .6em;padding-left:14px;font-size:21px;line-height:1.55}.prose h3{margin:1.8em 0 .4em;font-size:18px}.prose p{margin:0 0 1.2em}.prose>p:first-child{font-size:18px}.prose blockquote{border-left:3px solid var(--rule);color:var(--muted);margin:1.4em 0;padding:4px 18px}.prose ul,.prose ol{padding-left:1.4em}.prose code{font-family:var(--mono);background:var(--soft);border-radius:4px;padding:1px 5px;font-size:.88em}.prose pre{border-radius:8px;padding:14px;font-size:14px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;margin-block:1.4em;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--rule);padding:6px 10px}.prose th{background:var(--soft)}.prose img{border-radius:8px}.prose .mermaid,.prose pre[data-language=mermaid]{background:var(--soft);text-align:center;border-radius:8px;padding:16px;overflow-x:auto}.prose p:has(>em:only-child){color:var(--muted);text-align:center;font-size:13px}.tags{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.tag{color:var(--muted);background:var(--soft);border-radius:4px;padding:2px 10px;font-size:13px;text-decoration:none}.sources{border-top:1px solid var(--rule);margin-top:32px;padding-top:20px}.sources h2{letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:14px}.sources ul{gap:6px;margin:0;padding:0;font-size:14px;line-height:1.6;list-style:none;display:grid}.sources li{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.sources li span{font-family:var(--mono);color:var(--muted);font-size:12px}.disclosure{color:var(--muted);margin-top:20px;font-size:13px}.series-nav{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;font-size:14px;display:grid}.series-nav a{border:1px solid var(--rule);color:var(--ink);border-radius:8px;padding:10px 14px;text-decoration:none;display:block}.series-nav small{color:var(--muted);display:block}.related{max-width:1040px;margin-inline:auto}.ad-slot{max-width:700px;min-height:90px;margin:28px auto}.page-body{background:var(--surface);border:1px solid var(--rule);border-radius:12px;margin-block:32px;padding:clamp(20px,5vw,56px)}.page-body>*{max-width:700px;margin-inline:auto}.page-body h1{font-family:var(--display);margin:0 0 24px;font-size:28px}.page-body h2{font-family:var(--display);margin:2em 0 .5em;font-size:19px}.pager{justify-content:center;gap:12px;margin-top:32px;display:flex}.pager a{border:1px solid var(--rule);border-radius:8px;padding:6px 14px;text-decoration:none}.site-foot{border-top:1px solid var(--rule);color:var(--muted);margin:64px -16px 0;padding:28px 16px 40px;font-size:13px}.site-foot .wrap{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.site-foot nav{flex-wrap:wrap;gap:16px;display:flex}.site-foot a{color:var(--muted)}@media (width<=560px){.series-nav{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}
