/* catalog.css (serious, no @media) */
.paper .catalog{
  --ink:#241b13;
  --ink2:#2f1e11;
  --mut:#6f5b44;
  --line:rgba(60,40,20,.18);
  --line2:rgba(60,40,20,.10);
  --wash:rgba(255,255,255,.22);
  --wash2:rgba(255,255,255,.34);
  --gold:rgba(160,108,47,.55);
  --gold2:rgba(230,192,107,.65);
  --sh:rgba(0,0,0,.10);
  --sh2:rgba(0,0,0,.16);
  color:var(--ink);
}

/* ===== index: top links ===== */
.paper .catalog .catTop{
  margin:0 0 18px;
  padding:14px 14px 12px;
  background:
    radial-gradient(600px 120px at 20% 0%, rgba(230,192,107,.22), transparent 60%),
    radial-gradient(600px 120px at 80% 0%, rgba(160,108,47,.16), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.36), rgba(255,255,255,0));
  position:relative;
}
.paper .catalog .catTop:before{
  content:"";
  position:absolute; left:14px; right:14px; bottom:-10px; height:1px;
  background:linear-gradient(90deg, rgba(60,40,20,0), rgba(60,40,20,.22), rgba(60,40,20,0));
}

.paper .catalog .catLinks{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}
.paper .catalog .pill{
  text-decoration:none;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(60,40,20,.20);
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,0)),
    radial-gradient(90px 32px at 20% 0%, rgba(230,192,107,.26), transparent 70%);
  color:var(--ink2);
  letter-spacing:.08em;
  font-weight:800;
}
.paper .catalog .pill:hover{
  border-color:rgba(160,108,47,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 10px 18px rgba(0,0,0,.12), 0 0 0 2px rgba(160,108,47,.10);
}

/* ===== index: group cards ===== */
.paper .catalog .catThumbs{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0 0 18px;
}
.paper .catalog .thumb{
  display:block;
  text-decoration:none;
  padding:12px 14px;
  position:relative;
  overflow:hidden;
}

.paper .catalog .thumb img{
  display:block;
  width:100%;
  height:auto;           /* 比率維持 */
  object-fit:contain;    /* 念のため。croppingしない */
  margin:0;              /* 既存img中央寄せ解除 */
  background:rgba(255,255,255,.12);
}

.paper .catalog .thumb .cap{
  margin-top:10px;
}

.paper .catalog .thumb .nm{
  font-size:18px;
  font-weight:1000;
  letter-spacing:.12em;
  color:#2f1e11;
  margin:2px 0 6px;
}

.paper .catalog .thumb .ds{
  font-size:12px;
  line-height:1.75;
  color:rgba(40,25,15,.68);
}

.paper .catalog .thumb:hover{
  border-color:rgba(160,108,47,.34);
  box-shadow:0 6px 10px rgba(0,0,0,.14), 0 0 0 2px rgba(160,108,47,.10);
}

/* ===== top bar (grid & detail) ===== */
.paper .catalog .catBar{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.36), rgba(255,255,255,0)),
    radial-gradient(520px 120px at 20% 0%, rgba(230,192,107,.20), transparent 60%);
  box-shadow:0 14px 26px var(--sh);
}
.paper .catalog .backBtn{
  text-decoration:none;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(60,40,20,.20);
  background:linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,0));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  color:var(--ink2);
  font-weight:900;
  letter-spacing:.08em;
}
.paper .catalog .backBtn:hover{border-color:rgba(160,108,47,.34); box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 0 2px rgba(160,108,47,.10)}
.paper .catalog .catBarTitle{
  font-weight:1000;
  letter-spacing:.14em;
  color:var(--ink2);
}

/* ===== grid: 3 columns fixed ===== */
.paper .catalog .grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.paper .catalog .tile{
  text-decoration:none;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(60,40,20,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0));
  box-shadow:0 18px 30px rgba(0,0,0,.12);
  position:relative;
}
.paper .catalog .tile:before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(420px 140px at 30% 0%, rgba(230,192,107,.18), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.08));
  pointer-events:none;
}
.paper .catalog .tile img{
  width:100%;
  height:240px;
  object-fit:cover;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:saturate(.95) contrast(1.02);
}
.paper .catalog .tileCap{
  padding:12px 12px 13px;
  font-weight:1000;
  letter-spacing:.12em;
  color:var(--ink2);
  position:relative;
}
.paper .catalog .tileCap:after{
  content:"";
  display:block;
  height:1px;
  margin-top:9px;
  background:linear-gradient(90deg, rgba(60,40,20,0), rgba(60,40,20,.22), rgba(60,40,20,0));
  opacity:.9;
}
.paper .catalog .tile:hover{
  border-color:rgba(160,108,47,.34);
  box-shadow:0 6px 10px rgba(0,0,0,.14), 0 0 0 2px rgba(160,108,47,.10);
}

