/* gallery.css — ページ固有。色は必ずスキン変数を使う（直値の色は書かない） */
.g-head{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--border);padding:var(--sp-2) var(--sp-3) var(--sp-2)}
.g-head__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);max-width:1080px;margin:0 auto}
.g-brand{font-weight:var(--font-weight-bold);color:var(--text);text-decoration:none;font-size:var(--fs-lg)}
.g-head__hp{min-height:34px;padding:0 var(--sp-3);font-size:var(--fs-sm)}
.g-skins{display:flex;gap:var(--sp-2);overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:1080px;margin:var(--sp-2) auto 0;padding-bottom:2px}
.g-sw{flex:0 0 auto;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-1);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-sm);min-height:36px}
.g-sw.is-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}
.g-sw__d{width:22px;height:22px;border-radius:var(--radius-pill);border:2px solid var(--border);background:var(--accent);flex:0 0 auto;box-shadow:inset 0 0 0 3px var(--surface)}
.g-sw__f{color:var(--text-muted)}

main{max-width:1080px;margin:0 auto;padding:0 var(--sp-3) var(--sp-5)}
.g-hero{padding:var(--sp-5) 0 var(--sp-4)}
.g-hero__t{margin:0 0 var(--sp-3);font-size:clamp(22px,5.2vw,34px);line-height:1.35;font-weight:var(--font-weight-bold)}
.g-hero__s{margin:0 0 var(--sp-2);color:var(--text-muted)}
.g-hero__q{margin:0 0 var(--sp-4)}
.g-hero__cta{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.g-hero__note{margin:var(--sp-3) 0 0;font-size:var(--fs-sm);color:var(--text-muted)}
.g-hero__note a{color:var(--accent)}

.g-cats{margin:0 0 var(--sp-3)}
.g-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-3)}
.g-card{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);box-shadow:var(--shadow-1)}
.g-card.is-sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset,var(--shadow-2)}
.g-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2)}
.g-card__n{font-weight:var(--font-weight-bold);font-size:var(--fs-lg);margin:0}
.g-card__o{margin:0;color:var(--text-muted);font-size:var(--fs-sm);min-height:2.6em}
.g-card__c{font-size:var(--fs-sm);color:var(--text-muted)}
.g-card__b{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:auto}
.g-shot{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:var(--sp-2);min-height:132px;overflow:hidden}
.g-shot iframe{width:100%;height:220px;border:0;display:block;background:var(--surface)}
.g-shot__hd{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted)}
.g-shot__dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent);display:inline-block;margin-right:6px}

.g-preview{margin-top:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.g-preview__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border)}
.g-preview iframe{width:100%;height:min(70vh,620px);border:0;display:block}

.g-selbar{position:sticky;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-2)}
.g-selbar__in{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap;max-width:1080px;margin:0 auto;padding:var(--sp-2) var(--sp-3)}
.g-selbar__txt{font-size:var(--fs-sm)}
.g-selbar__btns{display:flex;gap:var(--sp-2)}
.g-links{max-width:1080px;margin:0 auto;padding:0 var(--sp-3) var(--sp-3);display:grid;gap:var(--sp-2)}
.g-link{border:1px solid var(--border);border-left:3px solid var(--ok);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);background:var(--surface-2)}
.g-link b{font-family:var(--font-num)}

.g-chips{display:flex;flex-wrap:wrap;gap:var(--sp-1)}
.g-small{font-size:var(--fs-sm);color:var(--text-muted)}
.g-mdbtns{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-3)}
.g-out{white-space:pre-wrap;word-break:break-word;font-size:var(--fs-sm);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-3);max-height:40vh;overflow:auto}

.g-foot{border-top:1px solid var(--border);margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-3) calc(var(--sp-5) * 2);color:var(--text-muted);font-size:var(--fs-sm)}
.g-foot p{max-width:1080px;margin:0 auto var(--sp-2)}
.g-foot a{color:var(--accent)}

@media (max-width:640px){
  .g-hero{padding:var(--sp-4) 0 var(--sp-3)}
  .g-cards{grid-template-columns:1fr}
  .g-hero__cta .tp-btn{flex:1 1 100%}
  .g-selbar__in{flex-direction:column;align-items:stretch}
  .g-selbar__btns .tp-btn{flex:1}
}
