:root {
  --bg:var(--color-background);
  --panel:var(--color-surface);
  --line:var(--color-border);
  --muted:var(--color-text-secondary);
  --green:var(--color-accent);
  --text:var(--color-text-primary);
  --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --sans:Inter,"Helvetica Neue","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-family:var(--sans);
  font-size:16px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  line-height:1.65
}
a {
  color:inherit;
  text-decoration:none
}
a:hover {
  color:var(--green)
}
img {
  max-width:100%;
  height:auto
}
button,input,textarea,select {
  font:inherit
}
.skip-link {
  position:absolute;
  left:-10000px;
  top:auto
}
.skip-link:focus {
  left:12px;
  top:12px;
  z-index:50;
  background:var(--green);
  color:var(--color-accent-contrast);
  padding:10px 16px
}
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  gap:clamp(28px,6vw,90px);
  min-height:86px;
  padding:14px 4vw;
  background:rgba(var(--color-background-rgb),.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px)
}
.site-context-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:32px;
  padding:6px 4vw;
  border-bottom:1px solid var(--line);
  background:var(--color-surface-raised);
  color:var(--muted);
  font-size:11px;
  letter-spacing:.04em
}
.site-context-tagline {
  min-width:0
}
.site-context-breadcrumb {
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
  gap:10px;
  overflow:hidden
}
.site-context-breadcrumb a {
  flex:0 0 auto;
  color:inherit;
  text-decoration:none;
  text-underline-offset:3px
}
.site-context-breadcrumb a:hover,.site-context-breadcrumb a:focus-visible {
  color:var(--green);
  text-decoration:underline
}
.site-context-breadcrumb a:focus-visible {
  outline:2px solid var(--green);
  outline-offset:3px
}
.site-context-breadcrumb-separator {
  flex:0 0 auto
}
.site-context-breadcrumb-current {
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.site-context-status {
  flex:0 0 auto;
  color:#74867c;
  font-size:9px;
  letter-spacing:.14em
}
.brand {
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  flex:0 0 auto;
  color:var(--text);
  line-height:1.05
}
.brand-ja {
  font-family:var(--serif);
  font-size:25px;
  letter-spacing:.18em
}
.brand-en {
  margin-top:5px;
  color:var(--green);
  font-size:10px;
  font-weight:700;
  letter-spacing:.48em;
  padding-left:.48em
}
.primary-nav {
  display:flex;
  align-items:center;
  gap:clamp(18px,3.8vw,52px);
  height:100%;
  flex:1
}
.primary-nav a,.primary-nav .menu-item>a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--muted);
  font-size:15px;
  line-height:1;
  letter-spacing:.04em;
  white-space:nowrap
}
.primary-nav a:hover {
  color:var(--text)
}
.primary-nav ul {
  display:contents;
  list-style:none;
  margin:0;
  padding:0
}
.primary-nav li {
  display:contents
}
.primary-nav a[aria-current="page"],.primary-nav .current-menu-item>a {
  color:var(--green)
}
.header-cta {
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:4px;
  color:var(--green);
  font-size:13px;
  white-space:nowrap
}
.studio-header-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;white-space:nowrap;transition:border-color .2s,color .2s}.studio-header-link:hover{border-color:var(--green);color:var(--green)}
.header-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.header-post-menu{position:relative}
.header-post-menu>summary{list-style:none;cursor:pointer}
.header-post-menu>summary::-webkit-details-marker{display:none}
.header-post-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 16px;border:1px solid var(--green);border-radius:5px;background:var(--green);color:var(--color-accent-contrast);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s}
.header-post-link:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover)}
.header-post-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.header-post-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:30;display:grid;gap:9px;width:min(290px,calc(100vw - 32px));padding:18px;border:1px solid var(--line);background:var(--color-surface-raised);box-shadow:0 14px 38px rgba(0,0,0,.32)}
.header-post-popover .eyebrow{margin:0;color:var(--green);font-size:10px;letter-spacing:.16em}
.header-post-popover strong{font-family:var(--serif);font-size:17px;font-weight:500}
.header-post-popover p{margin:0;color:var(--muted);font-size:12px;line-height:1.75}
.header-post-popover>a{padding-top:9px;border-top:1px solid rgba(137,169,151,.16);color:var(--green);font-size:12px}
.header-account-menu{position:relative}
.header-account-menu>summary{list-style:none;cursor:pointer}
.header-account-menu>summary::-webkit-details-marker{display:none}
.my-book-menu-caret{color:var(--muted);font-size:12px;line-height:1;transition:transform .2s}
.header-account-menu[open] .my-book-menu-caret{transform:rotate(180deg)}
.header-account-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:30;display:grid;gap:0;width:min(340px,calc(100vw - 32px));padding:8px 16px 12px;border:1px solid var(--line);border-radius:10px;background:var(--color-surface-raised);box-shadow:0 18px 48px rgba(0,0,0,.38)}
.header-account-identity{display:grid;gap:3px;padding:10px 8px 14px;border-bottom:1px solid var(--line)}
.header-account-identity strong{font-family:var(--serif);font-size:17px;font-weight:500}
.header-account-identity span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.header-account-open-book{display:grid;gap:5px;margin:4px 0 8px;padding:15px 9px 17px;border-bottom:1px solid rgba(137,169,151,.2);color:var(--text)}
.header-account-open-book strong{font-family:var(--sans);font-size:15px;font-weight:650}
.header-account-open-book span{color:var(--muted);font-size:12px;line-height:1.5}
.header-account-personal{display:grid;padding:3px 0 8px}
.header-account-personal a,.header-account-management a,.header-account-logout{display:flex;align-items:center;min-height:46px;padding:8px;color:var(--text);font-size:14px;text-decoration:none}
.header-account-personal a:hover,.header-account-management a:hover{color:var(--green)}
.header-account-management{display:flex;align-items:center;justify-content:space-between;margin-top:2px;padding:5px 0;border-top:1px solid var(--line)}
.header-account-management a{flex:1}
.header-account-management span{padding-right:9px;color:var(--muted);font-size:12px}
.header-account-popover .header-account-logout{min-height:42px;margin-top:5px;padding:8px;border-top:1px solid rgba(137,169,151,.2);color:#d1a7a7;font-size:12px}
.header-account-logout:hover{color:#f0c9c9}
.header-account-popover a:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.my-book-link{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;white-space:nowrap;transition:border-color .2s,color .2s,background .2s}
.my-book-link:hover{border-color:var(--green);background:rgba(var(--color-accent-rgb),.06);color:var(--green)}
.my-book-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--green);color:var(--color-accent-contrast);font-size:10px;font-weight:700;letter-spacing:0}
.header-login-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;white-space:nowrap;transition:border-color .2s,color .2s,background .2s}
.header-login-link:hover{border-color:var(--green);background:rgba(var(--color-accent-rgb),.06);color:var(--green)}
.header-register-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 14px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:var(--color-accent-contrast);font-size:12px;font-weight:700;white-space:nowrap;transition:border-color .2s,color .2s,background .2s}
.header-register-link:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover);color:var(--color-accent-contrast)}
.wrap {
  width:min(1440px,92%);
  margin-inline:auto
}
.site-main {
  min-height:60vh
}
.home-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);
  align-items:center;
  gap:7vw;
  padding-block:clamp(58px,9vw,132px) clamp(62px,10vw,145px)
}
.hero-copy {
  position:relative;
  z-index:1
}
.eyebrow {
  margin:0 0 14px;
  color:var(--green);
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase
}
.hero-kicker {
  margin:0 0 15px;
  color:#bfd1c5;
  font-size:13px;
  letter-spacing:.07em
}
.home-hero h1,.archive-heading h1,.reading-article h1 {
  margin:0;
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:.035em;
  line-height:1.42
}
.home-hero h1 {
  font-size:clamp(36px,5.1vw,68px)
}
.hero-description {
  margin:24px 0;
  color:var(--muted);
  font-size:15px;
  letter-spacing:.04em
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:15px;
  color:var(--green);
  font-size:14px
}
.text-link:hover {
  color:#9ff3dd
}
.hero-art {
  position:relative;
  min-height:clamp(230px,28vw,390px);
  overflow:hidden;
  border:1px solid var(--line);
  background:url("image-placeholder.svg?ver=0.4.51") center/cover no-repeat
}
.hero-art:after {
  position:absolute;
  inset:0;
  content:"";
  background:linear-gradient(90deg,rgba(11,16,14,.35),transparent 55%),linear-gradient(0deg,rgba(11,16,14,.5),transparent 60%)
}
.orb {
  position:absolute;
  border:1px solid rgba(var(--color-accent-rgb),.22);
  border-radius:50%
}
.orb-one {
  width:55%;
  aspect-ratio:1;
  right:6%;
  top:4%;
  background:radial-gradient(circle at 45% 45%,rgba(var(--color-accent-rgb),.2),rgba(var(--color-accent-rgb),0) 70%)
}
.orb-two {
  width:33%;
  aspect-ratio:1;
  left:8%;
  bottom:-11%;
  background:radial-gradient(circle at 50% 20%,rgba(173,211,193,.18),transparent 70%)
}
.horizon {
  position:absolute;
  left:-10%;
  right:-10%;
  height:1px;
  top:68%;
  background:linear-gradient(90deg,transparent,rgba(var(--color-accent-rgb),.45),transparent);
  transform:rotate(-7deg);
  box-shadow:0 14px 24px rgba(var(--color-accent-rgb),.12)
}
.hero-mark {
  position:absolute;
  right:9%;
  bottom:-16%;
  font-family:var(--serif);
  font-size:clamp(160px,25vw,330px);
  line-height:1;
  color:rgba(237,243,239,.07)
}
.section-heading {
  margin-bottom:20px
}
.section-heading h2,.content-section h2 {
  margin:0;
  font-family:var(--serif);
  font-size:clamp(23px,2.8vw,36px);
  font-weight:500;
  letter-spacing:.04em
}
.section-heading .eyebrow {
  margin-bottom:8px
}
.content-section {
  padding-block:65px
}
.section-heading-row {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px
}
.section-heading-row .text-link {
  flex:0 0 auto
}
.work-grid,.news-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px 24px
}
.work-card {
  min-width:0
}
.work-image {
  display:block;
  position:relative;
  overflow:hidden;
  aspect-ratio:375/230;
  background:var(--panel);
  border:1px solid var(--line)
}
.work-image img,.archive-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s
}
.work-image:hover img {
  transform:scale(1.035)
}
.work-type {
  position:absolute;
  left:12px;
  bottom:12px;
  padding:5px 9px;
  background:rgba(8,20,12,.88);
  border-radius:3px;
  max-width:calc(100% - 24px);
  overflow:hidden;
  color:#e4eee8;
  font-size:11px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap
}
.work-origin-chip {
  position:absolute;
  top:10px;
  left:10px;
  z-index:1;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  max-width:calc(100% - 20px);
  padding:4px 8px;
  overflow:hidden;
  border:1px solid;
  border-radius:3px;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.04em;
  text-overflow:ellipsis;
  white-space:nowrap;
  backdrop-filter:blur(8px)
}
.work-origin-chip--archive { color:#e3d4b1; background:rgba(33,31,23,.85); border-color:#6f6041 }
.work-origin-chip--user { color:#c0e1ca; background:rgba(17,36,27,.86); border-color:#3d694c }
.work-origin-chip--ai { color:#cbd3f3; background:rgba(27,32,52,.87); border-color:#515e8a }
.work-card-copy {
  padding-top:12px
}
.my-book-liked-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.my-book-liked-copy h2{min-width:0;overflow-wrap:anywhere}
.my-book-liked-copy h2 a{color:var(--text)}
.my-book-liked-remove{flex:0 0 auto;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}
.my-book-liked-remove:hover,.my-book-liked-remove:focus-visible{border-color:var(--green);color:var(--green)}
.work-card-copy .eyebrow {
  margin-bottom:6px
}
.work-card h2,.archive-card h2 {
  margin:0 0 5px;
  font-size:16px;
  font-weight:500
}
.work-artist {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--muted);
  font-size:12px
}
.work-artist-avatar { display:block; flex:0 0 30px; width:30px; height:30px; border-radius:50%; object-fit:cover; background:var(--panel) }
.news-card {
  position:relative;
  border-top:1px solid var(--line);
  padding-top:14px
}
.news-card>a>img,.news-card-media {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  margin-bottom:12px
}
.news-card>a>img { object-fit:cover }
.news-card-media { overflow:hidden; background:var(--color-surface-raised) url("image-placeholder.svg?ver=0.4.51") center/cover no-repeat }
.news-card-media>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease }
.news-card-media:hover>img { transform:scale(1.035) }
.news-card-media>.image-placeholder { display:block; width:100%; height:100%; background:transparent }
.news-date {
  color:var(--muted);
  font-size:11px;
  letter-spacing:.08em
}
.news-card h3 {
  margin:8px 0 0;
  font-family:var(--serif);
  font-size:18px;
  font-weight:500;
  line-height:1.55
}
.news-archive { min-width:0 }
/* Intro and glossary grouping. */
.news-archive-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(224px,280px); align-items:end; gap:28px; margin:0 0 38px }
.news-archive-heading { margin:0 }
.news-archive-glossary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; align-content:center; min-height:72px; margin:0 0 4px; padding:13px 15px; overflow:hidden; border:1px solid var(--line); background:linear-gradient(120deg,rgba(7,27,19,.96),rgba(11,25,19,.86)); color:var(--text); transition:border-color .2s,background-color .2s,transform .2s }
.news-archive-glossary:hover,.news-archive-glossary:focus-visible { border-color:rgba(var(--color-accent-rgb),.58); background:#11271d; transform:translateY(-1px) }
.news-archive-glossary:focus-visible { outline:2px solid var(--green); outline-offset:3px }
.news-archive-glossary-label { grid-column:1; color:var(--green); font-size:9px; letter-spacing:.18em; line-height:1.3 }
.news-archive-glossary-copy { grid-column:1; max-width:none; font-family:var(--serif); font-size:clamp(16px,1.35vw,19px); line-height:1.35; letter-spacing:.035em }
.news-archive-glossary-copy span { color:var(--green) }
.news-archive-glossary-link { grid-column:2; grid-row:1 / -1; align-self:center; color:var(--green); font-size:18px; line-height:1; white-space:nowrap }
.news-archive-grid { margin-top:4px }
.news-archive-card { min-width:0 }
.news-archive-card h2 { margin:0; font-family:var(--sans); font-size:18px; font-weight:500; line-height:1.5 }
.news-archive-card h2 a:hover,.news-card-read:hover { color:var(--green) }
.news-card-excerpt { display:-webkit-box; margin:10px 0 0; overflow:hidden; color:var(--muted); font-size:13px; line-height:1.7; -webkit-box-orient:vertical; -webkit-line-clamp:3 }
.news-card-read { display:inline-flex; margin-top:14px; color:var(--green); font-size:12px }
.site-footer {
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(0,auto);
  align-items:center;
  gap:28px clamp(28px,5vw,72px);
  margin-top:45px;
  padding:36px 4vw 22px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,#101713 0%,#0b100e 100%)
}
.footer-branding p {
  color:var(--muted);
  font-size:12px
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px 24px
}
.footer-nav a {
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
  text-underline-offset:4px;
  transition:color .18s ease
}
.footer-nav a:hover,.footer-nav a:focus-visible {
  color:var(--green)
}
.footer-meta {
  grid-column:1/-1;
  padding-top:16px;
  border-top:1px solid var(--line);
  color:#77857d;
  font-size:10px;
  letter-spacing:.12em
}
.archive-main {
  padding-block:42px 80px
}
.archive-heading {
  margin-bottom:30px
}
.archive-heading h1 {
  font-size:clamp(32px,4vw,54px)
}
.archive-description {
  color:var(--muted);
  max-width:760px
}
.discover-heading,.following-heading,.news-archive-heading { max-width:820px; margin:0 0 32px; padding:0; text-align:left }
.discover-heading>.eyebrow,.following-heading>.eyebrow,.news-archive-heading>.eyebrow { margin:0 0 14px; color:var(--green); font-size:11px; letter-spacing:.22em }
.discover-heading h1,.following-heading h1,.news-archive-heading h1 { margin:0; font-family:var(--serif); font-size:clamp(30px,3.1vw,40px); font-weight:500; line-height:1.42; letter-spacing:.035em; overflow-wrap:anywhere }
.discover-heading h1 span,.following-heading h1 span,.news-archive-heading h1 span { display:inline-block; color:var(--green); font-weight:600; white-space:nowrap }
.discover-heading>p:last-child,.following-heading>p:last-child,.news-archive-heading>p:last-child { margin:12px 0 0; color:var(--muted); font-size:clamp(14px,1.45vw,17px); letter-spacing:.02em; line-height:1.7 }
.work-explorer { position:relative; z-index:2; margin:0 0 35px }
.work-search-line { display:grid; grid-template-columns:minmax(0,1fr) 54px max-content; align-items:stretch; min-height:42px; border:1px solid var(--line); border-radius:8px; background:var(--panel); transition:border-color .2s,box-shadow .2s }
.work-search-line:focus-within { border-color:var(--green); box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.1) }
.work-search-line>input[type=search] { width:100%; min-width:0; min-height:42px; padding:8px 20px; border:0; outline:0; background:transparent; color:var(--text); font:inherit; font-size:15px }
.work-search-line .work-filter-details>summary,.following-search-line .work-filter-details>summary { padding-block:8px }
.work-search-line>input[type=search]::placeholder { color:#7f8e85 }
.work-search-submit,.work-filter-details>summary { display:flex; align-items:center; justify-content:center; gap:9px; min-width:0; border:0; border-left:1px solid var(--line); background:transparent; color:var(--muted); cursor:pointer; transition:background .2s,color .2s }
.work-search-submit:hover,.work-filter-details>summary:hover { background:rgba(var(--color-accent-rgb),.07); color:var(--green) }
.work-search-submit svg,.work-filter-details>summary svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round }
.work-filter-details>summary>span,.work-filter-details>summary svg { flex-shrink:0 }
.work-filter-details { position:relative; min-width:0 }
.work-filter-details>summary { min-height:100%; padding:12px 17px; white-space:nowrap; list-style:none }
.work-filter-details>summary::-webkit-details-marker { display:none }
.work-filter-details>summary::marker { content:"" }
.work-filter-count { display:none; min-width:20px; height:20px; align-items:center; justify-content:center; padding-inline:4px; border-radius:999px; background:rgba(var(--color-accent-rgb),.15); color:var(--green); font-size:10px }
.work-filter-count:not(:empty) { display:inline-flex }
.work-filter-panel { position:absolute; top:calc(100% + 10px); right:0; z-index:20; width:min(560px,calc(100vw - 32px)); max-height:min(72vh,640px); padding:20px; overflow:auto; border:1px solid var(--line); border-radius:9px; background:var(--color-surface-raised); box-shadow:0 18px 50px rgba(0,0,0,.4) }
.work-filter-group { min-width:0; margin:0 0 18px; padding:0; border:0 }
.work-filter-group legend { margin-bottom:10px; color:var(--muted); font-size:12px; letter-spacing:.06em }
.work-filter-options { display:flex; flex-wrap:wrap; gap:8px }
.work-filter-option { position:relative; cursor:pointer }
.work-filter-option input { position:absolute; width:1px; height:1px; opacity:0 }
.work-filter-option span { display:block; padding:7px 11px; border:1px solid var(--line); border-radius:5px; color:#c2d0c7; font-size:12px; transition:background .2s,border-color .2s,color .2s }
.work-filter-option input:checked+span { border-color:rgba(var(--color-accent-rgb),.6); background:rgba(var(--color-accent-rgb),.12); color:var(--green) }
.work-filter-option input:focus-visible+span { outline:2px solid var(--green); outline-offset:2px }
.work-filter-apply { min-height:42px; padding:9px 16px; border:1px solid var(--green); border-radius:5px; background:var(--green); color:#06231c; font-size:12px; cursor:pointer }
.work-filter-description { margin:-4px 0 10px; color:#84968c; font-size:11px; line-height:1.6 }
.work-filter-actions { display:flex; align-items:center; gap:18px; padding-top:4px }
.work-filter-clear { color:var(--muted); font-size:12px; text-underline-offset:3px }
.work-filter-clear:hover { color:var(--green) }
.work-filter-more { margin-top:12px; border-top:1px solid rgba(137,169,151,.16) }
.work-filter-more>summary { display:inline-flex; align-items:center; gap:4px; margin:10px 0; color:var(--green); font-size:11px; cursor:pointer; list-style:none }
.work-filter-more>summary::-webkit-details-marker { display:none }
.work-filter-more>summary::marker { content:"" }
.work-filter-more>summary:hover { color:var(--text) }
.work-filter-more .work-filter-options { padding-top:2px }
.work-active-filters { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:12px 0 0 }
.work-active-filters-label { margin-right:2px; color:var(--muted); font-size:11px; letter-spacing:.06em }
.work-active-filter-chip { display:inline-flex; align-items:center; gap:8px; min-height:30px; padding:4px 10px; border:1px solid rgba(16,220,178,.32); border-radius:999px; background:rgba(16,220,178,.07); color:var(--text); font-size:12px; line-height:1.4; text-decoration:none; transition:border-color .2s,background .2s,color .2s }
.work-active-filter-chip>span:last-child { color:var(--green); font-size:15px; line-height:1 }
.work-active-filter-chip:hover,.work-active-filter-chip:focus-visible { border-color:var(--green); background:rgba(16,220,178,.13); color:var(--green) }
.work-active-filter-chip:focus-visible { outline:2px solid var(--green); outline-offset:3px }
.work-origin-tabs { display:flex; gap:9px; margin-top:17px; padding-bottom:5px; overflow-x:auto; scrollbar-width:thin }
.work-origin-tab { position:relative; flex:0 0 auto; cursor:pointer }
.work-origin-tab input { position:absolute; width:1px; height:1px; opacity:0 }
.work-origin-tab span { display:block; padding:10px 15px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--muted); font-size:12px; white-space:nowrap; transition:background .2s,border-color .2s,color .2s }
.work-origin-tab--all.is-active span { border-color:rgba(var(--color-accent-rgb),.4); background:rgba(var(--color-accent-rgb),.12); color:var(--green) }
.work-origin-tab--archive span { border-color:#514832; background:#17160f; color:#d6c8a7 }
.work-origin-tab--user span { border-color:#294a38; background:#101a14; color:#c0e1ca }
.work-origin-tab--ai span { border-color:#394263; background:#131522; color:#cbd3f3 }
.work-origin-tab--archive.is-active span,.work-origin-tab--user.is-active span,.work-origin-tab--ai.is-active span { box-shadow:inset 0 0 0 1px currentColor }
.work-origin-tab input:focus-visible+span { outline:2px solid var(--green); outline-offset:3px }
.work-explorer-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:20px }
.work-explorer-count { margin:0; color:var(--muted); font-size:12px; letter-spacing:.12em }
.work-explorer-count span { margin-left:4px; font-size:10px }
.work-sort-control { display:flex; align-items:center; gap:14px; color:var(--muted); font-size:12px }
.work-sort-control select { min-width:130px; min-height:46px; padding:8px 34px 8px 12px; border:1px solid var(--line); border-radius:6px; background:var(--panel); color:var(--text); font:inherit; font-size:14px }
.archive-card>a>img,.image-placeholder {
  display:block;
  width:100%;
  aspect-ratio:375/230;
  object-fit:cover;
  background:var(--panel) url("image-placeholder.svg?ver=0.4.51") center/cover no-repeat
}
.archive-card .eyebrow {
  margin:12px 0 5px
}
.archive-card p:not(.eyebrow) {
  color:var(--muted);
  font-size:13px;
  line-height:1.8
}
.empty-state {
  grid-column:1/-1;
  padding:42px 20px;
  border:1px solid var(--line);
  color:var(--muted);
  text-align:center
}
.pagination {
  margin-top:38px
}
.pagination .nav-links {
  display:flex;
  justify-content:center;
  gap:18px
}
.pagination a,.pagination span {
  padding:8px 12px;
  border:1px solid var(--line);
  color:var(--muted)
}
.work-infinite-controls {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  min-height:58px;
  margin-top:34px
}
.work-infinite-status {
  min-height:1.5em;
  margin:0;
  color:var(--muted);
  font-size:13px;
  text-align:center
}
.work-infinite-button {
  min-height:44px;
  padding:10px 22px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel);
  color:var(--text);
  font:inherit;
  cursor:pointer;
  transition:border-color .2s,color .2s,background-color .2s
}
.work-infinite-button:hover,.work-infinite-button:focus-visible {
  border-color:var(--green);
  color:var(--green)
}
.work-infinite-button:focus-visible {
  outline:2px solid var(--green);
  outline-offset:3px
}
.work-infinite-button[hidden],.work-infinite-controls[hidden],.work-infinite-sentinel[hidden] {
  display:none
}
.work-infinite-sentinel {
  height:1px;
  pointer-events:none
}
.single-main {
  padding-block:32px 90px
}
.breadcrumb {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:28px;
  color:var(--muted);
  font-size:12px
}
.detail-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,330px);
  gap:40px;
  align-items:start
}
.detail-media {
  background:var(--color-media-well);
  border:1px solid var(--line)
}
.detail-image-stage {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:520px;
  padding:24px;
  background:#050807
}
.detail-image-stage>img {
  display:block;
  width:100%;
  max-height:76vh;
  object-fit:contain
}
.high-resolution-link {
  display:block;
  padding:12px 15px;
  border-top:1px solid var(--line);
  color:var(--green);
  font-size:12px;
  text-align:right
}
.detail-copy h1 {
  margin:0 0 8px;
  font-family:var(--sans);
  font-size:clamp(26px,2.3vw,29px);
  font-weight:500;
  line-height:1.42
}
.detail-back-link {
  display:inline-flex;
  margin:0 0 22px;
  color:var(--muted);
  font-size:12px;
  transition:color .2s
}
.detail-back-link:hover { color:var(--green) }
.detail-origin-line {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  min-height:24px;
  margin:0 0 13px;
  color:var(--green);
  font-size:12px;
  letter-spacing:.04em
}
.detail-origin-line .work-origin-chip { position:static; max-width:100%; backdrop-filter:none }
.detail-english {
  margin:0 0 20px;
  color:var(--muted);
  letter-spacing:.08em
}
.detail-artist {
  padding-block:16px;
  border-block:1px solid var(--line);
  color:#c1d0c7
}
.entry-content {
  color:#d2ddd6;
  line-height:1.95
}
.entry-content h2,.entry-content h3 {
  margin-top:2em;
  font-family:var(--serif);
  font-weight:500
}
.entry-content a {
  color:var(--green);
  text-decoration:underline;
  text-underline-offset:3px
}
.viewing-points {
  margin-top:28px;
  padding:18px 20px;
  border:1px solid var(--line);
  background:var(--panel)
}
.viewing-points h2,.process-section h2 {
  margin:0 0 10px;
  font-family:var(--serif);
  font-size:19px;
  font-weight:500
}
.viewing-points ul {
  padding:0;
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
  list-style:none
}
.viewing-points li{display:grid;grid-template-columns:minmax(58px,auto) minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px solid rgba(41,55,47,.72)}
.viewing-points li:first-child{border-top:0;padding-top:0}
.viewing-point-label{color:var(--green);font-size:12px;white-space:nowrap}
.viewing-point-copy{min-width:0;overflow-wrap:anywhere}
.rights-meta {
  margin:26px 0 0;
  padding-top:8px;
  border-top:1px solid var(--line)
}
.rights-meta div {
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:14px;
  padding:8px 0;
  border-bottom:1px solid var(--line);
  font-size:12px
}
.rights-meta dt {
  color:var(--muted);
  letter-spacing:.04em
}
.rights-meta dd {
  min-width:0;
  margin:0;
  line-height:1.7;
  overflow-wrap:anywhere
}
.term-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px
}
.term-list a {
  padding:7px 11px;
  border:1px solid transparent;
  border-radius:6px;
  background:var(--color-accent-soft);
  color:var(--green);
  font-size:11px
}
.term-list a:hover { border-color:rgba(var(--color-accent-rgb),.4); background:var(--color-accent-soft-hover) }
.artist-heading {
  display:flex;
  align-items:center;
  gap:26px;
  padding-block:32px;
  border-bottom:1px solid var(--line)
}
.artist-portrait {
  width:118px;
  height:118px;
  border-radius:50%;
  object-fit:cover;
  background:var(--panel)
}
.artist-image-credit {
  margin:8px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.6
}
.artist-image-credit a { color:inherit; text-decoration:underline; text-underline-offset:3px }
.artist-placeholder {
  display:grid;
  place-items:center;
  color:var(--green);
  font-family:var(--serif);
  font-size:45px
}
.artist-heading h1 {
  margin:0;
  font-family:var(--serif);
  font-size:clamp(30px,2.5vw,38px);
  font-weight:500
}
.artist-role,.artist-meta {
  margin:8px 0 0;
  color:var(--muted);
  font-size:13px
}
.artist-follow-action{margin-top:16px}
.artist-follow-form{display:inline-flex;margin:0}
.artist-follow-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--green);font-size:13px;line-height:1.3;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.artist-follow-button:hover{border-color:var(--green);background:rgba(var(--color-accent-rgb),.08);color:var(--green)}
.artist-follow-button.is-followed{border-color:rgba(var(--color-accent-rgb),.55);background:rgba(var(--color-accent-rgb),.08)}
.detail-artist-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-block:12px;border-block:1px solid var(--line)}
.detail-artist-row .detail-artist{margin:0;padding:0;border:0}
.detail-artist-profile{display:flex;align-items:center;gap:11px;min-width:0}
.detail-artist-avatar{display:block;width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--panel)}
.detail-artist-copy{min-width:0}
.detail-artist-role{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4}
.detail-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; margin:20px 0 14px }
.detail-like-button,.detail-share-button { display:flex; align-items:center; justify-content:center; gap:11px; min-width:0; min-height:52px; padding:10px 14px; border:1px solid var(--line); border-radius:7px; background:transparent; color:#d7e1da; font:inherit; font-size:14px; cursor:pointer; transition:border-color .2s,background .2s,color .2s }
.detail-like-button svg { width:24px; height:24px; flex:0 0 24px; fill:none; stroke:#a3b3a9; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:fill .2s,stroke .2s,transform .2s }
.detail-like-button:hover,.detail-like-button.is-liked { border-color:rgba(var(--color-accent-rgb),.55); background:rgba(var(--color-accent-rgb),.07); color:var(--green) }
.detail-like-button:hover svg { transform:scale(1.06) }
.detail-like-button.is-liked svg { fill:var(--green); stroke:var(--green) }
.detail-share-button { width:100%; min-height:52px; border:1px solid var(--line); border-radius:7px; background:transparent; color:#d7e1da; font:inherit; font-size:14px; cursor:pointer; transition:border-color .2s,background .2s,color .2s }
.detail-share-button svg { width:21px; height:21px; fill:none; stroke:var(--green); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round }
.detail-share-button:hover { border-color:var(--green); background:rgba(var(--color-accent-rgb),.08); color:var(--green) }
.detail-share-button:disabled { opacity:.65; cursor:wait }
.detail-share-status { display:block; min-height:18px; margin-top:4px; color:var(--muted); font-size:11px; text-align:center }
.work-information { margin-top:26px; padding:20px 22px; border:1px solid var(--line); border-radius:8px; background:var(--panel) }
.work-information>.eyebrow { margin:0 0 18px; color:var(--green); font-size:11px; letter-spacing:.16em }
.work-information-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 24px; margin:0 }
.work-information-grid>div { min-width:0 }
.work-information-grid dt { margin-bottom:6px; color:var(--muted); font-size:11px }
.work-information-grid dd { min-width:0; margin:0; color:var(--text); font-size:13px; line-height:1.6; overflow-wrap:anywhere }
.work-information-grid dd a { color:inherit }
.work-information-grid dd a:hover { color:var(--green) }
.work-information>.text-link { display:inline-flex; margin-top:18px; padding-top:15px; border-top:1px solid var(--line); width:100%; color:var(--green); font-size:12px }
.work-report { margin-top:16px; padding-top:14px; border-top:1px solid var(--line) }
.work-report>details>summary { display:inline-flex; align-items:center; min-height:36px; color:var(--muted); font-size:12px; cursor:pointer }
.work-report>details>summary:hover { color:var(--green) }
.work-report-form { display:grid; gap:9px; max-width:540px; margin-top:12px; padding:16px; border:1px solid var(--line); border-radius:6px; background:var(--panel) }
.work-report-form label { margin-top:4px; color:var(--text); font-size:12px }
.work-report-form select,.work-report-form textarea { width:100%; min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:4px; background:var(--color-control); color:var(--text); font:inherit; font-size:13px }
.work-report-form textarea { resize:vertical; line-height:1.7 }
.work-report-form>p { margin:0; color:var(--muted); font-size:11px; line-height:1.6 }
.work-report-form>button { justify-self:start; min-height:38px; padding:8px 15px; border:1px solid var(--green); border-radius:999px; background:transparent; color:var(--green); font:inherit; font-size:12px; cursor:pointer }
.work-report .submission-notice { margin:0 0 10px }
@media(max-width:900px) {
  .work-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .detail-grid { grid-template-columns:1fr }
  .detail-copy { max-width:700px }
  .work-filter-panel { width:min(560px,calc(100vw - 48px)) }
}
.following-main{padding-block:38px 90px}
.following-heading{max-width:820px;margin:0 0 32px;text-align:left}
.following-explorer{max-width:none;margin:0 0 18px}
.following-search-line{display:grid;grid-template-columns:minmax(0,1fr) 54px max-content;align-items:stretch;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel);transition:border-color .2s,box-shadow .2s}
.following-search-line:focus-within{border-color:var(--green);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.1)}
.following-search-line>input[type=search]{width:100%;min-width:0;min-height:42px;padding:8px 20px;border:0;background:transparent;color:var(--text);font:inherit;font-size:15px;outline:0}
.following-search-line>input[type=search]::placeholder{color:#718178}
.following-search-line .work-filter-details{position:relative}
.following-filter-panel{right:0;left:auto;min-width:260px}
.following-filter-panel .work-filter-clear{display:inline-flex;margin-top:12px}
.following-explorer-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}
.following-books,.following-feed{margin-top:44px}
.following-books .section-heading,.following-feed .section-heading{display:block;margin-bottom:20px}
.following-books .section-heading h2,.following-feed .section-heading h2{margin:0;font-family:var(--serif);font-size:clamp(22px,3vw,30px);font-weight:500}
.following-book-list{border-top:1px solid var(--line)}
.following-book-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.following-book-profile{display:inline-flex;align-items:center;gap:13px;min-width:0;font-family:var(--serif);font-size:17px}
.following-book-avatar{display:block;flex:0 0 48px;width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--panel)}
.following-empty{max-width:720px;margin:0 auto;padding:32px;border:1px solid var(--line);background:var(--panel);text-align:center}
.following-empty h2,.following-empty h3{margin:0;font-family:var(--serif);font-size:22px;font-weight:500}
.following-empty p{margin:10px auto 20px;color:var(--muted);font-size:14px}
.following-empty-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.following-primary-action,.following-secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--green);border-radius:999px;color:var(--green);font-size:13px;transition:background .2s,color .2s}
.following-primary-action:hover{background:var(--green);color:var(--color-accent-contrast)}
.following-secondary-action{border-color:var(--line);color:var(--muted)}
.following-secondary-action:hover{border-color:var(--green);color:var(--green);background:rgba(var(--color-accent-rgb),.06)}
.my-book-main{padding-block:0 100px}
.my-book-main--guest{padding-top:54px}
.my-book-heading{max-width:900px;margin:0 auto 42px;text-align:center}
.my-book-heading h1{margin:0;font-family:var(--serif);font-size:clamp(36px,5.8vw,68px);font-weight:500;line-height:1.25}
.my-book-heading .my-book-handle{margin:8px 0 0;color:var(--muted);font-size:15px;letter-spacing:.05em}
.my-book-heading>p:last-child{margin:16px 0 0;color:var(--muted);font-size:16px}
.my-book-hero{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;width:100vw;min-height:300px;margin:0 0 0 calc(50% - 50vw);padding:32px max(4vw,32px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 74% 20%,rgba(35,113,78,.55),transparent 36%),linear-gradient(145deg,#061910 0%,#0a2b1d 53%,#06110d 100%);background-position:center;background-size:cover;overflow:hidden}
.my-book-hero:before,.my-book-hero:after{position:absolute;inset:-32% -10%;border:1px solid rgba(89,203,151,.18);border-radius:48% 52% 45% 55%;content:"";transform:rotate(-14deg);pointer-events:none}
.my-book-hero:after{inset:-5% -20%;border-color:rgba(89,203,151,.12);transform:rotate(14deg)}
.my-book-hero.has-cover:before,.my-book-hero.has-cover:after{display:none}
.my-book-hero-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,13,9,.03),rgba(3,13,9,.66));z-index:1}
.my-book-hero-kicker{position:relative;z-index:2;margin:0;color:rgba(207,242,222,.82);font-size:14px;letter-spacing:.24em;text-transform:uppercase}
.my-book-public-profile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;padding:48px 0 40px;border-bottom:1px solid var(--line)}
.my-book-public-avatar{display:flex;align-items:center;justify-content:center;width:120px;height:120px;flex:0 0 120px;border-radius:50%;object-fit:cover;background:var(--green);color:var(--color-accent-contrast);font-size:38px;font-weight:700}
.my-book-public-copy{min-width:0}
.my-book-profile-kind{margin:0 0 2px;color:var(--muted);font-size:16px;letter-spacing:.04em}
.my-book-profile-title{margin:3px 0 0;color:#c2d3c8;font-size:13px;letter-spacing:.03em}
.my-book-public-copy h2{margin:0;font-family:var(--serif);font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.2}
.my-book-public-handle{margin:8px 0 0;color:var(--green);font-size:17px;letter-spacing:.04em}
.my-book-public-bio{max-width:650px;margin:10px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.my-book-public-link{display:inline-flex;margin-top:12px;color:var(--green);font-size:14px}
.my-book-public-actions{display:flex;align-items:center;gap:10px;align-self:start;padding-top:6px}
.my-book-public-edit{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 17px;border:1px solid var(--line);border-radius:7px;color:var(--text);font-size:13px;white-space:nowrap;transition:border-color .2s,color .2s,background .2s}
.my-book-public-edit:hover{border-color:var(--green);background:rgba(var(--color-accent-rgb),.06);color:var(--green)}
.my-book-logout{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;white-space:nowrap;transition:border-color .2s,color .2s,background .2s}
.my-book-logout:hover{border-color:var(--green);background:rgba(var(--color-accent-rgb),.06);color:var(--green)}
.my-book-avatar-large{width:66px;height:66px;flex:0 0 66px;font-size:24px}
.my-book-tabs{display:flex;gap:40px;margin:0 0 48px;border-bottom:1px solid var(--line)}
.my-book-public-tabs{width:100%}
.my-book-tabs a{display:inline-flex;align-items:center;gap:9px;padding:17px 0 14px;border-bottom:2px solid transparent;color:var(--muted);font-size:16px;white-space:nowrap}
.my-book-tabs a:hover,.my-book-tabs a.is-current{border-color:var(--green);color:var(--green)}
.my-book-tabs span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding-inline:6px;border:1px solid var(--line);border-radius:999px;font-size:11px}
.my-book-work-section{margin:0 0 64px}
.my-book-work-section .section-heading{display:block;margin-bottom:22px}
.my-book-work-section .section-heading h2{margin:0;font-family:var(--serif);font-size:clamp(28px,3.5vw,42px);font-weight:500}
.my-book-work-grid{margin-bottom:0}
.my-book-section{max-width:760px;margin:0 auto 46px}
.my-book-section .section-heading{display:block;margin-bottom:20px}
.my-book-section .section-heading h2{margin:0;font-family:var(--serif);font-size:clamp(22px,3vw,30px);font-weight:500}
.my-book-likes-note{margin:-8px 0 22px;color:var(--muted);font-size:13px;line-height:1.7}
.my-book-artist-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.my-book-artist{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 14px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-family:var(--serif);font-size:16px}
.my-book-artist:hover{border-color:var(--green)}
.my-book-artist-avatar{display:block;flex:0 0 42px;width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--panel)}
.my-book-artist .profile-type-badge{margin-left:auto}
.my-book-empty{max-width:760px;margin:0 auto;padding:34px 24px;border:1px solid var(--line);background:var(--panel);text-align:center}
.my-book-empty h2,.my-book-empty h3{margin:12px 0 0;font-family:var(--serif);font-size:24px;font-weight:500}
.my-book-empty p{max-width:520px;margin:10px auto 20px;color:var(--muted);font-size:14px}
.my-book-empty-small{padding:28px 20px}
.my-book-coming-soon{padding:26px 28px;border:1px solid var(--line);background:rgba(17,25,21,.55)}
.my-book-coming-soon p{max-width:620px;margin:0;color:var(--muted);font-size:14px}
.my-book-book-cover{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;flex:0 0 132px;width:132px;min-height:84px;padding:12px;border:1px solid rgba(var(--color-accent-rgb),.22);border-radius:6px;background:radial-gradient(circle at 72% 18%,rgba(35,113,78,.48),transparent 42%),linear-gradient(145deg,#071c14 0%,#0c3022 52%,#07130f 100%);background-position:center;background-size:cover;overflow:hidden;color:rgba(207,242,222,.76);font-size:9px;letter-spacing:.18em}
.my-book-book-cover:before,.my-book-book-cover:after{position:absolute;inset:-35% -18%;border:1px solid rgba(89,203,151,.18);border-radius:48% 52% 45% 55%;content:"";transform:rotate(-14deg)}
.my-book-book-cover:after{inset:-5% -25%;border-color:rgba(89,203,151,.12);transform:rotate(14deg)}
.my-book-book-cover.has-cover:before,.my-book-book-cover.has-cover:after{display:none}
.my-book-book-cover span{position:relative;z-index:1}
.my-book-profile-edit{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;white-space:nowrap;transition:border-color .2s,color .2s,background .2s}
.my-book-profile-edit:hover{border-color:var(--green);background:rgba(var(--color-accent-rgb),.06);color:var(--green)}
.artist-bio {
  max-width:850px;
  padding-block:26px
}
.reading-main {
  padding-block:48px 90px
}
.reading-main--information { padding-block:38px 80px }
.reading-article {
  max-width:880px;
  margin-inline:auto
}
.reading-page-heading { max-width:820px; margin:0 0 32px }
.reading-page-heading>.eyebrow { margin:0 0 14px; color:var(--green); font-size:11px; letter-spacing:.22em }
.reading-page-heading h1 { margin:0; font-family:var(--serif); font-size:clamp(30px,3.1vw,40px); font-weight:500; line-height:1.42; letter-spacing:.035em; overflow-wrap:anywhere }
.reading-article h1 {
  font-size:clamp(32px,5vw,58px);
  margin-bottom:10px
}
.single-sinkiro_news .reading-article h1 {
  font-size:clamp(30px,3.8vw,46px)
}
.reading-article>.detail-english {
  margin:0 0 30px
}
.news-featured-image {
  margin:30px 0
}
.news-featured-image img,.study-cover {
  display:block;
  width:100%;
  height:auto
}
.news-featured-image figcaption {
  margin-top:8px;
  color:var(--muted);
  font-size:12px
}
.definition-note,.process-section {
  margin-top:25px;
  padding:20px;
  border:1px solid var(--line);
  background:var(--panel)
}
.definition-note {
  color:#cad8cf
}
.process-section>div {
  color:var(--muted);
  line-height:1.9
}
@media(max-width:800px) {
  .site-header {
    gap:24px
  }
  .primary-nav {
    gap:18px
  }
  .header-cta {
    display:none
  }
  .home-hero {
    grid-template-columns:1fr .8fr;
    gap:28px
  }
  .work-grid,.news-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .detail-grid {
    grid-template-columns:1fr
  }
  .detail-copy {
    max-width:760px
  }
  .site-footer {
    grid-template-columns:1fr;
    gap:20px
  }
  .footer-nav {
    justify-content:flex-start
  }
  .footer-meta {
    grid-column:auto
  }
}
@media(max-width:600px) {
  .site-header {
    position:relative;
    min-height:0;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:12px 16px;
    padding:13px 4vw 0
  }
  .brand-ja {
    font-size:21px
  }
  .brand-en {
    font-size:9px
  }
  .studio-header-link{grid-column:2;grid-row:1;justify-self:end;align-self:center}
  .header-account-actions{grid-column:2;grid-row:1;justify-self:end;align-self:center;gap:6px;flex-wrap:wrap;max-width:60vw}
  .header-login-link,.header-register-link{min-height:34px;padding:6px 10px;font-size:11px}
  .header-post-link{min-height:34px;padding:6px 10px;font-size:11px}
  .header-post-popover{right:0}
  .header-account-popover{right:0;width:min(340px,calc(100vw - 32px))}
  .primary-nav {
    grid-column:1/-1;
    grid-row:2;
    justify-content:space-between;
    gap:10px;
    border-top:1px solid var(--line)
  }
  .primary-nav a,.primary-nav .menu-item>a {
    font-size:13px;
    min-height:42px
  }
  .site-context-bar {
    min-height:30px;
    gap:10px;
    padding:6px 4vw;
    font-size:10px
  }
  .site-context-status {
    font-size:8px
  }
  .home-hero {
    grid-template-columns:1fr;
    padding-block:38px 48px
  }
  .hero-copy {
    order:1
  }
  .hero-art {
    order:0;
    min-height:180px
  }
  .home-hero h1 {
    font-size:clamp(35px,10vw,49px)
  }
  .hero-kicker {
    font-size:12px
  }
  .hero-description {
    font-size:13px;
    margin:16px 0
  }
  .content-section {
    padding-block:42px
  }
  .discover-heading,.following-heading,.news-archive-heading { margin-bottom:26px }
  .discover-heading>.eyebrow,.following-heading>.eyebrow,.news-archive-heading>.eyebrow { margin-bottom:13px; font-size:10px }
  .discover-heading h1,.following-heading h1,.news-archive-heading h1 { font-size:clamp(30px,8.5vw,42px); line-height:1.48 }
  .discover-heading>p:last-child,.following-heading>p:last-child,.news-archive-heading>p:last-child { margin-top:11px; font-size:13px }
  .work-explorer { margin-bottom:27px }
  .work-search-line>input[type=search] { padding:8px 12px; font-size:14px }
  .work-filter-count { top:5px; right:4px }
  .work-filter-panel { position:fixed; top:auto; left:16px; right:16px; bottom:16px; width:auto; max-height:min(72vh,560px); padding:16px; overflow:auto }
  .work-filter-options { gap:6px }
  .work-filter-option span { padding:7px 9px; font-size:11px }
  .work-origin-tabs { gap:7px; margin-top:12px }
  .work-origin-tab span { padding:8px 12px; font-size:11px }
  .work-explorer-footer { gap:12px; margin-top:15px }
  .work-sort-control { gap:8px }
  .work-information { margin-top:22px; padding:15px }
  .work-information>.eyebrow { margin-bottom:14px }
  .work-information-grid { gap:14px 12px }
  .work-information-grid dt { font-size:10px }
  .work-information-grid dd { font-size:12px }
  .detail-actions { gap:8px; margin:15px 0 10px }
  .detail-like-button,.detail-share-button { min-height:46px; padding-inline:10px; gap:8px }
  .work-share-dialog { padding:20px }
  .work-share-dialog-head h2 { font-size:21px }
  .work-share-options { grid-template-columns:1fr }
  .work-share-options a,.work-share-options button { min-height:44px }
  .section-heading-row {
    align-items:start;
    flex-direction:column;
    gap:0
  }
  .work-grid,.news-grid {
    gap:24px 13px
  }
  .news-archive-intro { grid-template-columns:1fr; gap:18px; margin-bottom:30px }
  .news-archive-glossary { min-height:68px; margin:0; padding:12px 14px }
  .news-archive-glossary-copy { font-size:17px }
  .work-card h2,.archive-card h2 {
    font-size:15px
  }
  .work-type {
    left:7px;
    bottom:7px;
    font-size:9px
  }
  .work-image { aspect-ratio:1.2/1 }
  .work-origin-chip { top:7px; left:7px; max-width:calc(100% - 14px); padding:4px 6px; font-size:9px }
  .archive-main {
    padding-block:30px 55px
  }
  .artist-heading {
    align-items:flex-start;
    gap:16px
  }
  .artist-portrait {
    width:76px;
    height:76px
  }
  .artist-heading h1 {
    font-size:clamp(28px,8vw,34px)
  }
  .artist-heading{flex-wrap:wrap}
  .artist-heading>div{min-width:0;flex:1}
  .artist-follow-action{flex:0 0 100%;margin-top:2px}
  .artist-follow-form,.artist-follow-action .artist-follow-button{width:100%}
  .detail-artist-row{align-items:flex-start;flex-direction:column}
  .detail-artist-row .artist-follow-button{width:100%}
  .detail-image-stage{min-height:520px;padding:18px}
  .detail-back-link{margin-bottom:16px}
  .detail-origin-line{font-size:11px}
  .detail-artist-avatar{width:40px;height:40px}
  .following-main{padding-block:30px 64px}
  .following-explorer{margin-bottom:14px}
  .following-search-line{grid-template-columns:minmax(0,1fr) 46px 48px;min-height:42px}
  .following-search-line>input[type=search]{min-height:42px;padding:8px 12px;font-size:14px}
  .following-search-line .work-filter-details>summary{padding:8px}
  .following-filter-panel{position:fixed;top:auto;left:16px;right:16px;bottom:16px;min-width:0;max-height:min(72vh,560px);padding:16px;overflow:auto}
  .following-explorer-footer{gap:12px;margin-top:15px}
  .following-empty{padding:23px 17px}
  .following-book-profile{font-size:15px}
  .following-book-row{gap:10px}
  .following-book-row .artist-follow-button{font-size:11px;padding:8px 10px}
  .my-book-main{padding-block:30px 64px}
  .my-book-heading{margin-bottom:30px}
  .my-book-heading h1{font-size:clamp(34px,10vw,52px)}
  .my-book-heading>p:last-child{font-size:14px}
  .my-book-hero{min-height:190px;margin-top:0;padding:22px 20px}
  .my-book-hero-kicker{font-size:10px;letter-spacing:.18em}
  .my-book-public-profile{grid-template-columns:auto minmax(0,1fr);gap:16px;padding:30px 0 28px}
  .my-book-public-avatar{width:82px;height:82px;flex-basis:82px;font-size:28px}
  .my-book-public-copy h2{font-size:30px}
  .my-book-profile-kind{font-size:13px}
  .my-book-public-handle{margin-top:5px;font-size:14px}
  .my-book-public-bio{font-size:14px;line-height:1.6}
  .my-book-public-link{font-size:12px}
  .my-book-public-actions{grid-column:1 / -1;display:flex;align-items:stretch;padding-top:5px}
  .my-book-public-edit,.my-book-logout{flex:1;min-height:42px;font-size:12px}
  .my-book-tabs{gap:21px;margin-bottom:36px;overflow-x:auto}
  .my-book-tabs a{padding:14px 0 12px;font-size:14px}
  .my-book-work-section{margin-bottom:46px}
  .my-book-work-section .section-heading{margin-bottom:17px}
  .my-book-work-section .section-heading h2{font-size:30px}
  .my-book-logout{font-size:11px;padding:6px 10px}
  .my-book-artist-list{grid-template-columns:1fr}
  .my-book-artist{font-size:15px}
  .my-book-coming-soon{padding:22px 17px}
  .reading-main {
    padding-block:30px 60px
  }
  .reading-main--information { padding-block:30px 60px }
  .reading-page-heading { margin-bottom:26px }
  .reading-page-heading>.eyebrow { margin-bottom:13px; font-size:10px }
  .reading-page-heading h1 { font-size:clamp(30px,8.5vw,42px); line-height:1.48 }
  .reading-article h1 {
    font-size:34px
  }
  .single-sinkiro_news .reading-article h1 {
    font-size:30px;
    line-height:1.45
  }
  .detail-grid {
    gap:22px
  }
  .rights-meta div {
    grid-template-columns:76px 1fr
  }
  .footer-nav {
    gap:10px 18px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important
  }
}
.brand-logo-link{align-items:center;justify-content:center}
/* Optical alignment: compensate the SVG canvas around the dragon whisker. */
.site-header>.brand-logo-link,.footer-branding>.brand-logo-link{transform:translateX(-5%)}
.brand-logo{display:block;width:clamp(118px,12vw,160px);height:auto}
.footer-branding .brand-logo{width:164px}
@media(max-width:600px){.brand-logo{width:116px}.footer-branding .brand-logo{width:138px}}

/* Editorial work detail links. */
.detail-editor-action{margin:18px 0 22px}
.detail-submission-owner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 22px}
.detail-submission-owner-actions form{margin:0}
.detail-submission-owner-actions a,.detail-submission-owner-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--green);font:inherit;font-size:13px;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.detail-submission-owner-actions a:hover,.detail-submission-owner-actions button:hover{border-color:var(--green);background:rgba(var(--color-accent-rgb),.08)}
.detail-submission-owner-actions button{color:#c7aaa4}
.detail-submission-owner-actions button:hover{border-color:#a66e64;background:rgba(166,110,100,.1);color:#ead0ca}
.outline-link{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--green);font-size:13px;transition:background .2s,border-color .2s}
.outline-link:hover{background:rgba(var(--color-accent-rgb),.08);border-color:var(--green)}
.detail-glossary-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.detail-term-group{margin-top:14px}
.detail-term-group>span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;letter-spacing:.05em}
.detail-term-group .term-list{margin-top:0}
.detail-glossary-label{flex:0 0 100%;color:var(--muted);font-size:11px;letter-spacing:.08em}
.detail-glossary-links a{color:var(--green);font-size:12px;text-underline-offset:3px}
.detail-profile-actions { margin-top:16px }
.detail-profile-actions .artist-follow-form { display:flex; width:100%; margin:0 }
.detail-profile-actions .artist-follow-button { display:flex; width:100%; min-height:48px; border-radius:6px; font-size:14px }

