@layer reset,base,theme,layout,components;@keyframes vt-bookplate-out{0%{clip-path:inset(-2px -4px -2px -4px)}to{clip-path:inset(-2px 110% -2px -4px)}}@keyframes vt-bookplate-in{0%{clip-path:inset(-2px -4px -2px 110%)}to{clip-path:inset(-2px -4px -2px -4px)}}::view-transition-group(bookplate-section){animation:none}::view-transition-image-pair(bookplate-section){background:var(--text-faint);border-radius:3px}::view-transition-old(bookplate-section){animation:.16s cubic-bezier(.16,1,.3,1) both vt-bookplate-out}::view-transition-new(bookplate-section){animation:.16s .2s cubic-bezier(.16,1,.3,1) both vt-bookplate-in}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}img,video{max-width:100%;display:block;vertical-align:bottom}ul,ol{list-style:none}}@layer theme{:root{--accent: oklch(.67 .09 62);--accent-dim: color-mix(in oklch, var(--accent) 45%, white);--accent-deep: color-mix(in oklch, var(--accent) 75%, oklch(.18 .03 55));--accent-wash: color-mix(in oklch, var(--accent) 12%, var(--bg));--bg: oklch(.968 .011 100);--surface: oklch(.952 .018 96);--border: color-mix(in oklch, var(--accent) 22%, var(--bg));--border-strong: color-mix(in oklch, var(--accent) 40%, var(--bg));--text: oklch(.19 .03 52);--text-muted: oklch(.48 .038 58);--text-faint: oklch(.68 .028 65);--font-serif: "Noto Serif JP", "游明朝", "YuMincho", "Hiragino Mincho ProN", serif;--font-display: "Zen Old Mincho", "Noto Serif JP", serif;--font-mono: "Fira Code", "Cascadia Code", ui-monospace, monospace;--measure: 64ch;--gutter: clamp(1.25rem, 4vw, 2rem);--page-max: 740px;--page-line-offset: clamp(1rem, 3vw, 2rem);--ease-expo: cubic-bezier(.16, 1, .3, 1)}}@layer base{html{font-family:var(--font-serif);font-size:clamp(15.5px,1.1vw + .4rem,17.5px);line-height:2;color:var(--text);background-color:var(--bg);hanging-punctuation:first last}body{min-height:100dvh;position:relative;background-image:linear-gradient(to bottom,transparent 0,transparent 2.35rem,color-mix(in oklch,var(--accent) 7%,transparent) 2.35rem,transparent 2.42rem);background-size:100% 2.65rem;&:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.1;mix-blend-mode:multiply;background-image:radial-gradient(circle,oklch(.62 .07 58) .6px,transparent .6px),radial-gradient(circle,oklch(.65 .05 64) .6px,transparent .6px),radial-gradient(circle,oklch(.58 .08 54) .6px,transparent .6px);background-size:3px 3px,5px 5px,7px 7px;background-position:0 0,2px 1px,1px 4px}&:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,transparent 0,transparent min(100% - var(--page-line-offset) - 1px,100%),color-mix(in oklch,var(--accent) 10%,transparent) min(100% - var(--page-line-offset) - 1px,100%),color-mix(in oklch,var(--accent) 10%,transparent) min(100% - var(--page-line-offset),100%),transparent min(100% - var(--page-line-offset),100%));opacity:.65}}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.4;letter-spacing:.05em;color:var(--text)}p{max-width:var(--measure)}a{color:var(--accent-deep);text-decoration-thickness:1px;text-underline-offset:.28em;text-decoration-color:color-mix(in oklch,var(--accent) 40%,transparent);transition:color .2s var(--ease-expo),text-decoration-color .2s var(--ease-expo);@media(hover:hover){&:hover{color:var(--accent);text-decoration-color:var(--accent)}}}::selection{background:color-mix(in oklch,var(--accent) 35%,var(--bg));color:var(--text)}}@layer layout{.site-wrapper{width:min(100% - var(--gutter) * 2,var(--page-max));margin-inline:auto;padding-block:clamp(3rem,8vw,5rem);position:relative;&:before,&:after{position:fixed;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in oklch,var(--text-faint) 72%,transparent);pointer-events:none}&:before{content:"private reading room";inset-block:1.4rem auto;right:1.4rem;writing-mode:vertical-rl}&:after{content:"snuen";bottom:1.4rem;left:1.4rem;writing-mode:vertical-rl}}.site-header{margin-block-end:clamp(3rem,7vw,4.5rem);.site-header-row{display:flex;justify-content:space-between;align-items:start;gap:1.5rem}.site-heading{min-width:0}.site-kicker{margin-block-end:.55rem;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint)}.site-title{font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2rem);font-weight:400;letter-spacing:.12em;color:var(--text);text-decoration:none;display:inline-block;transition:color .2s var(--ease-expo);@media(hover:hover){&:hover{color:var(--accent)}}}.site-description{margin-block-start:.4rem;font-size:.85rem;color:var(--text-faint);letter-spacing:.08em}.site-bookplate{flex-shrink:0;min-width:min(38vw,11rem);padding:.85rem .95rem .8rem;border:1px solid var(--border-strong);border-radius:4px;background:linear-gradient(180deg,color-mix(in oklch,var(--surface) 75%,white),color-mix(in oklch,var(--surface) 92%,var(--bg)));box-shadow:0 10px 24px color-mix(in oklch,var(--accent) 8%,transparent)}.bookplate-mark,.bookplate-owner,.bookplate-index{font-size:.67rem;line-height:1.65;letter-spacing:.16em;text-transform:uppercase}.bookplate-mark{color:var(--text)}.bookplate-owner{margin-block:.2rem .65rem;color:var(--text-muted)}.bookplate-index{display:flex;justify-content:space-between;gap:1rem;padding-block-start:.55rem;border-block-start:1px solid var(--border);color:var(--text-faint)}}.site-footer{margin-block-start:clamp(4rem,10vw,6rem);font-size:.78rem;color:var(--text-faint);letter-spacing:.06em;.footer-author{display:flex;align-items:baseline;gap:.7em;font-family:var(--font-display);font-size:.85rem;color:var(--text-muted);letter-spacing:.08em;margin-block-end:.55rem}.footer-bio{line-height:1.85}}}@layer components{.meta-stamp{font-size:.8rem;font-family:var(--font-serif);letter-spacing:.06em;&:before{content:attr(data-prefix) " ·";font-size:.68rem;letter-spacing:.14em;margin-inline-end:.3em}&.meta-stamp--faint{color:var(--text-faint);&:before{color:var(--text-faint)}}&.meta-stamp--muted{color:var(--text-muted);&:before{color:var(--text-faint)}}&.meta-stamp--accent{color:var(--accent);&:before{color:var(--text-faint)}}}.entry-date,.entry-updated{font-variant-numeric:tabular-nums;letter-spacing:.03em}.entry-list{display:flex;flex-direction:column}.catalog-intro{margin-block-end:.2rem;padding-block-end:.95rem;.catalog-label{margin-block-end:.5rem;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint)}.catalog-copy{max-width:52ch;color:var(--text-muted);line-height:1.95}}.entry-item{display:grid;grid-template-columns:auto 1fr;gap:1rem 1.15rem;align-items:start;padding-block:1.6rem;padding-inline:.5rem;margin-inline:-.5rem;border-block-end:1px solid var(--border);border-radius:3px;transition:background .2s var(--ease-expo);&:first-child{border-block-start:1px solid var(--border)}@media(hover:hover){&:hover{background:var(--accent-wash);.entry-spine-mark{color:var(--accent)}}}.entry-spine{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;inline-size:2rem;min-block-size:4.5rem;border-inline-start:1px solid var(--border-strong);border-inline-end:1px solid var(--border);background:linear-gradient(180deg,color-mix(in oklch,var(--accent) 7%,transparent),color-mix(in oklch,var(--surface) 88%,transparent));border-radius:2px}.entry-spine-mark{font-size:.5rem;color:color-mix(in oklch,var(--accent) 50%,var(--text-faint));line-height:1;transition:color .2s var(--ease-expo)}.entry-content{display:flex;flex-direction:column;min-width:0}.entry-link{display:inline-block;font-family:var(--font-display);font-size:1.05rem;letter-spacing:.04em;color:var(--text);text-decoration:none;margin-block-end:.3rem;transition:color .18s var(--ease-expo);@media(hover:hover){&:hover{color:var(--accent-deep)}}}.entry-book-title{display:block;margin-block-end:.4rem;line-height:1.5}.entry-meta{display:flex;align-items:baseline;gap:.6rem 1rem;flex-wrap:wrap;font-size:.82rem;color:var(--text-muted)}}.back-link{display:inline-flex;align-items:center;gap:.5em;font-size:.83rem;color:var(--text-muted);text-decoration:none;letter-spacing:.04em;margin-block-end:2.75rem;min-height:44px;transition:color .2s var(--ease-expo);&.back-link--bottom{margin-block:2rem 0}.back-arrow{display:inline-block;transition:transform .2s var(--ease-expo)}@media(hover:hover){&:hover{color:var(--accent);.back-arrow{transform:translate(-4px)}}}}.entry-header{margin-block-end:2.75rem;padding-block-end:2rem;border-block-end:1px solid var(--border);.entry-kicker{margin-block-end:.55rem;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint)}& h1{font-size:clamp(1.45rem,3.5vw,1.9rem);line-height:1.4;letter-spacing:.06em;margin-block-end:1rem}.entry-header-meta{display:flex;align-items:baseline;gap:.6rem 1rem;flex-wrap:wrap;font-size:.82rem;color:var(--text-muted)}}.entry-source-url{font-size:.8rem;color:var(--text-faint);margin-block-end:2rem;& a{color:inherit;text-decoration:underline;text-underline-offset:3px;word-break:break-all;&:hover{color:var(--text-muted)}}}.prose{>*+*{margin-block-start:1.4rem}& p{line-height:2.05;max-width:var(--measure)}& h2{font-size:1.15rem;margin-block-start:2.75rem;margin-block-end:.75rem;padding-block-end:.5rem;border-block-end:1px solid var(--border);letter-spacing:.06em}& h3{font-size:1rem;margin-block-start:2rem;margin-block-end:.6rem;color:var(--text-muted)}& blockquote{border-inline-start:2px solid var(--accent-dim);padding-inline:1.4rem;margin-inline:0;color:var(--text-muted);font-style:italic;& p{margin-block-start:0}}& ul,ol{padding-inline-start:1.5rem;list-style:revert;max-width:var(--measure);& li+li{margin-block-start:.35rem}}& code{font-family:var(--font-mono);font-size:.84em;background:var(--surface);padding:.1em .38em;border-radius:3px;border:1px solid var(--border)}& pre{background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:1.25rem 1.5rem;overflow-x:auto;font-size:.85em;line-height:1.7;& code{background:none;border:none;padding:0;font-size:inherit}}& hr{border:none;margin-block:3rem;width:6rem;margin-inline:auto;height:1px;background:var(--border);position:relative;&:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);background:var(--accent)}}& a{color:var(--accent-deep);@media(hover:hover){&:hover{color:var(--accent)}}}& img{border-radius:4px;border:1px solid var(--border)}}.entry-cover-link,.entry-cover{display:inline-block;margin-block-end:1rem}.entry-cover{height:200px;width:auto;box-shadow:0 4px 16px #00000026;border-radius:2px}.entry-cover-link:hover .entry-cover{box-shadow:0 6px 24px #00000038;translate:0 -2px;transition:box-shadow .2s ease,translate .2s ease}.entry-sources{margin-block-end:2.75rem;.entry-sources-label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin-block-end:1.25rem}.entry-sources-list{display:flex;flex-wrap:wrap;gap:2rem;list-style:none;padding:0;margin:0}.entry-source-item{display:flex;flex-direction:column;gap:.75rem;max-width:140px}.entry-source-cover{height:160px;width:auto;box-shadow:0 4px 16px #00000026;border-radius:2px}.entry-source-cover-link:hover .entry-source-cover{box-shadow:0 6px 24px #00000038;translate:0 -2px;transition:box-shadow .2s ease,translate .2s ease}.entry-source-info{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem}.entry-source-url-link{font-size:.75rem;color:var(--text-faint);text-decoration:underline;text-underline-offset:3px;word-break:break-all;&:hover{color:var(--text-muted)}}}.diamond-rule{display:flex;align-items:center;gap:.55rem;margin-block:1.75rem;&:before,&:after{content:"";flex:1;height:1px;background:var(--border)}.dp{display:block;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);background:var(--border-strong);width:5px;height:5px;flex-shrink:0;&[data-v=sm]{width:3.5px;height:3.5px;background:color-mix(in oklch,var(--border-strong) 70%,var(--border))}&[data-v=accent]{width:7px;height:7px;background:var(--accent)}}}.entry-colophon{display:flex;align-items:center;gap:.9rem;margin-block-start:3.4rem;color:var(--text-faint);.colophon-text{font-size:.73rem;letter-spacing:.18em;white-space:nowrap}.colophon-rule{block-size:1px;inline-size:100%;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--accent) 18%,var(--border)),transparent)}}@media(width<=960px){.site-wrapper{&:before,&:after{display:none}}}@media(width<=720px){.site-header{.site-header-row{flex-direction:column}.site-bookplate{min-width:auto;width:100%;max-width:18rem}}.entry-item{gap:.85rem;.entry-spine{inline-size:1.5rem;min-block-size:3.8rem}}}@media(width<=520px){.entry-item{grid-template-columns:1.25rem 1fr;gap:.75rem;padding-inline:.25rem;margin-inline:-.25rem;.entry-spine{inline-size:1.25rem;min-block-size:3.4rem}.entry-link{font-size:1rem;letter-spacing:.02em}.entry-meta{gap:.4rem .7rem}.entry-author{display:block;flex-basis:100%}}}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
