/* Model detail only: common edges, compact profile facts and steady section spacing. */
.model-detail main > .profile-wrap,
.model-detail main > .profile_ig,
.model-detail main > .profile_x,
.model-detail main > .profile_tk {
  box-sizing: border-box;
  width: min(88%, 1000px);
  max-width: 1000px;
  margin: 0 auto 72px;
  padding: 0;
}
.model-detail main > .profile-wrap:first-child { margin-top: 32px; margin-bottom: 80px; }
.model-detail .profile-grid {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: center;
  transform: none;
}
.model-detail .profile-grid > * { min-width: 0; }
.model-detail .profile-image img { width: 100%; height: auto; border-radius: 16px; }
.model-detail .profile-info { padding-block: 8px; }
.model-detail .profile-name { font-size: clamp(28px, 3vw, 38px); line-height: 1.4; letter-spacing: .03em; }
.model-detail .profile-yomi { margin: 6px 0 24px; font-size: calc(13px * var(--official-font-scale, 1)); letter-spacing: .08em; color: #757575; }
.model-detail .profile-list {
  grid-template-columns: minmax(76px, 100px) minmax(0, 1fr);
  gap: 14px 18px;
  align-items: start;
  margin: 0 0 24px;
  padding: 20px 0;
  border-top: 1px solid var(--line, #dce9f0);
  border-bottom: 1px solid var(--line, #dce9f0);
}
.model-detail .profile-list dt,
.model-detail .profile-list dd { margin: 0; padding: 0; align-self: start; line-height: 1.8; }
.model-detail .profile-list dt { font-size: calc(12px * var(--official-font-scale, 1)); color: #747474; }
.model-detail .profile-list dd { font-size: calc(14px * var(--official-font-scale, 1)); overflow-wrap: anywhere; }
.model-detail .profile-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; }
.model-detail .profile-links .profile-link { min-width: 0; min-height: 42px; padding: 8px 10px; font-size: calc(10px * var(--official-font-scale, 1)); }
.model-detail .profile-link-icon { flex-shrink: 0; }
.model-detail .profile-link-text { overflow-wrap: anywhere; }
.model-detail .profile-banners { margin: 24px 0 0; gap: 12px; }
.model-detail main > section .divider { margin: 0 0 24px; }
.model-detail .content-empty { width: 100%; margin: 0; padding: 28px 16px; gap: 8px; }
.model-detail .content-empty-title { font-size: calc(18px * var(--official-font-scale, 1)); }
.model-detail .content-empty-description { font-size: calc(12px * var(--official-font-scale, 1)); }
.model-detail .profile_ig .ig-row,
.model-detail .profile_x .ig-row { width: 100%; max-width: none; }
@media (max-width: 767px) {
  .model-detail main > .profile-wrap,
  .model-detail main > .profile_ig,
  .model-detail main > .profile_x,
  .model-detail main > .profile_tk { margin-bottom: 52px; }
  .model-detail main > .profile-wrap:first-child { margin-top: 20px; margin-bottom: 60px; }
  .model-detail .profile-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .model-detail .profile-info { padding: 0; }
  .model-detail .profile-name { font-size: 28px; }
  .model-detail .profile-yomi { margin-bottom: 20px; font-size: calc(12px * var(--official-font-scale, 1)); }
  .model-detail .profile-list { grid-template-columns: 82px minmax(0,1fr); gap: 10px 12px; padding: 16px 0; margin-bottom: 20px; }
  .model-detail .profile-links { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
  .model-detail .profile-links .profile-link { width: 100%; height: 44px; min-height: 44px; padding: 10px; }
  .model-detail main > section .divider { margin-bottom: 20px; }
  .model-detail .content-empty { padding: 24px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .model-detail .profile-grid { opacity: 1; transition: none; }
}

.model-detail .profile-makers{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.model-detail .profile-makers li{margin:0;padding:0;max-width:100%}.model-detail .profile-maker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #ded5da;border-radius:7px;background:#faf7f9;color:inherit;font-size:calc(13px * var(--official-font-scale, 1));line-height:1.6;overflow-wrap:anywhere}.model-detail a.profile-maker{text-decoration:none}.model-detail a.profile-maker:hover{background:#f5e8ee;border-color:#b86b8a}.model-detail a.profile-maker:focus-visible{outline:2px solid #b54870;outline-offset:3px}.model-detail .profile-maker-external{flex-shrink:0;font-size:calc(14px * var(--official-font-scale, 1));color:#9a5070}.model-detail .profile-maker-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* Archive links share the information cards' restrained pink accents. */
.model-detail .profile-wrap > a.more-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  box-sizing: border-box;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  margin: 24px auto 0;
  padding: 10px 24px;
  border: 1px solid #dec5d3;
  border-radius: 999px;
  background: #fffafd;
  color: #985474;
  font-size: calc(12px * var(--official-font-scale, 1));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .08em;
  text-decoration: none;
  box-shadow: 0 3px 12px -8px #79536a45;
  backdrop-filter: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.model-detail .profile-wrap > a.more-link::after { content: "→"; font-size: calc(15px * var(--official-font-scale, 1)); line-height: 1; }
.model-detail .profile-wrap > a.more-link:hover { background: #f7eaf2; border-color: #ba7b9d; color: #803e61; transform: none; }
.model-detail .profile-wrap > a.more-link:focus-visible { outline: 2px solid #b56a94; outline-offset: 4px; }
.model-detail .profile-wrap > a.more-link:active { background: #f0deea; opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .model-detail .profile-wrap > a.more-link { transition: none; }
}

/* Personal information: the homepage card layout in neutral colors. */
.model-detail .model-information-section > h2 { color: #444; }
.model-detail .model-information-section .featured-information-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 24px 14px; width: 100%; }
.model-detail .featured-information-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #e4e4e4; border-radius: 16px; background: #fff; }
.model-detail .featured-information-main { display: block; flex: 1; color: inherit; text-decoration: none; }
.model-detail .featured-information-image { display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: #f6f6f6; color: #888; font-size: calc(11px * var(--official-font-scale, 1)); letter-spacing: .1em; }
.model-detail .featured-information-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.model-detail .featured-information-body { min-width: 0; padding: 18px 16px; }
.model-detail .featured-information-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; color: #777; font-size: calc(11px * var(--official-font-scale, 1)); line-height: 1.7; }
.model-detail .featured-information-meta time { font-variant-numeric: tabular-nums; }
.model-detail .featured-information-meta > span { padding: 2px 8px; border: 1px solid #e5e5e5; border-radius: 999px; color: #666; font-weight: 400; }
.model-detail .featured-information-card h3 { margin: 10px 0 0; color: #444; font-size: calc(14px * var(--official-font-scale, 1)); font-weight: 400; line-height: 1.85; text-align: left; overflow-wrap: anywhere; }
.model-detail .featured-information-arrow { color: #777; }
.model-detail .featured-information-main:focus-visible { outline: 2px solid #888; outline-offset: -3px; }
.model-detail .model-information-section > a.more-link { border-color: #ddd; background: #fff; color: #666; box-shadow: none; }
.model-detail .model-information-section > a.more-link:hover { border-color: #aaa; background: #f5f5f5; color: #333; }
.model-detail .model-information-section > a.more-link:focus-visible { outline-color: #888; }
.model-detail .model-information-section .content-empty { background: #fafafa; border-color: #e4e4e4; color: #777; }
@media (hover: hover) {
  .model-detail .featured-information-card:has(a:hover) { border-color: #aaa; }
  .model-detail a.featured-information-main:hover h3 { color: #222; }
}
@media (max-width: 1023px) {
  .model-detail .model-information-section .featured-information-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .model-detail .model-information-section .featured-information-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .model-detail .featured-information-main { display: grid; grid-template-columns: 34% minmax(0, 1fr); align-items: start; }
  .model-detail .featured-information-image { aspect-ratio: 1; margin: 12px 0 12px 12px; border-radius: 9px; font-size: calc(10px * var(--official-font-scale, 1)); }
  .model-detail .featured-information-body { padding: 12px; }
  .model-detail .featured-information-meta { font-size: calc(10px * var(--official-font-scale, 1)); gap: 5px 8px; }
  .model-detail .featured-information-card h3 { margin-top: 8px; font-size: calc(13px * var(--official-font-scale, 1)); line-height: 1.7; }
}

/* Personal photo album; gallery and enlargement match the homepage. */

.model-detail .home-album-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;width:100%}.model-detail .home-album-photo{position:relative;display:block;min-width:0;aspect-ratio:4/5;overflow:hidden;border-radius:14px;background:#f5f3f5;text-decoration:none}.model-detail .home-album-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.model-detail .home-album-name{position:absolute;inset:auto 0 0;padding:24px 10px 10px;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;font-size:calc(12px * var(--official-font-scale, 1));line-height:1.5;text-align:left;overflow-wrap:anywhere}.model-detail .home-album-photo:focus-visible{outline:2px solid #ad5d88;outline-offset:4px}@media(hover:hover){.model-detail .home-album-photo:hover img{transform:scale(1.04)}}@media(max-width:1023px){.model-detail .home-album-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}@media(max-width:767px){.model-detail .home-album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.model-detail .home-album-photo{border-radius:10px}.model-detail .home-album-name{font-size:calc(10px * var(--official-font-scale, 1));padding:20px 7px 7px}}@media(max-width:359px){.model-detail .home-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.model-detail .home-album-photo img{transition:none}.model-detail .home-album-photo:hover img{transform:none}}

.model-detail .home-album > h2.divider {
  font: calc(12px * var(--official-font-scale, 1)) / 1 ui-sans-serif, system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  letter-spacing: .22em;
}

/* Album enlargement with a personal-page link below the image. */
html.home-album-modal-open{overflow:hidden}.home-album-dialog{box-sizing:border-box;width:fit-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:44px 20px 20px;border:0;border-radius:16px;background:#fff;color:#555;box-shadow:0 18px 70px #0005;overflow:auto}.home-album-dialog[open]{display:flex;flex-direction:column;align-items:center;gap:18px}.home-album-dialog::backdrop{background:rgba(22,18,24,.8)}.home-album-enlarged-wrap{min-width:0;max-width:100%}.home-album-enlarged{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 170px);object-fit:contain;margin:auto;border-radius:6px}.home-album-enlarged[hidden]{display:none}.home-album-close{position:absolute;top:8px;right:10px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#f3eff2;color:#66515e;font:28px/1 sans-serif;cursor:pointer}.home-album-profile-link{display:block;max-width:100%;padding:10px 20px;border:1px solid #dec5d3;border-radius:999px;background:#fffafd;color:#985474;font-size:calc(13px * var(--official-font-scale, 1));line-height:1.6;text-align:center;text-decoration:none;overflow-wrap:anywhere}.home-album-profile-link:hover{background:#f7eaf2;color:#803e61}.home-album-dialog a:focus-visible,.home-album-dialog button:focus-visible{outline:2px solid #ad5d88;outline-offset:3px}.home-album-image-error{padding:40px 20px;font-size:calc(14px * var(--official-font-scale, 1))}@media(max-width:767px){.home-album-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:44px 12px 16px}.home-album-profile-link{font-size:calc(12px * var(--official-font-scale, 1));padding:10px 14px}}

.model-detail main > .home-album { box-sizing: border-box; width: min(88%, 1000px); max-width: 1000px; margin: 0 auto 72px; padding: 0; }
@media(max-width:767px){.model-detail main > .home-album { margin-bottom: 52px; }}

/* The personal page already identifies the model. */
.model-detail .home-album-name,
.model-detail .home-album-dialog .home-album-profile-link { display: none; }

/* Balance the image-only enlargement after removing the profile link. */
.model-detail .home-album-dialog { padding: 48px 20px; }
.model-detail .home-album-dialog[open] { gap: 0; }
.model-detail .home-album-enlarged { max-height: calc(100dvh - 128px); }
@media (max-width: 767px) {
  .model-detail .home-album-dialog { padding: 44px 12px; }
  .model-detail .home-album-enlarged { max-height: calc(100dvh - 108px); }
}

/* Gentle album opening; no motion when reduced motion is requested. */
.home-album-dialog[open] { animation: album-dialog-enter .28s cubic-bezier(.2,.7,.3,1) both; }
.home-album-dialog[open]::backdrop { animation: album-backdrop-enter .28s ease both; }
@keyframes album-dialog-enter {
  from { opacity: 0; transform: translateY(12px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes album-backdrop-enter { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .home-album-dialog[open], .home-album-dialog[open]::backdrop { animation: none; }
}

/* Complete the fade-out before closing the native dialog. */
.home-album-dialog[open].is-closing { animation: album-dialog-exit .22s ease both; }
.home-album-dialog[open].is-closing::backdrop { animation: album-backdrop-exit .22s ease both; }
@keyframes album-dialog-exit {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to { opacity: 0; transform: translateY(8px) scale(.98); }
}
@keyframes album-backdrop-exit { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .home-album-dialog[open].is-closing, .home-album-dialog[open].is-closing::backdrop { animation: none; }
}

/* Retain scrollbar space while the album locks page scrolling. */
html { scrollbar-gutter: stable; }
