@font-face{font-family:notoSerifSC;src:url(../media/noto_serif_sc-s.p.1p97ys5i2c_sx.woff2)format("woff2");font-display:swap;font-weight:200 900}@font-face{font-family:notoSerifSC Fallback;src:local(Times New Roman);ascent-override:115.1%;descent-override:28.6%;line-gap-override:0.0%;size-adjust:100.0%}.notoserifsc_3ac99e35-module__clDfca__className{font-family:notoSerifSC,notoSerifSC Fallback}.notoserifsc_3ac99e35-module__clDfca__variable{--font-serif:"notoSerifSC", "notoSerifSC Fallback"}
@font-face{font-family:notoSansSC;src:url(../media/noto_sans_sc-s.p.1-s8nfe55ebsj.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:notoSansSC Fallback;src:local(Arial);ascent-override:116.0%;descent-override:28.8%;line-gap-override:0.0%;size-adjust:100.0%}.notosanssc_24300d3-module__uYuO9q__className{font-family:notoSansSC,notoSansSC Fallback}.notosanssc_24300d3-module__uYuO9q__variable{--font-sans:"notoSansSC", "notoSansSC Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.200l3jur7oygh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_c4f6074-module__5_rhga__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_c4f6074-module__5_rhga__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--washi:#f2efe8;--washi-2:#e9e5db;--ink:#141417;--muted:#5a5750;--hair:#cfc9bc;--night:#0e0f13;--night-2:#0a0b0e;--night-line:#2a2d35;--night-text:#e8e6e1;--night-dim:#9da2ab;--accent:#ff2e63;--accent-ink:#c8134a;--cyan:#00e5ff;--c-learn:#c8134a;--c-insight:#007c8a;--c-feel:#6d3fd6;--serif:var(--font-serif), "Songti SC", serif;--sans:var(--font-sans), "PingFang SC", "Hiragino Sans", sans-serif;--mono:var(--font-mono), ui-monospace, "SFMono-Regular", monospace;--gutter:80px;--max:1440px}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--washi);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-ink)}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}img{max-width:100%;display:block}.mono{font-family:var(--mono)}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin:0 auto}.glitch{text-shadow:-3px 0 #00e5ffcc,3px 0 #ff2e63cc}.blink{animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.scan{background-image:repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 1px 3px)}.label{font-family:var(--mono);color:var(--muted);letter-spacing:.1em;font-size:13px}.label b{color:var(--accent-ink);font-weight:400}.dark .label{color:var(--cyan)}.chip{font-family:var(--mono);background:var(--ink);color:var(--washi);letter-spacing:.1em;padding:6px 12px;font-size:12px;display:inline-block}.link-line{border-bottom:1px solid var(--ink);align-self:flex-start;gap:8px;padding-bottom:4px;font-size:15px;display:inline-flex}.link-accent{border-bottom:2px solid var(--accent);font-size:16px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link:focus{z-index:100;clip:auto;background:var(--ink);width:auto;height:auto;color:var(--washi);font:14px var(--sans);padding:10px 16px;top:12px;left:12px}@media (prefers-reduced-motion:reduce){.blink{animation:none}html{scroll-behavior:auto}}.draft-chip{font:11px var(--mono);letter-spacing:.12em;border:1px dashed var(--accent-ink);color:var(--accent-ink);padding:3px 8px}
.site-header{border-bottom:1px solid var(--hair);z-index:20;background:color-mix(in srgb, var(--washi) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:24px;height:88px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand:hover{color:var(--ink)}.site-header.is-home{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f3eadb;border-bottom:0;height:clamp(240px,24vw,360px);position:relative}.site-header.is-home .wrap{z-index:1;position:relative}.site-header.is-home:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#f3eadb,#f3eadb00);height:110px;position:absolute;inset:0 0 auto}.home-scene{width:100%;height:100%;display:block;position:absolute;inset:0}.brand-name{flex-direction:column;gap:2px;display:flex}.brand-name strong{font:700 16px var(--mono);letter-spacing:.18em}.brand-name small{color:var(--muted);letter-spacing:.2em;font-size:11px}.nav{gap:48px;font-size:15px;display:flex}.nav a{align-items:baseline;gap:8px;display:flex}.nav a span{font:11px var(--mono);color:var(--muted)}.nav a[aria-current=page]{color:var(--accent-ink)}.nav a[aria-current=page] span{color:inherit}.status{font:12px var(--mono);color:var(--muted);letter-spacing:.08em;align-items:center;gap:10px;display:flex}.status i{background:var(--accent);width:8px;height:8px}.progress{font:12px var(--mono);color:var(--muted);letter-spacing:.08em;align-items:center;gap:10px;display:flex}.progress .bar{background:var(--hair);width:120px;height:4px}.progress .bar span{background:var(--accent);height:100%;display:block}.site-footer{border-top:2px solid var(--ink)}.site-footer .wrap{flex-direction:column;gap:64px;padding-block:80px 48px;display:flex}.foot-grid{grid-template-columns:4fr 1fr 4fr 1fr 2fr;display:grid}.foot-brand{flex-direction:column;gap:16px;display:flex}.foot-brand strong{font:700 18px var(--mono);letter-spacing:.18em}.foot-brand p{color:var(--muted);margin:0;font-size:15px;line-height:1.9}.subscribe{flex-direction:column;grid-column:3;gap:14px;display:flex}.subscribe label{font-size:15px;font-weight:500}.subscribe .row{display:flex}.subscribe input{border:1px solid var(--ink);min-width:0;height:52px;font:14px var(--mono);color:var(--ink);background:0 0;border-right:0;border-radius:0;flex:1;padding:0 16px}.subscribe button{border:1px solid var(--ink);background:var(--accent);height:52px;color:var(--ink);font:700 15px var(--sans);cursor:pointer;border-radius:0;padding:0 24px}.subscribe button:hover{background:var(--ink);color:var(--washi)}.subscribe .note{font:12px var(--mono);color:var(--muted);min-height:1em}.foot-links{flex-direction:column;grid-column:5;gap:12px;font-size:15px;display:flex}.foot-bottom{font:12px var(--mono);color:var(--muted);letter-spacing:.08em;border-top:1px solid var(--hair);justify-content:space-between;padding-top:24px;display:flex}
.hero .wrap{justify-content:space-between;gap:64px;min-height:672px;padding-top:96px;display:flex}.hero-main{flex-direction:column;gap:36px;max-width:820px;display:flex}.hero h1{font:900 88px/1.18 var(--serif);letter-spacing:.02em;margin:0}.hero p{max-width:600px;color:var(--muted);margin:0;font-size:19px;font-weight:300;line-height:1.9}.btns{flex-wrap:wrap;gap:16px;margin-top:8px;display:flex}.btn{border:1px solid var(--ink);align-items:center;gap:12px;height:56px;padding:0 32px;font-size:16px;display:inline-flex}.btn-solid{background:var(--ink);color:var(--washi)}.btn-solid:hover{color:var(--washi);background:#000}.btn:not(.btn-solid):hover{background:var(--ink);color:var(--washi)}.hero-tags{font:12px var(--mono);color:var(--muted);letter-spacing:.12em;flex-wrap:wrap;gap:40px;margin-top:auto;padding-bottom:72px;display:flex}.hero-art{flex-shrink:0;width:440px;height:560px;position:relative}.hero-art svg{position:absolute;top:20px;left:0}.hero-art .node{font:10px var(--mono);color:var(--muted);letter-spacing:.1em;position:absolute;top:92px;left:330px}.hero-art .vert{writing-mode:vertical-rl;font:600 26px var(--serif);letter-spacing:.4em;position:absolute;top:40px;right:0}.hero-art .coords{font:11px var(--mono);color:var(--muted);letter-spacing:.1em;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:20px;left:0}.enso-ring{transform-origin:220px 220px;animation:60s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.enso-ring{animation:none}}.pillars{border-top:2px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pillar{border-right:1px solid var(--hair);flex-direction:column;gap:20px;padding:40px 40px 48px;display:flex}.pillar:first-child{padding-left:0}.pillar:last-child{border-right:0;padding-right:0}.pillar-top{font-family:var(--mono);justify-content:space-between;align-items:baseline;display:flex}.pillar-top b{font-size:14px}.pillar-top span{color:var(--muted);letter-spacing:.15em;font-size:12px}.pillar h3{font:900 44px var(--serif);margin:0}.pillar p{color:var(--muted);margin:0;font-size:16px;line-height:1.9}.pillar .topics{font:12px/2 var(--mono)}.pillar .link-line{margin-top:12px}.featured{grid-template-columns:7fr 5fr;align-items:center;gap:48px;display:grid}.featured:hover{color:inherit}.featured:hover h3{color:var(--accent-ink)}.screen{background-color:var(--night);aspect-ratio:760/480;place-items:center;padding:56px 64px;display:grid;position:relative;overflow:hidden}.screen .tl{font:11px var(--mono);color:var(--night-dim);letter-spacing:.1em;position:absolute;top:20px;left:24px}.screen .br{font:16px var(--mono);color:var(--cyan);position:absolute;bottom:18px;right:24px}.matrix{gap:4px;width:100%;display:grid}.matrix i{background:var(--accent);height:24px;display:block}.featured-body{flex-direction:column;gap:24px;display:flex}.featured-body h3{font:900 40px/1.35 var(--serif);margin:0;transition:color .2s}.featured-body p{color:var(--muted);margin:0;font-size:16px;line-height:1.9}.meta-row{font:12px var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tags{font:12px var(--mono);color:var(--muted);flex-wrap:wrap;gap:12px;display:flex}.dark{background-color:var(--night);color:var(--night-text)}.now .wrap{grid-template-columns:5fr 7fr;gap:48px;padding-block:120px;display:grid}.now-intro{flex-direction:column;gap:28px;display:flex}.now-intro h2{font:900 60px/1.25 var(--serif);color:var(--washi);margin:0}.now-intro p{max-width:420px;color:var(--night-dim);margin:0;font-size:16px;line-height:1.9}.now-intro .kana{font:700 64px var(--mono);color:#1f2229;letter-spacing:.05em;margin-top:auto}.term{border:1px solid var(--night-line);background:var(--night-2)}.term-bar{border-bottom:1px solid var(--night-line);height:44px;font:12px var(--mono);color:var(--night-dim);justify-content:space-between;align-items:center;padding:0 20px;display:flex}.term-bar .rec{color:var(--accent)}.term-body{font:15px/1.6 var(--mono);flex-direction:column;gap:22px;padding:32px 28px 40px;display:flex}.term-body .cmd{color:var(--night-dim);align-items:center;gap:6px;display:flex}.term-line{gap:16px;display:flex}.term-line b{flex-shrink:0;width:88px;font-weight:400}.term-line.doing b{color:var(--cyan)}.term-line.done b,.term-line.done span{color:var(--night-dim)}.term-line.done span{text-decoration:line-through}.term-line.plan b{color:var(--accent)}.cursor{background:var(--cyan);width:10px;height:20px;display:inline-block}.quote .wrap{justify-content:space-between;align-items:center;gap:32px;padding-block:160px;display:flex}.quote .side{width:200px}.quote blockquote{flex-direction:column;align-items:center;gap:32px;margin:0;display:flex}.quote blockquote p{font:300 54px/1.6 var(--serif);text-align:center;margin:0}.quote cite{font:normal 13px var(--mono);color:var(--muted);letter-spacing:.1em}.hanko{writing-mode:vertical-rl;border:2px solid var(--accent);color:var(--accent-ink);font:900 22px var(--serif);letter-spacing:.3em;margin-left:auto;padding:16px 10px}
.section{padding-block:96px 120px}.sec-head{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px;display:flex}.sec-head>div{flex-direction:column;gap:16px;display:flex}.sec-head h2{font:600 52px/1.2 var(--serif);margin:0}.sec-head p{max-width:420px;color:var(--muted);margin:0;font-size:16px;line-height:1.9}.post-list{border-top:2px solid var(--ink)}.post-row{border-bottom:1px solid var(--hair);grid-template-columns:160px 150px 1fr 120px 40px;align-items:center;padding:30px 0;transition:padding .2s,background .2s;display:grid}.post-row:hover{color:var(--ink);background:var(--washi-2);padding-inline:16px}.post-row:hover .title{color:var(--accent-ink)}.post-row .date,.post-row .time{font:13px var(--mono);color:var(--muted)}.post-row .time{text-align:right;font-size:12px}.post-row .cat{font:12px var(--mono);letter-spacing:.08em;align-items:center;gap:8px;display:flex}.post-row .cat i{width:8px;height:8px}.post-row .title{font:600 24px/1.5 var(--serif)}.post-row .arrow{font:18px var(--mono);text-align:right}.empty{color:var(--muted);font-family:var(--mono);padding:48px 0;font-size:14px}.page-head .wrap{justify-content:space-between;align-items:flex-end;gap:32px;padding-block:96px 64px;display:flex}.page-head h1{font:900 72px/1.2 var(--serif);margin:16px 0 0}.page-head p{max-width:420px;color:var(--muted);margin:0;line-height:1.9}.year{font:700 14px var(--mono);letter-spacing:.1em;color:var(--accent-ink);padding:48px 0 16px}.tag-cloud{border-top:2px solid var(--ink);flex-wrap:wrap;gap:12px 16px;padding-top:32px;display:flex}.tag-cloud a{font:16px var(--mono);border:1px solid var(--hair);padding:8px 14px}.tag-cloud a:hover{border-color:var(--accent-ink)}.tag-cloud span{color:var(--muted);margin-left:4px;font-size:12px}.search-box{border-bottom:2px solid var(--ink);align-items:center;gap:24px;padding-bottom:12px;display:flex}.search-box input{min-width:0;font:400 28px var(--serif);color:var(--ink);background:0 0;border:0;flex:1;padding:8px 0}.search-box input:focus{outline:none}.search-box input::placeholder{color:var(--hair)}.search-box .mono{color:var(--muted);letter-spacing:.1em;white-space:nowrap;font-size:12px}
.art-head .wrap{grid-template-columns:2fr 8fr 2fr;gap:24px;padding-block:88px 72px;display:grid}.art-head-main{flex-direction:column;grid-column:2;gap:28px;display:flex}.crumbs{font:12px var(--mono);color:var(--muted);letter-spacing:.1em;gap:10px;display:flex}.crumbs span:last-child{color:var(--ink)}.art-head h1{font:900 64px/1.3 var(--serif);margin:0}.art-head .lede{color:var(--muted);margin:0;font-size:20px;font-weight:300;line-height:1.9}.art-meta{font:13px var(--mono);color:var(--muted);border-top:1px solid var(--hair);flex-wrap:wrap;gap:32px;padding-top:20px;display:flex}.art-tags{flex-wrap:wrap;gap:0 .6em;display:flex}.art-head .vert{writing-mode:vertical-rl;font:20px var(--serif);letter-spacing:.4em;color:var(--muted);justify-self:end}.art-band .wrap{justify-content:space-between;align-items:center;gap:32px;min-height:260px;display:flex;position:relative}.art-band .tl{left:var(--gutter);font:11px var(--mono);color:var(--night-dim);letter-spacing:.1em;position:absolute;top:24px}.art-band .eq{font:40px var(--mono);color:var(--washi)}.art-band .matrix{flex-shrink:0;width:168px}.art-body .wrap{grid-template-columns:2fr 1fr 6fr 1fr 2fr;align-items:start;gap:24px;padding-block:96px 120px;display:grid}.toc{flex-direction:column;gap:18px;display:flex;position:sticky;top:120px}.toc-title{font:12px var(--mono);color:var(--muted);letter-spacing:.12em;border-bottom:1px solid var(--ink);padding-bottom:12px}.toc a{gap:10px;font-size:14px;line-height:1.6;display:flex}.toc a span{font-family:var(--mono);color:var(--muted)}.toc a.active{color:var(--accent-ink);font-weight:500}.toc a.active span{color:inherit}.side-notes{flex-direction:column;grid-column:5;gap:40px;display:flex;position:sticky;top:120px}.side-note{border-top:1px solid var(--hair);flex-direction:column;gap:8px;padding-top:12px;display:flex}.side-note b{font:400 11px var(--mono);color:var(--accent-ink);letter-spacing:.1em}.side-note span{color:var(--muted);font-size:13px;line-height:1.8}.feel-box{border:1px solid var(--ink);background:var(--washi-2);flex-direction:column;gap:16px;padding:32px 36px;display:flex}.feel-box .mono{letter-spacing:.12em;justify-content:space-between;font-size:12px;display:flex}.feel-box p{margin:0;font-size:17px;line-height:2}.pager{grid-template-columns:1fr 1fr;display:grid}.pager a{flex-direction:column;gap:12px;padding:64px 40px 64px 0;display:flex}.pager a+a,.pager .next{text-align:right;border-left:1px solid var(--hair);align-items:flex-end;padding:64px 0 64px 40px}.pager small{font:12px var(--mono);color:var(--muted);letter-spacing:.1em}.pager strong{font:600 26px/1.4 var(--serif)}
.prose{counter-reset:h2;grid-column:3;min-width:0;font-size:18px;line-height:2.05}.prose .md>*{margin:0 0 28px}.feel-box{margin-top:56px}.prose h2{font:900 32px/1.4 var(--serif);align-items:baseline;gap:16px;margin:64px 0 24px;scroll-margin-top:120px;display:flex}.prose h2:first-child{margin-top:0}.prose h2:before{counter-increment:h2;content:counter(h2, decimal-leading-zero);font:14px var(--mono);color:var(--accent-ink)}.prose h3{font:700 22px var(--serif);margin:40px 0 16px}.prose a{border-bottom:1px solid var(--accent)}.prose strong{font-weight:700}.prose ul,.prose ol{padding-left:24px}.prose li{margin-bottom:8px}.prose li::marker{font-family:var(--mono);color:var(--accent-ink)}.prose hr{border:0;border-top:1px solid var(--hair);margin:56px 0}.prose img{height:auto;margin:40px 0}.prose :not(pre)>code{font:.88em var(--mono);background:var(--washi-2);padding:2px 6px}.prose :not(pre)>code[data-language]{background:var(--night)}.prose blockquote{border-top:2px solid var(--ink);border-bottom:1px solid var(--hair);font:600 28px/1.7 var(--serif);gap:20px;margin:48px 0;padding:40px 0;display:flex}.prose blockquote:before{content:"「";color:var(--accent);font-size:48px;line-height:1}.prose blockquote p{margin:0}.prose table{border-collapse:collapse;width:100%;font-size:15px}.prose th,.prose td{border-bottom:1px solid var(--hair);text-align:left;padding:10px 8px}.prose th{font:12px var(--mono);letter-spacing:.1em;color:var(--muted);border-bottom:2px solid var(--ink)}.prose figure[data-rehype-pretty-code-figure]{background:var(--night);border:1px solid var(--night-line);margin:40px 0}.prose figcaption[data-rehype-pretty-code-title]{border-bottom:1px solid var(--night-line);height:40px;font:12px var(--mono);color:var(--night-dim);align-items:center;padding:0 20px;display:flex}.prose pre{font:14px/1.85 var(--mono);background:var(--night);color:var(--night-text);margin:0;padding:24px;overflow-x:auto}.prose pre code{font:inherit;counter-reset:line}.prose pre [data-highlighted-line]{box-shadow:inset 2px 0 var(--accent);background:#ff2e631f}.prose pre code[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);text-align:right;color:#4a4f5a;width:2ch;margin-right:20px;display:inline-block}.prose pre [data-highlighted-chars]{background:#00e5ff29;border-radius:2px;padding:1px 2px}.prose h4{font:700 18px var(--sans);margin:32px 0 12px}.prose del{color:var(--muted)}.prose mark{color:inherit;background:#ff2e632e;padding:0 2px}.prose table{display:block;overflow-x:auto}.prose figure:not([data-rehype-pretty-code-figure]){margin:40px 0}.prose figure img{margin:0}.prose figcaption:not([data-rehype-pretty-code-title]){font:12px/1.8 var(--mono);color:var(--muted);text-align:center;letter-spacing:.05em;margin-top:12px}.prose .contains-task-list{padding-left:4px;list-style:none}.prose .task-list-item input{accent-color:var(--accent-ink);vertical-align:-2px;margin:0 10px 0 0}.callout{--c:var(--ink);border-left:3px solid var(--c);background:var(--washi-2);margin:40px 0;padding:20px 24px;font-size:16px;line-height:1.95}.callout>*{margin:0 0 12px}.callout>:last-child{margin-bottom:0}.callout-title{font:12px var(--mono);letter-spacing:.12em;color:var(--c)}.callout-note{--c:var(--c-insight)}.callout-tip{--c:#2f7d4f}.callout-important{--c:var(--c-feel)}.callout-warning{--c:#a8640c}.callout-caution{--c:var(--accent-ink)}.callout-feel{--c:var(--ink);border:1px solid var(--ink);padding:28px 32px}.prose .katex{font-size:1.05em}.prose .katex-display{margin:32px 0;padding:8px 0;overflow:auto hidden}.prose .footnotes{border-top:1px solid var(--hair);color:var(--muted);margin-top:72px;padding-top:24px;font-size:14px;line-height:1.9}.prose .footnote-label{font:12px var(--mono);letter-spacing:.12em;color:var(--muted);margin:0 0 12px}.prose .footnotes ol{margin:0}.prose [data-footnote-ref]{font:11px var(--mono);color:var(--accent-ink);border:0;margin-left:2px}.prose [data-footnote-ref]:before{content:"["}.prose [data-footnote-ref]:after{content:"]"}.prose [data-footnote-backref]{font-family:var(--mono);border:0}.prose [data-footnote-ref]+*,.prose .footnotes li{scroll-margin-top:120px}.prose video,.prose iframe{background:var(--night);border:0;width:100%;margin:40px 0;display:block}.prose iframe{aspect-ratio:16/9;height:auto}.prose details{border:1px solid var(--hair);margin:32px 0;padding:14px 20px}.prose summary{cursor:pointer;font-weight:500}.prose details[open] summary{margin-bottom:12px}.prose kbd{font:.8em var(--mono);border:1px solid var(--hair);background:var(--washi);border-bottom-width:2px;padding:2px 6px}.prose sub,.prose sup{font-size:.7em}
@media (max-width:1200px){:root{--gutter:48px}.hero h1{font-size:68px}.hero-art{display:none}.art-body .wrap{grid-template-columns:1fr 3fr}.art-body .prose{grid-column:2}.side-notes{display:none}}@media (max-width:900px){:root{--gutter:24px}.nav{gap:20px}.nav a span,.status,.progress{display:none}.hero .wrap{min-height:0;padding-top:64px}.hero h1{font-size:48px}.hero-tags{padding-bottom:48px}.section{padding-block:72px 80px}.sec-head{flex-direction:column;align-items:flex-start}.sec-head h2{font-size:36px}.pillars{grid-template-columns:1fr}.pillar,.pillar:first-child,.pillar:last-child{border-right:0;border-bottom:1px solid var(--hair);padding:32px 0}.featured{grid-template-columns:1fr;gap:32px}.featured-body h3{font-size:30px}.post-row{grid-template-columns:1fr auto;gap:8px 16px}.post-row .title{order:3;grid-column:1/-1;font-size:20px}.post-row .time,.post-row .arrow{display:none}.now .wrap{grid-template-columns:1fr;padding-block:80px}.now-intro h2{font-size:42px}.now-intro .kana{display:none}.term-body{padding:24px 20px;font-size:13px}.term-line b{width:72px}.quote .wrap{flex-direction:column;padding-block:96px}.quote .side{width:auto}.quote blockquote p{font-size:32px}.hanko{margin:0}.foot-grid{grid-template-columns:1fr;gap:40px}.subscribe,.foot-links{grid-column:auto}.foot-links{flex-flow:wrap;gap:12px 24px}.art-head .wrap{grid-template-columns:1fr;padding-block:56px 48px}.art-head-main{grid-column:1}.art-head h1{font-size:38px}.art-head .vert{display:none}.art-band .eq{font-size:18px}.art-band .matrix{display:none}.art-body .wrap{grid-template-columns:1fr;padding-block:56px 80px}.art-body .prose{grid-column:1;font-size:17px}.toc{display:none}.prose h2{font-size:26px}.prose blockquote{font-size:22px}.pager{grid-template-columns:1fr}.pager a,.pager a+a,.pager .next{text-align:left;border-left:0;border-top:1px solid var(--hair);align-items:flex-start;padding:32px 0}.page-head .wrap{flex-direction:column;align-items:flex-start;padding-block:64px 40px}.page-head h1{font-size:48px}}@media (max-width:600px){.nav{gap:16px;font-size:14px}.nav a{white-space:nowrap}.brand-name small{display:none}.brand-name strong{letter-spacing:.12em;font-size:14px}.site-header.is-home{height:240px}.site-header .wrap{height:68px}.hero h1{font-size:40px}.hero-tags{gap:12px 24px}}

