:root {
  color-scheme:dark;
  --bg:#101110;
  --surface:#191b18;
  --ink:#f0efe5;
  --text:#bcbfb4;
  --muted:#777d71;
  --line:#30342c;
  --yellow:#ecda7a;
  --sans:'DM Sans','Noto Sans SC',sans-serif;
  --condensed:'Barlow Condensed','Arial Narrow',sans-serif;
  --chinese:'Noto Sans SC','Microsoft YaHei',sans-serif}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  scroll-padding-top:95px}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:14px/1.7 var(--sans);
  overflow-x:clip;
  min-height:100svh;
  display:flex;
  flex-direction:column}
main {
  flex:1}
button,input {
  font:inherit;
  color:inherit}
button {
  border:0;
  background:none;
  padding:0;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent}
a {
  color:inherit;
  touch-action:manipulation;
  text-decoration:none}
button,a,input {
  outline-offset:6px}
button:focus-visible,a:focus-visible,input:focus-visible {
  outline:2px solid var(--yellow)}
h1[tabindex]:focus {
  outline:none}
button,a {
  transition:color .22s,background .22s,transform .3s}
button:disabled {
  cursor:default}
img {
  display:block;
  max-width:100%}
svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.3;
  stroke-linecap:round;
  stroke-linejoin:round}
h1,h2,p {
  margin:0}
i {
  font-style:normal}
[hidden] {
  display:none!important}
