:root{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:#9aa6b5;background:#fff}*{box-sizing:border-box}html,body{margin:0;min-width:320px;background:#fff}body{min-height:100vh}.guest-header{display:none}.archive-view{padding:100px 24px 70px}.archive-view[hidden],.details[hidden]{display:none}.grid{display:grid;grid-template-columns:repeat(6,minmax(0,90px));justify-content:center;gap:48px 30px;max-width:740px;margin:0 auto}.card{position:relative;width:90px;max-width:100%;height:auto;border:0;padding:0;background:none;color:inherit;text-align:center;cursor:pointer;transition:opacity .28s ease}.card:focus-visible{outline:1px solid #aab3be;outline-offset:5px}.card-media{position:relative;display:grid;place-items:center;width:100%;height:190px;overflow:hidden}.card-figure{display:grid;place-items:center;width:100%;height:100%;overflow:hidden}.card-image{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .35s ease}.card.is-pending .card-image{visibility:hidden}.card.is-unavailable .card-image{display:none}.unavailable{position:absolute;inset:auto 0;top:50%;color:#b5bdc7;font-size:10px}.card-meta{display:grid;gap:3px;padding-top:7px;color:#a3adb9;font-size:10px;white-space:nowrap}.card-label{color:#8793a0}.empty{grid-column:1/-1;text-align:center;color:#a3adb9;font-size:12px}.load-more{display:block;margin:32px auto 0;border:0;background:none;color:#9aa6b5;font:inherit;font-size:12px;cursor:pointer}.load-more[hidden],[hidden]{display:none!important}.load-more:disabled{opacity:.5;cursor:wait}.details{min-height:100vh;padding:38px 24px 48px}.details .back{position:absolute;top:24px;left:24px;color:#a3adb9;text-decoration:none;font-size:11px}.details .back:hover{text-decoration:underline}.details .detail-layout{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:440px;margin:26px auto 0}.details .detail-preview{position:relative;display:grid;place-items:center;width:min(100%,400px);height:min(56vh,430px);overflow:hidden}.details .detail-preview img{display:block;width:100%;height:100%;object-fit:contain}.details .detail-preview p{position:absolute;bottom:0;margin:0;color:#a3adb9;font-size:11px}.detail-form{width:min(100%,340px);margin:0 auto;color:#9aa6b5;text-align:center;opacity:0;animation:form-in .35s .18s ease both}.detail-form h1{display:none}.detail-form p{font-size:12px;line-height:1.6}.detail-form [role=status]{min-height:20px;margin:5px 0;color:#8793a0;font-size:12px}.detail-form [role=status]:empty{display:none}.detail-form [role=status].error{color:#b46d6d}.primary,.button-row button,#profile-form>button,#claimed-panel button{border:1px solid #a3adb9;border-radius:999px;background:#a3adb9;color:white;padding:11px 17px;font:inherit;font-size:12px;cursor:pointer}.primary{min-height:44px}.primary:disabled{opacity:.45;cursor:default}.detail-form>.primary,#claim-panel>.primary{width:100%}.button-row{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:14px}.button-row button:not(.primary),#profile-form>button:not(.primary){border:0;background:none;color:#9aa6b5;padding:10px 8px;font:inherit;font-size:12px;cursor:pointer}.detail-form video{display:block;width:min(100%,340px);max-height:320px;margin:16px auto 0;object-fit:contain;background:#f4f5f6}.detail-form #photo-preview{display:block;width:min(100%,300px);max-height:300px;margin:16px auto 0;object-fit:contain}.consent{display:flex;gap:9px;align-items:flex-start;margin-top:15px;color:#8793a0;font-size:12px;line-height:1.5;text-align:left}.consent input{margin-top:2px;accent-color:#9aa6b5}.detail-form form label:not(.consent){display:grid;gap:7px;margin:15px 0;color:#8793a0;font-size:12px;text-align:left}.detail-form input:not([type=checkbox]){width:100%;min-height:44px;padding:9px 10px;border:1px solid #e3e7eb;border-radius:7px;color:#657181;font:inherit}.small-note{color:#a3adb9!important;font-size:11px!important}.handle-input{display:flex;align-items:center;gap:7px}.handle-input>span{color:#a3adb9}.handle-input input{min-width:0;flex:1}#claimed-social{display:flex;justify-content:center;gap:12px;margin-top:10px;font-size:12px}#claimed-social a{color:#9aa6b5;text-decoration:none}#claimed-social a:hover{text-decoration:underline}.initial-loader{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:0;background:#fff;transition:opacity .25s ease}.initial-loader[hidden]{display:none!important}.initial-loader img{width:48px;height:48px;object-fit:contain;opacity:.12;animation:loader-pulse 1.05s ease-in-out infinite alternate}.initial-loader img:nth-child(2){animation-delay:.12s}.initial-loader img:nth-child(3){animation-delay:.24s}.initial-loader img:nth-child(4){animation-delay:.36s}.initial-loader img:nth-child(5){animation-delay:.48s}.initial-loader img:nth-child(6){animation-delay:.6s}@keyframes loader-pulse{to{opacity:.42}}@keyframes form-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}body.detail-open .card:not(.is-selected){opacity:0;pointer-events:none}body.detail-open .card.is-selected{opacity:0}.selected-character{view-transition-name:selected-character}/* Move one figure between layouts; crossfading differently fitted snapshots creates a ghost. */
::view-transition-group(selected-character){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
::view-transition-old(selected-character){display:none}
::view-transition-new(selected-character){animation:none;mix-blend-mode:normal}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,90px));gap:44px 30px}}@media(max-width:680px){.archive-view{padding:58px 15px 48px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 12px;max-width:420px}.card{width:100%}.card-media{height:clamp(120px,40vw,180px)}.details .detail-layout{margin-top:20px;gap:3px}.details{padding:38px 18px 40px}.details .detail-preview{width:min(100%,360px);height:min(46vh,360px)}.detail-form{margin-top:4px}.details:has(#camera-panel:not([hidden]),#photo-panel:not([hidden])) .detail-preview{height:min(36vh,270px)}.detail-form video{max-height:250px}}
.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}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important}}
/* Keep the figure, age and action in separate rows at every viewport size. */
.details .detail-layout{gap:22px}.details .detail-preview{display:flex;flex-direction:column;gap:12px}.details .detail-preview img{min-height:0;flex:1;height:0;object-fit:contain}.details .detail-preview p{position:static;flex:none;line-height:16px}.initial-loader img{animation:loader-wave 1.8s ease-in-out infinite;opacity:.06}@keyframes loader-wave{0%,100%{opacity:.06}35%{opacity:1}65%{opacity:.12}}@media(prefers-reduced-motion:reduce){.initial-loader img{animation:none;opacity:.5}}

.initial-loader img{margin-inline:-8px}

/* Prepared avatars are square with transparent sides. Size the square by figure height,
   as in Controls, rather than squeezing it to the narrow gallery column. */
@media(min-width:681px){
  .grid{gap:62px 34px}
  .card-media{height:220px;overflow:visible;grid-template-columns:minmax(0,1fr)}
  .card-figure{width:220px;height:220px;pointer-events:none}
  .details .detail-layout{max-width:650px}
  .details .detail-preview{width:100%;height:auto;overflow:visible}
  .details .detail-preview img{flex:none;width:min(100%,650px,calc(100svh - 230px));height:auto;aspect-ratio:1}
}
