/* Standalone photography component only. Never imported as a global site stylesheet. */
html{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;background:transparent}
body{margin:0;background:transparent}
.pa,.pa *{box-sizing:border-box}
.pa[hidden],.pa [hidden]{display:none!important}
.pa{--pa-accent:#a34561;--pa-ink:#30292d;--pa-muted:#71686d;--pa-line:#eadde2;width:100%;max-width:590px;margin:0 auto;padding:14px 12px 12px;background:transparent;color:var(--pa-ink);overflow-wrap:anywhere;border:0;border-radius:12px}
.pa[data-empty="true"]{min-height:100px;padding:0;border:0;background:transparent}
/* The empty message occupies the existing transparent 100px area. */
.pa-empty{height:100px;margin:0;padding:0 12px;display:flex;align-items:center;justify-content:center;text-align:center;text-wrap:balance;font-size:13px;line-height:1.65;font-weight:400;color:var(--pa-muted);background:transparent;border:0;box-shadow:none}
.pa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Keep two 8px gaps; (track width - 16px) / 2.5 = previous card width x 1.2.
   The viewport shows two full cards and precisely half of the third card. */
.pa-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 16px)/2.5);gap:8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:0 0 8px;scrollbar-width:thin;scrollbar-color:#d4b9c2 transparent;-webkit-overflow-scrolling:touch}
.pa-card{min-width:0;scroll-snap-align:start;background:transparent;border:0;align-self:stretch;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.pa-card[href]{cursor:pointer}
.pa-card[href]:focus-visible{outline:2px solid var(--pa-accent);outline-offset:-2px;border-radius:4px}
.pa-card-main{min-width:0;flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid var(--pa-line);border-radius:4px;overflow:hidden}
.pa-photo{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;height:auto;background:#f4edef}
/* Trim 1px from the reserved bottom space, including cards with no size data. */
.pa-card-body{min-width:0;padding:0 7.2px;margin-bottom:-1px;flex:1;display:flex;flex-direction:column}
/* Retain the compact row height and the age size. Only the name text is
   reduced by 1px below; no change to the photo, divider or card height. */
.pa-name{min-width:0;height:calc(1.5em - 1px);flex:none;font-size:13.6px;line-height:1.5;font-weight:400;margin:0;text-align:center;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.pa-name-line,.pa-details-text{display:inline-block;max-width:none;white-space:nowrap;vertical-align:top}
/* Keep the 1px name offset and age size. Shrink only the name by 1px
   at both normal and narrow widths, including automatic text fitting. */
.pa-name-text{position:relative;top:1px;font-size:calc(1em - 1px);font-weight:400}
.pa-age{font-size:.85em;font-weight:400;white-space:nowrap}
/* Relative to compact4-1: separator -1px, size text -3px, card height -4px.
   Removing the 2px lower gap raises the size text another 2px. */
.pa-divider{width:100%;height:0;min-height:0;margin:0;padding:0;border:0;border-top:1px solid var(--pa-line);flex:none}
.pa-details{min-width:0;height:1.6em;flex:none;font-size:12px;line-height:1.6;color:var(--pa-muted);margin:0;text-align:center;white-space:nowrap;overflow-wrap:normal}
/* Wait text sits OUTSIDE the bordered photo/profile card; no background or enclosing border. */
.pa-wait{margin:2px 0 0;padding:0 4.8px 8.4px;flex:none;font-size:14.4px;font-weight:700;line-height:1.5;text-align:center;white-space:nowrap;color:var(--pa-accent);background:transparent;border:0;box-shadow:none}
.pa-track:focus-visible{outline:2px solid var(--pa-accent);outline-offset:2px}
@media(max-width:340px){.pa{padding:12px 8px}.pa-name{font-size:12.4px}.pa-empty{font-size:12px}}
@media(prefers-reduced-motion:reduce){.pa-track{scroll-behavior:auto}}

/* PC official schedule only: enabled with ?layout=pc. Smartphone embeds stay unchanged. */
.pa[data-layout="pc"]{
  max-width:none;
  margin:0;
  padding:0 15px 8px;
  border-radius:0;
  box-sizing:border-box;
  overflow:hidden;
}
.pa[data-layout="pc"] .pa-track{
  width:100%;
  grid-auto-columns:max-content;
  gap:20px;
  justify-content:start;
  align-items:start;
  padding:0 0 8px;
  box-sizing:border-box;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-padding-inline:0;
}
/* Do not draw a white enclosure behind the portrait. The photo itself owns its width. */
.pa[data-layout="pc"] .pa-card{
  width:max-content;
  max-width:none;
}
.pa[data-layout="pc"] .pa-card-main{
  width:max-content;
  align-items:center;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.pa[data-layout="pc"] .pa-photo{
  display:block;
  width:auto;
  max-width:100%;
  height:300px;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center top;
  background:transparent;
  border:0;
  border-radius:4px;
}
.pa[data-layout="pc"] .pa-card-body{
  width:auto;
  margin:5px 0 0;
  padding:0;
  background:transparent;
}
.pa[data-layout="pc"] .pa-name{
  min-height:31px;
  height:auto;
  margin:0 0 5px;
  padding:7px 10px 6px 13px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #efd5dc;
  border-left:4px solid #e16874;
  border-radius:3px;
  background:linear-gradient(90deg,#fff0f4 0%,#fff 86%);
  color:#50353e;
  font-size:14px;
  line-height:1.2;
  font-weight:900;
}
.pa[data-layout="pc"] .pa-name-text{
  top:0;
  font-size:1em;
  font-weight:900;
}
.pa[data-layout="pc"] .pa-age{
  margin-left:3px;
  color:#76545f;
  font-size:12px;
  font-weight:800;
}
.pa[data-layout="pc"] .pa-divider{display:none}
.pa[data-layout="pc"] .pa-details{
  min-height:28px;
  height:auto;
  margin:0;
  padding:5px 7px 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #ded4d7;
  border-radius:3px;
  background:#fff;
  color:#67555b;
  font-size:12.6px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.025em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.pa[data-layout="pc"] .pa-details[hidden]{display:none!important}
.pa[data-layout="pc"] .pa-wait{margin-top:3px}

