:root{--paper: #faf6ee;--ink: #2a2118;--ink-soft: #6e614f;--ink-faint: #a3937d;--line: #e6dbc9;--accent: #92400e;--seal: #b3452a;--seal-ink: #faf6ee;--lamp: transparent;--display-sun: none;--display-moon: block;color-scheme:light}:root[data-theme=dark]{--paper: #171310;--ink: #eae1d2;--ink-soft: #a4937d;--ink-faint: #6b5d4c;--line: #2c251e;--accent: #d9a05b;--seal: #9c3d26;--seal-ink: #f0e4d2;--lamp: rgba(224, 170, 98, .07);--display-sun: block;--display-moon: none;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #171310;--ink: #eae1d2;--ink-soft: #a4937d;--ink-faint: #6b5d4c;--line: #2c251e;--accent: #d9a05b;--seal: #9c3d26;--seal-ink: #f0e4d2;--lamp: rgba(224, 170, 98, .07);--display-sun: block;--display-moon: none;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:"Noto Serif SC",Playfair Display,Songti SC,Georgia,serif;font-size:17px;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(55% 38% at 50% 0%,var(--lamp),transparent 70%)}::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.page{position:relative;max-width:41rem;margin:0 auto;padding:clamp(2.5rem,8vh,5rem) 1.4rem 7rem}.page:before{content:"";position:absolute;left:-2.8rem;top:clamp(2.5rem,8vh,5rem);bottom:7rem;width:1px;background:repeating-linear-gradient(to bottom,var(--line) 0 16px,transparent 16px 30px)}@media(max-width:820px){.page:before{display:none}}.view{animation:rise .32s cubic-bezier(.22,.61,.36,1) both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.view{animation:none}body,.row-title,.crumb,.pager a,#theme-toggle{transition:none!important}}#theme-toggle{position:fixed;top:.9rem;right:.9rem;z-index:10;width:44px;height:44px;display:grid;place-items:center;background:none;border:none;border-radius:50%;color:var(--ink-soft);cursor:pointer;transition:color .2s ease,background-color .2s ease}#theme-toggle:hover{color:var(--accent);background:color-mix(in srgb,var(--line) 45%,transparent)}#theme-toggle svg{width:19px;height:19px}.icon-sun{display:var(--display-sun)}.icon-moon{display:var(--display-moon)}.masthead{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:3.2rem}.kanji{margin:0;font-size:clamp(3rem,9vw,3.8rem);font-weight:600;letter-spacing:.02em;line-height:1.2}.latin{margin:.8rem 0 0;font-family:Playfair Display,Georgia,serif;font-size:.78rem;letter-spacing:.55em;color:var(--ink-soft)}.mast-left:after{content:"";display:block;width:3.5rem;height:1px;background:var(--line);margin-top:2.4rem}.hanko-col{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:.35rem}.tate{writing-mode:vertical-rl;font-size:.74rem;letter-spacing:.32em;color:var(--ink-faint);-webkit-user-select:none;user-select:none}.hanko{display:grid;place-items:center;width:29px;height:29px;background:var(--seal);color:var(--seal-ink);font-size:16px;font-weight:600;line-height:1;border-radius:4px 6px;transform:rotate(-2.5deg);box-shadow:inset 0 0 4px #0000001f;-webkit-user-select:none;user-select:none}@media(max-width:540px){.tate{display:none}.hanko-col{padding-top:.6rem}}.year{margin:2.8rem 0 .4rem;font-family:Playfair Display,Georgia,serif;font-size:.8rem;letter-spacing:.18em;color:var(--ink-faint)}.row{display:flex;align-items:baseline;gap:1.4rem;padding:1.05rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.row time{flex:none;width:8.6rem;font-size:.86rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.row-title{font-size:1.05rem;line-height:1.6;transition:color .2s ease}.row:hover .row-title{color:var(--accent)}.untitled{color:var(--ink-soft)}.tag{margin-left:.6em;padding:.1em .45em;font-size:.68rem;letter-spacing:.08em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:3px;vertical-align:.15em;white-space:nowrap}@media(max-width:540px){.row{flex-direction:column;gap:.35rem}.row time{width:auto}}.crumb{display:inline-block;margin-bottom:3rem;font-size:.85rem;color:var(--ink-soft);text-decoration:none;transition:color .2s ease}.crumb:hover{color:var(--accent)}.entry-date{margin:0 0 .6rem;font-size:.86rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.entry-title{margin:0 0 2.4rem;font-size:1.65rem;font-weight:600;line-height:1.5}.prose{font-size:1.05rem;line-height:2.05;letter-spacing:.01em}.prose p{margin:1.4em 0}.prose h1,.prose h2,.prose h3{margin:2em 0 .8em;font-weight:600;line-height:1.6}.prose h1{font-size:1.3rem}.prose h2{font-size:1.18rem}.prose h3{font-size:1.05rem}.prose blockquote{margin:1.6em 0;padding-left:1.2em;border-left:2px solid var(--line);color:var(--ink-soft)}.prose hr{width:5rem;margin:2.5em auto;border:none;border-top:1px solid var(--line)}.prose a{color:var(--accent)}.prose code{padding:.15em .4em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em;background:color-mix(in srgb,var(--line) 45%,transparent);border-radius:4px}.prose pre{padding:1em 1.2em;overflow-x:auto;background:color-mix(in srgb,var(--line) 35%,transparent);border-radius:6px;line-height:1.7}.prose pre code{padding:0;background:none}.prose img{max-width:100%}.prose:after{content:"〆";display:block;margin-top:3.2em;text-align:center;font-size:.95rem;color:var(--ink-faint)}.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:4.5rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.9rem}.pager a{max-width:46%;color:var(--ink-soft);text-decoration:none;transition:color .2s ease}.pager a:hover{color:var(--accent)}.pager .next{margin-left:auto;text-align:right}.empty{padding:6rem 0 4rem;text-align:center}.empty p{margin:.5rem 0}.empty .soft{font-size:.92rem;color:var(--ink-soft)}.empty a{color:var(--accent)}.door{padding-top:4rem}.door-btn{margin:1.8rem 0 1.2rem;padding:.85em 2.4em;font-family:inherit;font-size:.98rem;letter-spacing:.18em;color:var(--ink);background:none;border:1px solid var(--ink-faint);border-radius:2px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.door-btn:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.room{margin-top:4.5rem;text-align:center;font-size:.85rem;color:var(--ink-soft)}.room p{margin:.45rem 0}.room a{color:var(--accent)}.epigraph{color:var(--ink-faint)}.badge{margin-top:1.6rem;font-size:.72rem;letter-spacing:.25em;color:var(--ink-faint)}
