:root{--reading-ink:#d0cdc5;--heading-ink:#e6dfd1;--code-bg:#181817;--code-ink:#d8d5cc;--panel-bg:#25241f;--hero-focal:26%}
html{color-scheme:dark}html[data-theme="light"]{color-scheme:light;--paper:#f6f3ec;--ink:#342b22;--muted:#74614f;--line:#d9cdbd;--green:#875631;--amber:#9b6124;--maple:#b45d33;--reading-ink:#3b342c;--heading-ink:#684a2c;--code-bg:#ece6da;--code-ink:#3d342a;--panel-bg:#eee7da}
html[data-theme="light"] body{background:var(--paper)}.home-page .on-hero{color:#f3e8d8}.home-page .on-hero nav{color:#d7c9b5}
.forest-cover{height:100svh;min-height:540px;background:#233324;overflow:hidden;isolation:isolate}.forest-cover>.hero-image{inset:0;width:100%;height:100%;object-fit:cover;object-position:50% var(--hero-focal);transform:none;z-index:-4}.forest-cover>.hero-shade{inset:0;background:linear-gradient(180deg,#140d09a6,transparent 26%,transparent 75%,#140d0933);z-index:-3}.forest-cover #ambient{z-index:-1;opacity:.4}.forest-cover .scroll-guide{bottom:18px;color:#fff7e5}.forest-cover .scroll-guide i{height:30px;background:#fff5}.forest-cover .scroll-guide i:after{background:#efcb82}
.subject-list{display:flex;flex-direction:column;gap:15px}.subject-row{display:grid;grid-template-columns:232px minmax(0,1fr) 24px;align-items:center;gap:32px;border:1px solid var(--line);background:var(--paper);padding:0 27px 0 0;min-height:145px;overflow:hidden;transition:background .2s,border-color .2s}.subject-row:hover{background:var(--panel-bg);border-color:#8d623e}.subject-cover{display:block;width:232px;height:145px;object-fit:cover}.subject-row-heading{display:flex;align-items:baseline;gap:20px}.subject-copy h3{font:400 28px/1.5 var(--sans);margin:0;color:var(--ink)}.subject-row-heading>span{font:11px 'Lexend',sans-serif;color:var(--muted);white-space:nowrap}.subject-copy p{font:15px/1.8 var(--sans);margin:8px 0 0;color:var(--muted)}.subject-row-arrow{font-size:20px;color:var(--amber);transition:transform .2s}.subject-row:hover .subject-row-arrow{transform:translateX(4px)}.knowledge{max-width:1280px;margin-left:auto;margin-right:auto}.knowledge-heading h2:before{content:'>';font:22px var(--mono);color:var(--amber);margin-right:17px}.recent-heading h2{color:var(--ink)}.recent-layout{max-width:none}.entry-description,.entry-date,.result-count,.side-label,.meta,.meta time,.toc a,.article-layout .toc a,.toc summary,.article-layout .toc summary,.series-link,.series-link>span,.series-pagination small{color:var(--muted)}.article-layout .prose,.prose{color:var(--reading-ink)}.article-layout .prose h2,.prose h2{color:var(--heading-ink)}.article-layout .prose h3,.prose h3{color:var(--ink)}.article-layout .prose pre,.prose pre{background:var(--code-bg);color:var(--code-ink);border-color:var(--line)}.article-layout .prose code,.prose code{background:var(--panel-bg);color:var(--heading-ink)}.article-layout .prose pre code,.prose pre code{background:none;color:inherit}.prose .hljs{color:var(--code-ink)}.prose blockquote{color:var(--muted)}.prose th{background:var(--panel-bg);color:var(--heading-ink)}.katex{color:var(--heading-ink)}.search-dialog{background:var(--panel-bg);color:var(--ink);border-color:var(--line)}.search-dialog input{color:var(--ink)}.search-result small,.dialog-bar button,.search-dialog input::placeholder,.search-empty{color:var(--muted)}.search-result:focus,.search-result.selected{background:#4a3020;color:#f1ddb4}.category .count,.series-link>span{color:var(--muted)}
.theme-toggle{position:fixed;left:22px;bottom:22px;width:37px;height:37px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;z-index:46;display:grid;place-items:center;box-shadow:0 3px 16px #0002;cursor:pointer}.theme-toggle svg{grid-area:1/1;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.theme-moon{display:none}html[data-theme="light"] .theme-sun{display:none}html[data-theme="light"] .theme-moon{display:block}.theme-toggle:hover{color:var(--amber);border-color:var(--amber)}
html[data-theme="light"] .search-dialog::backdrop{background:#493a2b66}html[data-theme="light"] .search-result:focus,html[data-theme="light"] .search-result.selected{background:#e3d7c3;color:#4e3825}html[data-theme="light"] .hljs-keyword,html[data-theme="light"] .hljs-type{color:#9b482a}html[data-theme="light"] .hljs-string{color:#4b6532}html[data-theme="light"] .hljs-title,html[data-theme="light"] .hljs-built_in{color:#725124}html[data-theme="light"] .hljs-comment{color:#766653}html[data-theme="light"] .hljs-number,html[data-theme="light"] .hljs-literal{color:#96532a}
@keyframes ink-appear{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}
@media(max-width:1376px){.knowledge{margin-left:48px;margin-right:48px}}
@media(max-width:900px){.subject-row{grid-template-columns:190px minmax(0,1fr) 18px;gap:25px;padding-right:22px}.subject-cover{width:190px;height:128px}.subject-row{min-height:128px}.subject-copy h3{font-size:26px}.subject-copy p{font-size:14px}}
@media(orientation:portrait){.forest-cover{height:auto;min-height:0;aspect-ratio:var(--hero-ratio,1527/2220)}.forest-cover>.hero-image{object-fit:contain;object-position:center;transform:none}.forest-cover .scroll-guide{bottom:13px}}
@media(max-width:600px){.knowledge{margin-left:22px;margin-right:22px}.subject-list{gap:12px}.subject-row{grid-template-columns:110px minmax(0,1fr);gap:17px;padding:0 14px 0 0;min-height:104px}.subject-cover{width:110px;height:104px}.subject-copy h3{font-size:23px;line-height:1.4}.subject-row-heading{gap:9px;flex-wrap:wrap}.subject-row-heading>span{font-size:9px}.subject-copy p{font-size:12px;line-height:1.7;margin-top:6px}.subject-row-arrow{display:none}.forest-cover .scroll-guide i{height:24px}.theme-toggle{left:13px;bottom:16px;width:34px;height:34px}.knowledge-heading h2:before{font-size:20px;margin-right:13px}}
@media(max-width:365px) and (orientation:portrait){.subject-row{grid-template-columns:91px minmax(0,1fr);gap:13px}.subject-cover{width:91px;height:107px}.subject-copy h3{font-size:21px}.subject-copy p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.paper-cell{animation:none}.ink-word,.subject-row,.subject-row-arrow{transition:none}}

/* A single brush-written column, without a paper panel. */
.composition-paper{position:absolute;left:7%;right:auto;top:54%;bottom:auto;transform:translateY(-50%);padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;color:#fff1d3}
.composition-paper h1{font:400 clamp(20px,3.9svh,38px)/1.35 'Yuji Syuku','Yu Mincho','Hiragino Mincho ProN',serif;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;letter-spacing:.09em;width:max-content;max-width:none;margin:0;border:0;background:none;text-shadow:0 2px 7px #241e18a6}
.composition-paper .quote-char,.composition-paper .ink-word{display:inline;font:inherit;letter-spacing:inherit;background:none;border:0;padding:0;margin:0;backdrop-filter:none}
.composition-paper .quote-char{animation:ink-appear .45s ease backwards;animation-delay:var(--ink-delay,.45s)}
.composition-paper .ink-word{outline-offset:5px}
.composition-paper .kanji-glyph{color:inherit}
.composition-paper .ink-word .kanji-glyph{color:transparent;background-image:linear-gradient(90deg,#ed9b53,#f7d777),linear-gradient(#fff1d3,#fff1d3);background-size:0% 100%,100% 100%;background-repeat:no-repeat;background-position:left center;background-clip:text;-webkit-background-clip:text;text-shadow:none;filter:drop-shadow(0 1px 3px #241e1866);transition:background-size .4s ease}
.composition-paper .ink-word .quote-char:nth-child(2) .kanji-glyph{transition-delay:.12s}
.composition-paper .ink-word.sky .kanji-glyph{background-image:linear-gradient(90deg,#72c8e9,#b5e7f8),linear-gradient(#fff1d3,#fff1d3)}
.composition-paper .ink-word:hover .kanji-glyph,.composition-paper .ink-word:focus-visible .kanji-glyph,.composition-paper .ink-word.ink-active .kanji-glyph{background-size:100% 100%,100% 100%}
.composition-paper .ink-word:focus-visible{outline:1px dashed #fff1d3}
@media(max-width:900px){.composition-paper{left:5%}}
@media(orientation:portrait){.composition-paper{display:none}}
@media(prefers-reduced-motion:reduce){.composition-paper .quote-char{animation:none}.composition-paper .ink-word .kanji-glyph{transition:none}}

/* The cover dissolves into a quiet, fixed continuation of the same image. */
.home-page{isolation:isolate}
.home-scene{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.12}
.home-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% var(--hero-focal)}
html[data-theme="light"] .home-scene{opacity:.16}
.forest-cover{background:transparent;--hero-mask:linear-gradient(to bottom,#000 0%,#000 75%,rgba(0,0,0,.94) 85%,rgba(0,0,0,.55) 92%,rgba(0,0,0,.12) 97%,transparent 100%)}
.forest-cover>:is(.hero-image,.hero-shade,#ambient){mask-image:var(--hero-mask);-webkit-mask-image:var(--hero-mask)}
.forest-cover .scroll-guide{z-index:2;color:var(--muted)}
.forest-cover .scroll-guide i{background:color-mix(in srgb,var(--muted) 45%,transparent)}
.forest-cover .scroll-guide i:after{background:var(--amber)}
.composition-paper{top:50%}
@media(orientation:portrait){.forest-cover{--hero-mask:linear-gradient(to bottom,#000 0%,#000 89%,rgba(0,0,0,.72) 94%,rgba(0,0,0,.22) 98%,transparent 100%)}}

.home-page{--home-photo-opacity:.12}
html[data-theme="light"] .home-page{--home-photo-opacity:.16}
.home-page.home-scene-active .home-scene{opacity:calc(1 - (1 - var(--home-photo-opacity)) * var(--home-progress,0))}
.home-scene-active .forest-cover>.hero-image{visibility:hidden}
.home-scene-active .composition-paper{opacity:clamp(0,calc(1 - var(--home-progress,0) * 1.6),1)}
@media(orientation:portrait){.home-scene-active .home-scene img{height:auto;object-fit:contain;object-position:center top;mask-image:linear-gradient(to bottom,#000 0 90%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0 90%,transparent 100%)}}
