:root{--paper:#f4eee1;--paper-raised:#fbf7ee;--ink:#221b12;--ink-soft:#574b3b;--muted:#8c7d67;--line:#e0d5c0;--line-strong:#cbbda2;--accent:#be4128;--accent-deep:#98301b;--accent-wash:#be412817;--code-bg:#281f16;--code-ink:#f1e7d4;--font-serif:"Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--font-sans:"Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--measure:42rem;--wide:60rem;--radius:10px;--shadow-soft:0 1px 2px #221b120a, 0 8px 24px #221b120f;--shadow-lift:0 2px 6px #221b120f, 0 16px 40px #221b121a}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);letter-spacing:.02em;color:var(--ink);background-color:var(--paper);font-feature-settings:"palt" 1;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-wrap:break-word;overflow-wrap:break-word;flex-direction:column;min-height:100vh;margin:0;padding:0;font-size:1.0625rem;line-height:1.9;display:flex}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(115% 80% at 50% -10%, #be41280d, transparent 60%), linear-gradient(180deg, #f7f1e6 0%, var(--paper) 38%);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (width>=768px){body{font-size:1.125rem}}main{width:var(--measure);flex:1 0 auto;max-width:calc(100% - 2.5rem);margin:0 auto;padding:clamp(2.5rem,5vw,4.5rem) 0 4rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--ink);letter-spacing:.01em;margin:0 0 .6em;font-weight:700;line-height:1.45}h1{letter-spacing:.02em;font-size:clamp(1.85rem,1.35rem + 2vw,2.5rem);font-weight:800}h2{margin-top:2.4em;font-size:clamp(1.45rem,1.2rem + 1.1vw,1.85rem)}h3{margin-top:1.8em;font-size:clamp(1.2rem,1.08rem + .5vw,1.4rem)}h4{font-size:1.12rem}p{margin:0 0 1.5em}strong,b{color:var(--ink);font-weight:700}a{color:var(--accent);text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);transition:color .15s,text-decoration-color .15s}a:hover{color:var(--accent-deep);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}ul,ol{margin:0 0 1.5em;padding-left:1.4em}li{margin-bottom:.4em}img{border-radius:var(--radius);max-width:100%;height:auto}hr{background:var(--line);border:none;height:1px;margin:3rem 0}blockquote{border-left:3px solid var(--accent);color:var(--ink-soft);font-family:var(--font-serif);margin:2em 0;padding:.4em 0 .4em 1.4em;font-size:1.08em;font-style:normal}blockquote p:last-child{margin-bottom:0}code{font-family:var(--font-mono);background:var(--accent-wash);color:var(--accent-deep);border-radius:4px;padding:.15em .4em;font-size:.86em}pre{font-family:var(--font-mono);background:var(--code-bg);color:var(--code-ink);border-radius:var(--radius);box-shadow:var(--shadow-soft);margin:2em 0;padding:1.3em 1.4em;font-size:.9rem;line-height:1.7;overflow-x:auto}pre>code{all:unset;font-family:var(--font-mono)}table{border-collapse:collapse;width:100%;margin:2em 0;font-size:.95em}th,td{border-bottom:1px solid var(--line);text-align:left;padding:.6em .8em}th{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8em}::selection{background:var(--accent-wash);color:var(--accent-deep)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:500;display:inline-block}.prose{font-size:1.0625rem;line-height:2}@media (width>=768px){.prose{font-size:1.1rem}}.prose>p:first-of-type{margin-top:0}.prose p{margin-bottom:1.7em}.prose img{box-shadow:var(--shadow-soft);margin:2.4em auto;display:block}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.rise{animation:.7s cubic-bezier(.22,1,.36,1) both rise}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rise{animation:none}*{transition-duration:.01ms!important}}.sr-only{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}.prose .talk{border:1px solid;border-radius:12px;margin:1.15rem 0 1.15rem 4rem;padding:.85rem 1.15rem;line-height:1.95;position:relative}.prose .talk+.talk.cont{margin-top:.45rem}.prose .talk:before{content:attr(data-who);text-align:center;width:3.3rem;font-family:var(--font-mono);letter-spacing:.04em;border-radius:7px;padding:.16rem 0;font-size:.68rem;font-weight:700;position:absolute;top:.6rem;left:-4rem}.prose .talk.cont:before{visibility:hidden}.prose .talk:after{content:"";border-bottom:1px solid;border-left:1px solid;border-color:inherit;width:12px;height:12px;position:absolute;top:1rem;left:-7px;transform:rotate(45deg)}.prose .talk.cont:after{display:none}.prose .talk.kuro{background:var(--paper-raised);border-color:var(--line)}.prose .talk.kuro:before{background:var(--accent-wash);color:var(--accent)}.prose .talk.kuro:after{background:var(--paper-raised)}.prose .talk.ray{background:#edf0f5;border-color:#d6dce6}.prose .talk.ray:before{color:#3a5578;background:#dde4ef}.prose .talk.ray:after{background:#edf0f5}@media (width<=34rem){.prose .talk{margin-left:0;padding-top:.7rem}.prose .talk:before{width:auto;margin-bottom:.4rem;padding:.14rem .55rem;display:inline-block;position:static}.prose .talk.cont:before,.prose .talk:after{display:none}}footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);background:color-mix(in srgb, var(--paper-raised) 60%, transparent);margin-top:4rem;padding:3rem 0 4rem}.inner[data-astro-cid-jo6i4kqk]{width:var(--wide);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;max-width:calc(100% - 2.5rem);margin:0 auto;display:flex}.brand[data-astro-cid-jo6i4kqk]{font-family:var(--font-serif);letter-spacing:.03em;color:var(--ink);font-size:1.1rem;font-weight:800;text-decoration:none}.brand[data-astro-cid-jo6i4kqk] .flip[data-astro-cid-jo6i4kqk]{color:var(--accent)}.tag[data-astro-cid-jo6i4kqk]{color:var(--muted);margin:.4rem 0 0;font-size:.85rem}.foot-links[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);letter-spacing:.06em;gap:1.2rem;font-size:.78rem;display:flex}.foot-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--ink-soft);text-decoration:none}.foot-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.copy[data-astro-cid-jo6i4kqk]{width:var(--wide);max-width:calc(100% - 2.5rem);font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);margin:2.5rem auto 0;font-size:.7rem}a[data-astro-cid-evkijfd6]{color:var(--ink-soft);text-transform:uppercase;border-radius:6px;padding:.35em .7em;text-decoration:none;transition:color .15s,background .15s;display:inline-block}a[data-astro-cid-evkijfd6]:hover{color:var(--accent-deep);background:var(--accent-wash)}a[data-astro-cid-evkijfd6].active{color:var(--accent);background:var(--accent-wash)}header[data-astro-cid-nen7h5rs]{z-index:20;background:color-mix(in srgb, var(--paper-raised) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(8px);backdrop-filter:saturate(140%)blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}nav[data-astro-cid-nen7h5rs]{width:var(--wide);justify-content:space-between;align-items:center;gap:1rem;max-width:calc(100% - 2.5rem);margin:0 auto;padding:.85rem 0;display:flex}.brand[data-astro-cid-nen7h5rs]{font-family:var(--font-serif);letter-spacing:.04em;color:var(--ink);font-size:1.18rem;font-weight:800;text-decoration:none}.brand[data-astro-cid-nen7h5rs] .flip[data-astro-cid-nen7h5rs]{color:var(--accent)}.brand[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.links[data-astro-cid-nen7h5rs]{font-family:var(--font-mono);letter-spacing:.08em;gap:.4rem;font-size:.78rem;display:flex}@media (width<=520px){.brand[data-astro-cid-nen7h5rs]{font-size:1.05rem}}
