
:root { color-scheme: dark; --bg:#14110e; --fg:#f4efe6; --muted:#c9bba8; --line:#3a3228; --pr:#7a2e12; }
* { box-sizing: border-box; }
body { margin:0; font-family: "Hiragino Sans", "Yu Gothic", sans-serif; background:var(--bg); color:var(--fg); line-height:1.7; }
a { color:#f0c48a; }
header.site, main, footer { max-width: 42rem; margin: 0 auto; padding: 0 1rem; }
header.site { padding-top: 1rem; }
.pr, .pr-inline { background: var(--pr); color:#fff; padding:.4rem .6rem; font-size:.9rem; }
.brand { font-size: 1.6rem; margin: .8rem 0 0; }
.tag, .meta, .note, .kicker { color: var(--muted); }
nav { display:flex; gap:1rem; flex-wrap:wrap; border-bottom:1px solid var(--line); padding:.6rem 0 1rem; }
.work { border:1px solid var(--line); padding:1rem; margin:1rem 0; }
img { max-width:100%; height:auto; background:#000; }
.btn { display:inline-block; margin:.2rem .4rem .2rem 0; padding:.45rem .8rem; background:#8a3d14; color:#fff; text-decoration:none; }
.btn.ghost { background:transparent; border:1px solid var(--line); color:var(--fg); }
footer { border-top:1px solid var(--line); margin-top:3rem; padding:1.5rem 1rem 3rem; color:var(--muted); }
#age-gate { position:fixed; inset:0; background:rgba(0,0,0,.92); display:grid; place-items:center; z-index:20; padding:1rem; }
#age-gate[hidden] { display:none; }
.age-card { max-width:28rem; background:#1c1814; padding:1.5rem; border:1px solid var(--line); }
.age-card button { display:block; width:100%; margin:1rem 0 .6rem; padding:.7rem; font-size:1rem; }
