:root{--bg:#e6eae8;--surface:#f3f5f4;--raised:#f8f9f8;--ink:#1c2220;--muted:#58625e;--rule:#d0d7d3;--soft:#dae0dd;--canary:#f2c230;--canary-deep:#8a6700;--canary-tint:#f6e7b0;--link:#0c6a5f;--shadow:0 1px 2px #141e1a0d, 0 10px 28px -20px #141e1a59;--display:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--body:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--latin:"Outfit", "Noto Sans JP", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#161b19;--surface:#1e2522;--raised:#232b28;--ink:#e1e6e3;--muted:#9aa6a1;--rule:#2e3834;--soft:#28302d;--canary:#f0c53a;--canary-deep:#f0c53a;--canary-tint:#3a3217;--link:#6fcabd;--shadow:0 1px 2px #0000004d, 0 12px 30px -20px #000000b3}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-feature-settings:"palt" 0;flex-direction:column;min-height:100dvh;margin:0;padding-inline:16px;font-size:16px;line-height:1.9;display:flex}body>main{flex:1;width:100%}h1,h2,h3,h4,blockquote{word-break:auto-phrase}a{color:var(--link)}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--canary);outline-offset:2px;border-radius:4px}.wrap{max-width:1120px;margin-inline:auto}.site-head{top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb, var(--bg) 86%, transparent);backdrop-filter:blur(10px);margin-inline:-16px;padding-inline:16px;position:sticky}.site-head .wrap{align-items:center;gap:20px;min-height:68px;display:flex}.logo{color:var(--ink);flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}.logo b{letter-spacing:.02em;font-size:20px;font-weight:900}.logo i{background:var(--canary);border-radius:50%;flex:none;width:28px;height:28px;position:relative}.logo i:after{content:"";background:#1c2220;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:7px}.pills{scrollbar-width:none;gap:6px;min-width:0;margin-left:auto;padding-block:4px;display:flex;overflow-x:auto}.pills::-webkit-scrollbar{display:none}.pills a{white-space:nowrap;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:5px 15px;font-size:14px;font-weight:500;text-decoration:none}.pills a:hover{border-color:var(--muted)}.pills a[aria-current]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.gl{--t:color-mix(in srgb, var(--g) 16%, var(--surface));color:color-mix(in srgb, var(--g) 72%, var(--ink));background:var(--t);border-radius:999px;align-self:flex-start;padding:1px 11px;font-size:12px;font-weight:700;line-height:1.7;text-decoration:none}.badge{color:var(--canary-deep);background:var(--canary-tint);border-radius:999px;padding:1px 10px;font-size:12px;line-height:1.7}.badge.human{color:var(--link);background:color-mix(in srgb, var(--link) 14%, var(--surface))}.meta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stamp{font-family:var(--latin);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.thumb,.thumb-art{aspect-ratio:16/10;border-radius:16px;width:100%;max-width:100%;display:block}.thumb{object-fit:cover;background:var(--soft)}.thumb-art{--t:color-mix(in srgb, var(--g) 18%, var(--surface));--ti:color-mix(in srgb, var(--g) 80%, var(--ink));background:var(--t);position:relative;overflow:hidden}.thumb-art:before{content:"";aspect-ratio:1;background:var(--ti);opacity:.14;border-radius:50%;width:55%;position:absolute;bottom:-24%;right:-10%}.thumb-art:after{content:"";aspect-ratio:1;background:var(--ti);opacity:.24;border-radius:32%;width:26%;position:absolute;top:18%;left:12%;transform:rotate(14deg)}.thumb-art .dot{aspect-ratio:1;background:var(--canary);border-radius:50%;width:12%;position:absolute;top:30%;left:44%}.thumb-art .word{font:800 14px var(--latin);letter-spacing:.14em;color:var(--ti);position:absolute;bottom:10px;left:16px}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px 22px;display:grid}.card{color:inherit;flex-direction:column;gap:10px;text-decoration:none;display:flex}.card .thumb,.card .thumb-art{transition:transform .2s}.card:hover .thumb,.card:hover .thumb-art{transform:translateY(-3px)}.card:hover h3{text-underline-offset:4px;text-decoration:underline 2px;text-decoration-color:var(--canary)}.card h3{text-wrap:balance;margin:0;font-size:17px;font-weight:700;line-height:1.6}.card .lead{display:none}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.card.big{background:var(--surface);box-shadow:var(--shadow);border-radius:24px;gap:0;padding:14px}.card.big .card-body{flex-direction:column;gap:10px;padding:16px 10px 8px;display:flex}.card.big h3{font-size:clamp(20px,2.2vw,25px);font-weight:900;line-height:1.5}.card.big .lead{color:var(--muted);margin:0;font-size:14.5px;line-height:1.8;display:block}.card-body{flex-direction:column;gap:8px;display:flex}.hello{padding-block:34px 26px}.hello small{font:700 13px var(--latin);letter-spacing:.12em;color:var(--canary-deep)}.hello h1{text-wrap:balance;margin:6px 0 0;font-size:clamp(28px,4.6vw,50px);font-weight:900;line-height:1.3}.hello h1 span{background:linear-gradient(transparent 68%, var(--canary) 68%)}.intro{padding-block:34px 22px}.intro small{font:700 13px var(--latin);letter-spacing:.12em;color:var(--muted)}.intro h1{margin:4px 0 0;font-size:clamp(26px,4vw,38px);font-weight:900;line-height:1.35}.intro p{color:var(--muted);margin:4px 0 0;font-size:14px}.section-title{align-items:baseline;gap:12px;margin:56px 0 20px;font-size:23px;font-weight:900;display:flex}.section-title small{font:700 13px var(--latin);color:var(--muted);letter-spacing:.12em}.empty{color:var(--muted)}.topics{flex-wrap:wrap;gap:10px;display:flex}.topics a{background:var(--surface);border:1px solid var(--rule);color:var(--ink);border-radius:14px;padding:8px 16px;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none}.topics a:hover{border-color:var(--muted)}.topics small{font:500 11px var(--latin);color:var(--muted);display:block}.post-hero{--t:color-mix(in srgb, var(--g) 17%, var(--surface));--ti:color-mix(in srgb, var(--g) 80%, var(--ink));background:var(--t);border-radius:28px;margin-top:12px;padding:clamp(28px,5vw,48px) clamp(20px,6vw,64px) clamp(24px,4vw,36px);position:relative;overflow:hidden}.post-hero:before{content:"";aspect-ratio:1;background:var(--ti);opacity:.09;border-radius:50%;width:340px;position:absolute;top:-120px;right:-80px}.post-hero:after{content:"";aspect-ratio:1;background:var(--canary);border-radius:50%;width:48px;position:absolute;bottom:36px;right:110px}.post-hero>*{z-index:1;position:relative}.crumbs{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.crumbs a{color:var(--muted)}.post-hero h1{text-wrap:balance;max-width:800px;margin:14px 0 12px;font-size:clamp(25px,3.8vw,40px);font-weight:900;line-height:1.45}.post-hero .lead{max-width:720px;color:color-mix(in srgb, var(--ink) 82%, var(--muted));margin:0 0 18px;font-size:16px}.by{align-items:center;gap:10px;font-size:13px;line-height:1.6;display:flex}.by i{background:#1c2220;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.by i:after{content:"";background:var(--canary);border-radius:50%;width:12px;height:12px}.by small{color:var(--muted);font-size:12.5px}.hero{margin:22px 0 0}.hero img{aspect-ratio:16/8.4;object-fit:cover;border-radius:22px;width:100%;display:block}.hero figcaption{color:var(--muted);margin-top:8px;font-size:12px}.post-layout{grid-template-columns:minmax(0,700px);justify-content:center;gap:48px;margin-top:36px;display:grid}.post-layout.has-toc{grid-template-columns:minmax(0,700px) 220px}.post-main{min-width:0}.toc{align-self:start;font-size:13px;line-height:1.6;position:sticky;top:92px}.toc h2{font:800 12px var(--latin);letter-spacing:.14em;color:var(--muted);margin:0 0 10px}.toc ol{border-left:2px solid var(--rule);margin:0;padding:0;list-style:none}.toc li a{color:var(--muted);border-left:2px solid #0000;margin-left:-2px;padding:6px 0 6px 14px;text-decoration:none;display:block}.toc li a:hover{color:var(--ink)}.toc li a.on{border-color:var(--canary);color:var(--ink);font-weight:700}.toc-inline{background:var(--surface);border:1px solid var(--rule);border-radius:16px;margin-bottom:24px;padding:10px 18px;font-size:14px;display:none}.toc-inline summary{cursor:pointer;font-weight:700}.toc-inline ol{margin:8px 0 4px;padding-left:1.4em}.toc-inline a{color:var(--ink)}.points{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0 0 32px;padding:0;list-style:none;display:grid}.points li{background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:14px 16px;font-size:14px;line-height:1.7}.points b{font:800 22px var(--latin);color:var(--canary-deep);margin-bottom:4px;line-height:1.3;display:block}.points-title{font:800 12px var(--latin);letter-spacing:.14em;color:var(--muted);margin:0 0 8px}.notice{background:var(--canary-tint);border-radius:12px;margin:0 0 20px;padding:10px 16px;font-size:13.5px}.prose{font-size:16.5px;line-height:1.95}.prose h2{text-wrap:balance;margin:2.3em 0 .7em;font-size:23px;font-weight:900;line-height:1.5}.prose h2:before{content:"";background:var(--canary);border-radius:3px;width:32px;height:5px;margin-bottom:12px;display:block}.prose h3{margin:1.9em 0 .5em;font-size:18px}.prose p{margin:0 0 1.3em}.prose>p:first-child{font-size:17.5px}.prose blockquote{margin:1.6em 0;padding:0;font-size:18px;font-weight:700;line-height:1.8}.prose blockquote:before{content:"";background:var(--canary);border-radius:3px;width:40px;height:5px;margin-bottom:10px;display:block}.prose blockquote p{margin:0 0 .4em}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.35em}.prose code{font-family:var(--mono);background:var(--soft);border-radius:6px;padding:1px 6px;font-size:.86em}.prose pre{border-radius:14px;padding:16px;font-size:14px;line-height:1.7;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--rule);border-radius:14px;margin-block:1.4em;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--rule);text-align:left;padding:9px 14px}.prose tr:last-child td{border-bottom:0}.prose th{color:var(--muted);font-size:13.5px;font-weight:700}.prose img{border-radius:16px}.prose .mermaid,.prose pre[data-language=mermaid]{background:var(--surface);border:1px solid var(--rule);text-align:center;border-radius:16px;padding:18px;overflow-x:auto}.prose p:has(>em:only-child){color:var(--muted);text-align:center;margin-top:-.4em;font-size:13px}.prose a{text-underline-offset:3px}.tags{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.tag{color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:2px 12px;font-size:13px;text-decoration:none}.tag:before{content:"#";color:var(--canary-deep);margin-right:1px;font-weight:700}.sources{background:var(--surface);border:1px solid var(--rule);border-radius:18px;margin-top:30px;padding:16px 22px}.sources h2{font:800 12px var(--latin);letter-spacing:.14em;color:var(--muted);margin:0 0 8px}.sources ul{gap:8px;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:4px 12px;display:flex}.sources li span{color:var(--muted);font-size:12.5px}.disclosure{color:var(--muted);margin-top:18px;font-size:13px}.series-nav{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;font-size:14px;display:grid}.series-nav a{background:var(--surface);border:1px solid var(--rule);color:var(--ink);border-radius:14px;padding:10px 16px;text-decoration:none;display:block}.series-nav small{color:var(--muted);display:block}.share{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.share a{color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:3px 14px;font-size:13px;font-weight:700;text-decoration:none}.ad-slot{max-width:700px;min-height:90px;margin:28px auto}.page-body{background:var(--surface);border-radius:24px;max-width:760px;margin:28px auto 0;padding:clamp(22px,5vw,48px)}.page-body h1{margin:0 0 22px;font-size:28px;font-weight:900}.page-body h2{margin:2em 0 .5em;font-size:19px;font-weight:900}.pager{justify-content:center;gap:12px;margin-top:32px;display:flex}.pager a{background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:6px 16px;text-decoration:none}.follow{color:#e6ebe8;background:#1c2220;border-radius:28px 28px 0 0;margin:72px -16px 0;padding:34px 16px}.follow .wrap{flex-wrap:wrap;align-items:center;gap:18px 30px;display:flex}.follow b{font-size:19px;font-weight:900}.follow p{color:#a7b1ad;margin:2px 0 0;font-size:14px}.follow .btns{flex-wrap:wrap;gap:10px;margin-left:auto;display:flex}.follow a{color:#1c2220;background:#f2c230;border-radius:999px;padding:9px 20px;font-size:14px;font-weight:700;text-decoration:none}.follow a.ghost{color:#e6ebe8;background:0 0;border:1px solid #4a5550}.site-foot{color:#a7b1ad;background:#1c2220;margin:0 -16px;padding:0 16px 40px;font-size:13px}.site-foot .wrap{border-top:1px solid #333d39;flex-wrap:wrap;justify-content:space-between;gap:14px 20px;padding-top:22px;display:flex}.site-foot nav{flex-wrap:wrap;gap:16px;display:flex}.site-foot a{color:#a7b1ad}@media (width<=1100px){.post-layout.has-toc{grid-template-columns:minmax(0,700px)}.toc{display:none}.toc-inline{display:block}}@media (width<=820px){.feature-grid{grid-template-columns:minmax(0,1fr)}.site-head .wrap{gap:12px}.logo b{font-size:18px}}@media (width>=561px) and (width<=820px){.card.big{flex-direction:row;align-items:center;gap:6px}.card.big>.thumb,.card.big>.thumb-art{aspect-ratio:4/3;flex:none;width:42%}.card.big .card-body{padding:6px 12px 6px 14px}}@media (width<=560px){.card.big>.thumb,.card.big>.thumb-art{aspect-ratio:16/9}.series-nav{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.card h3{font-size:15px}.thumb,.thumb-art{border-radius:12px}.post-hero:after{display:none}}@media (width<=380px){.cards{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.card .thumb,.card .thumb-art{transition:none}.card:hover .thumb,.card:hover .thumb-art{transform:none}}
