:root{
  --bg:#fff8fb;--card:#fff;--ink:#33222b;--muted:#78636e;--line:#f0d8e2;
  --accent:#ff6fae;--accent2:#8b5cf6;--soft:#fff0f6;--safe:#eefbf4;--warn:#fff7dc;--shadow:0 18px 40px rgba(111,40,79,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#fff1f8 0,#fffafc 38%,#fff 100%);color:var(--ink)}
a{color:inherit;text-decoration:none}.wrap{max-width:1080px;margin:auto;padding:0 16px 44px}.hero{padding:26px 16px 18px}.hero__inner{max-width:1080px;margin:auto;background:linear-gradient(135deg,#fff,#fff0f7);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero__inner:after{content:"";position:absolute;right:-80px;top:-80px;width:230px;height:230px;border-radius:50%;background:rgba(255,111,174,.12)}
.eyebrow{margin:0 0 8px;color:var(--accent);font-weight:900;letter-spacing:.04em}.hero h1{margin:0;font-size:clamp(30px,5vw,54px);line-height:1.05}.lead{color:var(--muted);font-size:16px;line-height:1.85;max-width:780px}.hero__actions,.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 16px;font-weight:900;box-shadow:0 8px 18px rgba(90,45,70,.08);cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none}.btn.small{font-size:13px;padding:9px 13px}.btn.ghost{background:#fff7fb}.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 26px rgba(111,40,79,.08)}
.notice{color:var(--muted);font-size:12px;line-height:1.7;margin:22px 4px}.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.policy{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.policy b{display:block;font-size:15px;margin-bottom:6px}.policy span{color:var(--muted);font-size:13px;line-height:1.55}.searchbox span{display:block;font-size:13px;font-weight:900;margin-bottom:8px}.searchbox input,.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;font-size:15px;outline:none;background:#fff}.searchbox input:focus,.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,111,174,.14)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;color:var(--muted);cursor:pointer}.chip.active{background:var(--soft);border-color:#ffb6d4;color:#b71862}.section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 2px 14px;gap:12px}.section-head h2{margin:0;font-size:24px}.section-head p{margin:6px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 28px rgba(111,40,79,.10);display:flex;flex-direction:column}.card__visual{height:150px;background:linear-gradient(135deg,#ffe5f2,#eee8ff);display:flex;align-items:center;justify-content:center;font-size:54px;position:relative}.card__body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}.card h3{margin:0;font-size:20px}.catch{margin:0;color:#b71862;font-weight:900}.desc{margin:0;color:var(--muted);line-height:1.65;font-size:14px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag,.badge{font-size:12px;background:var(--soft);color:#a31659;border-radius:999px;padding:5px 8px;font-weight:800}.badge.safe{background:var(--safe);color:#137040}.badge.warn{background:var(--warn);color:#8a6200}.badge.neutral{background:#f7f2ff;color:#6242b8}.meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:12px}.card .btn{margin-top:auto;width:100%}.profile{display:grid;grid-template-columns:320px 1fr;gap:18px}.avatar{min-height:360px;border-radius:26px;background:linear-gradient(135deg,#ffe5f2,#eee8ff);display:flex;align-items:center;justify-content:center;font-size:110px;border:1px solid var(--line);box-shadow:var(--shadow)}.info{background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow)}.info h1{font-size:38px;margin:0 0 8px}.kv{display:grid;grid-template-columns:130px 1fr;gap:10px;margin-top:18px}.kv b{color:#9f456d}.rulebox{border:1px dashed #e5bdd0;background:#fffafd;border-radius:18px;padding:14px;color:var(--muted);line-height:1.75}.form{display:grid;gap:10px}.check{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:13px;line-height:1.65}.check input{width:auto;margin-top:3px}.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table td,.table th{text-align:left;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px;vertical-align:top}.table th{font-size:12px;color:var(--muted)}.table td:first-child,.table th:first-child{border-left:1px solid var(--line);border-radius:14px 0 0 14px}.table td:last-child,.table th:last-child{border-right:1px solid var(--line);border-radius:0 14px 14px 0}.admin-grid{display:grid;grid-template-columns:380px 1fr;gap:18px}.mini{font-size:12px;color:var(--muted);line-height:1.6}.expired{filter:grayscale(.55);opacity:.72}
@media(max-width:900px){.grid,.policy-grid{grid-template-columns:1fr 1fr}.admin-grid,.profile{grid-template-columns:1fr}.avatar{min-height:220px}.kv{grid-template-columns:1fr}.hero__inner{padding:22px}.section-head{align-items:start;flex-direction:column}}@media(max-width:560px){.grid,.policy-grid{grid-template-columns:1fr}.card__visual{height:132px}.hero{padding-top:14px}.hero__actions .btn,.actions .btn{width:100%}.table{font-size:13px}}


/* Lightweight directory cards
   一覧カードは「ライバー名・雰囲気タグ・詳細導線」のみ。
   既存CSSの末尾に追記する想定です。
*/
.card--simple {
  min-height: 0;
}

.card--simple .card__body {
  min-height: 168px;
}

.card--simple h3 {
  font-size: 21px;
  line-height: 1.35;
}

.card--simple .card__tags {
  margin: 2px 0 8px;
}

.card--simple .btn {
  margin-top: auto;
}



/* Lightweight thumbnail directory cards
   一覧カードは「サムネ・ライバー名・雰囲気タグ・詳細導線」のみ。
   サムネは固定サイズ + lazy loading 前提で、初期読み込みを重くしない。
*/
.card--thumb {
  min-height: 0;
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 14px;
  align-items: center;
}

.card--thumb .thumb {
  width: 96px;
  height: 96px;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  flex: 0 0 auto;
}

.card--thumb .thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card--thumb .thumb--fallback {
  display: grid;
  place-items: center;
}

.card--thumb .thumb--fallback span {
  font-size: 36px;
  font-weight: 800;
  color: rgba(255,255,255,.88);
}

.card--thumb .card__body {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.card--thumb h3 {
  font-size: 21px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.card--thumb .card__tags {
  margin: 0 0 8px;
}

.card--thumb .btn {
  align-self: flex-start;
  margin-top: 2px;
}

@media (max-width: 520px) {
  .card--thumb {
    grid-template-columns: 78px 1fr;
    gap: 12px;
  }

  .card--thumb .thumb {
    width: 78px;
    height: 78px;
    border-radius: 18px;
  }

  .card--thumb .card__body {
    min-height: 96px;
  }

  .card--thumb h3 {
    font-size: 18px;
  }
}


/* Public directory polish 20260606
   画像は既存thumbのみlazyで使用。追加アセットなしで軽量維持。
*/
.directorySearch .mini{margin:10px 0 0}.directoryGrid{align-items:stretch}.directoryCard{transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}.directoryCard:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(111,40,79,.14);border-color:#ffc0da}.card__eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.tag--muted{background:#f7f2f5;color:#8b7280}.emptyState{grid-column:1/-1;background:#fff;border:1px dashed #e8c6d7;border-radius:24px;padding:28px 18px;text-align:center;color:var(--muted);box-shadow:0 10px 24px rgba(111,40,79,.06)}.emptyState h3{margin:4px 0 8px;color:var(--ink);font-size:20px}.emptyState p{margin:0 auto 16px;max-width:520px;line-height:1.75}.emptyState__icon{font-size:34px;margin:0 0 4px!important}.profileWrap{padding-top:22px}.profilePanel{padding:22px}.profile-head--polished{position:relative;overflow:hidden}.profile-head--polished:after{content:"";position:absolute;right:-64px;top:-64px;width:180px;height:180px;border-radius:50%;background:rgba(255,111,174,.10);pointer-events:none}.profile-main{position:relative;z-index:1}.profile-main h1{margin:0 0 10px;font-size:clamp(28px,5vw,44px);line-height:1.12}.profile-expire{margin:12px 0 0}.profile-actions{margin-top:14px}.profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-detail-grid .detail-box h2{display:flex;gap:8px;align-items:center}.profile-detail-grid .detail-box p{line-height:1.8}.profile-note{margin-top:16px}.profile-thumb--fallback{background:linear-gradient(135deg,#ffe5f2,#eee8ff)}.profile-thumb--fallback span{color:#b71862}.detail-box{min-height:132px}@media(max-width:720px){.profile-detail-grid{grid-template-columns:1fr}.profilePanel{padding:18px}.profile-actions .btn{width:100%}.directoryCard:hover{transform:none}}


/* Liver directory image emphasis 20260606
   一覧カードは左側を大きく画像に、詳細ページは右側を画像に使う。
   既存のthumbUrlのみをlazy読み込みし、追加JSや外部ライブラリは使わない。
*/
.directoryGrid .card--thumb.directoryCard{
  display:grid;
  grid-template-columns:minmax(138px,44%) minmax(0,1fr);
  gap:0;
  align-items:stretch;
  min-height:232px;
  padding:0;
}
.directoryGrid .card--thumb.directoryCard .thumb{
  width:100%;
  height:100%;
  min-height:232px;
  border-radius:24px 0 0 24px;
  border:0;
  background:linear-gradient(180deg,#fff7fb,#f8eef7);
  display:grid;
  place-items:center;
}
.directoryGrid .card--thumb.directoryCard .thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  padding:8px 8px 0;
}
.directoryGrid .card--thumb.directoryCard .card__body{
  min-height:232px;
  padding:18px 18px 18px 16px;
  justify-content:center;
}
.directoryGrid .card--thumb.directoryCard h3{
  font-size:clamp(20px,2.4vw,26px);
  line-height:1.28;
}
.directoryGrid .card--thumb.directoryCard .btn{
  width:100%;
  align-self:stretch;
  margin-top:8px;
}
.profile-head--polished{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,44%);
  gap:22px;
  align-items:stretch;
}
.profile-head--polished .profile-main{
  order:1;
  align-self:center;
}
.profile-head--polished .profile-thumb{
  order:2;
  width:100%;
  min-height:520px;
  border-radius:28px;
  background:linear-gradient(180deg,#fff7fb,#f8eef7);
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
}
.profile-head--polished .profile-thumb img{
  display:block;
  width:100%;
  height:100%;
  max-height:620px;
  object-fit:contain;
  object-position:center bottom;
  padding:10px 10px 0;
}
.profile-head--polished .profile-thumb--fallback{
  min-height:360px;
}
.profile-head--polished:after{
  right:18px;
  top:18px;
}
@media(max-width:720px){
  .directoryGrid .card--thumb.directoryCard{
    grid-template-columns:minmax(118px,42%) minmax(0,1fr);
    min-height:206px;
  }
  .directoryGrid .card--thumb.directoryCard .thumb{
    min-height:206px;
  }
  .directoryGrid .card--thumb.directoryCard .card__body{
    min-height:206px;
    padding:14px 14px 14px 12px;
  }
  .directoryGrid .card--thumb.directoryCard h3{
    font-size:20px;
  }
  .profile-head--polished{
    grid-template-columns:1fr;
    gap:16px;
  }
  .profile-head--polished .profile-thumb{
    order:1;
    min-height:420px;
  }
  .profile-head--polished .profile-main{
    order:2;
  }
}
@media(max-width:480px){
  .directoryGrid .card--thumb.directoryCard{
    grid-template-columns:minmax(108px,40%) minmax(0,1fr);
    min-height:190px;
  }
  .directoryGrid .card--thumb.directoryCard .thumb{
    min-height:190px;
  }
  .directoryGrid .card--thumb.directoryCard .card__body{
    min-height:190px;
  }
  .directoryGrid .card--thumb.directoryCard .card__eyebrow{
    font-size:10px;
  }
  .directoryGrid .card--thumb.directoryCard .tags{
    gap:5px;
  }
  .directoryGrid .card--thumb.directoryCard .tag{
    font-size:11px;
    padding:4px 7px;
  }
  .profile-head--polished .profile-thumb{
    min-height:360px;
  }
}


/* Liver directory detail balance 20260606 */
.profile-layout--balanced{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,46%);
  gap:22px;
  align-items:stretch;
}
.profile-main--balanced{
  min-width:0;
  align-self:center;
}
.profile-main--balanced h1{
  font-size:clamp(30px,4.4vw,48px);
  line-height:1.14;
  margin:0 0 10px;
  overflow-wrap:anywhere;
}
.profile-main--balanced .tags{
  margin-top:8px;
}
.profile-main--balanced .profile-actions{
  margin:16px 0 18px;
}
.profile-main--balanced .detail-box--focus{
  margin-top:12px;
  min-height:auto;
  padding:18px;
  background:#fff;
}
.profile-main--balanced .detail-box--focus h2{
  margin-top:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.profile-main--balanced .detail-box--focus p{
  line-height:1.9;
  font-size:15px;
  overflow-wrap:anywhere;
}
.profile-visual--balanced{
  display:flex;
  align-items:stretch;
}
.profile-visual--balanced .profile-thumb{
  width:100%;
  min-height:560px;
  border-radius:30px;
  background:linear-gradient(180deg,#fff7fb,#f8eef7);
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
}
.profile-visual--balanced .profile-thumb img{
  display:block;
  width:100%;
  height:100%;
  max-height:680px;
  object-fit:contain;
  object-position:center bottom;
  padding:12px 12px 0;
}
.directoryGrid .card--thumb.directoryCard{
  grid-template-columns:minmax(150px,48%) minmax(0,1fr);
}
.directoryGrid .card--thumb.directoryCard .thumb{
  min-height:260px;
}
.directoryGrid .card--thumb.directoryCard .card__body{
  min-height:260px;
}
@media(max-width:840px){
  .profile-layout--balanced{
    grid-template-columns:1fr;
  }
  .profile-visual--balanced{
    order:1;
  }
  .profile-main--balanced{
    order:2;
  }
  .profile-visual--balanced .profile-thumb{
    min-height:460px;
  }
}
@media(max-width:520px){
  .directoryGrid .card--thumb.directoryCard{
    grid-template-columns:minmax(128px,46%) minmax(0,1fr);
    min-height:220px;
  }
  .directoryGrid .card--thumb.directoryCard .thumb,
  .directoryGrid .card--thumb.directoryCard .card__body{
    min-height:220px;
  }
  .profile-visual--balanced .profile-thumb{
    min-height:380px;
  }
  .profile-main--balanced .detail-box--focus{
    padding:16px;
  }
}

/* Detail note subtle + keep intro 20260606 */
.profile-text-grid{
  display:grid;
  gap:14px;
  margin-top:14px;
}
.profile-main--balanced .detail-box--intro,
.profile-main--balanced .detail-box--focus{
  min-height:auto;
  padding:18px;
}
.profile-main--balanced .detail-box--intro h2,
.profile-main--balanced .detail-box--focus h2{
  margin-top:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.profile-main--balanced .detail-box--intro p,
.profile-main--balanced .detail-box--focus p{
  line-height:1.9;
  font-size:15px;
  overflow-wrap:anywhere;
}
.profile-note--subtle{
  margin-top:14px;
  padding:10px 12px;
  font-size:11px;
  line-height:1.65;
  color:#9a7f8f;
  background:#fffafd;
  border-style:dashed;
  box-shadow:none;
}
@media(max-width:520px){
  .profile-note--subtle{
    font-size:10.5px;
    padding:9px 10px;
  }
}


/* Liver directory square card layout 20260606 */
.directoryGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:22px;
  align-items:start;
}
.directoryCard--square{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.directoryCard__imageLink{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.squareThumb{
  position:relative;
  aspect-ratio:1/1;
  width:100%;
  overflow:hidden;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(180deg,#fff8fc,#f8eff8);
  border:1px solid #f0d3e4;
  box-shadow:0 10px 24px rgba(111,40,79,.07);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.directoryCard__imageLink:hover .squareThumb,
.directoryCard__imageLink:focus-visible .squareThumb{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(111,40,79,.14);
  border-color:#f4a9cf;
}
.squareThumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  padding:10px 10px 0;
  transition:transform .18s ease;
}
.directoryCard__imageLink:hover .squareThumb img,
.directoryCard__imageLink:focus-visible .squareThumb img{
  transform:scale(1.03);
}
.squareThumb:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0) 58%,rgba(40,18,45,.16));
  pointer-events:none;
}
.thumbTapLabel{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(45,24,50,.72);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.01em;
  backdrop-filter:blur(5px);
  box-shadow:0 6px 18px rgba(45,24,50,.18);
}
.squareThumb--fallback{
  background:linear-gradient(135deg,#ffe7f3,#efe8ff);
}
.squareInitial{
  color:#b71862;
  font-size:42px;
  font-weight:900;
}
.directoryCard__meta{
  min-height:76px;
  padding:10px 8px 2px;
}
.directoryCard__name{
  display:block;
  color:#28162f;
  text-decoration:none;
  font-size:16px;
  font-weight:850;
  line-height:1.35;
  letter-spacing:.01em;
  margin:0 0 8px;
  overflow-wrap:anywhere;
}
.directoryCard__name:hover,
.directoryCard__name:focus-visible{
  color:#c82682;
  text-decoration:underline;
  text-underline-offset:3px;
}
.directoryCard__tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.directoryCard__tags .tag{
  padding:4px 8px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
}
@media(max-width:640px){
  .directoryGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 12px;
  }
  .squareThumb{
    border-radius:18px;
  }
  .squareThumb img{
    padding:8px 8px 0;
  }
  .thumbTapLabel{
    right:8px;
    bottom:8px;
    padding:6px 8px;
    font-size:10px;
  }
  .directoryCard__meta{
    padding:8px 4px 0;
    min-height:70px;
  }
  .directoryCard__name{
    font-size:14px;
    margin-bottom:6px;
  }
  .directoryCard__tags .tag{
    font-size:10px;
    padding:4px 7px;
  }
}
@media(max-width:380px){
  .directoryGrid{
    grid-template-columns:1fr;
  }
}

/* Liver directory compact 4-column card layout 20260606
   PCでは4列を基本にして、カードが大きくなりすぎないように抑える。
   画像は正方形のまま、下段は名前とタグだけに整理。
*/
.directoryGrid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px 16px;
}
.directoryCard--square{
  gap:8px;
}
.squareThumb{
  border-radius:18px;
  box-shadow:0 8px 18px rgba(111,40,79,.06);
}
.squareThumb img{
  padding:8px 8px 0;
}
.thumbTapLabel{
  right:8px;
  bottom:8px;
  padding:5px 8px;
  font-size:10px;
  background:rgba(45,24,50,.68);
}
.directoryCard__meta{
  min-height:auto;
  padding:7px 4px 0;
}
.directoryCard__name{
  font-size:14px;
  line-height:1.35;
  margin-bottom:6px;
}
.directoryCard__tags{
  gap:5px;
}
.directoryCard__tags .tag{
  padding:3px 7px;
  font-size:10px;
  line-height:1.25;
}
@media(max-width:980px){
  .directoryGrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .directoryGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 12px;
  }
}
@media(max-width:380px){
  .directoryGrid{
    grid-template-columns:1fr;
  }
}

/* Liver directory image adjustment preview/render 20260606
   画像そのものは再加工せず、CSS transformで一覧・詳細の見え方を軽量調整する。
*/
.squareThumb img,
.profile-thumb img{
  object-fit:var(--img-fit, contain) !important;
  transform:translate(var(--img-x, 0%), var(--img-y, 0%)) scale(var(--img-scale, 1)) !important;
  transform-origin:center center;
}
.directoryCard__imageLink:hover .squareThumb img,
.directoryCard__imageLink:focus-visible .squareThumb img{
  transform:translate(var(--img-x, 0%), var(--img-y, 0%)) scale(var(--img-scale, 1)) !important;
}


/* liver_directory_image_fidelity_fix_20260607
   申請フォームのプレビューと公開一覧/詳細の画像表示を合わせる。
   余白・下寄せを入れず、保存済みの拡大率/上下左右補正をそのまま反映する。
*/
.squareThumb img,
.profile-thumb img{
  padding:0 !important;
  object-position:center center !important;
  object-fit:var(--img-fit, contain) !important;
  transform:translate(var(--img-x, 0%), var(--img-y, 0%)) scale(var(--img-scale, 1)) !important;
  transform-origin:center center !important;
}
.directoryCard__imageLink:hover .squareThumb img,
.directoryCard__imageLink:focus-visible .squareThumb img{
  transform:translate(var(--img-x, 0%), var(--img-y, 0%)) scale(var(--img-scale, 1)) !important;
}


/* liver_directory_profile_field_sync_20260607
   詳細プロフィールに、登録時点ランク帯・メイン配信タイプ・主な配信時間帯を軽量表示する。
*/
.profile-info-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:14px 0 4px;
}
.profile-info-item{
  min-width:0;
  padding:11px 12px;
  border:1px solid #efd4e4;
  border-radius:16px;
  background:#fffafd;
}
.profile-info-item--wide{grid-column:1/-1}
.profile-info-label{
  display:block;
  margin-bottom:4px;
  color:#9a7f8f;
  font-size:11px;
  font-weight:900;
}
.profile-info-item strong{
  display:block;
  color:#2a182f;
  font-size:14px;
  line-height:1.45;
}
.profile-info-item small{
  display:block;
  margin-top:2px;
  color:#a9909f;
  font-size:10.5px;
}
.profile-meta-chips{display:flex;flex-wrap:wrap;gap:6px}
.profile-meta-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  background:#eef1ff;
  color:#4b5bdc;
  font-size:11px;
  font-weight:850;
}
@media(max-width:520px){
  .profile-info-panel{grid-template-columns:1fr;gap:8px}
  .profile-info-item--wide{grid-column:auto}
}

/* liver_directory_profile_meta_boxless_20260607
   詳細プロフィール上部の配信メタ情報を、枠なしの軽量表示に変更する。
   ランク帯 / メイン配信タイプ / 主な配信時間帯は、値があるものだけ表示する。
*/
.profile-info-panel{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px 14px !important;
  margin:12px 0 14px !important;
}
.profile-info-item,
.profile-info-item--wide{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  min-width:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  grid-column:auto !important;
}
.profile-info-label{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  color:#9a7f8f !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.4 !important;
}
.profile-info-label::after{
  content:"：";
}
.profile-info-item strong{
  display:inline-flex !important;
  align-items:center !important;
  color:#4a2b38 !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:850 !important;
}
.profile-info-item small{
  display:inline-flex !important;
  margin:0 0 0 2px !important;
  color:#b29aaa !important;
  font-size:10px !important;
  line-height:1.4 !important;
}
.profile-info-panel .profile-meta-chips{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:5px !important;
}
.profile-info-panel .profile-meta-chip{
  min-height:20px !important;
  padding:3px 7px !important;
  border-radius:999px !important;
  background:#f4efff !important;
  color:#6a43c7 !important;
  font-size:10.5px !important;
  font-weight:850 !important;
}
@media(max-width:520px){
  .profile-info-panel{
    gap:7px 12px !important;
    margin:10px 0 12px !important;
  }
  .profile-info-item,
  .profile-info-item--wide{
    width:100% !important;
  }
}


/* liver_directory_listener_layout_title_20260607
   リスナー向けの入口感を強めるタイトル/検索周りの微調整。
   画像読み込みやJS追加はなし。
*/
.spOnly{display:none}
.hero__inner{padding:34px 34px 30px}
.hero__inner:before{content:"";position:absolute;left:-70px;bottom:-90px;width:230px;height:230px;border-radius:50%;background:rgba(139,92,246,.10);pointer-events:none}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;margin-bottom:14px;box-shadow:0 8px 18px rgba(90,45,70,.06)}
.hero h1{letter-spacing:-.035em;max-width:820px}.lead{font-size:17px;max-width:760px;margin:16px 0 0}.heroKeywords{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.heroKeywords span{display:inline-flex;align-items:center;border:1px solid #ffd1e5;background:#fff;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900;color:#b71862;box-shadow:0 8px 16px rgba(111,40,79,.06)}
.policy-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}.policy-grid--compact .policy{padding:13px 14px;background:rgba(255,255,255,.82)}
.directorySearch{margin-top:8px;padding:20px}.search-panel__head{margin-bottom:14px}.sectionLabel{margin:0 0 4px;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.06em}.search-panel__head h2{margin:0;font-size:22px;letter-spacing:-.02em}.directorySearch .searchbox span{font-size:14px}.directorySearch .mini{margin:10px 0 0}.section-head h2{font-size:26px;letter-spacing:-.02em}
@media(max-width:900px){.policy-grid--compact{grid-template-columns:1fr 1fr}.hero__inner{padding:26px 22px 24px}.lead{font-size:16px}}
@media(max-width:560px){.spOnly{display:block}.policy-grid--compact{grid-template-columns:1fr}.hero h1{font-size:clamp(34px,10vw,46px);line-height:1.08}.heroKeywords{gap:7px}.heroKeywords span{font-size:12px;padding:6px 9px}.directorySearch{padding:17px}.section-head h2{font-size:24px}}

/* public title + tag fold patch 20260607 */
.hero--listener .hero__inner--listener{padding:30px 28px 24px}
.heroTitleFancy{display:flex;flex-wrap:wrap;gap:.2em .35em;align-items:flex-end;margin:0 0 10px;line-height:.98;font-weight:900;letter-spacing:.01em}
.heroTitleFancy__main,.heroTitleFancy__accent{display:inline-block}
.heroTitleFancy__main{font-size:clamp(30px,4.8vw,56px);font-family:"Hiragino Sans","Yu Gothic UI","Yu Gothic","BIZ UDPGothic","Segoe UI",sans-serif;color:#2f2130;text-shadow:0 3px 0 rgba(255,255,255,.85),0 10px 24px rgba(122,52,97,.10)}
.heroTitleFancy__accent{font-size:clamp(34px,5.4vw,64px);font-family:"Arial Black","Hiragino Sans","Yu Gothic UI","Yu Gothic",sans-serif;background:linear-gradient(135deg,#ff4f9e 0%,#8b5cf6 52%,#4fb6ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;position:relative;filter:drop-shadow(0 8px 18px rgba(139,92,246,.16))}
.heroTitleFancy__accent::after{content:"";position:absolute;left:4%;right:4%;bottom:-8px;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(255,111,174,.35),rgba(139,92,246,.28));z-index:-1}
.hero--listener .lead{max-width:760px}
.heroKeywords,.policy-grid--compact{display:none!important}
.directorySearch .searchbox input{margin-top:6px}
.tagGroups{display:grid;gap:14px;margin-top:14px}
.tagGroup{background:#fffafc;border:1px solid #f5d9e6;border-radius:18px;padding:14px}
.tagGroup__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.tagGroup__head strong{font-size:14px;color:#51313e}
.tagGroup__head span{font-size:12px;color:var(--muted)}
.tagGroup--more .tagGroup__head{margin-bottom:0}
.tagGroup__body{overflow:hidden;transition:max-height .22s ease,opacity .22s ease,padding-top .22s ease}
.tagGroup__body.is-collapsed{max-height:0;opacity:0;padding-top:0}
.tagGroup__body.is-expanded{max-height:520px;opacity:1;padding-top:10px}
.filters--popular{margin-top:0}
.filters--all{margin-top:0}
.chip{font-size:13px;font-weight:900;padding:9px 12px;transition:all .15s ease}
.chip:hover{border-color:#f4a8c8;color:#a31659;background:#fff}
.chip.active{background:linear-gradient(135deg,#fff0f7,#f7f0ff);border-color:#f3a8cb;color:#b71862;box-shadow:0 6px 16px rgba(255,111,174,.12)}
@media(max-width:720px){.heroTitleFancy{display:block}.heroTitleFancy__main,.heroTitleFancy__accent{display:block}.heroTitleFancy__accent{margin:.06em 0 .16em}.tagGroup__head{align-items:flex-start}.tagGroup__head .btn.small{width:auto}}


/* image_soft_protection_20260607
   立ち絵・掲載画像の不安軽減用。完全なコピー防止ではなく、通常操作での保存/ドラッグを抑止する軽量対策。 */
.squareThumb img,
.profile-thumb img {
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.imageSafetyNote {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

/* hero_title_no_wrap_20260607
   タイトルの途中折り返しを防ぎ、1行で映える見出しに調整。 */
.heroTitleFancy{
  display:flex;
  flex-wrap:nowrap;
  align-items:baseline;
  gap:.18em;
  white-space:nowrap;
  max-width:100%;
  overflow:visible;
}

.heroTitleFancy__main,
.heroTitleFancy__accent{
  display:inline-block;
  white-space:nowrap;
}

.heroTitleFancy__main{
  font-size:clamp(22px,3.6vw,48px);
  letter-spacing:-.04em;
}

.heroTitleFancy__accent{
  font-size:clamp(28px,4.4vw,58px);
  letter-spacing:-.035em;
}

.heroTitleFancy__accent::after{
  left:3%;
  right:3%;
  bottom:-7px;
  height:7px;
}

@media(max-width:720px){
  .heroTitleFancy{
    display:flex;
    flex-wrap:nowrap;
    gap:.12em;
    white-space:nowrap;
  }
  .heroTitleFancy__main,
  .heroTitleFancy__accent{
    display:inline-block;
  }
  .heroTitleFancy__main{
    font-size:clamp(18px,5.2vw,30px);
    letter-spacing:-.065em;
  }
  .heroTitleFancy__accent{
    font-size:clamp(22px,6vw,36px);
    letter-spacing:-.06em;
    margin:0;
  }
  .heroTitleFancy__accent::after{
    bottom:-5px;
    height:5px;
  }
}

@media(max-width:420px){
  .heroTitleFancy__main{
    font-size:clamp(16px,4.8vw,22px);
  }
  .heroTitleFancy__accent{
    font-size:clamp(19px,5.6vw,28px);
  }
}

/* hero_title_oshi_sagashi_20260607
   タイトル文言を短くし、1行で強く見せる。 */
.heroTitleFancy--short{
  display:block;
  white-space:nowrap;
  line-height:.98;
  margin:0 0 12px;
}

.heroTitleFancy--short .heroTitleFancy__accent{
  display:inline-block;
  font-size:clamp(42px,7vw,84px);
  letter-spacing:-.04em;
  line-height:.98;
}

.heroTitleFancy--short .heroTitleFancy__accent::after{
  left:2%;
  right:2%;
  bottom:-8px;
  height:8px;
}

@media(max-width:720px){
  .heroTitleFancy--short{
    display:block;
    white-space:nowrap;
  }
  .heroTitleFancy--short .heroTitleFancy__accent{
    display:inline-block;
    font-size:clamp(34px,11vw,54px);
    letter-spacing:-.065em;
  }
}

@media(max-width:420px){
  .heroTitleFancy--short .heroTitleFancy__accent{
    font-size:clamp(30px,10vw,42px);
  }
}
/* liver_directory_profile_form_adjust_fidelity_20260608
   公開詳細ページの画像表示は、掲載申請フォームで保存された imageAdjust を正とする。
   これにより、申請者がプレビューで確認した見え方を公開ページでも裏切らない。
*/
.profile-layout--form-adjust .profile-thumb--form-adjust{
  position:relative !important;
  width:100% !important;
  min-height:560px !important;
  border-radius:30px !important;
  background:linear-gradient(180deg,#fff7fb,#f8eef7) !important;
  overflow:hidden !important;
  display:block !important;
  border:1px solid var(--line) !important;
}
.profile-layout--form-adjust .profile-thumb--form-adjust img{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:100% !important;
  height:100% !important;
  object-fit:var(--img-fit, contain) !important;
  object-position:center center !important;
  padding:0 !important;
  margin:0 !important;
  transform:translate(calc(-50% + var(--img-x, 0%)), calc(-50% + var(--img-y, 0%))) scale(var(--img-scale, 1)) !important;
  transform-origin:center center !important;
}

@media(max-width:840px){
  .profile-layout--form-adjust{
    grid-template-columns:1fr !important;
    gap:14px !important;
    align-items:start !important;
  }
  .profile-layout--form-adjust .profile-visual--balanced{
    order:1 !important;
    width:100% !important;
    display:block !important;
  }
  .profile-layout--form-adjust .profile-main--balanced{
    order:2 !important;
    width:100% !important;
    align-self:start !important;
  }
  .profile-layout--form-adjust .profile-thumb--form-adjust{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:3 / 4 !important;
    border-radius:24px !important;
  }
}

@media(max-width:640px){
  .wrap.profileWrap,
  .wrap{
    padding-left:12px;
    padding-right:12px;
  }
  .profilePanel,
  .panel#profileRoot{
    padding:14px !important;
    border-radius:20px !important;
  }
  .profile-layout--form-adjust .profile-thumb--form-adjust{
    aspect-ratio:3 / 4 !important;
  }
  .profile-main--balanced h1{
    font-size:clamp(30px,9vw,42px) !important;
    line-height:1.08 !important;
    margin:0 0 8px !important;
  }
  .profile-main--balanced .tags{gap:6px !important;}
  .profile-expire{margin:8px 0 0 !important;}
  .profile-main--balanced .profile-actions{
    margin:12px 0 14px !important;
    gap:8px !important;
  }
  .profile-actions .btn{
    flex:1 1 calc(50% - 4px);
    min-width:0;
    padding:10px 12px;
  }
  .profile-actions .btn:last-child{flex-basis:100%;}
  .profile-text-grid{
    gap:12px !important;
    margin-top:12px !important;
  }
  .profile-main--balanced .detail-box--intro,
  .profile-main--balanced .detail-box--focus{
    padding:15px !important;
  }
  .profile-main--balanced .detail-box--intro h2,
  .profile-main--balanced .detail-box--focus h2{
    font-size:18px !important;
    margin-bottom:10px !important;
  }
  .profile-main--balanced .detail-box--intro p,
  .profile-main--balanced .detail-box--focus p{
    font-size:14px !important;
    line-height:1.85 !important;
  }
  .profile-note--subtle{margin-top:12px !important;}
}

@media(max-width:420px){
  .profile-layout--form-adjust .profile-thumb--form-adjust{
    aspect-ratio:9 / 12 !important;
  }
  .profile-actions .btn{
    width:100%;
    flex-basis:100%;
  }
}

/* image_protection_public_overlay_20260608
   「掲載保護」は任意の表示保護。元画像に焼き込まず、公開表示時にだけ重ねる。
*/
.squareThumb--protected::before,
.profile-thumb--protected::before{
  content:"掲載保護　掲載保護　掲載保護　掲載保護\A 掲載保護　掲載保護　掲載保護　掲載保護\A 掲載保護　掲載保護　掲載保護　掲載保護\A 掲載保護　掲載保護　掲載保護　掲載保護\A 掲載保護　掲載保護　掲載保護　掲載保護";
  position:absolute;
  z-index:3;
  left:-38%;
  top:-38%;
  width:176%;
  height:176%;
  display:block;
  transform:rotate(-22deg);
  color:rgba(65,72,86,.24);
  font-size:clamp(14px,2.8vw,22px);
  font-weight:900;
  letter-spacing:.08em;
  line-height:2.8;
  white-space:pre;
  pointer-events:none;
  user-select:none;
}
.profile-thumb--protected::before{
  color:rgba(65,72,86,.22);
  font-size:clamp(15px,3.2vw,24px);
  line-height:3.0;
}
.squareThumb--protected .thumbTapLabel{
  z-index:4;
}

/* image_protection_full_overlay_fix_20260608
   公開一覧・詳細でも、枠全体に均一に「掲載保護」を敷く。
*/
.squareThumb--protected::before,
.profile-thumb--protected::before{
  content:"" !important;
  position:absolute !important;
  z-index:3 !important;
  left:-30% !important;
  top:-30% !important;
  width:160% !important;
  height:160% !important;
  display:block !important;
  transform:rotate(-22deg) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22220%22 height=%22120%22 viewBox=%220 0 220 120%22%3E%0A  %3Ctext x=%2216%22 y=%2246%22 font-family=%22Arial, 'Hiragino Sans', 'Yu Gothic', sans-serif%22 font-size=%2220%22 font-weight=%22800%22 fill=%22rgba(65,72,86,0.30)%22%3E%E6%8E%B2%E8%BC%89%E4%BF%9D%E8%AD%B7%3C/text%3E%0A%3C/svg%3E") !important;
  background-repeat:repeat !important;
  background-size:220px 120px !important;
  opacity:.78 !important;
  pointer-events:none !important;
  user-select:none !important;
  white-space:normal !important;
}
.profile-thumb--protected::before{
  background-size:240px 130px !important;
  opacity:.72 !important;
}