/* Compact desktop rows. */
@media(max-width:1100px){
  .detail-grid{grid-template-columns:minmax(0,1fr);gap:26px}
  .detail-copy{max-width:760px}
  .detail-media{max-width:100%}
  .high-resolution-link{background:var(--color-media-well)}
}
@media(max-width:600px){
  .detail-image-stage{min-height:clamp(260px,72vw,420px);padding:14px}
  .detail-copy h1{font-size:clamp(24px,7vw,30px)}
}
.work-share-dialog { width:min(520px,calc(100vw - 32px)); max-width:none; max-height:min(85vh,720px); padding:24px; border:1px solid var(--line); border-radius:9px; background:#0c1210; color:var(--text) }
.work-share-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(3px) }
.work-share-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px }
.work-share-dialog-head .eyebrow { margin:0 0 10px; color:var(--green); font-size:11px; letter-spacing:.17em }
.work-share-dialog-head h2 { margin:0; font-family:var(--serif); font-size:23px; font-weight:500 }
.work-share-dialog-head form { margin:0 }
.work-share-close { display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--muted); font-size:24px; line-height:1; cursor:pointer }
.work-share-close:hover { border-color:var(--green); color:var(--green) }
.work-share-summary { margin:14px 0 20px; color:var(--muted); font-size:13px; line-height:1.7; overflow-wrap:anywhere }
.work-share-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px }
.work-share-options a,.work-share-options button { display:flex; align-items:center; min-height:46px; padding:10px 12px; border:1px solid var(--line); border-radius:5px; background:transparent; color:#d7e1da; font:inherit; font-size:13px; text-align:left; text-decoration:none; cursor:pointer; transition:border-color .2s,background .2s,color .2s }
.work-share-options a:hover,.work-share-options button:hover { border-color:var(--green); background:#10241a; color:var(--green) }
.work-share-status { min-height:22px; margin:16px 0 0; color:var(--muted); font-size:11px; line-height:1.6 }
.detail-work-navigation{margin-top:62px;padding-block:30px 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.detail-nav-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px;color:var(--muted);font-variant-numeric:tabular-nums}
.detail-nav-heading .eyebrow{margin:0 0 4px}
.detail-nav-heading-ja{margin:0;font-family:var(--serif);font-size:20px}
.detail-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.detail-nav-card{display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:18px;min-width:0;min-height:132px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);transition:border-color .2s,background .2s}
.detail-nav-card:hover{border-color:var(--green);background:#14211b}
.detail-nav-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.detail-nav-label{color:var(--green);font-size:13px;letter-spacing:.05em}
.detail-nav-title{font-family:var(--serif);font-size:18px;line-height:1.5;overflow-wrap:anywhere}
.detail-nav-media{display:block;width:132px;height:92px;object-fit:cover;border-radius:6px;background:var(--bg)}
.detail-nav-prev .detail-nav-copy{grid-column:2;grid-row:1}
.detail-nav-prev .detail-nav-copy{align-items:flex-end;text-align:right}
.detail-nav-prev .detail-nav-media{grid-column:1;grid-row:1}
.detail-nav-card-empty{visibility:hidden}
.related-theme-section .section-heading{display:block;max-width:760px}
.related-theme-section .section-heading h2{margin:0;font-family:var(--sans);font-size:23px;font-weight:500;line-height:1.5;letter-spacing:0}
.related-theme-section .section-heading>p:not(.eyebrow){margin:10px 0 0;color:var(--muted);font-size:13px}
.related-theme-grid{margin-top:22px}
.book-work-section{padding-top:48px}
@media(max-width:700px){
  .detail-work-navigation{margin-top:42px;padding-block:24px 30px}
  .detail-nav-grid{grid-template-columns:1fr;gap:10px}
  .detail-nav-card{grid-template-columns:minmax(0,1fr) 104px;min-height:112px;padding:11px;gap:12px}
  .detail-nav-media{width:104px;height:80px}
  .detail-nav-title{font-size:16px}
  .detail-nav-card-empty{display:none}
  .detail-nav-heading-ja{font-size:18px}
}
.profile-type-badge{display:inline-flex;align-items:center;flex:0 0 auto;padding:3px 8px;border:1px solid;border-radius:999px;font-family:var(--sans);font-size:10px;line-height:1.4;letter-spacing:.04em;white-space:nowrap;vertical-align:middle}.profile-type-badge--archive{border-color:#514832;background:#17160f;color:#d6c8a7}.artist-title-row,.archive-card-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.artist-title-row h1,.archive-card-title-row h2{min-width:0}.detail-artist{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.archive-card-title-row{margin-bottom:5px}.archive-card-title-row h2{margin:0}

/* Editorial discovery sidebar. */
.news-article-layout{display:grid;grid-template-columns:minmax(0,880px) minmax(220px,300px);justify-content:space-between;gap:48px;max-width:1240px;margin-inline:auto}.news-article-layout .reading-article{max-width:none;margin-inline:0}.news-sidebar{display:grid;align-content:start;gap:16px;padding-top:72px}.news-sidebar-glossary,.news-sidebar-today{position:relative;display:block;width:100%;overflow:hidden;border:1px solid var(--line);background:#0b120e;color:var(--text);line-height:1;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.news-sidebar-glossary img,.news-sidebar-today img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover}.news-sidebar-today img{object-position:50% 38%;filter:saturate(.88) contrast(1.04)}.news-sidebar-today::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(5,11,8,.12),rgba(5,11,8,.84) 68%,rgba(5,11,8,.94))}.news-sidebar-glossary-copy,.news-sidebar-today-copy{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:12px 16px;text-align:right;text-shadow:0 1px 8px rgba(0,0,0,.85)}.news-sidebar-glossary-copy>span,.news-sidebar-today-copy>span{color:var(--green);font-size:10px;letter-spacing:.16em;line-height:1.3}.news-sidebar-glossary-copy strong{margin-top:5px;font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.35}.news-sidebar-today-copy small{margin-top:3px;color:#d7e4db;font-size:10px;letter-spacing:.08em;line-height:1.2}.news-sidebar-today-copy strong{margin-top:3px;font-family:var(--serif);font-size:17px;font-weight:500;line-height:1.3}.news-sidebar-glossary:hover,.news-sidebar-glossary:focus-visible,.news-sidebar-today:hover,.news-sidebar-today:focus-visible{border-color:var(--green);transform:translateY(-1px)}.news-sidebar-glossary:focus-visible,.news-sidebar-today:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media(max-width:980px){.news-article-layout{grid-template-columns:1fr;gap:30px}.news-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0}}@media(max-width:620px){.news-sidebar{grid-template-columns:1fr}.news-sidebar-glossary-copy,.news-sidebar-today-copy{padding-inline:20px}.news-sidebar-glossary-copy strong,.news-sidebar-today-copy strong{font-size:22px}}

/* Shared footer intro rhythm. */
.archive-main,.reading-main { padding-top:48px }
.archive-main { padding-top:38px }
@media(max-width:600px){.archive-main,.reading-main{padding-top:30px}}
.reading-main.reading-main--information { padding-top:38px }
.reading-main.reading-main--information .reading-page-heading h1 { margin:0; font-size:clamp(30px,3.1vw,40px); line-height:1.42 }
@media(max-width:600px){.reading-main.reading-main--information{padding-top:30px}.reading-main.reading-main--information .reading-page-heading h1{font-size:clamp(30px,8.5vw,42px);line-height:1.48}}

/* Ad placeholder and dated news. */
.news-sidebar-ad{display:block;width:100%;aspect-ratio:6/5;overflow:hidden;border:1px solid var(--line);background:#0b120e}
.news-sidebar-ad img{display:block;width:100%;height:100%;object-fit:cover}
.news-sidebar-ranking{padding:18px 16px 8px;border-top:1px solid var(--line)}
.news-sidebar-ranking-heading{margin-bottom:10px}
.news-sidebar-ranking-heading p{margin:0 0 5px;color:var(--green);font-size:10px;letter-spacing:.18em}
.news-sidebar-ranking-heading h2{margin:0;font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.4}

/* Compact explorer; mobile stack. */
@media(min-width:1180px){
  .work-explorer{display:grid;grid-template-columns:minmax(0,802px) minmax(0,1fr);column-gap:16px;align-items:center}
  .work-search-line{grid-column:1;grid-template-columns:minmax(0,1fr) 46px max-content}
  .work-active-filters{grid-column:1}
  .work-origin-tabs{grid-column:2;min-width:0;margin:0}
  .work-explorer-footer{grid-column:1/-1}
}
@media(max-width:600px){
  .news-archive-card h2{font-size:16px}
}
.news-sidebar-ranking-heading>span{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.news-sidebar-ranking ol{margin:0;padding:0;list-style:none}
.news-sidebar-ranking li+li{border-top:1px solid rgba(143,187,165,.15)}
.news-sidebar-ranking li a{display:grid;grid-template-columns:32px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:12px 0;color:var(--text);text-decoration:none}
.news-sidebar-ranking-number{color:var(--green);font-family:var(--sans);font-size:14px;letter-spacing:.08em}
.news-sidebar-ranking-copy{display:grid;gap:4px;min-width:0}
.news-sidebar-ranking-copy time{color:var(--muted);font-size:10px;letter-spacing:.08em}
.news-sidebar-ranking-copy strong{font-family:var(--serif);font-size:14px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}
.news-sidebar-ranking-arrow{color:var(--muted);font-size:13px;text-align:right;transition:color .2s,transform .2s}
.news-sidebar-ranking li a:hover .news-sidebar-ranking-arrow,.news-sidebar-ranking li a:focus-visible .news-sidebar-ranking-arrow{color:var(--green);transform:translate(2px,-2px)}
.news-sidebar-ranking li a:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.news-sidebar-ranking-empty{margin:0;padding:10px 0 18px;color:var(--muted);font-size:13px}
@media(max-width:980px){.news-sidebar-ranking{grid-column:1/-1}.news-sidebar-ad{aspect-ratio:6/5}}
@media(max-width:620px){.news-sidebar-ad{aspect-ratio:6/5}.news-sidebar-ranking{padding:20px 4px 4px}}

.related-work-reason{color:var(--muted);font-size:11px;line-height:1.6;margin:0 0 10px}

/* Mobile discovery controls and editorial cards. */
@media(max-width:600px){
  .primary-nav a,.primary-nav .menu-item>a{min-height:48px;border-bottom:2px solid transparent;font-size:14px}
  .primary-nav a[aria-current="page"],.primary-nav .current-menu-item>a{border-bottom-color:var(--green)}
  .archive-main{padding-top:38px}
  .discover-heading{margin-bottom:34px}
  .work-search-line{grid-template-columns:minmax(0,1fr) 42px max-content;min-height:50px}
  .work-search-line>input[type=search]{min-height:50px}
  .work-search-submit{padding:8px}
  .work-filter-details>summary{min-height:50px;gap:7px;padding:8px 10px;white-space:nowrap}
  .work-filter-details>summary>span:not(.work-filter-count){display:inline}
  .work-filter-details>summary:after{content:"⌄";margin-left:1px;color:var(--muted);font-size:14px;line-height:1}
  .work-filter-count{position:static;min-width:18px;height:18px;font-size:9px}
  .work-origin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;padding:0;overflow:visible}
  .work-origin-tab{min-width:0}
  .work-origin-tab--all{order:1}
  .work-origin-tab--archive{order:2}
  .work-origin-tab--user{order:3}
  .work-origin-tab--ai{order:4}
  .work-origin-tab span{display:grid;min-height:48px;place-items:center;padding:9px 8px;font-size:13px;white-space:normal;text-align:center}
  .work-explorer-footer{gap:12px;margin-top:18px}
  .work-sort-control{gap:9px;font-size:13px}
  .work-sort-control select{min-width:126px;min-height:48px;font-size:13px}
  .news-archive-grid{grid-template-columns:minmax(0,1fr);gap:27px;margin-top:6px}
  .news-archive-card h2{font-size:18px;line-height:1.55}
  .news-card-excerpt{font-size:14px;line-height:1.75}
  .news-card-read{min-height:44px;align-items:center;margin-top:5px;font-size:13px}
}

/* Keep the mobile primary navigation evenly balanced beneath the account row. */
@media(max-width:600px){
  .site-header .primary-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:normal;justify-items:stretch;gap:0;border-top:0}
  .site-header .primary-nav>a,.site-header .primary-nav .menu-item>a{width:100%;min-width:0;justify-content:center;padding-inline:4px;text-align:center;white-space:nowrap}
}

/* Shared page-intro rhythm across archives, following, and reading pages. */
.archive-main,.following-main,.reading-main,.reading-main.reading-main--information { padding-top:38px }
.reading-main--information > .reading-article { max-width:none; margin-inline:0 }
.reading-main--information > .reading-article > .entry-content { max-width:880px; margin-inline:0 }
@media(max-width:600px){
  .archive-main,.following-main,.reading-main,.reading-main.reading-main--information { padding-top:38px }
  .reading-main .reading-article>.eyebrow { margin-bottom:13px; font-size:10px }
}

/* Keep intermediate-width account controls within the two-row header. */
@media(max-width:760px){
  .site-header{position:relative;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 16px;padding:13px 4vw 0}
  .site-header .header-account-actions{grid-column:2;grid-row:1;justify-self:end;align-self:center;min-width:0;max-width:100%;gap:6px;flex-wrap:wrap}
  .site-header .primary-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);justify-content:normal;justify-items:stretch;gap:0;width:100%;border-top:0}
  .site-header .primary-nav>a,.site-header .primary-nav .menu-item>a{width:100%;min-width:0;min-height:48px;justify-content:center;padding-inline:4px;text-align:center;white-space:nowrap}
}

/* Public NEWS listing: editorial hierarchy, isolated from home and article cards. */
.news-archive-list-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:19px 0 23px; border-top:1px solid var(--line) }
.news-archive-list-heading h2 { margin:0; font-family:var(--sans); font-size:13px; font-weight:700 }
.news-archive-list-heading>span { color:var(--muted); font-size:10px; letter-spacing:.04em }
.news-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 28px; margin-top:0 }
.news-archive-card.news-card { display:flex; min-width:0; padding-top:0; border-top:0 }
.news-archive-card-link { display:flex; flex:1; flex-direction:column; min-width:0; color:var(--text); text-decoration:none }
.news-archive-card-link:hover { color:var(--text) }
.news-archive-card-link:focus-visible { outline:2px solid var(--green); outline-offset:5px }
.news-archive-card .news-card-media { position:relative; margin:0; flex:none }
.news-archive-card .news-card-media>img { object-fit:contain; transition:transform .28s ease }
.news-archive-card-link:hover .news-card-media>img,.news-archive-card-link:focus-visible .news-card-media>img { transform:scale(1.035) }
.news-archive-card .news-card-category { --news-badge-paper:#f8f6f0; --news-badge-ink:#294239; position:absolute; left:12px; bottom:12px; max-width:calc(100% - 24px); padding:4px 10px; overflow-wrap:anywhere; background:var(--news-badge-paper); color:var(--news-badge-ink); font-size:10px; font-weight:700; line-height:1.8; letter-spacing:.03em }
.news-archive-card .news-card-copy { display:flex; flex:1; flex-direction:column; min-width:0; padding-top:15px }
.news-archive-card .news-date { font-size:11px; line-height:1.5; font-variant-numeric:tabular-nums; letter-spacing:.07em }
.news-archive-card h2 { margin:10px 0 11px; font-size:20px; font-weight:700; line-height:1.65; letter-spacing:.01em; line-break:strict; overflow-wrap:anywhere; transition:color .2s }
.news-archive-card .news-card-excerpt { margin:0 0 14px; font-size:12px; line-height:1.9 }
.news-archive-card .news-card-read { align-self:flex-start; min-height:44px; align-items:center; margin-top:auto; color:var(--muted); font-size:11px; text-decoration:underline; text-decoration-color:var(--line); text-decoration-thickness:1px; text-underline-offset:6px; transition:color .2s,text-decoration-color .2s }
.news-archive-card-link:hover h2,.news-archive-card-link:focus-visible h2,.news-archive-card-link:active h2 { color:var(--green) }
.news-archive-card-link:hover .news-card-read,.news-archive-card-link:focus-visible .news-card-read,.news-archive-card-link:active .news-card-read { color:var(--green); text-decoration-color:var(--green) }
@media(max-width:1000px) {
  .news-archive-grid { gap:38px 22px }
  .news-archive-card h2 { font-size:18px }
}
@media(max-width:800px) { .news-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media(max-width:520px) {
  .news-archive-grid { grid-template-columns:minmax(0,1fr); gap:34px }
  .news-archive-list-heading { padding:15px 0 19px }
  .news-archive-card .news-card-copy { padding-top:13px }
  .news-archive-card h2 { margin:9px 0 10px; font-size:20px }
  .news-archive-card .news-card-excerpt { font-size:13px }
  .news-archive-card .news-card-category { left:10px; bottom:10px; font-size:11px }
  .news-archive-card .news-card-read { font-size:12px }
}
@media(prefers-reduced-motion:reduce) {
  .news-archive-card .news-card-media>img,.news-archive-card h2,.news-archive-card .news-card-read { transition:none }
}

/* Quiet public-beta identity; absolute placement preserves the logo alignment. */
.site-header .brand-logo-link { position:relative; }
.site-header .brand-beta-mark {
  position:absolute;left:calc(100% + 6px);top:2px;
  padding:2px 5px;border:1px solid var(--line);border-radius:4px;
  color:var(--muted);background:transparent;font-family:var(--sans);
  font-size:11px;font-weight:600;line-height:1.15;letter-spacing:0;
  pointer-events:none;
}
@media(max-width:600px){.site-header .brand-beta-mark{left:calc(100% + 4px);top:0;font-size:10px;padding:2px 4px}}

/* Compact, image-led glossary introduction; retain the shared page top rhythm. */
.glossary-archive .glossary-heading {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:52px;max-width:none;padding-bottom:26px}
.glossary-heading-copy {min-width:0}
.glossary-heading-copy>.eyebrow {margin:0 0 12px;color:var(--green);font-size:11px;letter-spacing:.22em}
.glossary-heading .glossary-heading-copy h1 {margin:0;font-size:clamp(30px,3.4vw,44px);line-height:1.4;letter-spacing:.02em;overflow-wrap:anywhere}
.glossary-heading-copy>p:last-child {max-width:650px;margin:16px 0 0;color:var(--muted);font-size:14px;line-height:1.9}
.glossary-heading-art {margin:0;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.glossary-heading-art img {display:block;width:100%;height:180px;object-fit:cover;object-position:left center}
/* Followed artists orient the feed without displacing the work. */
.following-books.following-books--compact {margin-top:20px}
.following-books-accessible-title {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.following-books--compact .following-book-list {display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:0}
.following-books--compact .following-book-profile {display:block;flex:0 0 48px;width:48px;height:48px;padding:3px;border:1px solid var(--line);border-radius:50%;line-height:1;transition:border-color .2s}
.following-books--compact .following-book-avatar {width:40px;height:40px;object-fit:cover}
.following-books--compact .following-book-profile:hover {border-color:var(--green)}
.following-books--compact .following-book-profile:focus-visible {outline:2px solid var(--green);outline-offset:3px}
.following-books--compact+.following-feed {margin-top:28px}
/* The main already provides the shared 38px gap. Do not add magazine canvas padding again. */
.reading-main.news-detail .news-article-layout .reading-article.reads-published {padding-top:0}
@media(max-width:760px){
 .glossary-archive .glossary-heading {grid-template-columns:minmax(0,1fr);gap:20px}
 .glossary-heading .glossary-heading-copy h1 {font-size:clamp(28px,5.4vw,36px)}
 .glossary-heading-art img {height:138px}
}
@media(prefers-reduced-motion:reduce){.following-books--compact .following-book-profile{transition:none}}

/* Keep the existing filter label inside its mobile column on Following. */
@media(max-width:600px){
 .following-search-line {grid-template-columns:minmax(0,1fr) 44px max-content}
 .following-search-line .work-filter-details>summary {gap:6px;padding-inline:10px;font-size:12px}
}

/* Public NEWS shares the archive/breadcrumb edges, without a second canvas inset. */
.reading-main.news-detail>.news-article-layout {max-width:none;margin-inline:0}
.reading-main.news-detail .news-article-layout .reading-article.reads-published {padding-inline:0}
.reading-main.news-detail .reads-published>.reads-preview-header,
.reading-main.news-detail .reads-published>.reads-preview-grid {max-width:none;margin-inline:0}
.reading-main.news-detail .reads-published>.reads-preview-header>h1 {max-width:1020px}
