/* All works in native horizontal scrollers; shared cards and movie player. */
.qp-home-works .qp-home-works-grid { --works-gap:clamp(20px,2.4vw,36px); display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc((100% - var(--works-gap) * 2) / 3); gap:0 var(--works-gap); align-items:start; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:0 0 22px; scrollbar-width:thin; scrollbar-color:#000 transparent; cursor:grab; }
/* Black hairline rail and thumb. Keep native scrolling and drag behavior. */
@supports selector(::-webkit-scrollbar) {
  .qp-home-works .qp-home-works-grid { scrollbar-width:auto; scrollbar-color:auto; }
  .qp-home-works-grid::-webkit-scrollbar { height:2px; width:2px; background:transparent; }
  .qp-home-works-grid::-webkit-scrollbar-track { background:linear-gradient(rgba(0,0,0,.14),rgba(0,0,0,.14)) center / 100% 1px no-repeat; }
  .qp-home-works-grid::-webkit-scrollbar-thumb { border:0; border-radius:999px; background:#000; }
  .qp-home-works-grid::-webkit-scrollbar-thumb:hover { background:#000; }
  .qp-home-works-grid::-webkit-scrollbar-button { display:none; width:0; height:0; }
  .qp-home-works-grid::-webkit-scrollbar-corner { background:transparent; }
}
@media(forced-colors:active) { .qp-home-works .qp-home-works-grid { scrollbar-color:auto; scrollbar-width:auto; } }
.qp-home-works .qp-home-works-grid--movies { grid-auto-columns:calc((100% - var(--works-gap) * 3) / 4); }
.qp-home-works-grid > * { min-width:0; scroll-snap-align:start; }
.qp-home-works-grid img { user-select:none; -webkit-user-drag:none; }
.qp-home-works-grid.is-dragging { scroll-snap-type:none; scroll-behavior:auto; cursor:grabbing; user-select:none; }
.qp-home-works-grid.is-dragging a { cursor:grabbing; }
.qp-home-works-grid:focus-visible { outline:1px solid #8e9692; outline-offset:6px; }
.qp-works-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:18px; }
.qp-works-controls[hidden] { display:none; }
.qp-works-count { font-size:10px; font-family:'Noto Sans JP',sans-serif; color:#777; letter-spacing:.1em; }
.qp-works-controls > div { display:flex; gap:10px; }
.qp-page .qp-works-controls button { display:grid; place-items:center; width:44px; height:44px; border:1px solid #b4b9b1; border-radius:50%; color:#444b42; background:transparent; transition:background-color .2s,opacity .2s; }
.qp-works-controls button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1; }
.qp-works-controls button:disabled { opacity:.3; cursor:default; }
.qp-works-controls button:not(:disabled):hover { background:#eef0ea; }
.qp-works-controls button:focus-visible { outline:2px solid #45493d; outline-offset:4px; }
.qp-home-works-group + .qp-home-works-group { margin-top:80px; }
.qp-home-works-label { display:flex; gap:18px; align-items:baseline; margin-bottom:24px !important; font-family:'Libre Caslon Text',Georgia,serif; font-size:18px; color:#343832; }
.qp-home-works-label > span { font-family:'Noto Sans JP',sans-serif; font-size:10px; color:#777; }
.qp-home-works .qs-card-meta h3 { font-size:15px; line-height:1.8; }
.qp-home-works .qs-card-meta { flex-wrap:wrap; gap:2px 15px; }
.qp-home-works-more { display:flex; justify-content:center; margin-top:65px; }
.qp-home-works-button { display:flex; justify-content:space-between; align-items:center; gap:60px; min-width:280px; padding:22px 28px; border:1px solid #989e96; font-size:16px; transition:background-color .25s; }
.qp-home-works-button small { display:block; margin-top:7px; font-family:'Noto Sans JP',sans-serif; font-size:9px; color:#777; }
.qp-home-works-button:hover { background:#f0f1ed; }
.qp-home-works-button:focus-visible { outline:2px solid #45493d; outline-offset:5px; }
body.home.has-cinema-popup { overflow:hidden; }
@media(max-width:1023px) {
  .qp-home-works .qp-home-works-grid { --works-gap:24px; grid-auto-columns:calc((100% - var(--works-gap)) / 2); }
}
@media(max-width:820px) {
  .qp-home-works-label { font-size:16px; }
}
@media(max-width:600px) {
  .qp-home-works .qp-home-works-grid { --works-gap:18px; grid-auto-columns:86%; }
  .qp-home-works-group + .qp-home-works-group { margin-top:56px; }
  .qp-home-works-more { margin-top:44px; }
  .qp-home-works-button { min-width:0; width:100%; gap:20px; padding:20px 24px; }
}
@media(prefers-reduced-motion:reduce) { .qp-home-works-button,.qp-works-controls button { transition:none; } .qp-home-works .qp-home-works-grid { scroll-behavior:auto; } }