::selection {
  background:var(--yellow);
  color:#151713}
.skip-link {
  position:fixed;
  z-index:100;
  top:-70px;
  left:20px;
  background:var(--yellow);
  color:#171912;
  padding:12px 20px}
.skip-link:focus {
  top:10px}
.surface-noise {
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:40;
  opacity:.1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23aaa' opacity='.25' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.site-header {
  height:82px;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:0 4%;
  position:relative;
  z-index:15}
.brand {
  font:600 37px/.8 var(--sans);
  letter-spacing:-3px;
  min-width:51px;
  min-height:44px;
  display:flex;
  align-items:center}
.brand span {
  color:var(--yellow)}
.current-chapter {
  font:400 11px var(--chinese);
  color:var(--muted);
  margin-right:auto;
  margin-left:20px}
.header-controls {
  display:flex;
  align-items:center;
  gap:29px}
.icon-button {
  height:38px;
  width:38px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  color:var(--muted);
  flex:none}
.icon-button svg {
  width:18px;
  height:18px}
.icon-button:hover {
  color:var(--ink);
  background:#8e956112}
.menu-open {
  display:flex;
  align-items:center;
  gap:17px;
  min-height:44px;
  font:400 11px var(--chinese);
  letter-spacing:.06em}
.menu-open i {
  width:23px;
  height:10px;
  border-top:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transition:width .3s,transform .3s}
.menu-open:hover i {
  width:29px}
.on-cover .header-controls>.search-open {
  display:none}
.on-cover .current-chapter {
  display:none}
.site-footer {
  height:58px;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 4%;
  position:relative;
  z-index:5}
.copyright {
  font-size:9px;
  letter-spacing:.04em;
  color:var(--muted)}
.utility-controls {
  display:flex;
  gap:8px;
  align-items:center}
.utility-controls .icon-button {
  width:32px;
  height:34px}
.utility-controls svg {
  width:15px;
  height:15px}
.motion-toggle[aria-pressed=false] {
  opacity:.45}
.on-cover #theme-toggle {
  display:none}

/* A concert sleeve: monumental type, real animation stills, one entrance. */
.cover {
  height:calc(100svh - 140px);
  min-height:440px;
  width:92%;
  max-width:1580px;
  margin:auto;
  position:relative;
  isolation:isolate}
.cover-orbit {
  position:absolute;
  right:-17%;
  top:-44%;
  height:160%;
  aspect-ratio:1;
  border:1px solid #c7d79010;
  border-radius:50%;
  z-index:-2;
  pointer-events:none}
.cover-orbit::before {
  content:'';
  position:absolute;
  inset:43px;
  border:1px solid #c7d79007;
  border-radius:50%}
.cover-hairline {
  position:absolute;
  left:27%;
  top:19px;
  height:22%;
  width:1px;
  background:linear-gradient(#747b5b4d,transparent);
  transform:rotate(15deg);
  z-index:-1}
.cover-photograph {
  position:absolute;
  left:32%;
  right:1%;
  top:8px;
  bottom:58px;
  isolation:isolate;
  --px:0;
  --py:0}
.photo-underlay {
  position:absolute;
  inset:9px -8px -9px 8px;
  background:var(--yellow);
  clip-path:polygon(13% 0,100% 0,87% 100%,0 100%);
  z-index:-1;
  opacity:.95}
.photo-cut {
  position:absolute;
  inset:0;
  clip-path:polygon(13% 0,100% 0,87% 100%,0 100%);
  overflow:hidden;
  background:#1b241c}
.photo-cut img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:53% 43%;
  transform:scale(1.045) translate(calc(var(--px)*-5px),calc(var(--py)*-4px));
  transition:transform 1s cubic-bezier(.2,.6,.2,1),opacity .22s;
  filter:saturate(.8) contrast(1.02)}
.cover-photograph[data-scene=stage] img {
  object-position:20% center}
.photo-light {
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#0b130f30,transparent 55%),linear-gradient(90deg,#0d151540,transparent 30%);
  pointer-events:none}
.photo-index {
  position:absolute;
  top:15px;
  right:17%;
  display:flex;
  gap:6px;
  z-index:5}
.photo-index>button {
  height:32px;
  width:35px;
  padding:13px 3px;
  display:block}
.photo-index>button>span {
  display:block;
  width:100%;
  height:2px;
  background:#fffff74a;
  transition:background .3s,transform .3s;
  transform-origin:left}
.photo-index>button.active>span {
  background:#ffefb5}
.photo-index>button:hover>span {
  transform:scaleY(2);
  background:#fff6d8}
.cover-type {
  position:absolute;
  inset:0;
  margin:0;
  z-index:3;
  pointer-events:none;
  color:#f1f0e6;
  font-family:var(--condensed);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:.76}
.type-cc {
  position:absolute;
  left:0;
  top:21px;
  font-size:clamp(175px,20.5vw,325px)}
.type-period {
  color:var(--yellow);
  font-size:.68em;
  margin-left:-.02em}
.type-atelier {
  position:absolute;
  left:-.01em;
  bottom:12px;
  font-size:clamp(145px,17.2vw,265px);
  letter-spacing:-.018em}
.nijika-marker {
  position:absolute;
  right:-14px;
  top:32%;
  writing-mode:vertical-rl;
  font:400 9px var(--chinese);
  letter-spacing:.2em;
  color:#b6ba9f;
  display:flex;
  align-items:center;
  gap:20px}
.nijika-marker>span {
  font-size:13px;
  color:var(--yellow)}
.enter-button {
  position:absolute;
  z-index:6;
  right:1%;
  bottom:5px;
  height:120px;
  width:120px;
  border-radius:50%;
  background:var(--yellow);
  color:#20241a;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  box-shadow:0 0 0 9px var(--bg);
  transform:translate(var(--mx,0px),var(--my,0px));
  transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s}
.enter-button::after {
  content:'';
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:1px solid #d5dc9222;
  transition:inset .4s,border-color .4s}
.enter-label {
  font:500 12px var(--chinese);
  letter-spacing:.12em}
.enter-button svg {
  width:39px;
  height:39px;
  stroke-width:1.7;
  transition:transform .4s}
.enter-button:hover {
  background:#f4e7a2}
.enter-button:hover::after {
  inset:-14px;
  border-color:#d5dc9255}
.enter-button:hover svg {
  transform:translate(3px,-3px)}
.cover-corner {
  position:absolute;
  left:29%;
  top:37px;
  width:5px;
  height:5px;
  background:var(--yellow);
  transform:rotate(-15deg)}

/* Interior: titles and content take the space previously used by slogans. */
.content-view {
  width:min(1160px,calc(100% - 112px));
  margin:auto;
  min-height:calc(100svh - 140px);
  padding:31px 0 41px;
  animation:arrive .4s ease both}
.feature-caption h1 {
  font:400 14px var(--chinese);
  letter-spacing:.06em;
  display:flex;
  align-items:start;
  gap:10px}
.feature-caption h1>span {
  font:400 9px var(--sans);
  color:var(--muted);
  margin-top:-3px;
  letter-spacing:0}
.index-page {
  display:flex;
  flex-direction:column}
.note-feature {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:55px;
  align-items:center;
  flex:1;
  padding:28px 0 30px;
  min-height:420px}
.feature-copy {
  min-width:0;
  padding-bottom:18px}
.minimal-meta {
  display:flex;
  align-items:center;
  gap:18px;
  font:400 10px var(--sans);
  color:var(--muted)}
.minimal-meta>span:first-child {
  font-family:var(--chinese);
  font-size:10px;
  color:var(--text)}
.feature-copy h2 {
  margin:27px 0 28px}
.feature-copy h2>a {
  font:500 clamp(47px,5.4vw,75px)/1.07 var(--sans);
  letter-spacing:-.055em;
  text-align:left;
  display:block}
.feature-copy h2>a>span {
  color:var(--yellow)}
.feature-copy h2>a:hover {
  color:#d6d9c3}
.arrow-link {
  display:inline-flex;
  align-items:center;
  gap:29px;
  min-height:42px;
  font:400 11px var(--chinese);
  color:var(--text);
  position:relative}
.arrow-link svg {
  width:40px;
  height:24px;
  color:var(--yellow);
  transition:transform .35s;
  stroke-width:1.25}
.arrow-link:hover svg {
  transform:translateX(8px)}
.arrow-link:hover {
  color:var(--ink)}
.feature-image {
  position:relative;
  width:100%;
  height:clamp(310px,46vh,440px);
  overflow:hidden;
  clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,0 10%);
  background:#2c322a;
  display:block;
  isolation:isolate}
.feature-image>img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center;
  filter:saturate(.6) brightness(.9);
  transition:transform .8s cubic-bezier(.2,.6,.2,1),filter .5s}
.feature-image:hover>img {
  transform:scale(1.035);
  filter:saturate(.95) brightness(1)}
.image-line {
  position:absolute;
  bottom:0;
  left:0;
  width:32%;
  height:3px;
  background:var(--yellow);
  transition:width .6s}
.feature-image:hover .image-line {
  width:100%}
.photo-arrow {
  position:absolute;
  right:19px;
  bottom:19px;
  width:42px;
  height:42px;
  border:1px solid #fff6be80;
  border-radius:50%;
  color:#fff8da;
  display:grid;
  place-items:center;
  font-size:23px;
  transition:background .3s,color .3s}
.feature-image:hover .photo-arrow {
  background:#f1e293;
  color:#23281b}
.index-bottom {
  display:flex;
  align-items:center;
  gap:25px;
  font:400 9px var(--sans);
  color:var(--muted);
  height:22px}
.thin-line {
  display:block;
  height:1px;
  background:var(--line);
  flex:1}
.reading-page {
  max-width:1010px;
  padding-top:27px;
  padding-bottom:55px}
.reading-nav {
  display:flex;
  align-items:center;
  gap:22px;
  font:400 10px var(--chinese);
  color:var(--muted);
  margin-bottom:43px}
.reading-nav>a:first-child {
  font-size:23px;
  min-width:38px;
  min-height:38px;
  color:var(--text)}
.reading-nav>a:first-child:hover {
  transform:translateX(-4px);
  color:var(--yellow)}
.reading-page>article {
  max-width:720px;
  margin:auto}
.reading-page h1 {
  font:500 clamp(34px,4.5vw,57px)/1.2 var(--sans);
  letter-spacing:-.055em}
.reading-page h1>span {
  color:var(--yellow)}
.reading-meta {
  display:flex;
  gap:25px;
  color:var(--muted);
  font:400 10px var(--sans);
  margin-top:26px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line)}
.article-body {
  font:400 16px/2.1 var(--chinese);
  letter-spacing:.01em;
  color:var(--text);
  padding:36px 0 26px}
.article-body p {
  margin-bottom:25px}
.article-body strong {
  font-weight:500;
  color:var(--ink)}
.article-footer {
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:14px;
  padding-top:22px;
  margin-top:20px}
.article-footer>a {
  font:400 9px var(--sans);
  color:var(--muted)}
.article-footer>a:hover {
  color:var(--yellow)}
.article-end {
  width:8px;
  height:9px;
  background:var(--yellow);
  clip-path:polygon(35% 0,100% 93%,0 100%);
  transform:rotate(-12deg)}
.article-footer>.back-to-notes {
  margin-left:auto;
  font-size:23px;
  color:var(--text);
  width:38px;
  height:38px}
.project-page {
  display:flex;
  flex-direction:column}
.project-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
  flex:1;
  padding:15px 0 25px}
.project-copy h2 {
  font:500 clamp(55px,6vw,86px)/1.04 var(--sans);
  letter-spacing:-.055em;
  margin:27px 0 25px}
.project-copy h2>span {
  color:var(--yellow)}
.status-dot {
  width:4px;
  height:4px;
  background:var(--yellow);
  border-radius:50%;
  margin-right:-8px}
.project-copy>p {
  font:400 11px var(--sans);
  color:var(--muted);
  margin-bottom:29px}
.project-object {
  position:relative;
  height:400px;
  perspective:1000px;
  isolation:isolate}
.sleeve-shadow {
  position:absolute;
  width:75%;
  height:30%;
  left:17%;
  bottom:15px;
  background:#0004;
  filter:blur(25px);
  transform:rotate(-10deg);
  z-index:-1}
.project-sleeve {
  position:absolute;
  width:280px;
  height:320px;
  background:#dedbc6;
  color:#23241e;
  top:39px;
  left:15px;
  transform:rotate(-11deg);
  box-shadow:4px 8px 0 #262b2440,0 25px 30px #0002;
  border:1px solid #edeace;
  overflow:hidden;
  transition:transform .7s}
.project-object:hover .project-sleeve {
  transform:rotate(-8deg) translateX(-10px)}
.project-sleeve>span {
  font:600 157px/.8 var(--condensed);
  letter-spacing:-8px;
  position:absolute;
  left:25px;
  top:39px}
.project-sleeve>i {
  position:absolute;
  width:127px;
  height:147px;
  clip-path:polygon(24% 0,100% 92%,0 100%);
  background:#b39e42;
  right:-4px;
  bottom:23px;
  transform:rotate(15deg)}
.sleeve-bars {
  position:absolute;
  left:26px;
  bottom:29px;
  display:flex;
  gap:4px;
  height:20px}
.sleeve-bars b {
  height:100%;
  width:2px;
  background:#454b38}
.sleeve-bars b:nth-child(2n) {
  width:1px;
  height:70%}
.project-disc {
  position:absolute;
  width:320px;
  height:320px;
  right:0;
  top:35px;
  border-radius:50%;
  background:repeating-radial-gradient(circle,#22271f 0,#22271f 2px,#30362a 3px,#171c17 4px);
  border:2px solid #3d4535;
  box-shadow:10px 17px 30px #0002;
  display:grid;
  place-items:center;
  animation:record-spin 50s linear infinite}
.project-disc::after {
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(transparent 0deg,#ffffff0c 32deg,transparent 74deg,transparent 194deg,#ffffff0a 219deg,transparent 263deg)}
.disc-label {
  display:grid;
  place-items:center;
  width:91px;
  height:91px;
  border-radius:50%;
  background:var(--yellow);
  color:#292d22;
  font:500 34px var(--sans);
  letter-spacing:-3px}
.disc-label::after {
  content:'';
  position:absolute;
  width:8px;
  height:8px;
  background:#1e251a;
  border:2px solid #dcc676;
  border-radius:50%;
  margin-top:45px;
  margin-left:4px}
.empty-page {
  display:flex;
  flex-direction:column}
.quiet-composition {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  flex:1;
  min-height:430px;
  padding:25px 0}
.research-star {
  font:400 345px/1 Georgia,serif;
  color:var(--yellow);
  text-align:center;
  animation:record-spin 90s linear infinite;
  opacity:.8}
.quiet-message h2 {
  font:400 43px/1.3 var(--chinese);
  letter-spacing:-.03em}
.quiet-message h2>span {
  color:var(--yellow)}
.quiet-message>p {
  font-size:12px;
  color:var(--muted);
  margin:26px 0 31px}
.empty-film {
  position:relative;
  height:325px;
  display:flex;
  gap:10px;
  align-items:center;
  transform:rotate(-9deg);
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.empty-film>div {
  height:240px;
  flex:0 0 170px;
  border:1px solid #70785d60;
  background:linear-gradient(120deg,#4048323b,transparent);
  position:relative}
.empty-film>div::before,.empty-film>div::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  height:8px;
  background:repeating-linear-gradient(90deg,#747c5b48 0,#747c5b48 6px,transparent 6px,transparent 15px);
  opacity:.5}
.empty-film>div::before {
  top:-16px}
.empty-film>div::after {
  bottom:-16px}
.empty-film>div:nth-child(2) {
  background:#434c383d}
.about-page {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:55px;
  align-items:center;
  padding-top:15px;
  padding-bottom:20px;
  overflow:hidden}
.about-copy h1 {
  font:600 clamp(150px,17vw,225px)/.8 var(--condensed);
  letter-spacing:-.05em;
  margin-bottom:45px}
.about-copy h1>span {
  color:var(--yellow)}
.about-copy>p {
  font:400 17px var(--chinese);
  color:var(--text);
  margin-bottom:17px}
.about-fields {
  display:block;
  font:400 10px var(--sans);
  color:var(--muted);
  margin-bottom:35px}
.about-portrait {
  position:relative;
  height:535px;
  isolation:isolate}
.portrait-plane {
  position:absolute;
  inset:35px 17px 0 13px;
  background:#a8a47f;
  clip-path:polygon(16% 0,100% 0,84% 100%,0 100%);
  z-index:-1;
  opacity:.38}
.about-portrait>img {
  position:absolute;
  top:-6px;
  width:88%;
  max-width:none;
  left:7%;
  mask-image:linear-gradient(#000 84%,transparent 99%);
  height:auto}
.about-portrait>span {
  position:absolute;
  left:9%;
  bottom:22px;
  font:600 90px/.8 var(--condensed);
  letter-spacing:-.03em;
  color:#e4e7d5;
  opacity:.17;
  pointer-events:none}

/* A full-screen index instead of another row of navigation copy. */
dialog {
  background:var(--surface);
  color:var(--ink);
  border:1px solid var(--line);
  padding:29px;
  width:min(480px,calc(100% - 36px));
  max-height:calc(100dvh - 48px);
  overflow:auto;
  box-shadow:0 25px 100px #0008}
dialog::backdrop {
  background:#080d0be0;
  backdrop-filter:blur(8px)}
.dialog-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px}
.dialog-header>h2 {
  font:400 18px var(--chinese)}
.close-button {
  height:38px;
  width:38px;
  font:300 28px var(--sans);
  color:var(--text);
  display:grid;
  place-items:center}
.close-button:hover {
  color:var(--yellow);
  transform:rotate(90deg)}
.menu-dialog {
  width:100%;
  max-width:none;
  height:100svh;
  max-height:none;
  border:0;
  background:#e6e5d9;
  color:#252a23;
  padding:29px 6%;
  overflow:hidden;
  margin:0}
.menu-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  z-index:3;
  font:400 12px var(--chinese);
  color:#797e6d}
.menu-top>.close-button {
  color:#252a23}
.big-navigation {
  width:52%;
  position:relative;
  z-index:2;
  margin:4vh 0 2vh}
.big-navigation>a {
  display:flex;
  align-items:center;
  gap:26px;
  width:100%;
  height:clamp(73px,12.5vh,105px);
  text-align:left;
  border-bottom:1px solid #7e866630;
  color:#30352c}
.big-navigation>a>span {
  font:400 10px var(--sans);
  color:#8b907e;
  align-self:start;
  margin-top:25px}
.big-navigation strong {
  font:500 clamp(30px,3.4vw,48px) var(--chinese);
  letter-spacing:.06em;
  transition:transform .4s}
.big-navigation i {
  font:300 36px var(--sans);
  margin-left:auto;
  margin-right:15px;
  color:#899177;
  transition:transform .35s,color .35s}
.big-navigation>a:hover strong {
  transform:translateX(12px)}
.big-navigation>a:hover i {
  color:#353c25;
  transform:translate(3px,-3px)}
.big-navigation>a.active strong {
  color:#8b793e}
.menu-home {
  font:400 11px var(--chinese);
  min-height:40px;
  color:#747b65;
  position:relative;
  z-index:3}
.menu-art {
  position:absolute;
  right:7%;
  top:16%;
  width:28%;
  height:64%;
  clip-path:polygon(13% 0,100% 0,87% 100%,0 100%);
  background:#373f31;
  overflow:hidden;
  transform:rotate(5deg)}
.menu-art>img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:15% center;
  filter:saturate(.4) brightness(.55)}
.menu-art>span {
  font:600 140px/.8 var(--condensed);
  position:absolute;
  left:5%;
  bottom:6%;
  color:#e6e7d3;
  letter-spacing:-5px}
.source-links {
  display:flex;
  flex-direction:column}
.source-links>a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  font:400 11px var(--chinese);
  padding:15px 0;
  border-bottom:1px solid var(--line);
  color:var(--text)}
.source-links>a>span {
  font:400 18px var(--sans);
  color:var(--yellow)}
.source-links>a:hover {
  color:var(--ink)}
.credits-note {
  font-size:9px;
  color:var(--muted);
  margin-top:22px;
  line-height:1.8}
#search-input {
  width:100%;
  min-width:0;
  border:0;
  border-bottom:1px solid var(--yellow);
  background:none;
  padding:8px 0 15px;
  font-size:14px}
#search-input::placeholder {
  color:var(--muted)}
#search-results {
  margin-top:10px}
.search-result {
  width:100%;
  min-height:49px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  text-align:left;
  border-bottom:1px solid var(--line);
  padding:12px 0;
  font:400 12px var(--sans)}
.search-result small {
  font:400 9px var(--chinese);
  color:var(--muted)}
.search-result:hover {
  color:var(--yellow)}
.search-empty {
  font:400 12px var(--chinese);
  color:var(--muted);
  padding:20px 0}
.beat-display {
  display:flex;
  gap:9px;
  align-items:center;
  margin:22px 0}
.beat-light {
  width:6px;
  height:6px;
  border:1px solid #b8c0876b;
  border-radius:50%}
.beat-light.lit {
  background:var(--yellow);
  box-shadow:0 0 10px #d5db8455}
.drum-pads {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px}
.drum-pads>button {
  border:1px solid var(--line);
  border-bottom:3px solid #626b4e;
  display:flex;
  flex-direction:column;
  gap:9px;
  align-items:center;
  justify-content:center;
  padding:21px 5px 16px;
  min-height:104px}
.drum-pads strong {
  font:400 25px var(--chinese);
  color:var(--yellow)}
.drum-pads small {
  font:400 8px var(--sans);
  letter-spacing:.1em;
  color:var(--muted)}
.drum-pads>button.hit,.drum-pads>button:active {
  background:#acbd5830;
  transform:translateY(2px)}
.rhythm-controls {
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:25px}
.rhythm-controls>label {
  font:400 9px var(--sans);
  color:var(--muted);
  white-space:nowrap}
.rhythm-controls output {
  font-size:13px;
  color:var(--text)}
.rhythm-controls>input {
  min-width:45px;
  width:90px;
  flex:1;
  accent-color:#c7c66d}
.rhythm-controls>button {
  font:400 10px var(--chinese);
  padding:11px 15px;
  border:1px solid var(--line);
  white-space:nowrap;
  min-height:39px}
.rhythm-controls>button[aria-pressed=true] {
  border-color:#aba95e;
  color:var(--yellow)}
.toast {
  position:fixed;
  left:50%;
  bottom:22px;
  z-index:90;
  transform:translate(-50%,8px);
  padding:11px 18px;
  background:var(--yellow);
  color:#262b1e;
  font:400 11px var(--chinese);
  opacity:0;
  transition:transform .25s,opacity .25s;
  pointer-events:none;
  max-width:calc(100% - 32px);
  white-space:nowrap}
.toast.visible {
  opacity:1;
  transform:translate(-50%,0)}
.curtain {
  position:fixed;
  inset:0;
  z-index:80;
  pointer-events:none;
  background:#1a1e15;
  clip-path:inset(0 100% 0 0);
  transition:clip-path .38s cubic-bezier(.7,0,.2,1)}
.curtain.active {
  clip-path:inset(0 0 0 0);
  pointer-events:auto}
.curtain.depart {
  clip-path:inset(0 0 0 100%)}
.reading-progress {
  position:fixed;
  left:0;
  right:0;
  top:0;
  height:2px;
  z-index:30;
  pointer-events:none}
.reading-progress>span {
  display:block;
  width:100%;
  height:100%;
  background:var(--yellow);
  transform-origin:left;
  transform:scaleX(0)}
.on-cover .reading-progress {
  display:none}
.motion-off *, .motion-off *::before,.motion-off *::after {
  animation:none!important;
  scroll-behavior:auto!important}
.motion-off .photo-cut img {
  transform:scale(1.025)!important;
  transition:none}
.motion-off .enter-button {
  transform:none!important}
.motion-off .curtain {
  transition:none}
.light:not(.on-cover) {
  color-scheme:light;
  --bg:#eaeae0;
  --surface:#f3f2e9;
  --ink:#262c22;
  --text:#646b5b;
  --muted:#89907c;
  --line:#cdd2bf;
  --yellow:#929252}
.light .menu-dialog {
  color:#252a23}
.light .feature-copy h2>a:hover {
  color:#707b57}
.light .feature-image>img {
  filter:saturate(.75)}
.light .project-sleeve {
  box-shadow:4px 8px 0 #262b241b,0 25px 30px #0001}
.light .sleeve-shadow {
  background:#69734224}
.light .portrait-plane {
  background:#9c9d73;
  opacity:.5}
.light .about-portrait>span {
  color:#777d54;
  opacity:.35}
.light .project-disc {
  border-color:#545d3e}
.light .empty-film>div {
  background:#889a6540}
.light .empty-film>div:nth-child(2) {
  background:#889a6530}

@keyframes record-spin {
  to {
  transform:rotate(360deg)}
}
@keyframes arrive {
  from {
  opacity:0;
  transform:translateY(7px)}
to {
  opacity:1;
  transform:translateY(0)}
}

@media(min-width:1600px) {
  .site-header {
  height:96px}
.site-footer {
  height:68px}
.cover {
  height:calc(100svh - 164px)}
.cover-photograph {
  bottom:73px}
.content-view {
  min-height:calc(100svh - 164px)}
.type-atelier {
  font-size:272px;
  bottom:18px}
.type-cc {
  font-size:325px;
  top:31px}
.enter-button {
  width:132px;
  height:132px;
  bottom:13px}
.enter-button svg {
  width:44px;
  height:44px}
}

@media(max-height:700px) and (min-width:701px) {
  .site-header {
  height:68px}
.site-footer {
  height:50px}
.cover {
  height:calc(100svh - 118px);
  min-height:380px}
.type-cc {
  font-size:clamp(170px,27vh,240px);
  top:17px}
.type-atelier {
  font-size:clamp(130px,27vh,215px);
  bottom:10px}
.cover-photograph {
  left:33%;
  bottom:39px;
  top:4px}
.enter-button {
  width:100px;
  height:100px;
  bottom:0}
.enter-button svg {
  width:31px;
  height:31px}
.enter-label {
  font-size:10px}
.content-view {
  min-height:calc(100svh - 118px);
  padding-top:20px;
  padding-bottom:20px}
.note-feature {
  min-height:350px;
  padding:20px 0}
.feature-image {
  height:300px}
.feature-copy h2>a {
  font-size:58px}
.project-object {
  height:350px;
  transform:scale(.9);
  transform-origin:center}
.quiet-composition {
  min-height:350px}
.research-star {
  font-size:290px}
.about-portrait {
  height:430px}
}

@media(max-width:1100px) {
  .content-view {
  width:calc(100% - 88px)}
.type-cc {
  font-size:22vw;
  top:31px}
.type-atelier {
  font-size:18vw;
  bottom:17px}
.cover-photograph {
  left:28%;
  top:15px;
  bottom:72px}
.cover-hairline {
  left:24%}
.cover-corner {
  left:27%;
  top:35px}
.nijika-marker {
  right:-14px}
.enter-button {
  height:108px;
  width:108px;
  bottom:8px}
.enter-button svg {
  height:34px;
  width:34px}
.enter-label {
  font-size:11px}
.note-feature {
  gap:36px}
.feature-copy h2>a {
  font-size:61px}
.feature-image {
  height:355px}
.minimal-meta {
  gap:13px;
  font-size:9px}
.feature-copy h2 {
  margin:25px 0}
.project-copy h2 {
  font-size:69px}
.project-object {
  height:355px}
.project-sleeve {
  width:230px;
  height:280px;
  left:0;
  top:31px}
.project-sleeve>span {
  font-size:139px;
  left:22px;
  top:34px}
.project-sleeve>i {
  width:116px;
  height:132px;
  bottom:24px}
.sleeve-bars {
  left:23px;
  bottom:25px}
.project-disc {
  width:285px;
  height:285px;
  right:-8px;
  top:32px}
.disc-label {
  width:81px;
  height:81px;
  font-size:30px}
.quiet-composition {
  gap:30px}
.research-star {
  font-size:295px}
.quiet-message h2 {
  font-size:36px}
.quiet-message p {
  font-size:11px}
.about-page {
  gap:35px}
.about-copy h1 {
  font-size:180px}
.about-copy>p {
  font-size:15px}
.about-fields {
  font-size:9px}
.about-portrait {
  height:480px}
.about-portrait>img {
  width:105%;
  left:-3%;
  top:10px}
.about-portrait>span {
  font-size:80px}
.menu-art {
  right:5%;
  width:31%}
}

@media(max-width:850px) {
  .site-header {
  height:75px;
  padding-inline:5%}
.site-footer {
  height:56px;
  padding-inline:5%}
.cover {
  width:90%;
  height:calc(100svh - 131px)}
.cover-photograph {
  left:24%;
  top:33px;
  bottom:95px;
  right:0}
.type-cc {
  font-size:25vw;
  top:24px}
.type-atelier {
  font-size:18.5vw;
  bottom:45px}
.enter-button {
  width:94px;
  height:94px;
  bottom:15px;
  right:0}
.enter-button svg {
  height:30px;
  width:30px}
.enter-label {
  font-size:10px}
.cover-corner {
  display:none}
.cover-hairline {
  display:none}
.photo-index {
  right:15%;
  top:9px}
.photo-index>button {
  width:27px}
.nijika-marker {
  right:-13px;
  top:25%;
  font-size:8px}
.content-view {
  width:calc(100% - 60px);
  min-height:calc(100svh - 131px)}
.note-feature {
  gap:27px}
.feature-copy h2>a {
  font-size:51px}
.feature-image {
  height:350px}
.feature-copy h2 {
  margin:24px 0}
.arrow-link {
  font-size:10px;
  gap:20px}
.arrow-link svg {
  width:33px;
  height:20px}
.feature-caption h1 {
  font-size:13px}
.minimal-meta {
  font-size:8px;
  gap:10px}
.minimal-meta>span:first-child {
  font-size:9px}
.project-layout {
  gap:15px}
.project-copy h2 {
  font-size:63px}
.project-object {
  transform:scale(.9);
  transform-origin:right center;
  margin-left:-20px}
.project-sleeve {
  width:213px;
  height:260px;
  top:45px}
.project-disc {
  height:250px;
  width:250px;
  top:48px;
  right:-15px}
.project-sleeve>span {
  font-size:125px;
  left:20px;
  top:34px}
.project-sleeve>i {
  width:105px;
  height:120px}
.quiet-message h2 {
  font-size:31px}
.quiet-message p {
  font-size:10px}
.research-star {
  font-size:245px}
.empty-film {
  height:300px}
.empty-film>div {
  height:211px;
  flex-basis:145px}
.reading-page>article {
  max-width:640px}
.reading-page h1 {
  font-size:45px}
.reading-nav {
  margin-bottom:35px}
.article-body {
  font-size:15px}
.about-page {
  gap:15px}
.about-copy h1 {
  font-size:163px}
.about-copy>p {
  font-size:13px}
.about-fields {
  font-size:8px}
.about-portrait {
  height:430px}
.about-portrait>img {
  width:117%;
  left:-11%;
  top:13px}
.portrait-plane {
  inset:28px 0 0 0}
.about-portrait>span {
  font-size:71px;
  left:3%;
  bottom:22px}
.big-navigation {
  width:54%;
  margin-top:6vh}
.big-navigation strong {
  font-size:36px}
.big-navigation>a {
  gap:19px}
.big-navigation>a>span {
  font-size:9px}
.menu-art {
  width:29%;
  right:6%;
  height:55%;
  top:23%}
.menu-art>span {
  font-size:95px}
}

@media(max-width:640px) {
  .site-header {
  height:70px;
  padding-inline:23px}
.site-footer {
  height:52px;
  padding-inline:23px}
.brand {
  font-size:34px;
  letter-spacing:-2.7px;
  min-width:47px}
.header-controls {
  gap:18px}
.menu-open {
  font-size:10px;
  gap:13px}
.menu-open i {
  width:21px;
  height:9px}
.header-controls>.icon-button {
  width:32px;
  height:36px}
.header-controls>.icon-button svg {
  width:17px;
  height:17px}
.current-chapter {
  font-size:9px;
  margin-left:2px}
.cover {
  height:calc(100svh - 122px);
  width:calc(100% - 46px);
  min-height:480px}
.cover-orbit {
  height:104%;
  right:-62%;
  top:-5%}
.cover-orbit::before {
  inset:25px}
.cover-photograph {
  left:9%;
  right:-2%;
  top:22px;
  bottom:137px}
.photo-cut,.photo-underlay {
  clip-path:polygon(14% 0,100% 0,86% 100%,0 100%)}
.photo-underlay {
  inset:6px -5px -6px 5px}
.photo-cut img {
  object-position:51% center;
  transform:scale(1.025)}
.cover-photograph[data-scene=stage] img {
  object-position:6% center}
.photo-light {
  background:linear-gradient(0deg,#0d130e35,transparent 65%)}
.type-cc {
  font-size:clamp(126px,36vw,194px);
  top:29px;
  left:-2px}
.type-atelier {
  font-size:26.5vw;
  bottom:109px;
  left:-1px;
  letter-spacing:-.017em}
.cover-type {
  line-height:.77}
.type-period {
  font-size:.63em}
.enter-button {
  height:83px;
  width:83px;
  right:2px;
  bottom:9px;
  box-shadow:0 0 0 7px var(--bg);
  gap:5px}
.enter-button::after {
  inset:-7px}
.enter-button svg {
  width:28px;
  height:28px;
  stroke-width:1.8}
.enter-label {
  font-size:10px;
  letter-spacing:.09em}
.nijika-marker {
  writing-mode:horizontal-tb;
  top:auto;
  bottom:40px;
  left:1px;
  right:auto;
  font-size:9px;
  letter-spacing:.15em;
  gap:14px;
  flex-direction:row}
.nijika-marker>span {
  font-size:12px}
.photo-index {
  top:10px;
  right:14%;
  gap:4px}
.photo-index>button {
  width:25px;
  height:30px;
  padding-block:13px}
.copyright {
  font-size:8px}
.utility-controls {
  gap:6px}
.utility-controls .icon-button {
  width:29px;
  height:31px}
.utility-controls svg {
  height:14px;
  width:14px}
.content-view {
  width:calc(100% - 46px);
  min-height:calc(100svh - 122px);
  padding:25px 0 35px}
.index-page {
  display:block}
.feature-caption h1 {
  font-size:13px;
  gap:9px}
.feature-caption h1>span {
  font-size:8px}
.note-feature {
  display:flex;
  flex-direction:column;
  gap:28px;
  align-items:stretch;
  padding:33px 0 26px;
  min-height:0}
.feature-copy {
  padding:0;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:0 14px}
.minimal-meta {
  font-size:9px;
  gap:14px;
  grid-column:1/-1}
.minimal-meta>span:first-child {
  font-size:9px}
.feature-copy h2 {
  margin:20px 0 0}
.feature-copy h2>a {
  font-size:clamp(42px,11.5vw,61px);
  line-height:1.07;
  letter-spacing:-.06em}
.feature-copy .arrow-link {
  flex-direction:column;
  gap:11px;
  min-height:57px;
  padding-bottom:3px}
.feature-copy .arrow-link>span {
  font-size:9px;
  align-self:start}
.feature-copy .arrow-link>svg {
  width:31px;
  height:20px;
  transform:rotate(-45deg);
  transform-origin:center}
.feature-copy .arrow-link:hover>svg {
  transform:rotate(-45deg) translateX(4px)}
.feature-image {
  height:auto;
  aspect-ratio:1.3;
  clip-path:polygon(9% 0,100% 0,100% 100%,0 100%,0 11%)}
.feature-image>img {
  object-position:0 center;
  filter:saturate(.75) brightness(.95)}
.photo-arrow {
  height:35px;
  width:35px;
  font-size:20px;
  bottom:15px;
  right:15px}
.image-line {
  height:2px}
.index-bottom {
  font-size:8px;
  gap:18px;
  height:18px}
.reading-page {
  padding-top:22px;
  padding-bottom:34px}
.reading-nav {
  margin-bottom:33px;
  font-size:9px;
  gap:17px}
.reading-nav>a:first-child {
  min-width:29px;
  font-size:23px;
  min-height:32px}
.reading-page h1 {
  font-size:36px;
  line-height:1.27;
  letter-spacing:-.055em}
.reading-meta {
  font-size:9px;
  gap:21px;
  margin-top:21px;
  padding-bottom:24px}
.article-body {
  font-size:15px;
  line-height:2.1;
  padding:30px 0 21px}
.article-body p {
  margin-bottom:23px}
.article-footer {
  margin-top:15px;
  padding-top:18px;
  gap:10px}
.article-footer>a {
  font-size:8px}
.article-footer>.back-to-notes {
  font-size:21px;
  width:33px;
  height:33px}
.article-end {
  width:7px;
  height:8px}
.project-layout {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  padding:36px 0 0}
.project-copy {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:0 16px}
.project-copy>.minimal-meta {
  grid-column:1/-1}
.project-copy h2 {
  font-size:55px;
  margin:23px 0 16px;
  grid-column:1;
  grid-row:2}
.project-copy>p {
  font-size:10px;
  margin:0;
  grid-column:1;
  grid-row:3}
.project-copy>.arrow-link {
  grid-column:2;
  grid-row:2;
  align-self:end;
  margin-bottom:21px;
  gap:12px;
  font-size:9px}
.project-copy>.arrow-link svg {
  width:28px;
  height:20px}
.project-object {
  height:350px;
  width:100%;
  max-width:375px;
  transform:scale(.94);
  transform-origin:center;
  margin:8px auto 0}
.project-sleeve {
  width:219px;
  height:265px;
  left:0;
  top:53px}
.project-sleeve>span {
  font-size:129px;
  top:33px}
.project-disc {
  width:260px;
  height:260px;
  right:-5px;
  top:47px}
.project-sleeve>i {
  width:110px;
  height:124px}
.disc-label {
  width:75px;
  height:75px;
  font-size:28px}
.quiet-composition {
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:stretch;
  padding:20px 0 28px;
  min-height:0;
  flex:1}
.research-star {
  font-size:236px;
  text-align:center;
  height:246px;
  line-height:1;
  align-self:center;
  width:246px}
.quiet-message {
  padding-left:12px}
.quiet-message h2 {
  font-size:32px}
.quiet-message>p {
  font-size:11px;
  margin:21px 0 22px}
.quiet-message .arrow-link {
  font-size:10px;
  gap:23px}
.gallery-composition {
  gap:6px}
.empty-film {
  height:270px;
  margin:0 -10px}
.empty-film>div {
  height:200px;
  flex-basis:142px}
.about-page {
  display:flex;
  flex-direction:column;
  gap:15px;
  padding-top:32px;
  padding-bottom:0;
  align-items:stretch}
.about-copy h1 {
  font-size:151px;
  margin-bottom:27px}
.about-copy>p {
  font-size:14px;
  margin-bottom:14px}
.about-fields {
  font-size:9px;
  margin-bottom:21px}
.about-copy .arrow-link {
  font-size:10px}
.about-portrait {
  height:375px;
  width:100%;
  max-width:340px;
  margin:0 auto}
.about-portrait>img {
  width:87%;
  left:8%;
  top:0}
.portrait-plane {
  inset:30px 14px 0 5px}
.about-portrait>span {
  font-size:75px;
  bottom:20px;
  left:11%}
.menu-dialog {
  padding:21px 28px;
  min-height:570px}
.menu-top {
  font-size:11px}
.big-navigation {
  width:100%;
  margin-top:5vh;
  margin-bottom:20px}
.big-navigation>a {
  height:clamp(72px,12vh,95px);
  gap:20px;
  border-color:#7e866647}
.big-navigation strong {
  font-size:35px;
  letter-spacing:.07em}
.big-navigation>a>span {
  font-size:9px;
  margin-top:22px}
.big-navigation i {
  font-size:30px;
  margin-right:3px}
.big-navigation>a:hover strong {
  transform:translateX(7px)}
.menu-art {
  display:none}
.menu-home {
  font-size:10px}
.menu-top>.close-button {
  font-size:29px}
.close-button {
  height:35px;
  width:35px}
.source-links>a {
  font-size:10px;
  gap:10px;
  padding:14px 0}
.source-links>a>span {
  font-size:17px}
.credits-note {
  font-size:8px;
  margin-top:20px}
.dialog-header {
  margin-bottom:19px}
.dialog-header>h2 {
  font-size:17px}
dialog {
  padding:24px;
  width:calc(100% - 32px)}
#search-input {
  font-size:13px;
  padding-bottom:14px}
.search-result {
  font-size:11px;
  gap:10px;
  min-height:49px}
.search-result small {
  font-size:8px}
.toast {
  font-size:10px;
  padding:10px 15px;
  max-width:calc(100% - 25px);
  white-space:normal;
  text-align:center;
  bottom:18px}
.drum-pads {
  gap:8px}
.drum-pads>button {
  padding:17px 5px 13px;
  min-height:94px}
.drum-pads strong {
  font-size:24px}
.drum-pads small {
  font-size:7px}
.rhythm-controls {
  gap:12px}
.rhythm-controls>button {
  padding:10px 14px;
  font-size:9px}
}

@media(max-width:370px) {
  .site-header {
  height:64px;
  padding-inline:20px}
.site-footer {
  height:49px;
  padding-inline:20px}
.brand {
  font-size:31px;
  letter-spacing:-2.5px}
.cover {
  width:calc(100% - 40px);
  height:calc(100svh - 113px);
  min-height:455px}
.type-cc {
  font-size:36vw;
  top:33px}
.type-atelier {
  font-size:26.2vw;
  bottom:103px}
.cover-photograph {
  left:8%;
  top:30px;
  bottom:126px}
.enter-button {
  height:76px;
  width:76px;
  bottom:10px}
.enter-button svg {
  width:25px;
  height:25px}
.enter-label {
  font-size:9px}
.nijika-marker {
  font-size:8px;
  bottom:36px;
  gap:12px}
.photo-index {
  right:14%;
  top:5px}
.photo-index>button {
  width:22px}
.content-view {
  width:calc(100% - 40px);
  min-height:calc(100svh - 113px);
  padding-top:24px}
.feature-copy h2>a {
  font-size:39px}
.note-feature {
  gap:24px;
  padding-top:30px}
.feature-copy .arrow-link>svg {
  width:27px}
.feature-copy .arrow-link {
  gap:7px}
.feature-copy h2 {
  margin-top:19px}
.feature-image {
  aspect-ratio:1.2}
.minimal-meta {
  font-size:8px;
  gap:13px}
.feature-caption h1 {
  font-size:12px}
.project-copy h2 {
  font-size:51px}
.project-copy>.arrow-link {
  font-size:8px;
  gap:8px}
.project-copy>.arrow-link svg {
  width:25px}
.project-copy>p {
  font-size:9px}
.project-object {
  height:310px;
  transform:scale(.84);
  transform-origin:45% center;
  width:110%;
  margin-left:-5%}
.project-sleeve {
  width:210px;
  height:251px}
.project-disc {
  width:235px;
  height:235px;
  top:53px;
  right:0}
.reading-page h1 {
  font-size:32px}
.article-body {
  font-size:14px}
.reading-meta {
  font-size:8px}
.about-copy h1 {
  font-size:139px}
.about-copy>p {
  font-size:13px}
.about-fields {
  font-size:8px}
.about-portrait {
  height:328px}
.about-portrait>span {
  font-size:65px}
.research-star {
  font-size:210px;
  height:220px;
  width:220px}
.quiet-message {
  padding-left:7px}
.quiet-message h2 {
  font-size:28px}
.quiet-message>p {
  font-size:10px}
.empty-film {
  height:242px}
.empty-film>div {
  height:185px;
  flex-basis:129px}
.menu-dialog {
  padding-inline:24px}
.big-navigation strong {
  font-size:32px}
.header-controls {
  gap:12px}
.menu-open {
  font-size:9px}
.menu-open i {
  width:19px}
.current-chapter {
  margin:0;
  font-size:8px}
.utility-controls {
  gap:3px}
.utility-controls .icon-button {
  width:27px}
.copyright {
  font-size:7px}
dialog {
  padding:21px}
.source-links>a {
  font-size:9px}
.rhythm-controls {
  gap:9px}
.rhythm-controls>label {
  font-size:8px}
.rhythm-controls>button {
  padding:9px 11px}
.search-result {
  font-size:10px}
.search-result small {
  font-size:7px}
}

@media(max-height:700px) and (max-width:640px) {
  .cover {
  min-height:415px}
.cover-photograph {
  top:13px;
  bottom:113px}
.type-cc {
  font-size:30vw;
  top:23px}
.type-atelier {
  font-size:25.5vw;
  bottom:89px}
.enter-button {
  height:70px;
  width:70px;
  bottom:2px}
.enter-label {
  font-size:8px}
.enter-button svg {
  width:23px;
  height:23px}
.nijika-marker {
  bottom:27px;
  font-size:8px}
.photo-index {
  top:6px}
.menu-dialog {
  min-height:530px;
  padding-top:17px}
.big-navigation {
  margin-top:2vh;
  margin-bottom:12px}
.big-navigation>a {
  height:73px}
.big-navigation strong {
  font-size:30px}
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important}
.photo-cut img {
  transform:scale(1.025)!important}
}

.on-cover main {
  overflow:clip}
.motion-off *,.motion-off *::before,.motion-off *::after {
  transition:none!important}

body:has(dialog[open]) {
  overflow:hidden}
.about-portrait {
  mask-image:linear-gradient(#000 82%,transparent 100%)}
@media(max-width:640px) {
  .cover-photograph[data-scene=stage] img {
  object-position:24% center}
}

main {
  overflow:clip}

/* Redefine's rendered writing inherits the Atelier palette. */
.nijika{--default-text-color:var(--text);--first-text-color:var(--ink);--second-text-color:var(--ink);--third-text-color:var(--muted);--fourth-text-color:var(--muted);--background-color:var(--bg);--second-background-color:var(--surface);--third-background-color:var(--surface);--border-color:var(--line);--primary-color:var(--yellow);--link-color:var(--yellow);--shadow-color-1:var(--line);--shadow-color-2:var(--line)}
html{scrollbar-width:thin;scrollbar-color:#74775c #101110}body.nijika{position:relative}#main-content:focus{outline:none}.site-header a,.site-footer a{color:inherit}.feature-caption{display:flex;justify-content:space-between;align-items:center;gap:20px}.archive-link{font-size:10px;color:var(--muted);min-height:36px;display:flex;align-items:center}.archive-link:hover{color:var(--yellow)}.feature-copy h2>a{overflow-wrap:anywhere}.post-list{margin:12px 0 25px}.post-row{display:grid;grid-template-columns:120px minmax(0,1fr) 30px;align-items:center;gap:24px;padding:28px 0;border-top:1px solid var(--line)}.post-row:last-child{border-bottom:1px solid var(--line)}.post-row time{font-size:10px;color:var(--muted)}.post-row h2{font:400 23px/1.55 var(--sans);letter-spacing:-.03em;overflow-wrap:anywhere}.post-row>span{color:var(--yellow);font-size:24px;transition:transform .3s}.post-row:hover h2{color:var(--yellow)}.post-row:hover>span{transform:translate(4px,-4px)}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:26px 0 0;flex-wrap:wrap}.pagination>a,.pagination>span{min-width:38px;min-height:38px;display:grid;place-items:center;font-size:11px;color:var(--muted)}.pagination>a:hover,.pagination .current{color:var(--yellow)}.pagination .current{border-bottom:1px solid var(--yellow)}.pagination .prev,.pagination .next{padding:0 10px}.taxonomy-nav{display:flex;gap:28px;margin:50px 0 35px}.taxonomy-nav>a{font-size:11px;color:var(--muted);min-height:36px;display:flex;align-items:center}.taxonomy-nav>a:hover,.taxonomy-nav>[aria-current=page]{color:var(--yellow)}.taxonomy-list>a{display:flex;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.taxonomy-list>a>span{font:400 28px var(--chinese)}.taxonomy-list small{font-size:10px;color:var(--muted)}.taxonomy-list i{margin-left:auto;font-size:25px;color:var(--yellow)}.tag-cloud{display:flex;flex-wrap:wrap;gap:14px}.tag-cloud>a{display:flex;gap:18px;align-items:center;border:1px solid var(--line);padding:13px 19px}.tag-cloud>a:hover{border-color:var(--yellow)}.tag-cloud small{color:var(--muted);font-size:10px}.empty-hint{color:var(--muted);margin:25px 0}.index-page>.quiet-message{margin:90px 0}
.reading-page{max-width:1160px;overflow:visible}.reading-layout{position:relative;max-width:740px;margin:0 auto}.reading-layout:has(.reading-toc){margin-left:0;max-width:none;display:grid;grid-template-columns:minmax(0,740px) minmax(150px,1fr);gap:70px}.reading-layout>article{min-width:0}.reading-page h1{overflow-wrap:anywhere}.article-body.markdown-body{font:400 16px/2.05 var(--chinese);color:var(--text);overflow-wrap:anywhere}.article-body.markdown-body p{line-height:2.05;margin:0 0 1.5em;color:var(--text)}.article-body.markdown-body strong{color:var(--ink);font-weight:600}.article-body.markdown-body h1,.article-body.markdown-body h2,.article-body.markdown-body h3,.article-body.markdown-body h4,.article-body.markdown-body h5,.article-body.markdown-body h6{color:var(--ink);font-family:var(--sans);line-height:1.5;letter-spacing:-.025em;scroll-margin-top:35px;margin:2em 0 1em}.article-body.markdown-body h1{font-size:32px}.article-body.markdown-body h2{font-size:27px}.article-body.markdown-body h3{font-size:23px}.article-body.markdown-body h4{font-size:19px}.article-body.markdown-body a{color:var(--yellow);text-decoration-thickness:1px;text-underline-offset:5px;outline-offset:4px}.article-body.markdown-body a:focus-visible{outline:2px solid var(--yellow)}.article-body.markdown-body ul,.article-body.markdown-body ol{padding-left:1.35em;margin:1em 0 1.5em}.article-body.markdown-body li{margin-left:0;padding-left:.2em;line-height:2}.article-body.markdown-body blockquote{padding:18px 25px;border-left:2px solid var(--yellow);border-radius:0;background:var(--surface);margin:30px 0}.article-body.markdown-body blockquote>p:last-child{margin:0}.article-body.markdown-body img{height:auto;max-width:100%;margin:28px auto 14px;border-radius:2px}.article-body.markdown-body img[data-zoom]{cursor:zoom-in}.article-body.markdown-body figure.image-caption{margin:28px 0}.article-body.markdown-body figcaption{font-size:11px;color:var(--muted);text-align:center;line-height:1.8;margin-top:12px}.article-body.markdown-body table{border-collapse:collapse;font-size:13px;width:100%;margin:25px 0;display:block;overflow-x:auto}.article-body.markdown-body th,.article-body.markdown-body td{border:1px solid var(--line);padding:10px 15px;min-width:90px}.article-body.markdown-body th{background:var(--surface);font-weight:500;color:var(--ink)}.article-body.markdown-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}.article-body.markdown-body :not(pre)>code{font-size:.88em;padding:3px 6px;border-radius:3px;background:var(--surface);color:var(--yellow);font-family:Consolas,monospace}.article-body.markdown-body pre{tab-size:2;line-height:1.7;overflow:auto;max-width:100%;margin:0;padding:18px}.article-body.markdown-body .code-container{border:1px solid var(--line);border-radius:3px;margin:30px 0;background:var(--surface);position:relative;padding-top:36px;overflow:hidden}.article-body.markdown-body .code-container:before{content:attr(data-rel);position:absolute;top:10px;left:17px;font:10px/1.6 var(--sans);color:var(--muted);background:none;box-shadow:none}.article-body.markdown-body figure.highlight{margin:0;border-radius:0;background:var(--surface);overflow-x:auto;color:var(--text);font:12px/1.8 Consolas,monospace}.article-body.markdown-body figure.highlight table{display:table;width:auto;min-width:100%;margin:0;font:inherit;overflow:visible;border:0}.article-body.markdown-body figure.highlight td{border:0;padding:0;min-width:0}.article-body.markdown-body figure.highlight pre{padding:16px;overflow:visible;font:inherit;background:none}.article-body.markdown-body figure.highlight .gutter{color:var(--muted);border-right:1px solid var(--line);user-select:none}.article-body.markdown-body figure.highlight .gutter pre{padding-inline:12px}.article-body.markdown-body figure.highlight .code pre{padding-left:18px}.copy-code{position:absolute;top:3px;right:5px;min-height:32px;min-width:48px;font:10px var(--sans);color:var(--muted);padding:4px 8px;z-index:2}.copy-code:hover{color:var(--yellow)}.article-tags{display:flex;gap:15px;flex-wrap:wrap;margin:15px 0 35px}.article-tags>a{font-size:11px;color:var(--muted)}.article-tags>a:hover{color:var(--yellow)}.neighbor-posts{display:flex;justify-content:space-between;gap:40px;margin-top:45px}.neighbor-posts a{max-width:48%;display:flex;flex-direction:column;gap:10px}.neighbor-posts small{font-size:10px;color:var(--muted)}.neighbor-posts span{font-size:14px;overflow-wrap:anywhere}.neighbor-posts a:hover{color:var(--yellow)}.reading-toc{position:sticky;top:38px;align-self:start;font:11px/1.8 var(--chinese);border-left:1px solid var(--line);padding-left:24px;margin-top:7px}.reading-toc summary{color:var(--muted);cursor:pointer;min-height:32px;list-style:none}.reading-toc summary::after{content:'−';float:right;margin-left:15px}.reading-toc details:not([open]) summary::after{content:'+'}.reading-toc .toc-title,.reading-toc .page-title{display:none}.reading-toc ol{list-style:none;padding:0;margin:8px 0}.reading-toc ol ol{padding-left:13px}.reading-toc a{display:block;padding:5px 0;color:var(--muted);overflow-wrap:anywhere}.reading-toc a:hover,.reading-toc a[aria-current=true]{color:var(--yellow)}.article-body .tabs{margin:30px 0}.article-body .tabs button[role=tab]{min-height:40px;padding:8px 15px}.article-body .tabs button[aria-selected=true]{color:var(--yellow)}.article-body .tab-content{border:1px solid var(--line);padding:20px}.article-body details>summary{padding:12px 0;cursor:pointer}.article-body .callout{border-radius:3px}.article-body .table-container{max-width:100%;overflow:auto}
.not-found{display:flex;align-items:flex-start;flex-direction:column;justify-content:center;gap:25px;padding-block:50px}.lost-number{font:600 clamp(140px,24vw,290px)/.8 var(--condensed);color:var(--yellow);letter-spacing:-.02em}.not-found h1{font:400 clamp(20px,3vw,33px) var(--chinese)}.not-found .arrow-link>span{font-size:25px;color:var(--yellow)}.search-result{color:var(--ink);font-size:14px;line-height:1.5;align-items:flex-start}.search-result>span{overflow-wrap:anywhere}.search-result small{flex:none}.search-result>small{font-size:11px;line-height:1.6;white-space:nowrap;padding-top:2px}.search-result .result-copy{min-width:0;flex:1}.search-result .result-copy small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-height:3.2em;margin-top:5px;font-size:13px;line-height:1.6;color:var(--text);white-space:normal;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip}.search-result mark{background:transparent;color:inherit;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.search-shortcut{font-size:9px;letter-spacing:.02em;color:var(--muted);margin-top:18px}.search-empty button{color:var(--yellow);margin-left:14px;min-height:36px}.image-dialog{width:min(1120px,calc(100% - 30px));max-height:calc(100dvh - 30px);padding:25px;background:var(--bg)}.image-dialog>.close-button{position:absolute;top:8px;right:8px;background:var(--bg);z-index:2}.image-dialog figure{margin:0}.image-dialog img{max-height:calc(100dvh - 140px);width:auto;max-width:100%;object-fit:contain;margin:auto}.image-dialog figcaption{font-size:11px;text-align:center;color:var(--muted);padding-top:16px}.credits-note a:hover{color:var(--yellow)}
@media(min-width:641px){.menu-dialog{max-height:100dvh;overflow:auto}.big-navigation{margin-top:3vh}.reading-page .reading-nav{margin-bottom:40px}}
@media(max-width:1000px){.reading-layout:has(.reading-toc){display:flex;flex-direction:column;gap:30px;max-width:740px;margin:auto}.reading-toc{order:-1;position:static;width:100%;padding:0;border-left:0;border-bottom:1px solid var(--line);margin:0}.reading-toc details{padding-bottom:10px}.reading-toc .post-toc{max-height:220px;overflow:auto}.reading-toc summary{font-size:11px;padding-bottom:8px}.reading-toc summary::after{float:none;margin-left:15px}}
@media(max-width:640px){.post-row{grid-template-columns:minmax(0,1fr) 26px;gap:10px;padding:23px 0}.post-row time{grid-column:1/-1;font-size:9px}.post-row h2{font-size:20px}.post-row>span{font-size:22px}.feature-caption .archive-link{font-size:9px;min-height:32px}.taxonomy-nav{margin:30px 0 25px;gap:25px}.taxonomy-list>a>span{font-size:23px}.tag-cloud{gap:10px}.tag-cloud>a{font-size:12px;padding:11px 14px;gap:12px}.article-body.markdown-body{font-size:15px}.article-body.markdown-body h2{font-size:24px}.article-body.markdown-body h3{font-size:21px}.article-body.markdown-body blockquote{padding:14px 18px}.reading-layout{max-width:100%}.reading-page .reading-nav{margin-bottom:28px}.reading-toc{margin-bottom:0}.image-dialog{padding:20px 12px}.neighbor-posts{gap:25px}.neighbor-posts span{font-size:12px}.menu-dialog{height:100dvh;max-height:100dvh;min-height:0;overflow-y:auto}.big-navigation{margin-top:3vh}.big-navigation>a{height:clamp(64px,11vh,90px)}.menu-open,.close-button{min-width:40px;min-height:40px}.utility-controls .icon-button{min-width:34px;min-height:40px}.site-footer{min-height:58px;height:58px}.cover{height:calc(100svh - 128px)}.content-view{min-height:calc(100svh - 128px)}.photo-index>button{min-width:35px;min-height:40px;padding:17px 5px}.current-chapter{display:none}}
@media(max-width:370px){.site-footer{height:55px;min-height:55px}.cover{height:calc(100svh - 119px)}.content-view{min-height:calc(100svh - 119px)}.utility-controls{gap:0}.utility-controls .icon-button{min-width:31px}.article-body.markdown-body{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.reading-toc summary{background:none;box-shadow:none;border:0;border-radius:0;padding-left:0}.article-body.markdown-body h2{border-bottom:0;padding-bottom:0}.article-body.markdown-body .table-container{border-radius:3px}.article-body.markdown-body .code-container .code pre{color:var(--highlight-foreground)}
@media(hover:hover){.utility-controls .icon-button{position:relative}.utility-controls .icon-button::after{content:attr(aria-label);position:absolute;bottom:calc(100% + 9px);right:-5px;white-space:nowrap;padding:7px 10px;background:var(--surface);border:1px solid var(--line);font:10px/1.5 var(--chinese);color:var(--text);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;pointer-events:none}.utility-controls .icon-button:hover::after,.utility-controls .icon-button:focus-visible::after{opacity:1;transform:translateY(0)}}
@media(max-height:520px) and (min-width:641px){.site-header{height:58px}.site-footer{height:44px}.cover{height:calc(100svh - 102px);min-height:220px}.cover-photograph{top:0;bottom:25px;left:38%}.type-cc{font-size:clamp(100px,29vh,145px);top:12px}.type-atelier{font-size:clamp(90px,29vh,145px);bottom:7px}.enter-button{width:70px;height:70px;bottom:2px;gap:4px}.enter-label{font-size:9px}.enter-button svg{width:24px;height:24px}.content-view{min-height:calc(100svh - 102px)}}

.cursor-ring{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid #ecda7a55;border-radius:50%;z-index:9999;pointer-events:none;opacity:0;transition:width .25s,height .25s,margin .25s,border-color .25s,opacity .18s;will-change:transform}.cursor-ring.visible{opacity:1}.cursor-ring.is-link{width:49px;height:49px;margin:-24.5px 0 0 -24.5px;border-color:#ecda7a99}.cursor-ring.is-link::after{content:'';position:absolute;inset:5px;border:1px solid #ecda7a26;border-radius:50%}.cursor-ring.is-pressed{width:24px;height:24px;margin:-12px 0 0 -12px;border-color:#ecda7acc}.click-effects{position:fixed;inset:0;z-index:9998;pointer-events:none;overflow:hidden}.beat-click{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px}.beat-click::before{content:'';position:absolute;inset:0;border:1px solid #ecda7aaa;border-radius:50%;animation:beat-wave .52s cubic-bezier(.12,.6,.25,1) forwards}.beat-click i{position:absolute;left:5px;top:5px;width:3px;height:8px;background:var(--yellow);border-radius:2px;animation:beat-spark .48s ease-out forwards;transform:rotate(var(--angle)) translateY(-9px)}.beat-click i:nth-child(2){height:5px}.beat-click i:nth-child(3){height:4px}.beat-click i:nth-child(4){height:6px}.light:not(.on-cover) .cursor-ring{border-color:#73703377}.light:not(.on-cover) .cursor-ring.is-link{border-color:#737033cc}.light:not(.on-cover) .beat-click::before{border-color:#737033aa}
@keyframes beat-wave{from{transform:scale(.6);opacity:1}to{transform:scale(4.7);opacity:0}}@keyframes beat-spark{from{transform:rotate(var(--angle)) translateY(-9px);opacity:.9}to{transform:rotate(var(--angle)) translateY(-28px);opacity:0}}
@media(hover:hover) and (pointer:fine){body[data-cursor=true][data-section="studio"]:not(:has(.reading-page)){cursor:url('../images/cursor.svg') 4 3,auto}body[data-cursor=true][data-section="studio"]:not(:has(.reading-page)) :is(a,button,summary,[role=button],.photo-index>button){cursor:url('../images/cursor-link.svg') 4 3,pointer}body[data-cursor=true][data-section="studio"]:not(:has(.reading-page)) :is(input[type=text],input[type=search],textarea,[contenteditable=true],.article-body p,.article-body li,.article-body td,.article-body pre){cursor:text}body[data-cursor=true][data-section="studio"]:not(:has(.reading-page)) input[type=range]{cursor:ew-resize}body[data-cursor=true][data-section="studio"]:not(:has(.reading-page)) .article-body img[data-zoom]{cursor:zoom-in}body[data-cursor=true][data-section="studio"]:not(:has(.reading-page)) [disabled]{cursor:not-allowed}}
@media(hover:none),(pointer:coarse){.cursor-ring{display:none}}.motion-off .cursor-ring,.motion-off .click-effects{display:none}@media(prefers-reduced-motion:reduce){.cursor-ring,.click-effects{display:none}}
.enter-button:active svg{transform:translate(5px,-5px)}.menu-open:active i{transform:scaleX(.8)}.icon-button:active{transform:scale(.88)}.photo-index>button:focus-visible{outline-offset:0}.photo-index>button>span{box-shadow:0 1px 8px #0004}.brand:hover>span{transform:rotate(-12deg);display:inline-block}.big-navigation a:active strong{transform:translateX(7px)}.feature-image:focus-visible{outline:3px solid var(--yellow);outline-offset:6px}.reading-toc a:focus-visible{outline-offset:2px}
html:has(body.motion-off){scroll-behavior:auto}

/* Reading always uses the browser cursor, with no decorative pointer layers. */
body:has(.reading-page) :is(.cursor-ring,.click-effects) {display:none}

/* Decorative pointers belong only to the music stage. */
body:not([data-section="studio"]) :is(.cursor-ring,.click-effects) {display:none}

/* Stage archive: a quiet reading system inside a warm, graphic live house. */
body.nijika{--muted:#999c90;--line:#35372f;--yellow:#ead280;--text:#c3c5bc}
body.light{--muted:#6c705f;--line:#d2d3c4;--yellow:#7a6221;--text:#454b3c}
.header-home{margin-left:auto;margin-right:34px;font-size:12px;color:var(--muted)}
.on-cover .header-home{display:none}.current-chapter{font-size:12px}.surface-noise{opacity:.055}
.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--muted)}
/* The library reads like an edited journal rather than an endless exercise feed. */
.writing-library{max-width:1240px;padding-top:35px}.library-mast{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:38px;gap:25px}.library-mast h1{font:400 clamp(33px,4vw,51px)/1.35 var(--chinese);letter-spacing:-.045em;margin:8px 0 0}.library-mast h1>span{color:var(--yellow);font-size:inherit;margin:0}.library-mast>a{font-size:12px;color:var(--muted);padding-bottom:8px}.library-mast>a>span{color:var(--yellow);margin-left:14px}
.writing-library .library-lead{margin:0 0 42px;display:grid;grid-template-columns:1fr 1.12fr;gap:8%;min-height:280px;align-items:center}.library-lead .feature-copy{padding:15px 0}.library-lead .feature-copy h2{font:400 clamp(27px,3vw,44px)/1.5 var(--chinese);letter-spacing:-.045em;margin:18px 0 26px;max-width:550px}.library-lead .minimal-meta{font-size:11px;gap:20px}.library-lead .feature-image{height:290px;clip-path:polygon(6% 0,100% 0,100% 92%,95% 100%,0 100%,0 9%);position:relative}.library-lead .feature-image img{height:100%;width:100%;object-fit:cover;object-position:center 42%;filter:saturate(.78)}
.collection-strip{display:flex;align-items:center;gap:30px;margin:20px 0 46px;padding:28px 34px;background:linear-gradient(115deg,#e8dba514,transparent);border:1px solid var(--line);border-left:2px solid var(--yellow);position:relative;overflow:hidden}.collection-strip:hover{border-color:var(--yellow)}.collection-disc{height:95px;width:95px;flex-shrink:0;border:1px solid #aaa17b80;border-radius:50%;display:grid;place-items:center;font:600 40px var(--condensed);color:var(--yellow);box-shadow:0 0 0 7px #afa5700a,0 0 0 8px #aaa17b24;transform:rotate(-12deg)}.collection-strip h2{font:500 26px/1.3 var(--sans);letter-spacing:-.04em;margin:6px 0}.collection-strip p{font-size:11px;color:var(--muted)}.collection-arrow{margin-left:auto;font-size:35px;color:var(--yellow)}.library-list-head{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin:10px 0 20px}.library-list-head>span:last-child{font-size:10px;letter-spacing:.1em}.post-row{padding:25px 0;grid-template-columns:105px minmax(0,1fr) 25px;gap:22px}.post-row time{font-size:11px}.post-row h2{font-size:21px;letter-spacing:0}.archive-page .feature-caption h1{font-size:38px}.archive-page{max-width:1100px}
/* Article opening and reading column share a single deliberate alignment. */
.reading-page{padding-top:28px;max-width:1180px}.reading-page .reading-nav{font-size:12px;margin-bottom:28px;gap:18px}.reading-layout{max-width:760px}.reading-layout:has(.reading-toc){grid-template-columns:minmax(0,760px) minmax(160px,1fr);gap:60px}.reading-opener{position:relative;padding:28px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:38px}.reading-opener .eyebrow{display:block;margin-bottom:20px;padding-right:125px}.reading-opener .reading-art{position:absolute;right:0;top:22px;width:99px;height:45px;object-fit:cover;object-position:center 38%;clip-path:polygon(10% 0,100% 0,100% 80%,90% 100%,0 100%,0 20%);opacity:.8}.reading-page .reading-opener h1{font:500 clamp(29px,3.4vw,44px)/1.45 var(--chinese);letter-spacing:-.04em;margin:10px 0 20px}.reading-meta{font-size:11px;gap:20px;color:var(--muted);margin:0}.reading-page .article-body{margin-top:0}.reading-toc{margin-top:26px;font-size:12px;border-left:0;padding-left:18px;max-height:calc(100svh - 90px);overflow:auto}.reading-toc summary{font-size:11px;letter-spacing:.07em;border-bottom:1px solid var(--line);margin-bottom:14px}.article-body.markdown-body{font-size:16px;line-height:2}.article-body.markdown-body p{line-height:2;margin-bottom:1.5em}.article-body.markdown-body h2{font-size:25px;margin-top:2.2em}.article-body.markdown-body h3{font-size:21px}.article-body.markdown-body h4{font-size:18px}.article-body.markdown-body pre>code{color:var(--text);background:none;padding:0;font-size:13px}.article-body.markdown-body>pre{background:var(--surface);border:1px solid var(--line);margin:24px 0;border-radius:3px}.article-source{border-left:2px solid var(--yellow);padding:10px 16px;font-size:12px;color:var(--muted);margin-top:35px}.article-source a{color:var(--yellow)}.article-footer{margin-top:30px}.neighbor-posts{border-top:1px solid var(--line);padding-top:25px;margin-top:20px}.neighbor-posts small{font-size:11px}.neighbor-posts span{font-size:15px}.article-body .katex{font-size:1.06em}.article-body .katex-display{overflow-x:auto;overflow-y:hidden;padding:12px 0}
/* Series: a sleeve followed by a playable-looking, fully native track list. */


@media(max-width:1000px){.reading-layout:has(.reading-toc){display:flex;flex-direction:column;max-width:760px;gap:20px}.reading-toc{position:static;width:100%;max-height:none;padding:0;margin-top:0}.reading-toc details{padding:0}.reading-toc summary{margin:0;padding:0 0 10px}.reading-toc .post-toc{max-height:210px}}
@media(max-width:640px){.header-home{font-size:11px;margin-right:20px}.header-controls{gap:14px}.writing-library{padding-top:25px}.library-mast{margin-bottom:27px;align-items:center;gap:10px}.library-mast .eyebrow{font-size:8px}.library-mast h1{font-size:32px;margin-top:6px}.library-mast>a{font-size:10px}.library-mast>a>span{margin-left:6px}.writing-library .library-lead{display:flex;flex-direction:column-reverse;gap:22px;margin-bottom:32px;align-items:stretch}.library-lead .feature-image{height:210px;margin:0;min-height:0}.library-lead .feature-copy{padding:0}.library-lead .feature-copy h2{font-size:27px;margin:12px 0 18px}.library-lead .minimal-meta{font-size:10px}.collection-strip{padding:22px 18px;gap:18px;margin-bottom:35px}.collection-disc{width:61px;height:61px;font-size:29px}.collection-strip .eyebrow{font-size:8px;letter-spacing:.02em}.collection-strip h2{font-size:20px}.collection-strip p{font-size:10px}.collection-arrow{font-size:25px}.post-row{grid-template-columns:minmax(0,1fr) 24px;gap:6px;padding:21px 0}.post-row time{font-size:10px}.post-row h2{font-size:18px}.reading-page{padding-top:18px}.reading-opener{padding:24px 0;margin-bottom:28px}.reading-opener .eyebrow{font-size:9px;margin-bottom:19px}.reading-opener .reading-art{width:85px;height:37px;top:17px}.reading-page .reading-opener h1{font-size:29px;line-height:1.5;margin-top:12px}.reading-meta{font-size:10px;gap:15px}.article-body.markdown-body{font-size:15px}.article-body.markdown-body h2{font-size:23px}.article-body.markdown-body h3{font-size:20px}.neighbor-posts span{font-size:13px}.article-source{font-size:11px}}


/* Remove legacy spacing at the new article boundary. */
.library-lead .feature-copy{display:block}.library-lead .arrow-link{margin-top:0;position:static;width:fit-content}
.library-lead .feature-copy h2>a{font:inherit;letter-spacing:inherit}
.reading-opener{max-width:760px;margin-inline:auto;border-top:0}.reading-page:has(.reading-toc) .reading-opener{margin-left:0}
.reading-meta{border:0;padding:0}.reading-page .article-body{border:0;padding-top:0}
.article-body.markdown-body .table-container{border:1px solid var(--line);border-radius:3px;box-shadow:none;margin:24px 0;overflow:auto}
.article-body.markdown-body .table-container>table{display:table;width:100%;margin:0}
.article-body.markdown-body>table{display:table;table-layout:fixed;border-radius:3px;box-shadow:none;width:100%}.article-body.markdown-body>table th,.article-body.markdown-body>table td{min-width:0;overflow-wrap:anywhere}
.nijika dialog:not(.setlist-dialog){margin:auto;inset:0;max-height:calc(100dvh - 40px)}
.nijika #search-dialog{width:min(600px,calc(100% - 36px));padding:28px;border:1px solid var(--line);border-radius:3px}
.nijika #search-results{max-height:52dvh;overflow:auto}.nijika #search-input{font-size:17px}
.nijika .reading-toc summary{background:transparent;box-shadow:none;padding-left:0;border-radius:0}
.reading-toc a[aria-current=true]{border-left:2px solid var(--yellow);padding-left:12px;margin-left:-14px}
@media(max-width:1000px){.reading-toc{border:0}.reading-toc summary{border-bottom:1px solid var(--line)}}
@media(max-width:640px){.reading-opener{padding-top:6px}.reading-opener .reading-art{top:0}.reading-page .article-body{padding-bottom:10px}}
