:root{--social-ink:var(--ink,#283b52);--social-muted:var(--muted,#526174);--social-line:var(--line,#e1e6ec);--social-blue:#235d9e;--social-purple:#7041a5;--social-orange:#b9630a}
.account-menu,.social-home,.account-page,.auth-page,.hall-page,.public-life-page{color:var(--social-ink)}
.account-login,.account-menu summary{font-weight:700}.account-menu{position:relative}.account-menu summary{display:flex;align-items:center;gap:.7rem;cursor:pointer;list-style:none;padding:.7rem 1rem}.account-menu summary::-webkit-details-marker{display:none}.account-menu nav{display:grid;position:absolute;right:0;top:100%;z-index:30;background:#fff;border:1px solid var(--social-line);border-radius:.65rem;min-width:10rem;box-shadow:0 6px 25px #23395218;padding:.35rem}.account-menu nav a,.account-menu nav button{display:block;width:100%;padding:.7rem .9rem;text-align:left;border:0;background:transparent;color:inherit;font:inherit;text-decoration:none}.account-menu nav a:hover,.account-menu nav button:hover{background:#f0f4f9}.social-back{display:inline-block;margin-bottom:1.7rem;color:var(--social-muted);text-decoration:none}.social-muted{color:var(--social-muted);line-height:1.7}.social-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.16em;color:var(--social-muted)}
.social-home{margin-top:3rem}.community-section{padding:2.2rem 0;border-top:1px solid var(--social-line)}.social-section-title{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.3rem}.social-section-title h2{font-size:1.3rem;margin:0}.social-section-title a{color:inherit;text-decoration:none}.social-section-title>a{font-size:.85rem;color:var(--social-muted);white-space:nowrap}.social-life-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;align-items:stretch}.social-life-card{position:relative;min-width:0;border:1px solid var(--social-line);border-radius:.7rem;background:white;transition:border-color .16s,box-shadow .16s}.social-life-card:hover{border-color:#9bb3d3;box-shadow:0 5px 18px #263c5b0b}.social-life-card-main{display:flex;flex-direction:column;gap:.9rem;padding:1rem;text-decoration:none;color:inherit;height:100%;box-sizing:border-box}.social-life-card header{display:flex;gap:.7rem;align-items:center;min-width:0}.social-life-card header>div{min-width:0}.social-life-card h3{font-size:.95rem;line-height:1.45;margin:0;overflow-wrap:anywhere}.social-life-card header p{font-size:.69rem;color:var(--social-muted);line-height:1.5;margin:.25rem 0 0}.social-portrait{display:block;flex:0 0 3.3rem;width:3.3rem;aspect-ratio:1;border-radius:.5rem;background-color:#d9d5cb;background-repeat:no-repeat;image-rendering:auto}.portrait-empty{display:grid;place-items:center;font-size:2rem;background:#f1f4f8;color:#8293aa}.social-card-profession{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}.social-card-profession>strong{font-size:.86rem;line-height:1.5}.social-card-profession small{font-size:.75rem;font-weight:500;white-space:nowrap}.social-tier{font-size:.68rem;font-weight:600;color:var(--social-muted)}.tier-basic{color:var(--social-ink)}.tier-advanced{color:#356757}.tier-hidden,.tier-specialist{color:var(--social-blue)}.tier-unique,.tier-prime{color:var(--social-purple)}.tier-mystic{color:#a44236}.social-card-talents{display:flex;flex-direction:column;gap:.35rem}.social-talent{display:flex;gap:.25rem .5rem;flex-wrap:wrap;align-items:baseline;font-size:.74rem;line-height:1.45}.social-talent small{font-size:.67rem;color:var(--social-muted);white-space:nowrap}.rarity-normal>strong{color:var(--social-ink)}.rarity-rare>strong{color:var(--social-blue)}.rarity-unique>strong{color:var(--social-purple)}.social-biography p{margin:0;line-height:1.75;overflow-wrap:anywhere}.social-card-biography{font-size:.72rem;color:var(--social-muted);border-top:1px solid #edf1f6;padding-top:.7rem}.social-card-honors{display:flex;flex-direction:column;gap:.5rem;padding:.8rem 1rem;border-top:1px solid var(--social-line)}.social-card-honors:empty{display:none}.social-life-card:has(.social-card-honors) .social-life-card-main{height:auto}.ordinal-link{color:#916021;font-size:.76rem;line-height:1.5;text-decoration:underline;text-underline-offset:3px}.social-empty{grid-column:1/-1;padding:2.4rem 1.3rem;text-align:center;color:var(--social-muted);font-size:.95rem;line-height:1.7}.social-empty a{display:inline-block;margin-top:.4rem;color:var(--social-blue)}
.account-page,.hall-page,.public-life-page{width:min(1500px,100%);margin:0 auto;padding:2rem clamp(1rem,3vw,3rem) 4rem;box-sizing:border-box}.social-page-heading{margin-bottom:2rem}.social-page-heading h1{font-size:1.7rem;margin:0 0 .6rem}.social-page-heading p{color:var(--social-muted);margin:.4rem 0}.account-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:2rem;min-height:60vh}.account-sidebar{display:flex;flex-direction:column;gap:.35rem;border-right:1px solid var(--social-line);padding-right:1rem}.account-sidebar a{padding:.8rem .9rem;display:block;text-decoration:none;color:var(--social-muted);border-radius:.4rem}.account-sidebar a[aria-current=page]{background:#edf3fa;color:var(--social-blue);font-weight:700}.account-sidebar-bottom{margin-top:auto;padding-top:2rem}.account-content{min-width:0}.account-content>h2{font-size:1.2rem;margin:0 0 1.5rem}.account-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.account-records article{border:1px solid var(--social-line);border-radius:.65rem;padding:1.4rem;background:white;min-width:0}.account-records h2{font-size:.87rem;font-weight:500;color:var(--social-muted);margin:0 0 1.6rem}.account-records p{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin:0}.account-records strong{font-size:clamp(1.4rem,2.2vw,2.3rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.account-records span{font-size:.8rem;color:var(--social-muted)}.collection-section{margin-bottom:2.4rem}.collection-section h2{font-size:1.1rem;margin:0 0 1rem}.collection-section h2>span{font-size:.9rem;font-weight:500}.collection-grid{display:flex;flex-wrap:wrap;gap:.65rem}.collection-item{position:relative;padding:.7rem .95rem;border:1px solid currentColor;border-radius:.45rem;font-size:.9rem;background:#fff}.collection-item[tabindex]{cursor:help}.collection-item strong{font-weight:600}.collection-tooltip{display:none;position:absolute;z-index:20;left:50%;top:calc(100% + 6px);transform:translateX(-50%);width:max-content;max-width:min(300px,75vw);padding:.65rem .8rem;border-radius:.4rem;color:white;background:#273a51;box-shadow:0 4px 12px #0002;font-size:.76rem;font-weight:400;line-height:1.65;pointer-events:none}.collection-item:hover .collection-tooltip,.collection-item:focus .collection-tooltip{display:block}.collection-empty{min-height:14rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.life-pin{position:absolute;right:.55rem;bottom:.55rem;display:grid;place-items:center;width:2.4rem;height:2.4rem;padding:.4rem;border:1px solid var(--social-line);border-radius:50%;background:#fff;color:#8292a6;opacity:0;cursor:pointer;transition:opacity .15s,color .15s,background .15s}.life-pin svg{width:100%;height:100%;fill:transparent;stroke:currentColor;stroke-width:1.65;stroke-linejoin:round}.social-life-card:hover .life-pin,.social-life-card:focus-within .life-pin,.life-pin.is-pinned{opacity:1}.life-pin.is-pinned{color:#ae5600;background:#fff4df;border-color:#e9a54b}.life-pin.is-pinned svg{fill:#ee951e;stroke:#a85604}.social-life-card:has(.life-pin) .social-life-card-main{padding-bottom:3.5rem}.account-info{display:grid;grid-template-columns:100px 1fr;gap:1rem;margin:0 0 3rem;padding:1.3rem 0;border-block:1px solid var(--social-line)}.account-info dt{color:var(--social-muted)}.account-info dd{margin:0;font-weight:700}.account-delete{max-width:540px}.account-delete h2{font-size:1.1rem}.account-delete form{display:flex;flex-direction:column;align-items:flex-start}.account-delete label,.auth-panel label{display:flex;flex-direction:column;gap:.6rem;font-size:.9rem;font-weight:600;width:100%}.account-delete input,.auth-panel input{box-sizing:border-box;width:100%;border:1px solid #bacade;border-radius:.4rem;padding:.85rem;font:inherit;color:var(--social-ink);background:white}.account-form-message{min-height:1.4em;color:#a53536;font-size:.85rem;line-height:1.6}.account-delete button,.auth-panel button,.hall-filter button,.social-dialog-actions button{border:1px solid var(--social-line);border-radius:.4rem;padding:.7rem 1rem;font:inherit;cursor:pointer;background:white;color:var(--social-ink)}.social-primary{background:#294a70!important;color:white!important;border-color:#294a70!important}.social-danger{color:#a43d38!important;border-color:#d9aaa7!important}.account-delete dialog{border:1px solid var(--social-line);border-radius:.7rem;padding:1.6rem;max-width:min(420px,calc(100vw - 2rem));box-sizing:border-box;color:var(--social-ink)}.account-delete dialog::backdrop{background:#12233b70}.social-dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.5rem}.auth-page{max-width:520px;margin:0 auto;padding:2.5rem 1.2rem 4rem;box-sizing:border-box}.auth-panel{padding:2rem;border:1px solid var(--social-line);border-radius:.8rem;background:white}.auth-panel h1{font-size:1.6rem;margin:.5rem 0 1rem}.auth-panel form{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.8rem}.auth-panel .account-form-message{margin:0}.auth-hint{font-size:.77rem;margin:0}.auth-switch,.guest-link{font-size:.85rem;line-height:1.7}.auth-switch{margin-top:1.6rem}.auth-switch a,.guest-link{color:var(--social-blue)}
.hall-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.hall-heading h1 a{text-decoration:none;color:inherit}.hall-filter{display:flex;align-items:center;gap:.6rem}.hall-filter label{font-size:.8rem;color:var(--social-muted)}.hall-filter select{font:inherit;border:1px solid var(--social-line);padding:.65rem;border-radius:.4rem;background:white;color:var(--social-ink)}.hall-filter button{font-size:.85rem}.social-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:2rem 0;color:var(--social-muted);font-size:.9rem}.social-pagination a{color:var(--social-blue);text-decoration:none}.social-pagination a:last-child{text-align:right}.public-life-page{max-width:900px}.public-life-summary{background:#fff;border:1px solid var(--social-line);border-radius:.8rem;padding:clamp(1.2rem,4vw,2.8rem)}.public-life-heading{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.8rem}.public-life-heading .social-portrait{width:6.5rem;flex-basis:6.5rem}.public-life-heading h1{font-size:1.45rem;margin:.4rem 0}.public-life-heading p:not(.social-eyebrow){color:var(--social-muted);font-size:.85rem}.public-life-biography{font-size:.95rem;margin-bottom:2rem}.public-life-summary section{border-bottom:1px solid #e6edf5;padding:1.4rem 0}.public-life-summary section h2{font-size:.85rem;color:var(--social-muted);margin:0 0 1rem}.public-life-talents>div{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem}.public-life-talents .social-talent{font-size:.9rem}.public-life-talents .social-talent small{font-size:.75rem}.public-life-paths>div{display:flex;flex-direction:column;gap:.7rem}.public-life-path-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.public-life-path-row>span{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.public-life-path-row strong{font-size:.88rem}.public-life-path-row .social-tier{font-size:.73rem}.public-life-honors>div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem 0;font-size:.9rem}.public-life-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;border-bottom:1px solid #e6edf5;margin:0;padding:1.5rem 0}.public-life-metrics dt{font-size:.8rem;color:var(--social-muted);margin-bottom:.7rem}.public-life-metrics dd{font-size:clamp(1.15rem,3vw,1.6rem);font-weight:700;margin:0;overflow-wrap:anywhere}.public-life-family{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;padding:1.4rem 0;border-bottom:1px solid #e6edf5}.public-life-summary .public-life-death{border:0;padding-bottom:0;font-size:.9rem;line-height:1.8}.social-home a:focus-visible,.account-page a:focus-visible,.hall-page a:focus-visible,.public-life-page a:focus-visible,.auth-page a:focus-visible,.life-pin:focus-visible,.collection-item:focus-visible{outline:2px solid #4674ad;outline-offset:4px}
@media (hover:none){.life-pin{opacity:1}}
@media (max-width:1100px){.account-layout{grid-template-columns:125px minmax(0,1fr);gap:1.2rem}.account-records{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.social-life-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.account-layout{display:flex;flex-direction:column}.account-sidebar{flex-direction:row;border-right:0;border-bottom:1px solid var(--social-line);padding:0 0 .7rem;gap:.3rem}.account-sidebar a{font-size:.85rem;padding:.65rem .7rem}.account-sidebar-bottom{margin:0 0 0 auto;padding:0}.account-life-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-life-card-main{padding:.85rem}.social-life-card header{flex-direction:column;align-items:flex-start}.social-life-card h3{font-size:.9rem}.social-life-card header p{font-size:.66rem}.hall-heading{align-items:flex-start;flex-direction:column}.hall-filter{align-self:flex-end}.social-section-title h2{font-size:1.1rem}.social-section-title>a{font-size:.75rem}.account-records article{padding:1rem}.account-records h2{font-size:.78rem;margin-bottom:1rem}.public-life-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.public-life-heading .social-portrait{width:5rem;flex-basis:5rem}.public-life-heading h1{font-size:1.2rem}.auth-panel{padding:1.4rem}.public-life-path-row{align-items:flex-start}.public-life-path-row .ordinal-link{margin-left:auto}.public-life-honors>div{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.social-life-card,.life-pin{transition:none}}

/* The account and community surfaces share the original home content bounds.
   Narrow reading surfaces live inside that shell, so their back links and
   section edges remain aligned with the rest of the game. */
.home-main.social-home,.home-main.social-page {
  width:100%; max-width:1440px; margin-inline:auto; padding-inline:45px;
  color:var(--text); font-size:var(--body-size);
}
.home-main.social-home { margin-top:40px; margin-bottom:64px; }
.home-main.social-page { padding-top:40px; padding-bottom:72px; }
.community-section { padding:32px 0; }
.social-section-title { gap:16px; margin-bottom:20px; }
.social-section-title h2 { font-size:calc(24px * var(--text-scale)); line-height:1.55; }
.social-section-title>a,.social-back { font-size:var(--small-size); }
.social-back { margin-bottom:28px; }
.social-eyebrow { font-size:calc(13px * var(--text-scale)); letter-spacing:1px; }
.social-page-heading { margin-bottom:32px; }
.social-page-heading h1 { font-size:calc(32px * var(--text-scale)); line-height:1.5; }
.social-page-heading p,.social-muted { font-size:var(--body-size); }
.social-empty { padding:32px 20px; font-size:var(--body-size); }

.social-life-grid { gap:16px; }
.social-life-card { border-radius:10px; }
.social-life-card-main { gap:14px; padding:18px; }
.social-life-card h3 { font-size:calc(16px * var(--text-scale)); }
.social-life-card header p { font-size:calc(13px * var(--text-scale)); }
.social-card-profession>strong { font-size:calc(15px * var(--text-scale)); }
.social-card-profession small,.social-tier { font-size:calc(12px * var(--text-scale)); }
.social-talent,.social-card-biography { font-size:calc(14px * var(--text-scale)); }
.social-talent small { font-size:calc(12px * var(--text-scale)); white-space:normal; }
.ordinal-link { font-size:calc(13px * var(--text-scale)); }
.social-card-honors { padding:14px 18px; }
.social-life-card header { flex-wrap:wrap; }
.social-life-card header>div { flex:1 1 100px; }

.account-layout { gap:28px; }
.account-sidebar a { font-size:var(--small-size); }
.account-content>h2 { font-size:calc(24px * var(--text-scale)); }
.account-records article { padding:24px; border-radius:10px; }
.account-records h2 { font-size:var(--small-size); }
.account-records span { font-size:var(--small-size); }
.collection-section h2 { font-size:calc(20px * var(--text-scale)); }
.collection-item,.collection-section h2>span { font-size:var(--small-size); }
.collection-tooltip { font-size:calc(13px * var(--text-scale)); }
.account-info dd { min-width:0; overflow-wrap:anywhere; }
.account-delete h2 { font-size:calc(20px * var(--text-scale)); margin-bottom:12px; }
.account-delete form { margin-top:24px; }
.account-delete label,.auth-panel label { font-size:var(--body-size); }
.account-form-message { font-size:var(--small-size); }
.account-delete input,.auth-panel input { padding:12px 14px; border-color:#cfd7e0; border-radius:6px; }
.account-delete button,.auth-panel button,.hall-filter button,.social-dialog-actions button {
  min-height:45px; padding:10px 17px; border-radius:6px; font-weight:700;
}
.social-primary { background:var(--accent-strong)!important; border-color:var(--accent-strong)!important; }
.auth-panel { width:100%; max-width:520px; margin:0 auto; padding:32px; border-radius:10px; }
.auth-panel h1 { font-size:calc(28px * var(--text-scale)); }
.auth-hint,.auth-switch,.guest-link { font-size:var(--small-size); }
.auth-panel .social-muted { font-size:var(--small-size); }
.hall-filter { flex-wrap:wrap; justify-content:flex-end; }
.hall-filter label,.hall-filter button,.hall-filter select,.social-pagination { font-size:var(--small-size); }
.hall-filter select { min-height:45px; padding:10px 14px; border-radius:6px; }
.public-life-page>.public-life-summary { width:100%; max-width:900px; margin-inline:auto; }
.public-life-summary { border-radius:10px; }
.public-life-heading { min-width:0; }
.public-life-heading>div { min-width:0; }
.public-life-heading h1 { font-size:calc(28px * var(--text-scale)); }
.public-life-heading p:not(.social-eyebrow),.public-life-summary section h2,
.public-life-path-row strong,.public-life-family,.public-life-metrics dt,
.public-life-talents .social-talent,.public-life-summary .public-life-death { font-size:var(--small-size); }
.public-life-biography { font-size:var(--body-size); }
.public-life-path-row .social-tier,.public-life-talents .social-talent small { font-size:calc(12px * var(--text-scale)); }
.public-life-metrics dd { font-size:calc(24px * var(--text-scale)); }
.account-menu summary { font-size:var(--small-size); }
.site-header .account-menu nav { display:grid; gap:0; }

/* Static first-paint rows reserve space without shimmer or moving content. */
.social-page>.bootstrap-record-skeleton {
  display:grid; gap:16px; align-content:start; width:100%; min-width:0;
  min-height:272px; margin-top:32px;
}
.bootstrap-record-skeleton>span {
  display:block; height:72px; border:1px solid var(--social-line);
  border-radius:6px; background:var(--accent-soft,#f3f6fa);
}
.social-page:has(>.bootstrap-record-skeleton)>h1 {
  font-size:calc(32px * var(--text-scale)); line-height:1.5;
}

@media(max-width:1199px) {
  .social-life-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .account-life-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .social-life-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .social-life-card-main { padding:16px; }
  .social-life-card header { flex-direction:row; align-items:center; }
  .social-life-card header>div { flex-basis:110px; }
  .social-section-title h2 { font-size:calc(23px * var(--text-scale)); }
  .social-page-heading h1 { font-size:calc(28px * var(--text-scale)); }
  .account-layout { gap:24px; }
  .account-sidebar { flex-wrap:wrap; }
  .account-records article { padding:18px; }
  .public-life-heading h1 { font-size:calc(23px * var(--text-scale)); }
  .social-page:has(>.bootstrap-record-skeleton)>h1 { font-size:calc(28px * var(--text-scale)); }
  .social-page>.bootstrap-record-skeleton { gap:12px; margin-top:24px; min-height:240px; }
  .bootstrap-record-skeleton>span { height:64px; }
}
@media(max-width:699px) {
  .home-main.social-home,.home-main.social-page { padding-inline:23px; }
  .home-main.social-home { margin-top:30px; margin-bottom:40px; }
  .home-main.social-page { padding-top:28px; padding-bottom:48px; }
  .auth-panel { padding:24px; }
}
@media(max-width:480px) {
  .social-life-grid { grid-template-columns:minmax(0,1fr); }
  .social-section-title { align-items:flex-start; }
  .social-section-title>a { padding-top:5px; }
  .account-records { grid-template-columns:minmax(0,1fr); }
  .account-info { grid-template-columns:80px minmax(0,1fr); }
  .public-life-heading { align-items:flex-start; gap:16px; }
  .public-life-heading .social-portrait { width:64px; flex-basis:64px; }
  .public-life-summary { padding:20px; }
  .public-life-metrics dd { font-size:calc(22px * var(--text-scale)); }
}
