@font-face{font-family:Zen Old Mincho;src:url(/assets/fonts/zenold-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Shippori Mincho B1;src:url(/assets/fonts/shippori-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--washi: #f2ead8;--washi-deep: #e8dcc0;--sumi: #211c17;--sumi-usui: #57493c;--shu: #b23a2f;--shu-fukai: #8c2b22;--kin: #b8963e;--ai: #3d5a6c;--gunjo: #2d4a6b;--gunjo-usui: #4d6d8f;--serif: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--serif-hyoji: "Shippori Mincho B1", "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--serif);background:var(--washi);color:var(--sumi);line-height:1.9;font-synthesis:none;overflow-x:clip}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.36 0 0 0 0 0.26 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23p)'/%3E%3C/svg%3E")}.site-header{max-width:42rem;margin:0 auto;padding:1.4rem 1.2rem 0}.site-header nav{display:flex;align-items:baseline;gap:1.4rem;border-bottom:1px solid var(--washi-deep);padding-bottom:.9rem}.site-header a{color:var(--sumi-usui);text-decoration:none;font-family:var(--serif-hyoji);font-weight:600;font-size:.95rem}.site-header a:hover{color:var(--shu)}.site-header .site-name{color:var(--sumi);font-size:1.15rem}.site-footer{max-width:42rem;margin:4rem auto 0;padding:1.4rem 1.2rem 2.4rem;border-top:1px solid var(--washi-deep);font-size:.8rem;color:var(--sumi-usui)}.site-footer .domain{font-family:var(--serif-hyoji);font-weight:600;color:var(--sumi)}.site-footer a{color:var(--gunjo)}main{max-width:42rem;margin:0 auto;padding:2.6rem 1.2rem 0}.article-header{margin-bottom:2.8rem}.article-header h1{font-family:var(--serif-hyoji);font-weight:600;font-size:1.7rem;line-height:1.5;letter-spacing:.04em}.article-header .subtitle{margin-top:.5rem;font-family:var(--serif-hyoji);font-weight:600;font-size:1rem;color:var(--shu-fukai)}.article-header .meta{margin-top:1rem;font-size:.82rem;color:var(--sumi-usui)}.article-header .meta .cluster{color:var(--gunjo)}.article-body{font-size:1rem}.article-body h2{font-family:var(--serif-hyoji);font-weight:600;font-size:1.3rem;line-height:1.6;margin:3rem 0 1.2rem;padding-left:.7rem;border-left:3px solid var(--shu)}.article-body h3{font-family:var(--serif-hyoji);font-weight:600;font-size:1.1rem;margin:2.2rem 0 1rem}.article-body p{margin:1.2rem 0}.article-body ul,.article-body ol{margin:1.2rem 0;padding-left:1.6rem}.article-body li{margin:.3rem 0}.article-body strong{font-weight:400;color:var(--shu-fukai)}.article-body em{font-style:normal;text-emphasis:filled dot var(--sumi)}.article-body a{color:var(--gunjo)}.article-body a:hover{color:var(--shu)}.article-body hr{border:none;margin:3rem auto;width:5rem;border-top:1px solid var(--sumi-usui)}.article-body blockquote{margin:1.4rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:3px solid var(--washi-deep);color:var(--sumi-usui)}.article-body img{max-width:100%;max-height:72vh;width:auto;height:auto;display:block;margin:1.6rem auto 0}.article-body p:has(>small:only-child){margin:.5rem 0 1.6rem;font-size:.78rem;line-height:1.7;color:var(--sumi-usui)}.article-body small a{color:var(--gunjo)}.article-body table{border-collapse:collapse;margin:1.4rem 0;font-size:.92rem;display:block;overflow-x:auto}.article-body th,.article-body td{border:1px solid var(--washi-deep);padding:.4rem .7rem;text-align:left}.article-body table,.article-body th{font-family:var(--serif)}.article-body th{font-weight:600;border-bottom:3px double var(--sumi-usui)}.follow{margin:3.2rem 0 0;padding:1.2rem 1.3rem;border:1px solid var(--washi-deep);border-left:3px solid var(--shu);background:color-mix(in srgb,var(--washi-deep) 40%,transparent);font-size:.92rem}.follow p{margin:0 0 .6rem;color:var(--sumi-usui)}.follow a{display:inline-block;padding:.35em 1em;border:1px solid var(--shu);border-radius:2px;color:var(--shu-fukai);text-decoration:none;font-weight:400}.follow a:hover{background:var(--shu);color:var(--washi)}.route{margin:3.2rem 0 0;padding:1.2rem 1.3rem;border:1px solid var(--washi-deep);background:color-mix(in srgb,var(--washi-deep) 40%,transparent);font-size:.92rem}.route h2{margin:0 0 .6rem;font-size:1.05rem}.route-intro{margin:0 0 .8rem}.route ol{margin:0 0 .9rem;padding-left:1.4em}.route li{margin:.15em 0}.route-note{color:var(--sumi-usui)}.route>a{display:inline-block;padding:.35em 1em;border:1px solid var(--shu);border-radius:2px;color:var(--shu-fukai);text-decoration:none}.route>a:hover{background:var(--shu);color:var(--washi)}.route-caveat{margin:.8rem 0 0;color:var(--sumi-usui);font-size:.85rem}.article-list{list-style:none;padding:0}.article-list li{margin:0 0 2.2rem}.article-list h2{font-family:var(--serif-hyoji);font-weight:600;font-size:1.25rem;line-height:1.6}.article-list h2 a{color:var(--sumi);text-decoration:none}.article-list h2 a:hover{color:var(--shu)}.article-list .subtitle{font-family:var(--serif-hyoji);font-weight:600;font-size:.92rem;color:var(--shu-fukai)}.article-list .meta{margin-top:.3rem;font-size:.8rem;color:var(--sumi-usui)}.article-list .meta .cluster{color:var(--gunjo)}.page-title{font-family:var(--serif-hyoji);font-weight:600;font-size:1.4rem;margin-bottom:2.2rem}.draft-badge{display:inline-block;margin-left:.5rem;padding:0 .45em;font-size:.72rem;color:var(--washi);background:var(--shu);border-radius:2px;vertical-align:middle}.article-body details.sources{margin:2.4rem 0 0;padding-top:1.4rem;border-top:1px solid var(--washi-deep)}.article-body details.sources>summary{font-family:var(--serif-hyoji);font-weight:600;font-size:.95rem;color:var(--sumi-usui);cursor:pointer;list-style:none}.article-body details.sources>summary::-webkit-details-marker{display:none}.article-body details.sources>summary:before{content:"▶";display:inline-block;margin-right:.5em;font-size:.7em;color:var(--shu);transition:transform .15s ease}.article-body details.sources[open]>summary:before{transform:rotate(90deg)}.article-body details.sources>summary:hover{color:var(--shu)}.article-body details.sources ul{font-size:.88rem;color:var(--sumi-usui)}.article-body details.sources a{overflow-wrap:anywhere}
