:root{--sky:#0A0908;--pane:#151210;--hair:#2A241C;--ink:#EAE5DA;--ink-body:#CEC6B6;--ink-dim:#9A9288;--gold:#C9A96A;--gold-hi:#E2C88F;--pearl:#CFD9DD}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--sky);color:var(--ink-body);font-family:"Noto Serif JP",serif;line-height:1.9;letter-spacing:.04em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:rgba(201,169,106,.25)}
a{color:var(--gold-hi)}
.en{font-family:"Cinzel","Noto Serif JP",serif}
.mono{font-family:"JetBrains Mono","Noto Serif JP",monospace;font-size:.72rem;letter-spacing:.14em;color:var(--ink-dim)}
.wrap{max-width:880px;margin:0 auto;padding:0 24px}
.sheen{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 55% at 50% -12%,rgba(234,229,218,.05),transparent 62%)}
main{position:relative;z-index:1;padding:72px 0 96px}
.page-head{margin-bottom:56px}
.page-head .crumb{display:block;margin-bottom:22px}
.page-head .crumb a{color:var(--ink-dim);text-decoration:none}
h1,h2{font-family:"Shippori Mincho B1","Noto Serif JP",serif;font-weight:800;color:var(--ink);letter-spacing:.12em;line-height:1.5;font-feature-settings:"palt" 1}
h1{font-size:clamp(1.5rem,4.4vw,2.1rem);margin-bottom:8px}
h2{font-size:clamp(1.15rem,3.2vw,1.4rem);margin:64px 0 14px;padding-left:14px;border-left:2px solid var(--gold)}
h3{font-weight:600;color:var(--ink);margin:26px 0 6px;font-size:1rem}
.lead{font-size:1.02rem;max-width:34em}
p+p{margin-top:1em}
ul,ol{padding-left:1.4em}li{margin:.3em 0}
.open-btn{display:inline-block;margin-top:22px;padding:14px 34px;border:1px solid var(--gold);color:var(--ink);text-decoration:none;letter-spacing:.18em;font-size:.9rem;background:linear-gradient(180deg,rgba(201,169,106,.12),transparent)}
.open-btn:hover{border-color:var(--gold-hi);color:var(--gold-hi)}
.note{font-size:.86rem;color:var(--ink-dim)}
.star-head{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap;margin:40px 0 18px}
.star-head .by{color:var(--ink-dim);font-size:.86rem}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:18px 14px}
.card-tile{list-style:none;text-align:center}
.card-tile .frame{aspect-ratio:608/1081;border:1px solid var(--hair);background:var(--pane);overflow:hidden}
.card-tile img,.card-tile video{display:block;width:100%;height:100%;object-fit:cover}
.card-tile .t{display:block;margin-top:8px;font-size:.82rem;color:var(--ink)}
.card-tile .r{display:block;font-size:.66rem;letter-spacing:.2em;color:var(--gold)}
.card-tile.hidden .frame{display:grid;place-items:center;color:var(--ink-dim);font-size:.8rem;letter-spacing:.2em;background:radial-gradient(60% 40% at 50% 45%,rgba(207,217,221,.06),var(--pane))}
table{border-collapse:collapse;width:100%;font-size:.9rem;margin:10px 0}
th,td{border:1px solid var(--hair);padding:8px 10px;text-align:left;vertical-align:top}
th{color:var(--ink);font-weight:600;background:var(--pane);white-space:nowrap}
.foot{margin-top:96px;padding-top:28px;border-top:1px solid var(--hair);font-size:.82rem;color:var(--ink-dim)}
.foot a{color:var(--ink-dim)}
