.person-gallery { margin: 0 0 16px; max-width: 100%; }
.person-gallery-open { display: inline-flex; margin: 0 0 12px; }
.person-gallery [hidden], .person-gallery-open[hidden], [data-person-gallery-open][hidden] { display: none !important; }
.person-gallery-dialog { max-width: min(28rem, calc(100vw - 1.5rem)); width: 100%; padding: 0; border: 1px solid var(--line, #dedfd5); border-radius: 12px; background: var(--white, #fffefa); color: var(--ink, #20241e); }
.person-gallery-dialog::backdrop { background: #20241e73; }
.person-gallery-panel { display: grid; gap: 12px; padding: 16px 16px 16px; min-width: 0; }
.person-gallery-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.person-gallery-header h2 { margin: 0; font-size: 20px; letter-spacing: -.03em; }
.person-gallery-status, .person-gallery-credit, .person-gallery-next { margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted, #686c62); overflow-wrap: anywhere; }
.person-gallery-status[data-state="error"] { color: #a52d20; }
.person-gallery-stage { min-width: 0; }
.person-gallery-image { display: block; width: 100%; height: auto; max-width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--paper, #f7f5ee); border-radius: 12px; }
.person-gallery-thumbs { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.person-gallery-thumb { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; padding: 0; border: 2px solid transparent; border-radius: 6px; background: var(--paper, #f7f5ee); overflow: hidden; font-size: 12px; font-variant-numeric: tabular-nums; }
.person-gallery-thumb[aria-selected="true"] { border-color: var(--blue, #3f55c6); }
.person-gallery-thumb:focus-visible { outline: 3px solid var(--ink, #20241e); outline-offset: 3px; }
.person-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.person-gallery-themes { display: flex; flex-wrap: wrap; gap: 8px 12px; font-size: 14px; }
.person-gallery-themes a { overflow-wrap: anywhere; }
@media (max-width: 320px) {
  .person-gallery-dialog { max-width: calc(100vw - 1rem); }
  .person-gallery-thumb { width: 2.75rem; height: 2.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .person-gallery, .person-gallery * { transition: none !important; animation: none !important; }
}

.person-gallery-page-link { display:flex; align-items:center; gap:12px; width:fit-content; min-height:44px; font-size:14px; }
.person-gallery-page-link > span:first-child { color:var(--muted); font-weight:400; }
.gallery-page { margin:16px 0 48px; }
.gallery-page-heading { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
.gallery-page-heading .eyebrow { margin:0 0 8px; }
.gallery-page-heading h1 { margin:0; font-size:32px; letter-spacing:-.045em; }
.gallery-page-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:24px; align-items:start; }
.gallery-page-stage { min-width:0; margin:0; scroll-margin-top:1rem; }
.gallery-page-stage > img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:var(--paper); border-radius:6px; }
.gallery-page-stage figcaption { display:flex; justify-content:space-between; gap:16px; padding:12px 0; color:var(--muted); font-size:12px; }
.gallery-page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gallery-page-grid a { display:block; position:relative; padding:4px; border:2px solid transparent; border-radius:6px; }
.gallery-page-grid a[aria-current="true"] { border-color:var(--ink); }
.gallery-page-grid a > span { display:grid; place-items:center; aspect-ratio:1; background:var(--paper); color:var(--ink); font-size:14px; font-variant-numeric:tabular-nums; }
.gallery-page-grid a > img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; background:var(--paper); }
.gallery-page-pagination { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:16px; }
.gallery-page-credits { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; font-size:12px; }
@media(max-width:600px) {
  .gallery-page-layout { grid-template-columns:minmax(0,1fr); gap:12px; }
  .gallery-page-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }
  .gallery-page-grid a { padding:0; }
  .gallery-page-grid a > span { display:grid; font-size:11px; }
}
html:has(.gallery-page) { scroll-behavior:auto; }
@media(max-width:760px){
  .person-gallery-themes a,
  .gallery-page-heading .text-link,
  .person-gallery-header .text-button{
    display:inline-flex;
    align-items:center;
    box-sizing:border-box;
    min-height:44px;
    min-width:44px
  }
  .gallery-page-grid a{min-width:44px;min-height:44px;box-sizing:border-box}
}
body[data-page="person"] .page-container>*{max-width:var(--content)}
body[data-page="person"] .breadcrumbs{padding:var(--space-3) 0 0}
body[data-page="person"] .person-detail{display:block}
.pp-sec{padding:var(--space-6) 0;border-top:1px solid var(--line)}
body[data-page="person"] .page-container>.pp-sec,body[data-page="person"] .page-container>.person-more{margin:0 auto}
.pp-sh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-4)}
.pp-sh h2{min-width:0;overflow-wrap:anywhere;margin:0;font-size:var(--text-xl);line-height:var(--leading-xl);letter-spacing:-.6px}
.pp-sh a{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;font-size:var(--text-md);font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap}
.pp-sh a .ui-icon{width:16px;height:16px}
body[data-page="person"] .person-detail>.person-profile{display:block;padding:var(--space-2) 0 var(--space-5)}
.person-detail>.person-profile>*{min-width:0}
body[data-page="person"] .person-detail>.person-profile>.pp-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2) var(--space-4)}
.pp-head .pp-title{flex:1 1 14rem;min-width:0}
.pp-head .eyebrow{margin:0 0 var(--space-1)}
.pp-head h1{display:flow-root;min-width:min(7em,100%);margin:0 0 var(--space-1);font-size:var(--text-2xl);line-height:var(--leading-2xl);letter-spacing:-1px;overflow-wrap:break-word;hyphens:auto}
.pp-head .person-context{margin:0;font-size:var(--text-md);line-height:1.4;color:var(--muted)}
.person-profile>.person-gallery{margin:0}
.pp-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:var(--space-4) calc(-1*var(--gutter)) 0;padding:0;list-style:none}
.pp-gallery:has(>.pp-tile-sprite:only-child){grid-template-columns:max-content;width:fit-content;margin-inline:0}
.pp-tile{position:relative;aspect-ratio:1;overflow:hidden;margin:0;background:var(--line)}
.pp-tile>a{position:absolute;inset:0;z-index:3;display:block}
.pp-tile.portrait{height:auto}
.pp-gallery .pp-tile.portrait .portrait-image{object-fit:cover;object-position:50% 25%}
.pp-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.pp-tile>a:focus-visible{outline:0}
.pp-tile>a:focus-visible::before,.pp-tile>a:focus-visible::after{content:"";position:absolute;pointer-events:none}
.pp-tile>a:focus-visible::before{inset:3px;z-index:3;border:3px solid var(--ink);box-shadow:inset 0 0 0 3px #fff}
.pp-tile>a:focus-visible::after{inset:0;z-index:4;border:3px solid #fff}
.pp-tile.pp-tile-sprite,.pp-tile.pp-tile-art:has(.c3-sprite){grid-column:auto;grid-row:auto;justify-self:center;align-self:center;width:96px;max-width:100%;height:116px;aspect-ratio:48/58;container-type:size;--sprite-cap:116px;background:radial-gradient(70% 60% at 50% 60%,#3a3354,#211d33)}
.pp-tile.pp-tile-sprite:not(:only-child){width:auto;height:auto;justify-self:stretch;align-self:stretch;aspect-ratio:1}
.pp-tile.pp-tile-sprite img,.pp-tile.pp-tile-art .c3-sprite img,
.pp-tile.pp-tile-sprite::before,.pp-tile.pp-tile-art:has(.c3-sprite)::before{
  --sprite-height:round(down,min(var(--sprite-cap),100cqh,calc(100cqw * 58 / 48)),58px);
  --sprite-top:round(nearest,calc((100cqh - var(--sprite-height)) / 2),1px);
}
.pp-tile.pp-tile-sprite img,.pp-tile.pp-tile-art .c3-sprite img{
  inset:auto;left:round(nearest,calc((100cqw - var(--sprite-height) * 48 / 58) / 2),1px);top:var(--sprite-top);
  width:calc(var(--sprite-height) * 48 / 58);height:var(--sprite-height);max-height:none;
  margin:0;transform:none;z-index:2;aspect-ratio:48/58;object-fit:fill;image-rendering:pixelated;
}
.pp-tile.pp-tile-sprite::before,.pp-tile.pp-tile-art:has(.c3-sprite)::before{
content:"";position:absolute;z-index:1;left:0;right:0;top:calc(var(--sprite-top) + var(--sprite-height) * 56 / 58);
  height:calc(var(--sprite-height) / 58);background:#786a98;pointer-events:none;
}
.pp-tile.pp-tile-art>.c3-sprite{position:absolute;inset:0;z-index:2;width:100%;height:100%;background:transparent}
.pp-tile.pp-big{grid-column:span 2;grid-row:span 2}
.pp-tile.pp-m2{grid-column:span 2;aspect-ratio:auto}
.pp-tile.pp-m3{grid-column:span 3;aspect-ratio:3/1.4}
body[data-page="person"] .person-detail>.pp-vote-bar{position:sticky;bottom:0;z-index:20;margin:0 calc(-1*var(--gutter));padding:var(--space-3) var(--gutter);border:0;border-top:1px solid var(--line);border-radius:0;background:var(--paper);box-shadow:none}
.pp-vote-bar .form-status:not(:empty){margin:var(--space-2) 0 0}
.pp-vote-bar>h2{margin:0 0 var(--space-3);font-size:var(--text-xl)}
body[data-page="person"] .pp-vote-bar .vote-actions{flex-direction:row;gap:var(--space-3)}
body[data-page="person"] .pp-vote-bar .vote-button{min-height:56px;border-radius:var(--radius-pill);font-size:var(--text-base);font-weight:700}
.pp-sec.pp-vote{padding-top:var(--space-2);border-top:0}
.pp-vote .results{padding:var(--space-2) 0 0}
.pp-vote .result-labels{font-size:var(--text-md)}
.pp-vote .result-labels strong{font-size:var(--text-lg);letter-spacing:-.3px}
.pp-vote .vote-meter{margin:var(--space-2) 0}
.pp-vote .result-labels .ui-icon{display:none}
.pp-vote .vote-count{text-align:left;font-size:var(--text-md);font-weight:600}
.pp-vote>.pp-rank-group{display:block;gap:0;margin:var(--space-5) 0 0}
.pp-rank-group>.fine-print{margin:0}
.pp-rank-group>.pp-ranks{margin:var(--space-2) 0 0}
.pp-ranks{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}
.pp-ranks>li{flex:1 1 0;min-width:max-content}
.pp-rank{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--white);color:var(--ink);text-decoration:none}
.pp-rank>span:first-child{font-size:var(--text-sm);font-weight:600;color:var(--muted)}
.pp-rank strong{font-size:var(--text-lg);line-height:1;font-weight:800;font-variant-numeric:tabular-nums}
.pp-rank.is-best{background:var(--coral);color:var(--white)}
.pp-ranks.is-diss .pp-rank.is-best{background:var(--blue)}
.pp-rank.is-best>span:first-child{color:inherit}
.pp-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}
.pp-chips li{display:flex;min-width:0;max-width:100%}
.pp-chips a{display:flex;align-items:center;min-width:0;max-width:100%;min-height:44px;padding:0 var(--space-4);overflow-wrap:anywhere;border-radius:var(--radius-pill);background:var(--white);color:var(--ink);font-size:var(--text-md);font-weight:600;text-decoration:none}
.pp-chips small{flex-shrink:0;margin-left:var(--space-1);font-size:var(--text-sm);font-weight:600;color:var(--muted)}

.pp-feed{min-width:0}
body[data-page="person"] .pp-sec .news-feed,body[data-page="person"] .pp-sec .community-comments,body[data-page="person"] .pp-sec .growth-widget,body[data-page="person"] .pp-sec .editorial-person{margin-top:0;margin-bottom:0}
.pp-feed .news-section-heading{flex-wrap:wrap;align-items:center;padding:0;margin:0 0 var(--space-2);border:0}
.pp-feed .news-section-heading h2,.pp-comments .section-heading h2{min-width:0;overflow-wrap:anywhere;padding:0;font-size:var(--text-xl);line-height:var(--leading-xl);letter-spacing:-.6px}
.pp-feed .news-byline{display:block}
.pp-feed .news-section-heading>a{font-size:var(--text-md);font-weight:600;color:var(--muted)}
.pp-comments .section-heading{margin-bottom:var(--space-3)}
.pp-feed .news-row:last-child,.pp-comments .community-guidelines{border-bottom:0}
body[data-page="person"] .pp-growth .growth-widget{max-width:none;padding:0;border:0;border-radius:0;background:transparent}
.pp-growth .growth-title{margin:0 0 var(--space-4);font-size:var(--text-xl);font-weight:700;line-height:var(--leading-xl);letter-spacing:-.6px;text-transform:none;text-align:left;color:var(--ink)}
.pp-growth .growth-live{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--space-7);text-align:left}
.pp-growth .growth-art{order:2;min-height:0}
.pp-growth .growth-summary{flex:1 1 auto;width:auto;max-width:20rem}
.pp-growth .growth-actions{justify-items:start}
.pp-growth .growth-details summary{justify-content:flex-start}
.pp-growth .growth-pixel-stage,.pp-growth .growth-pixel-stage .growth-pixel-layer{width:96px;height:116px}
.pp-tile.pp-tile-art .portrait{position:absolute;inset:0;width:auto;height:auto;border-radius:0}
.pp-vote .person-share-cluster .text-button{min-height:44px;margin-top:var(--space-2)}
.pp-vote .person-share-cluster .form-status:empty{display:none}
.pp-related-people{display:grid;align-items:start;grid-template-columns:repeat(auto-fill,minmax(min(100%,6rem),1fr));gap:var(--space-5) var(--space-2);margin:0;padding:0;list-style:none}
.pp-related-person{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0;color:var(--ink);text-decoration:none}
.pp-related-person .portrait,.pp-related-sprite,.pp-related-photo{position:relative;width:72px;height:72px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--line)}
.pp-related-photo{display:block}
.pp-related-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.pp-related-person .portrait{min-height:0;aspect-ratio:1}
.pp-related-person .portrait-initials{font-size:var(--text-xl);letter-spacing:-1px;transform:none}
.pp-related-sprite{display:block;background:radial-gradient(70% 60% at 50% 60%,#3a3354,#211d33)}
.pp-related-sprite img{position:absolute;left:50%;top:6px;width:48px;height:58px;margin-left:-24px;image-rendering:pixelated}
.pp-related-person strong{max-width:100%;margin-top:var(--space-1);font-size:var(--text-md);font-weight:600;line-height:1.3;overflow-wrap:anywhere;white-space:normal}
.pp-related-person small{font-size:var(--text-sm);color:var(--muted)}
body[data-page="person"] .page-container>.pp-related{margin:0 auto;padding:var(--space-6) 0;border-top:1px solid var(--line)}
body[data-page="person"] .page-container>.person-more{margin-top:0;border-top:1px solid var(--line)}

@media(max-width:760px){
  body[data-page="person"] .person-detail>.pp-vote-bar{bottom:calc(64px + env(safe-area-inset-bottom))}
}
@media(max-width:760px) and (max-height:500px){
  body[data-page=person] .header-inner .main-nav{position:static;min-height:0;padding:0}
  body[data-page=person] .person-detail>.pp-vote-bar{position:static}
}
@media(min-width:761px){
  .pp-sec,body[data-page="person"] .page-container>.pp-related{padding:var(--space-7) 0}
  .pp-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:var(--space-5) 0 0}
  .pp-tile.pp-big{grid-column:auto;grid-row:auto}
  .pp-tile.pp-m2,.pp-tile.pp-m3{grid-column:auto;aspect-ratio:1}
  .pp-tile.pp-d2{grid-column:span 2;aspect-ratio:auto}
  .pp-tile.pp-d3{grid-column:span 3;aspect-ratio:auto}
  .pp-tile.pp-d4{grid-column:span 4;aspect-ratio:4/1.3}
  body[data-page="person"] .person-detail>.pp-vote-bar{margin:0;padding-inline:0}
  .pp-vote-bar .vote-actions{max-width:none}
  .pp-tile.pp-tile-sprite,.pp-tile.pp-tile-art:has(.c3-sprite){width:144px;height:174px;--sprite-cap:174px}
  .pp-related-people{grid-template-columns:repeat(6,minmax(0,1fr))}
  .pp-growth .growth-pixel-stage,.pp-growth .growth-pixel-stage .growth-pixel-layer{width:144px;height:174px}
}
@media(min-width:1200px){
  .pp-vote-bar .vote-actions{max-width:560px}
  .pp-vote{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:var(--space-7);align-items:start}
  .pp-vote>.pp-rank-group{margin:0}
}
img[src*="/gallery/"][src*="-s2-"]{image-rendering:pixelated}
.person-gallery-image[src*="/gallery/"][src*="-s2-"]{width:round(down,100%,64px);margin-inline:auto}
.person-gallery-thumb:has(img[src*="/gallery/"][src*="-s2-"]){width:68px;height:68px}
.pp-sec.pp-tags{padding:var(--space-5) 0}
.pp-tags+.pp-sec,body[data-page="person"] .page-container>.pp-tags+.pp-related{padding-top:var(--space-5)}
.person-more .portrait-credit{font-size:var(--text-sm);min-height:44px;align-items:center}
.person-more .detail-footer-links>.text-link{min-height:44px;min-width:44px}
@media(max-width:600px){
  .pp-ranks{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:var(--space-1)}
  .pp-ranks>li{min-width:0}
  .pp-rank{padding:var(--space-3) var(--space-2)}
  .pp-rank strong{font-size:var(--text-base)}
}
.pp-related span.rv{display:inline-flex;flex:none;margin-right:calc(-1*var(--space-2))}
.pp-related a.rv-b{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-pill);color:var(--love)}
.pp-related a.rv-b:hover{text-decoration:none}
.pp-related a.rv-b:before{content:"";width:30px;height:30px;border-radius:var(--radius-pill);background:var(--love-soft);transition:transform .12s,background-color .15s}
.pp-related a.rv-b:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;background:currentColor;-webkit-mask:var(--rv-icon) center/contain no-repeat;mask:var(--rv-icon) center/contain no-repeat}
.pp-related a.rv-b:active:before{transform:scale(.88)}
.pp-related a.rv-l{--rv-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E")}
.pp-related a.rv-d{color:var(--diss);--rv-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-2 5 4 4-3 4 1 5M9 4C3-1-2 7 3 12l9 9 9-9c5-5 0-13-6-8'/%3E%3C/svg%3E")}
.pp-related a.rv-d:before{background:var(--diss-soft)}
.pp-related span.rv-on-l a.rv-l,.pp-related span.rv-on-d a.rv-d{color:var(--white)}
.pp-related span.rv-on-l a.rv-l:before{background:var(--love-strong)}
.pp-related span.rv-on-d a.rv-d:before{background:var(--diss-strong)}
.pp-related span.rv-busy a.rv-b{cursor:progress}
.pp-related span.rv-busy a.rv-b:before{opacity:.6}
@media(forced-colors:active){.pp-related a.rv-b:after{background:ButtonText}.pp-related a.rv-b[aria-pressed=true]{outline:2px solid Highlight}}