/* ===== detail ===== */
.paper .catalog .detail{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:18px;
  align-items:start;
}
.paper .catalog .detailImg{
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(60,40,20,.18);
  background:
    radial-gradient(500px 200px at 20% 0%, rgba(255,255,255,.42), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0));
  box-shadow:0 18px 34px rgba(0,0,0,.14);
}
.paper .catalog .detailImg img{
  width:100%;
  height:auto;
  margin:0;
  border-radius:14px;
  border:1px solid rgba(60,40,20,.20);
  box-shadow:0 18px 30px rgba(0,0,0,.16);
}
.paper .catalog .detailBody{
  padding:16px 16px 14px;
  border-radius:18px;
  border:1px solid rgba(60,40,20,.18);
  background:
    radial-gradient(600px 240px at 20% 0%, rgba(255,255,255,.40), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,0));
  box-shadow:0 18px 34px rgba(0,0,0,.12);
  position:relative;
}
.paper .catalog .detailBody:before{
  content:"";
  position:absolute; inset:14px;
  border-radius:14px;
  border:1px solid rgba(60,40,20,.10);
  pointer-events:none;
}
.paper .catalog .detailBody h2{
  margin:.1em 0 .45em;
  font-size:28px;
  letter-spacing:.10em;
  color:#2f1e11;
}
.paper .catalog .detailBody .lead{
  margin:.2em 0 10px;
  color:rgba(40,25,15,.74);
  line-height:1.85;
}

/* tags */
.paper .catalog .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.paper .catalog .tag{
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(60,40,20,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.40), rgba(255,255,255,0)),
    radial-gradient(90px 32px at 30% 0%, rgba(230,192,107,.20), transparent 70%);
  color:rgba(40,25,15,.75);
  font-size:12px;
  letter-spacing:.08em;
  font-weight:800;
}

/* key-value table */
.paper .catalog .kv{margin-top:14px;display:grid;gap:10px;position:relative}
.paper .catalog .kvRow{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:12px;
  padding:11px 12px;
  border-radius:14px;
  border:1px solid rgba(60,40,20,.16);
  background:rgba(255,255,255,.22);
  box-shadow:0 10px 18px rgba(0,0,0,.08);
}
.paper .catalog .kvRow .k{
  color:rgba(40,25,15,.60);
  font-weight:1000;
  letter-spacing:.12em;
}
.paper .catalog .kvRow .v{color:#2b1c12; line-height:1.75}

/* SEO links */
.paper .catalog .seoLinks{
  margin-top:16px;
  padding:12px 14px;
  border-radius:14px;
  border:1px dashed rgba(60,40,20,.18);
  background:rgba(255,255,255,.12);
}
.paper .catalog .seoLinks summary{
  cursor:pointer;
  color:rgba(40,25,15,.68);
  font-weight:900;
  letter-spacing:.10em;
}
.paper .catalog .seoBox{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.paper .catalog .seoBox a{
  font-size:12px;
  color:rgba(40,25,15,.62);
  text-decoration:underline;
  text-decoration-color:rgba(160,108,47,.30);
}
.paper .catalog .seoBox a:hover{text-decoration-color:rgba(160,108,47,.65)}
.paper .chName{font-size:32px;letter-spacing:.08em;margin:0 0 16px;border-bottom:2px solid rgba(80,50,20,.25);padding-bottom:6px}
.paper .chTop{display:flex;gap:28px;margin:0 0 26px}
.paper .chImg{flex:0 0 320px}
.paper .chImg img{width:100%;height:auto;border:1px}
.paper .chMeta{flex:1}
.paper .chMeta dl{display:grid;grid-template-columns:120px 1fr;row-gap:8px;column-gap:12px;margin:0 0 16px}
.paper .chMeta dt{font-weight:700;color:#3a2312}
.paper .chMeta dd{margin:0;color:#2a1a0e}
.paper .chMeta h2{font-size:20px;margin:12px 0 8px;border-left:4px solid rgba(120,80,40,.35);padding-left:8px}
.paper .chLines{margin-top:10px}
.paper .chLines h2{font-size:20px;margin:0 0 10px}
.paper .chLines ul{list-style:none;padding:0;margin:0}
.paper .chLines li{margin:0 0 6px;font-style:italic;color:#3b2616}
.paper .chSpoiler{margin-top:22px;padding:14px;border:1px dashed rgba(80,50,20,.25);background:rgba(255,255,255,.18)}
.paper .chSpoiler summary{cursor:pointer;font-weight:700;letter-spacing:.05em}
.paper .spBlock{margin:12px 0 0;padding:12px 0 0;border-top:1px dotted rgba(80,50,20,.18)}
.paper .spBlock h3{margin:0 0 8px;font-size:16px}
.paper .catalog .detailImg img,
