.public-shell{flex-direction:column;min-height:100vh;display:flex}.public-shell main{flex:1}.public-shell .container{max-width:1280px}.public-shell{--ground:var(--shosei-cream);--ink:var(--shosei-ink);--ink-2:var(--shosei-ink);--muted:var(--shosei-muted);--faint:var(--shosei-faint);--rule:#34758d40;--rule-strong:var(--shosei-blue);--surface:#fff;--sunken:var(--shosei-cream);--f-body:var(--f-noto);--inset:32px;--fold:100vh}@supports (height:100svh){.public-shell{--fold:100svh}}.public-shell h1,.public-shell h2,.public-shell h3{font-family:var(--f-jp)}.prose a,.blog-nomatch a{color:var(--shosei-red)}.prose a:hover,.blog-nomatch a:hover{color:var(--shosei-red-deep)}.site-header{z-index:40;background:0 0;border-bottom:none;transition:transform .25s;position:sticky;top:0}.site-header--hidden{transform:translateY(-100%)}@media (prefers-reduced-motion:reduce){.site-header{transition:none}}.site-header__logo,.site-header__nav .nav-link{text-shadow:0 1px 10px var(--shosei-cream), 0 0 4px var(--shosei-cream)}.site-header--overlay .site-header__logo,.site-header--overlay .site-header__nav .nav-link{color:var(--shosei-cream);text-shadow:0 1px 6px #00000040}.site-header--overlay .site-header__nav .nav-link:hover{color:var(--shosei-cream);opacity:.8}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;padding-bottom:18px;display:flex}.site-header__logo{font-family:var(--f-hand);color:var(--shosei-blue);letter-spacing:0;font-size:34px;font-weight:700;line-height:1;text-decoration:none}.rname--wide{display:inline}.rname--narrow{display:none}.site-header__nav{flex-wrap:wrap;gap:22px;display:flex}.site-header__nav .nav-link{font-family:var(--f-jp);letter-spacing:.04em;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}.site-header__nav .nav-link:hover{color:var(--shosei-red-deep);text-decoration:none}.site-search{align-items:center;gap:6px;display:flex}.site-search__input{width:12em;max-width:100%;font-family:var(--f-body);color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:6px 10px;font-size:14px}.site-search__input:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.site-search__submit{font-family:var(--f-body);color:var(--ink);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:3px;padding:6px 12px;font-size:14px}.site-search__submit:hover{border-color:var(--rule-strong)}.site-search--page{margin:20px 0}.site-search--page .site-search__input{width:min(28em,100%)}.blog-hero{--header-h:78px;margin-top:calc(-1 * var(--header-h));background:var(--shosei-blue);padding:calc(var(--header-h) + 72px) 32px 64px;align-items:flex-end;min-height:100vh;display:flex;position:relative;overflow:hidden}.blog-hero--split{min-height:calc(var(--fold) * .7);padding-bottom:48px}.blog-hero__img{object-fit:cover;object-position:50% 54%;transform-origin:50%;pointer-events:none;will-change:transform;width:100%;height:100%;position:absolute;inset:0;transform:scale(1);-webkit-mask-image:linear-gradient(#000 0% 88%,#0000 100%);mask-image:linear-gradient(#000 0% 88%,#0000 100%)}.blog-hero__divider{z-index:3;pointer-events:none;width:100%;height:90px;position:absolute;bottom:-1px;left:0}.blog-hero__divider-fill{fill:var(--shosei-cream)}.blog-hero__inner{z-index:2;position:relative}.blog-hero__copy{max-width:520px;transform:translateY(calc(var(--hero-scroll,0) * -.12px));opacity:clamp(0, calc(1 - var(--hero-scroll,0) / 460), 1)}.blog-hero__tagline,.blog-hero__title,.blog-hero__kana{text-shadow:0 2px 10px #00000059;animation:.8s both hero-rise}.blog-hero__tagline{animation-delay:50ms}.blog-hero__title{animation-delay:.16s}.blog-hero__kana{animation-delay:.3s}@keyframes hero-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.blog-hero__tagline{font-family:var(--f-hand);color:var(--shosei-cream);margin:0 0 18px;font-size:22px}.blog-hero__title{font-family:var(--f-jp);color:var(--shosei-cream);margin:0;font-size:clamp(44px,8vw,92px);font-weight:900;line-height:1}.blog-hero__kana{font-family:var(--f-noto);letter-spacing:.35em;color:var(--shosei-aqua);margin-top:14px;font-size:14px;font-weight:700;display:inline-block}.featured-rail{min-height:calc(var(--fold) * .3);background:var(--shosei-cream);align-items:center;display:flex}.featured-rail__inner{width:100%;padding-top:28px;padding-bottom:28px}.featured-rail__head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:16px;display:flex}.featured-rail__head .blog-section-heading{margin:0}.featured-rail__nav{flex:none;gap:8px;display:flex}.featured-rail__arrow{border:1px solid var(--rule-strong);background:var(--surface);width:40px;height:40px;color:var(--shosei-blue);cursor:pointer;border-radius:999px;font-size:20px;line-height:1}.featured-rail__arrow:disabled{opacity:.35;cursor:default}.featured-rail__track{scroll-snap-type:x proximity;scrollbar-width:none;gap:16px;margin:0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.featured-rail__track::-webkit-scrollbar{display:none}.featured-rail__track:focus-visible{outline:2px solid var(--shosei-blue);outline-offset:4px}.featured-card{height:100%;min-height:88px;color:var(--ink);background:var(--surface);border:1px solid var(--rule);scroll-snap-align:start;border-radius:4px;flex:none;align-items:stretch;gap:12px;width:clamp(240px,38vw,320px);display:flex;position:relative;overflow:hidden}.featured-card__cover{background:var(--sunken);flex:0 0 96px;position:relative}.featured-card__cover img{object-fit:cover}.featured-card__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:0;padding:10px 12px 10px 0;display:flex}.featured-card__title{font-family:var(--f-jp);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.section-title{align-items:baseline;gap:1rem;padding-top:64px;padding-bottom:16px;display:flex}.section-title h2{font-size:36px;font-weight:700;line-height:1.2}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-rows:190px;grid-auto-flow:dense;gap:20px;margin:0;padding:0 0 88px;list-style:none;display:grid}.blog-card{transform:rotate(var(--tilt,0deg));flex-direction:column;display:flex;position:relative;overflow:hidden}.blog-card__link{color:var(--ink);text-decoration:none}.blog-card__link:after{content:"";z-index:0;position:absolute;inset:0}.blog-card__link:focus-visible:after{outline:2px solid var(--shosei-blue);outline-offset:-2px}.blog-card__tags{z-index:1;flex-wrap:wrap;gap:6px;display:flex;position:relative}.blog-card--photo,.blog-card--drawing{background:var(--surface)}.blog-card--photo{border:1px solid var(--rule)}.blog-card--drawing{background:var(--shosei-cream);border:2px dashed var(--shosei-blue)}.blog-card--drawing .blog-card__cover{margin:8px}.blog-card__cover{background:var(--sunken);flex:1;min-width:0;min-height:0;position:relative}.blog-card__cover img{object-fit:cover}.blog-card__body{flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;display:flex}.blog-card__tag{font-family:var(--f-hand);color:var(--shosei-red);border:1px solid var(--shosei-red);border-radius:999px;padding:2px 10px;font-size:13px;text-decoration:none}a.blog-card__tag:hover,a.blog-card__tag:focus-visible{background:var(--shosei-red);color:var(--shosei-cream)}.blog-card__title{font-family:var(--f-jp);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:16px;font-weight:700;line-height:1.5;display:-webkit-box;overflow:hidden}.blog-card__lead{color:var(--muted);text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-card__date{font-family:var(--f-hand);color:var(--shosei-faint);margin-top:auto;padding-top:4px;font-size:12px}.blog-card--graphic{justify-content:space-between;padding:20px}.blog-card--graphic-cream{background:var(--shosei-cream)}.blog-card--graphic-aqua{background:var(--shosei-aqua)}.blog-card--graphic-green{background:var(--shosei-green)}.blog-card--graphic .blog-card__tags{align-self:flex-start}.blog-card--graphic .blog-card__tag{background:var(--shosei-cream)}.blog-card__title--big{font-family:var(--f-jp);color:var(--shosei-ink);text-overflow:ellipsis;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:10px 0 0;font-size:20px;font-weight:900;line-height:1.4;display:-webkit-box;overflow:hidden}.blog-card--graphic .blog-card__date{color:var(--shosei-ink);opacity:.7;margin-top:0}.empty{text-align:center;margin:1rem 0 4rem;padding:4.5rem 2rem}.empty__title{color:var(--ink-2);font-size:18px}.empty__sub{font-family:var(--f-hand);color:var(--muted);margin-top:.6rem;display:block}.blog-filters{flex-direction:column;gap:12px;margin:44px 0 8px;display:flex}.blog-filters__row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.blog-filters__row--chips{gap:10px}.blog-filters__search{font-family:var(--f-body);border:1px solid var(--shosei-blue);background:var(--surface);color:var(--ink);border-radius:999px;width:min(24em,100%);min-width:220px;padding:10px 16px;font-size:14px}.blog-filters__search:focus-visible{outline:2px solid var(--shosei-blue);outline-offset:1px}.blog-filters__reset{font-family:var(--f-body);color:var(--muted);cursor:pointer;background:0 0;border:none;min-height:44px;padding:0 4px;font-size:13px;text-decoration:underline}.blog-filters__reset:hover{color:var(--ink)}.blog-filters__searchall{font-family:var(--f-body);color:var(--shosei-blue);font-size:13px;text-decoration:underline}.blog-filters__searchall:hover{color:var(--shosei-red-deep)}.blog-filters__chip{font-family:var(--f-hand);color:var(--shosei-red);background:var(--shosei-cream);border:1.5px solid var(--shosei-red);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:6px 16px;font-size:15px;display:inline-flex}.blog-filters__chip .n{font-family:var(--f-noto);opacity:.75;font-size:11px}.blog-filters__chip[aria-pressed=true]{background:var(--shosei-red);color:var(--shosei-cream)}.blog-count{font-family:var(--f-hand);color:var(--shosei-blue);margin:0 0 22px;font-size:15px}.blog-section-heading{font-family:var(--f-jp);color:var(--ink);margin:0 0 16px;font-size:20px;font-weight:900}.blog-section-heading__label{font-family:var(--f-hand);color:var(--shosei-blue);margin-left:8px;font-size:13px;font-weight:400}.reveal.pre-reveal{opacity:0;transform:translateY(28px) scale(.985) rotate(var(--tilt,0deg));filter:blur(3px);transition:opacity .7s,transform .7s,filter .7s}.reveal.pre-reveal.is-visible{opacity:1;transform:translateY(0) scale(1) rotate(var(--tilt,0deg));filter:blur()}@media (prefers-reduced-motion:reduce){.reveal.pre-reveal{opacity:1!important;transform:rotate(var(--tilt,0deg))!important;filter:none!important;transition:none!important}}.blog-nomatch{text-align:center;margin:1rem 0 3rem;padding:80px 20px}.blog-nomatch p{font-family:var(--f-jp);margin:0 0 8px;font-size:18px;font-weight:700}.blog-nomatch p.blog-nomatch__sub{font-family:var(--f-hand);color:var(--muted);font-size:14px;font-weight:400}.blog-nomatch p+p{margin-top:.75rem}.reading-progress{z-index:50;pointer-events:none;background:0 0;width:100%;height:3px;position:fixed;top:0;left:0}.reading-progress__bar{background:var(--shosei-red);transform-origin:0;width:100%;height:100%;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.reading-progress{display:none}}.article{grid-template-columns:minmax(0,1fr) clamp(240px,22vw,320px);column-gap:clamp(32px,4vw,64px);padding-block:64px 96px;display:grid}.article__head,.article__lead,.article__meta{grid-column:1/-1}.article__body{grid-column:1;min-width:0}.article__aside{grid-column:2;min-width:0}.article__head{flex-wrap:wrap;align-items:baseline;gap:1.25rem;margin-bottom:1.5rem;display:flex}.article__serial{color:var(--faint)}.article__title{max-width:24em;font-size:clamp(28px,4.5vw,44px);font-weight:700;line-height:1.5}.article__lead{max-width:var(--measure);color:var(--ink-2);border-left:2px solid var(--rule-strong);margin-bottom:2rem;padding-left:1rem;font-size:1.05em}.article__meta{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:1.5rem;margin-bottom:2.5rem;padding:1rem 0;display:flex}.article__sidebar{--sidebar-top:98px;--sidebar-bottom-gap:24px;top:var(--sidebar-top);max-height:calc(100vh - var(--sidebar-top) - var(--sidebar-bottom-gap));overscroll-behavior:contain;border-left:1px solid var(--rule);flex-direction:column;gap:2rem;padding-left:1.5rem;font-size:13px;display:flex;position:sticky;overflow-y:auto}.article__toc-m,.related-tail{display:none}.side-block h2{margin-bottom:.9rem}.toc{flex-direction:column;gap:.6rem;display:flex}.toc__item--3{padding-left:1rem}.toc__item--4{padding-left:2rem}.toc__link{color:var(--ink-2);border-left:2px solid #0000;margin-left:-.7rem;padding-left:.7rem;line-height:1.5;display:block}.toc__link:hover{color:var(--ink)}.toc__link[aria-current=true]{color:var(--ink);border-left-color:var(--rule-strong);font-weight:700}.side-list{flex-direction:column;gap:1rem;display:flex}.side-item a{line-height:1.5;display:block}.side-item__date{margin-top:.2rem;display:block}.side-cards{flex-direction:column;gap:.9rem;display:flex}.side-card{align-items:flex-start;gap:10px;display:flex;position:relative;overflow:hidden}.side-card__cover{aspect-ratio:1;background:var(--sunken);border-radius:3px;flex:0 0 72px;position:relative;overflow:hidden}.side-card__cover img{object-fit:cover}.side-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.side-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.article__toc-m{margin-bottom:2.5rem}.article__toc-m summary{cursor:pointer}.article__toc-m .toc{margin-top:1rem}.related-tail{max-width:var(--measure);margin-top:4rem}.post-figure{margin:2.4em 0}.post-figure figcaption{margin-top:.6rem}.replies{max-width:var(--measure);margin-top:4rem}.reply{border-left:2px solid var(--rule-strong);margin-top:1.5rem;padding:.2rem 0 .2rem 1.2rem}.reply__who{margin-bottom:.3rem;display:block}.reply__body{line-height:1.9}.comments{max-width:var(--measure);margin-top:4rem}.comment{border-bottom:1px solid var(--rule);padding:1.2rem 0}.comment__who{margin-bottom:.3rem;display:block}.comment-form{flex-direction:column;gap:.9rem;margin-top:2rem;display:flex}.comment-form input,.comment-form textarea{background:var(--surface);border:1px solid var(--rule);border-radius:0;width:100%;padding:.75rem .9rem;line-height:1.8}.comment-form textarea{resize:vertical;min-height:8rem}.comment-form__note{color:var(--muted);font-size:12px;line-height:1.8}.site-footer{border-top:1px solid var(--rule);margin-top:20px}.site-footer__inner{padding:36px var(--inset);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.site-footer__logo{font-family:var(--f-hand);color:var(--shosei-blue);font-size:26px}.site-footer__tagline{font-family:var(--f-hand);color:var(--muted);margin:8px 0 0;font-size:14px}.site-footer__nav{flex-wrap:wrap;gap:18px;display:flex}.site-footer__nav a{font-family:var(--f-jp);color:var(--ink);font-size:13px;font-weight:700}.site-footer__meta{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.site-footer__copyright{font-family:var(--f-body);color:var(--faint);font-size:12px}@media (max-width:768px){.site-header__logo,a.label{align-items:center;min-height:44px;display:inline-flex}.rname--wide{display:none}.rname--narrow{display:inline}.public-shell{--inset:20px}.site-header__nav{gap:12px}.site-header__nav .nav-link{font-size:12px}.blog-hero{--header-h:80px;padding:calc(var(--header-h) + 46px) 20px 40px;min-height:100vh}.blog-hero--split{min-height:calc(var(--fold) * .7);padding-bottom:28px}.blog-hero__copy{max-width:100%}.blog-grid{grid-template-columns:1fr;grid-auto-rows:auto}.blog-grid .blog-card{min-height:260px;grid-area:span 1/span 1!important}.section-title{padding-top:40px}.article{padding-block:32px 64px;display:block}.article__aside{display:none}.article__toc-m,.related-tail{display:block}.article__toc-m .toc__link,.related-tail .side-item a{align-items:center;min-height:45px;display:flex}.blog-filters__search{width:100%}.rail{padding-top:32px}.rail__item{flex-basis:min(78vw,240px)}.site-footer__inner{align-items:flex-start}.site-footer__meta{text-align:left;align-items:flex-start}}
