.header,
.footer,
.home-main,
.board-main,
.profile-main,
.join-main {
  width: min(1440px, calc(100% - 80px));
}

.public-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

.public-page > main {
  flex: 1 0 auto;
  margin-block: 0;
  margin-inline: auto;
}

.public-page > .footer {
  flex: none;
  margin-top: auto;
}

.header-cta,
.button,
.join-panel,
.person-card,
.card-vote,
.profile-portrait,
.portrait,
.challenge,
.empty,
#toast {
  border-radius: 10px;
}

.header-cta {
  justify-content: center;
  min-width: 136px;
  padding-inline: 20px;
}

.header-utilities { display: flex; align-items: center; gap: 9px; margin-left: -20px; }
.header-menu { position: relative; }
.header-menu-trigger { position: relative; display: flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; list-style: none; border: 1px solid #3c3c3c; border-radius: 8px; color: #f2f2ef; cursor: pointer; }
.header-menu-trigger::-webkit-details-marker { display: none; }
.header-menu[open] .header-menu-trigger,.header-menu-trigger:hover { border-color: #a7a7a4; background: #181818; }
.notification-trigger svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.notification-trigger--unread svg { stroke: #da6870; }
.notification-count { position: absolute; top: -7px; right: -7px; min-width: 19px; height: 19px; padding: 0 4px; border-radius: 10px; background: #b94350; box-shadow: 0 0 0 2px #070808; color: #fff; font-size: 10px; font-weight: 800; line-height: 19px; text-align: center; }
.notification-count[hidden] { display: none; }
.account-trigger { gap: 8px; padding: 3px 9px 3px 3px; }
.account-trigger img,.account-initial { width: 30px; height: 30px; border-radius: 6px; object-fit: cover; }
.account-initial { display: grid; place-items: center; background: #333; font-size: 12px; font-weight: 800; }
.account-name { max-width: 130px; overflow: hidden; font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.notification-panel,.account-panel { position: absolute; z-index: 30; top: calc(100% + 12px); right: 0; width: min(340px, calc(100vw - 32px)); border: 1px solid #444; border-radius: 10px; background: #111; box-shadow: 0 24px 60px #000b; }
.notification-panel { padding: 16px; }
.notification-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #333; }
.notification-panel-heading strong { font-size: 15px; }
.notification-mark-read { padding: 0; border: 0; background: none; color: #c7c7c4; font: 600 11px Inter, sans-serif; cursor: pointer; }
.notification-mark-read:hover { color: #fff; }
.notification-mark-read[hidden] { display: none; }
.notification-list { max-height: 320px; overflow: auto; }
.notification-empty { margin: 17px 0 5px; color: #aaa; font-size: 13px; }
.header nav .notification-item:not(.header-cta) { display: flex; flex-direction: column; gap: 4px; padding: 13px 7px; border-bottom: 1px solid #2b2b2b; color: #c4c4c1; font-size: 12px; text-decoration: none; }
.header nav .notification-item:not(.header-cta):hover { color: #fff; background: #1b1b1b; }
.notification-item:last-child { border-bottom: 0; }
.notification-item--unread strong { color: #fff; }
.notification-item span { color: #aaa; font-size: 11px; }
.account-panel { width: 180px; padding: 7px; }
.header nav .account-panel a:not(.header-cta),.account-panel button { display: flex; align-items: center; width: 100%; min-height: 39px; padding: 0 11px; border: 0; border-radius: 6px; background: none; color: #e5e5e2; font: 600 12px Inter, sans-serif; text-align: left; text-decoration: none; cursor: pointer; }
.header nav .account-panel a:not(.header-cta):hover,.account-panel button:hover { background: #242424; color: #fff; }

@media (max-width: 760px) {
  .header-utilities { gap: 6px; margin-left: 0; }
  .account-trigger { width: 38px; padding: 3px; }
  .account-name { display: none; }
  .signed-in .header nav > .header-cta { display: none; }
  .notification-panel { position: fixed; top: 78px; right: 16px; }
}

.button {
  justify-content: center;
  gap: 12px;
  min-height: 56px;
  padding-inline: 27px;
}

.footer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 32px;
  min-height: 130px;
  padding: 30px 0;
  color: #aab0aa;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
}

.footer a {
  color: #c5c5c3;
  text-decoration: none;
}

.footer a:hover,.footer a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.footer-brand { color: #f4f4f1 !important; font-size: 14px; font-weight: 750; white-space: nowrap; }
.footer-lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-self: center; gap: 13px 32px; width: min(100%, 560px); }
.footer-legal { display: flex; gap: 20px; white-space: nowrap; }

@media (max-width: 760px) {
  .footer { grid-template-columns: minmax(0, 1fr) auto; gap: 23px 12px; padding: 28px 0 36px; font-size: 12px; }
  .footer-lists { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; gap: 15px 18px; }
  .footer-legal { justify-self: end; gap: 15px; }
}

.home-main {
  display: block;
  min-height: 0;
  padding: clamp(92px, 10vh, 145px) 0 118px;
}

.home-hero {
  max-width: 1080px;
  margin-inline: auto;
  text-align: center;
}

.home-hero h1 {
  margin: 0 0 25px;
  font-size: clamp(4.4rem, 7.6vw, 8rem);
  line-height: 1.02;
  letter-spacing: -.06em;
  text-wrap: balance;
}

.admin-login>.eyebrow { display: none; }

.home-hero h1 em {
  color: #b6b6b3;
}

.home-lead {
  max-width: 670px;
  margin: 0 auto;
  color: #b6bbb5;
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.6;
  letter-spacing: -.018em;
  text-wrap: pretty;
}

.hero-actions {
  justify-content: center;
  gap: 12px;
  margin-top: 37px;
}

.hero-actions .button {
  min-width: 205px;
}

.home-feature {
  max-width: 1100px;
  margin: clamp(72px, 8vh, 105px) auto 0;
}

.home-feature-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 0 4px 17px;
}

.feature-index,
.feature-edition,
.feature-kicker,
.feature-status-label {
  color: #b7b7b5;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
}

.feature-edition {
  color: #777774;
}

.feature-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: stretch;
  gap: 35px;
  min-height: 335px;
  padding: clamp(30px, 4vw, 54px);
  border-color: #383838;
  border-radius: 16px;
  background: linear-gradient(120deg, #1a1a1a, #0d0d0d 76%);
  box-shadow: inset 0 1px 0 #ffffff0d;
}

.feature-list:hover {
  border-color: #858585;
  transform: translateY(-2px);
}

.feature-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.feature-list strong {
  display: block;
  margin: 0 0 19px;
  font-size: clamp(3.4rem, 5.3vw, 5.8rem);
  line-height: 1.02;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.feature-note {
  max-width: none;
  color: #b2b2b0;
  font-size: 15px;
  line-height: 1.5;
}

.feature-status {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding-left: 30px;
  border-left: 1px solid #3b3b3b;
}

#home-deadline {
  display: block;
  margin: 10px 0 34px;
  color: #f4f4f1;
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -.035em;
}

.feature-status-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 17px;
  border: 1px solid #eeeef0;
  border-radius: 8px;
  background: #eeeef0;
  color: #101010;
  font-size: 12px;
  font-weight: 700;
}

.feature-list:hover .feature-status-action {
  background: #fff;
}

.board-intro h1,
.profile-title h1,
.join-intro h1 {
  letter-spacing: -.055em;
}

.section-top h2,
.feature-list strong,
.join-panel h2 {
  letter-spacing: -.05em;
}

.join-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 54px;
  max-width: 760px;
  min-height: 0;
  padding: clamp(84px, 10vh, 130px) 0 118px;
}

.join-intro {
  text-align: center;
}

.join-intro h1 {
  margin: 22px 0 21px;
  font-size: clamp(4.4rem, 7.3vw, 6.9rem);
  line-height: 1.03;
  text-wrap: balance;
}

.join-intro>p:not(.eyebrow) {
  max-width: 540px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.6;
  text-wrap: pretty;
}

.join-steps {
  justify-content: center;
  margin-top: 28px;
}

.join-panel {
  width: min(100%, 590px);
  min-height: 0;
  padding: 36px 42px 42px;
  border-color: #3a423a;
  border-radius: 14px;
  background: #101310;
  text-align: center;
}

.join-panel .eyebrow {
  margin-bottom: 21px;
}

.join-panel h2 {
  font-size: clamp(2rem, 4vw, 2.7rem);
}

.join-panel p {
  max-width: 395px;
  margin-inline: auto;
  font-size: 14px;
}

.join-panel .x-signin {
  display: inline-flex;
  width: 100%;
  min-height: 58px;
  margin: 24px 0 0;
  border: 1px solid #3a3a3a;
  border-radius: 6px;
  background: #000;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  transition: border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}

.join-panel .x-signin:hover:not(:disabled) {
  border-color: #6a6a6a;
  background: #111;
}

.join-panel .x-signin:disabled {
  border-color: #3a3a3a;
  color: #b8b8b8;
  opacity: 1;
  cursor: not-allowed;
}

.x-signin svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.join-user {
  justify-content: center;
}

.join-actions {
  justify-content: center;
}

@media (max-width: 760px) {
  .header,
  .footer,
  .home-main,
  .board-main,
  .profile-main,
  .join-main {
    width: calc(100% - 40px);
  }

  .home-main {
    padding: 77px 0 85px;
  }

  .home-hero h1 {
    margin: 25px 0 20px;
    font-size: clamp(3.25rem, 11vw, 5.6rem);
    letter-spacing: -.055em;
  }

  .home-lead {
    max-width: 430px;
    font-size: 16px;
  }

  .hero-actions {
    gap: 9px;
    margin-top: 28px;
  }

  .hero-actions .button {
    min-width: 0;
    flex: 1;
    padding-inline: 12px;
    font-size: 12px;
  }

  .home-feature {
    margin-top: 78px;
  }

  .feature-list {
    display: flex;
    flex-direction: column;
    gap: 28px;
    min-height: 0;
    padding: 28px;
  }

  .feature-list strong {
    margin: 21px 0 13px;
    font-size: clamp(3rem, 10vw, 4.7rem);
  }

  .feature-status {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 21px 0 0;
    border-top: 1px solid #3b3b3b;
    border-left: 0;
  }

  .feature-status-label {
    width: 100%;
  }

  #home-deadline {
    margin: 0;
    font-size: 20px;
  }

  .join-main {
    gap: 40px;
    padding: 75px 0 85px;
  }

  .join-intro h1 {
    font-size: clamp(3.25rem, 11vw, 5rem);
  }

  .join-intro>p:not(.eyebrow) {
    font-size: 16px;
  }

  .join-panel {
    padding: 29px 23px 34px;
  }
}

@media (max-width: 430px) {
  .hero-actions {
    flex-direction: column;
  }

  .hero-actions .button {
    width: 100%;
    flex: auto;
  }

  .home-hero h1,
  .join-intro h1 {
    font-size: clamp(2.9rem, 11.5vw, 4rem);
  }

  .feature-edition {
    display: none;
  }

  .feature-list {
    padding: 24px;
  }

  .feature-status-action {
    min-height: 38px;
    padding: 0 12px;
  }

  .join-steps {
    gap: 8px 13px;
    font-size: 11px;
  }
}

.load-sentinel { min-height: 1px; }
.load-sentinel [hidden] { display: none; }
.load-sentinel .button { margin-top: 18px; }

.x-signin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 62px;
  padding: 0 30px;
  border: 1px solid #686868;
  border-radius: 9px;
  background: #000;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.02em;
  transition: border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}

.x-signin:hover:not(:disabled) { border-color: #eee; background: #151515; transform: translateY(-2px); }
.x-signin svg { width: 19px; height: 19px; fill: currentColor; }

.hero-actions .home-signin { min-width: 250px; }
.archive-shelf { max-width: 1100px; margin: 95px auto 0; }
.archive-shelf-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 22px; }
.archive-shelf h2 { margin: 0; font-size: clamp(2rem, 3.6vw, 3.5rem); letter-spacing: -.055em; }
.archive-shelf-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.archive-shelf-grid a { min-height: 210px; display: flex; flex-direction: column; padding: 24px; border: 1px solid #353737; border-radius: 13px; background: #101111; text-decoration: none; transition: border-color .2s var(--ease), transform .2s var(--ease); }
.archive-shelf-grid a:hover { border-color: #d6d6d3; transform: translateY(-3px); }
.archive-shelf-grid span,.archive-shelf-grid small { color: #a5a7a4; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.archive-shelf-grid strong { margin: auto 0 25px; font-size: clamp(1.6rem, 2.3vw, 2.4rem); line-height: 1.1; letter-spacing: -.055em; }

.join-main { width: min(670px, calc(100% - 40px)); gap: 33px; padding: clamp(75px, 9vh, 115px) 0 115px; }
.join-intro h1 { margin: 0 0 15px; font-size: clamp(3.7rem, 7vw, 6.5rem); }
.join-panel { width: 100%; padding: 38px; border: 1px solid #393b39; border-radius: 15px; background: #111212; }
.join-panel h2 { margin: 15px 0 10px; }
.join-panel .x-signin { margin-top: 25px; }
.join-user { margin: 0 0 25px; }
.join-user img { width: 70px; height: 70px; }
.join-user strong { font-size: 18px; }
.join-status { border-radius: 6px; border-color: #777; background: #1b1b1b; color: #e8e8e4; }
.your-link { width: 100%; border-radius: 8px; border-color: #4b4d4b; background: #090a0a; }
.join-panel .button.primary { width: 100%; }
.join-panel .join-actions { display: block; }
.join-panel .join-actions .button { width: 100%; }

.archive-main { width: min(1440px, calc(100% - 80px)); margin: 0 auto; padding: 32px 0 120px; }
.archive-head { max-width: 1100px; margin-bottom: 28px; }
.archive-head h1 { margin: 0 0 16px; font-size: clamp(2.8rem, 4.7vw, 4.8rem); line-height: 1.04; letter-spacing: -.06em; }
.archive-head h1 span { color: #999b96; }
.archive-head>p:not(.eyebrow) { max-width: 610px; color: #b9bbb8; font-size: 17px; line-height: 1.65; }
.archive-facts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 25px; margin-top: 18px; padding: 12px 0; border-top: 1px solid #303332; border-bottom: 1px solid #303332; color: #aeb2ad; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.archive-ranking { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.archive-person { min-width: 0; scroll-margin-top: 25px; border: 1px solid #313433; border-radius: 12px; background: #101212; transition: border-color .2s var(--ease), transform .2s var(--ease); }
.archive-person:hover { border-color: #b2b7b1; transform: translateY(-2px); }
.archive-person--honorary { grid-column: 1 / -1; border-color: #67676b; background: linear-gradient(115deg, #1d1d20, #111113 60%); }
.archive-person--honorary:hover { border-color: #d5d4d1; }
.archive-person a { min-height: 150px; display: grid; grid-template-columns: 116px minmax(0, 1fr) 76px; gap: 15px; align-items: center; padding: 15px; text-decoration: none; }
.archive-person-photo { position: relative; width: 116px; height: 116px; overflow: hidden; border-radius: 7px; background: #202322; }
.archive-person-photo img,.archive-person-photo .portrait-fallback { width: 100%; height: 100%; object-fit: cover; }
.archive-person-info { min-width: 0; }
.archive-person-info strong { display: block; overflow: hidden; color: #f5f5f2; font-size: clamp(17px, 1.7vw, 23px); letter-spacing: -.04em; text-overflow: ellipsis; white-space: nowrap; }
.archive-person-info span { display: block; overflow: hidden; margin-top: 6px; color: #aaa; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.archive-person-stats { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-width: 0; }
.archive-person .archive-person-rank { width: 56px; height: 56px; }
.archive-person-vote-stat { display: flex; align-items: baseline; justify-content: center; gap: 4px; white-space: nowrap; }
.archive-person-vote-stat strong { color: #f5f5f2; font-size: 20px; font-variant-numeric: tabular-nums; font-weight: 750; letter-spacing: -.05em; line-height: 1; }
.archive-person-vote-stat small { color: #aaa; font-size: 11px; font-weight: 600; }
.archive-after { display: flex; justify-content: space-between; gap: 20px; margin-top: 60px; padding-top: 23px; border-top: 1px solid #303332; color: #a7aca6; font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.archive-after a { color: #fff; letter-spacing: 0; text-decoration: none; }

.archive-profile { display: flex; flex-direction: column; justify-content: center; width: min(500px, calc(100% - 40px)); padding: 17px 0 10px; }
.archive-profile .back-link { margin-bottom: 13px; }
.collector-card { display: flex; flex-direction: column; min-height: 580px; overflow: hidden; border: 1px solid #454545; border-radius: 12px; background: #101010; box-shadow: 0 18px 55px #0008; }
.collector-photo { position: relative; flex: 0 0 93px; background: radial-gradient(circle at 50% 115%, #292929, #151515 64%, #101010); }
.collector-photo img,.collector-photo .portrait-fallback { position: absolute; z-index: 2; left: 50%; bottom: -75px; display: block; width: 150px; height: 150px; transform: translateX(-50%); border: 2px solid #e4e4e1; border-radius: 50%; background: #242424; object-fit: cover; }
.collector-photo .portrait-fallback { display: grid; place-items: center; color: #c9c9c6; font-size: 54px; }
.collector-monogram { position: absolute; top: 11px; left: 19px; color: #eaeae7; font-size: 24px; font-weight: 800; letter-spacing: -.08em; }
.collector-view-x { position: absolute; top: 12px; right: 14px; z-index: 3; display: inline-flex; align-items: center; min-height: 36px; padding: 0 9px; border: 1px solid #3c3c3c; border-radius: 6px; background: #111c; color: #aaa9a7; font-size: 11px; font-weight: 600; text-decoration: none; }
.collector-view-x:hover,.collector-view-x:focus-visible { border-color: #fff; background: #222; }
.collector-url { display: flex; align-items: center; justify-content: center; gap: 8px; max-width: 100%; margin: 8px auto 0; padding: 0; border: 0; background: none; color: #dededb; font-size: 15px; font-weight: 650; letter-spacing: .01em; cursor: pointer; }
.collector-url-label { overflow: hidden; border-bottom: 1px solid #777; text-overflow: ellipsis; white-space: nowrap; }
.collector-url svg { flex: none; width: 16px; height: 16px; fill: none; stroke: #aaa; stroke-width: 1.5; }
.collector-url:hover,.collector-url:focus-visible { color: #fff; }
.collector-url:hover .collector-url-label,.collector-url:focus-visible .collector-url-label { border-color: #fff; }
.collector-url:hover svg,.collector-url:focus-visible svg { stroke: #fff; }
.profile-socials { display: flex; justify-content: center; align-items: center; gap: 9px; min-height: 30px; margin-top: 3px; }
.profile-socials a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #444; border-radius: 8px; color: #d8d8d6; transition: border-color .18s, background .18s; }
.profile-socials a:hover { border-color: #aaa; background: #242424; }
.profile-socials svg { width: 19px; height: 19px; fill: currentColor; }
.profile-socials a[aria-label="Instagram"] svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.profile-socials .social-dot { fill: currentColor; stroke: none; }
.profile-management { display: flex; flex-direction: column; align-items: center; gap: 7px; margin-top: 10px; color: #aaa; font-size: 12px; }
.profile-management button { border: 0; background: none; color: #c8c8c6; font: 600 12px Inter, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.profile-management button[hidden] { display: none; }
.profile-management p { margin: 0; }
.profile-edit-dialog { width: min(470px, calc(100vw - 28px)); max-height: 90dvh; overflow: auto; padding: 25px; border: 1px solid #555; border-radius: 12px; background: #141414; color: #f5f5f2; box-shadow: 0 25px 70px #000c; }
.profile-edit-dialog::backdrop { background: #000b; }
.profile-edit-dialog form { display: grid; gap: 15px; }
.profile-edit-dialog h2 { margin: 0 0 5px; font-size: 24px; }
.profile-edit-dialog label { display: grid; gap: 6px; color: #c8c8c6; font-size: 12px; font-weight: 600; }
.profile-edit-dialog textarea,.profile-edit-dialog input { width: 100%; min-height: 44px; padding: 10px; border: 1px solid #555; border-radius: 7px; background: #090909; color: #fff; font: 14px Inter, sans-serif; }
.profile-edit-dialog textarea { min-height: 112px; resize: vertical; }
.profile-edit-actions { display: flex; gap: 9px; }
.profile-edit-actions button { flex: 1; min-height: 44px; border: 1px solid #777; border-radius: 7px; background: #f4f4f1; color: #111; font: 700 13px Inter, sans-serif; cursor: pointer; }
.profile-edit-actions button[type="button"] { background: transparent; color: #eee; }
.join-archive-claim { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.join-archive-claim .button { flex: 1; min-width: 145px; }
.join-archive-claim p { width: 100%; margin: 3px 0 0; color: #bcbcbc; font-size: 13px; }
.collector-body { display: flex; flex: 1; flex-direction: column; min-width: 0; min-height: 0; padding: 83px 22px 18px; text-align: center; }
.archive-profile .profile-title h1 { display: -webkit-box; max-height: 2.15em; overflow: hidden; overflow-wrap: anywhere; margin: 0 0 4px; font-size: 29px; letter-spacing: -.045em; line-height: 1.08; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.archive-profile .profile-title>a { color: #b9b9b9; font-size: 15px; }
.archive-profile .profile-title>span { color: #d8d8d5; font-size: 14px; font-weight: 650; }
.collector-biography { margin-top: 16px; }
.collector-bio { display: -webkit-box; overflow: hidden; max-width: 400px; margin: 0 auto; color: #dededb; font-size: 16px; line-height: 1.48; text-align: center; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.collector-card[data-placement-count="1"] .collector-bio,.collector-card[data-placement-count="2"] .collector-bio { -webkit-line-clamp: 3; }
.collector-bio-more { display: inline-block; margin-top: 7px; padding: 0; border: 0; background: none; color: #d0d0ce; font: 600 13px Inter, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.collector-bio-more[hidden] { display: none; }
.profile-bio-dialog { width: min(440px, calc(100% - 32px)); max-height: min(80vh, 540px); padding: 0; border: 1px solid #555; border-radius: 12px; background: #101010; color: #f4f4f1; box-shadow: 0 26px 85px #000c; }
.profile-bio-dialog::backdrop { background: #000b; backdrop-filter: blur(5px); }
.profile-bio-dialog-inner { position: relative; padding: 27px 30px 34px; }
.profile-bio-brand { font-size: 22px; font-weight: 800; letter-spacing: -.08em; }
.profile-bio-dialog h2 { margin: 32px 0 13px; font-size: 30px; line-height: 1.1; letter-spacing: -.045em; }
.profile-bio-dialog p { margin: 0; color: #dededb; font-size: 17px; line-height: 1.65; overflow-wrap: anywhere; }
.profile-bio-close { position: absolute; top: 22px; right: 25px; padding: 0 5px; border: 0; background: none; color: #ccc; font-size: 26px; line-height: 1; cursor: pointer; }
.profile-bio-close:hover { color: #fff; }
.collector-placements { display: grid; gap: 8px; margin-top: auto; padding-top: 16px; }
.collector-card[data-placement-count="1"] .collector-placements { margin-bottom: 48px; }
.collector-card[data-placement-count="2"] .collector-placements { margin-bottom: 20px; }
.collector-card[data-placement-count="3"] .collector-biography { margin-top: 12px; }
.collector-card[data-placement-count="3"] .collector-placements { padding-top: 10px; }
.collector-card[data-placement-count="3"] .collector-placement { min-height: 62px; padding: 3px 7px; }
.collector-placement { display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: center; gap: 14px; min-height: 68px; padding: 6px 9px; border: 1px solid #333; border-radius: 8px; background: #191919; color: #eee; text-align: left; text-decoration: none; transition: background .2s var(--ease), border-color .2s var(--ease); }
.collector-placement:hover { border-color: #666; background: #222; }
.collector-placement--honorary { border-color: #515156; background: #202023; }
.rank-seal { --rank-light: #393939; --rank-middle: #242424; --rank-dark: #333; --rank-ink: #f1f1ef; display: flex; flex: none; flex-direction: column; justify-content: center; align-items: center; width: 54px; height: 54px; border: 1px solid #ffffff26; border-radius: 7px; background: linear-gradient(140deg, var(--rank-light), var(--rank-middle) 58%, var(--rank-dark)); box-shadow: inset 0 1px #fff2; color: var(--rank-ink); font-variant-numeric: tabular-nums; }
.rank-seal--gold { --rank-light: #e8d6a5; --rank-middle: #b89658; --rank-dark: #dcc38a; --rank-ink: #241b10; }
.rank-seal--silver { --rank-light: #e5e8e8; --rank-middle: #a5aab0; --rank-dark: #d1d4d5; --rank-ink: #1b1d1e; }
.rank-seal--bronze { --rank-light: #b98a74; --rank-middle: #79503f; --rank-dark: #a36c55; --rank-ink: #21130e; }
.rank-seal--honorary { --rank-light: #56565a; --rank-middle: #2c2c30; --rank-dark: #47474b; --rank-ink: #f5f4f1; }
.rank-seal small { font-size: 9px; font-weight: 800; letter-spacing: .09em; line-height: 1; }
.rank-seal strong { margin-top: 3px; color: inherit; font-size: 25px; font-weight: 800; letter-spacing: -.055em; line-height: 1; }
.collector-list strong { display: block; color: #f2f2f0; font-size: 16px; font-weight: 700; line-height: 1.22; letter-spacing: -.025em; }
.collector-list small { display: block; margin-top: 5px; color: #bababa; font-size: 13px; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.collector-list-detail { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 5px; color: #bcbcb9; font-size: 12px; font-weight: 600; }
.collector-list-detail small { margin-top: 0; }
.archive-profile .profile-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.archive-profile .profile-actions .button { width: 100%; min-width: 0; min-height: 54px; justify-content: center; padding: 0 16px; border-radius: 8px; font-size: 14px; }
.archive-profile .profile-actions .button.secondary { border-color: #555; }
.archive-context { margin: 8px 0 0; color: #888; font-size: 10px; line-height: 1.4; text-align: center; }
.placements { margin-top: 88px; }
.placements h2 { margin: 10px 0 25px; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.05; letter-spacing: -.06em; }
.placement-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.placement { display: flex; align-items: center; gap: 20px; min-height: 126px; padding: 22px; border: 1px solid #393d39; border-radius: 11px; background: linear-gradient(130deg, #171918, #0d0e0e); text-decoration: none; transition: border-color .2s var(--ease), transform .2s var(--ease); }
.placement:hover { border-color: #bcbfba; transform: translateY(-2px); }
.placement-rank { color: #f6f6f3; font-size: clamp(2.4rem, 3.5vw, 4rem); font-weight: 700; letter-spacing: -.08em; }
.placement-text { min-width: 0; }
.placement-text strong { display: block; font-size: 16px; letter-spacing: -.035em; }
.placement-text small { display: block; margin-top: 7px; color: #9ea49e; font-size: 10px; font-weight: 700; letter-spacing: .07em; }
.placement-note { max-width: 720px; margin: 15px 0 0; color: #848b84; font-size: 11px; line-height: 1.5; }

@media (max-width: 900px) {
  .archive-ranking,.archive-shelf-grid,.placement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .archive-main { width: calc(100% - 40px); padding-top: 24px; }
  .archive-head { margin-bottom: 20px; }
  .archive-head h1 { font-size: clamp(2.6rem, 8.5vw, 4.2rem); }
  .archive-ranking,.archive-shelf-grid,.placement-grid { grid-template-columns: 1fr; }
  .archive-person a { min-height: 112px; grid-template-columns: 78px minmax(0, 1fr) 70px; gap: 12px; padding: 12px; }
  .archive-person-photo { width: 78px; height: 78px; }
  .archive-person-info strong { font-size: clamp(16px, 4.3vw, 21px); }
  .archive-person-vote-stat strong { font-size: 18px; }
  .archive-profile .profile-title h1 { font-size: 27px; }
  .archive-after { flex-direction: column; }
  .join-main { width: calc(100% - 40px); }
  .join-panel { padding: 27px 24px; }
  .hero-actions .home-signin { width: min(100%, 340px); }
}

@media (max-width: 420px) {
  .collector-photo { flex-basis: 117px; }
}

@media (max-width: 540px) {
  .collector-card { min-height: 0; height: auto; }
  .collector-body { flex: none; padding: 83px 18px 22px; }
  .collector-placements,.collector-card[data-placement-count="1"] .collector-placements,.collector-card[data-placement-count="2"] .collector-placements { margin: 24px 0 0; padding-top: 0; }
  .archive-profile .profile-actions { gap: 9px; }
  .archive-profile .profile-actions .button { min-height: 52px; padding: 0 14px; }
}

:root { --accent: #e7e7e5; --soft: #c1c1c1; }
.public-page em,.public-page .board-intro h1 span,.public-page .period { color: #bcbcbc; }
.public-page .live-dot { background: #d9d9d7; box-shadow: 0 0 12px #fff5; }
.board-mode,.board-statbar small,.stat-total,.open-slots,.join-user span,.join-signout,.section-top>p,.archive-after,.profile-next span { color: #aaa; }
.person-card,.archive-shelf-grid a,.archive-person { border-color: #3b3b3b; background: #101010; }
.person-card:hover,.archive-person:hover { border-color: #a6a6a6; }
.portrait,.archive-person-photo,.profile-portrait { background: #252525; }
.portrait-fallback { color: #d9d9d9; }
.person-card .rank,.person-meta small,.score small,.profile-numbers small,.profile-next span { color: #aaa; }
.person-meta>span,.score { color: #c2c2c0; }
.card-vote { border-color: #666; color: #f1f1ef; }
.card-vote:hover:not(:disabled) { background: #ededeb; color: #101010; }
.verified-symbol { border-color: #777; color: #eee; }
.verified small,.profile-bio,.share-x { color: #b8b8b6; }
.join-panel { border-color: #3b3b3b; background: #111; }
.join-status { border-color: #777; background: #202020; color: #eee; }
.your-link { border-color: #666; background: #0b0b0b; color: #f1f1ee; }
.placement { border-color: #424242; background: linear-gradient(130deg, #181818, #0c0c0c); }
.placement-text small,.placement-note { color: #999; }
.challenge { border-color: #555; background: #111; }
.challenge p:not(.eyebrow) { color: #bbb; }
.challenge button { border-color: #777; color: #eee; }

.person-card .person-link { padding-block: 20px; }
.person-card { scroll-margin-top: 25px; border-radius: 12px; }
.person-card .person-link { min-height: 150px; grid-template-columns: 116px minmax(0, 1fr) 76px; gap: 15px; padding: 15px; }
.person-card .portrait { grid-row: auto; width: 116px; height: 116px; border-radius: 7px; }
.person-card .person-meta h3 { margin: 0; color: #f5f5f2; font-size: clamp(17px, 1.7vw, 23px); font-weight: 700; letter-spacing: -.04em; }
.person-card .person-stats { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-width: 0; }
.person-card .person-stats .rank-seal { width: 56px; height: 56px; }
.person-card .score { grid-column: auto; justify-content: center; gap: 4px; margin: 0; color: #f5f5f2; white-space: nowrap; }
.person-card .score strong { font-size: 20px; font-variant-numeric: tabular-nums; font-weight: 750; line-height: 1; }
.person-card .score small { color: #aaa; font-size: 11px; font-weight: 600; letter-spacing: 0; }
.profile-engagement { display: flex; align-items: stretch; gap: 12px; margin: 34px 0 18px; }
.profile-vote-total { display: flex; flex: 1; flex-direction: column; justify-content: center; min-width: 0; padding: 20px 24px; border: 1px solid #454545; border-radius: 12px; background: linear-gradient(145deg, #1b1b1b, #101010); }
.profile-vote-total small { color: #b8b8b8; font-size: 11px; font-weight: 750; letter-spacing: .11em; }
.profile-vote-total strong { margin: 7px 0 4px; color: #f5f5f2; font-size: clamp(3.2rem, 5vw, 5.2rem); font-variant-numeric: tabular-nums; font-weight: 750; letter-spacing: -.075em; line-height: 1; }
.profile-vote-total span { color: #aaa; font-size: 12px; }
.x-post { justify-content: center; min-width: 165px; border-color: #777; background: #080808; color: #fff; }
.x-post:hover { border-color: #fff; background: #1b1b1b; }
.x-post svg { width: 17px; height: 17px; fill: currentColor; }
.profile-share-note { margin: 12px 0 0; color: #aaa; font-size: 13px; line-height: 1.5; }
.archive-profile .profile-actions { grid-template-columns: 1fr; }
.archive-profile .profile-actions .x-post { min-height: 58px; }
.archive-profile .profile-actions [data-save-card] { grid-column: 1 / -1; }
.archive-profile .profile-actions .button { font-size: 15px; }

@media (max-width: 540px) {
  .profile-vote-total { align-items: center; text-align: center; }
}

@media (max-width: 760px) {
  .header nav { min-width: 0; gap: 8px; }
  .header nav a.admin-nav-link { display: inline-flex; flex: none; padding: 8px 5px; font-size: 11px; white-space: nowrap; }
  .header-utilities { flex: none; }
  .header-cta { min-width: 0; white-space: nowrap; }
  .signed-in .header nav > .header-cta { display: none; }
}
@media (max-width: 430px) {
  .header nav { gap: 7px; }
  .header nav a.admin-nav-link { padding-inline: 3px; }
  .header-menu-trigger { min-width: 34px; width: 34px; height: 34px; }
  .account-trigger img,.account-initial { width: 26px; height: 26px; }
}

.board-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); align-items: end; gap: 28px; max-width: none; padding: 24px 0 22px; }
.board-intro h1 { margin: 0; font-size: clamp(2.9rem, 4.7vw, 4.8rem); letter-spacing: -.06em; line-height: 1.02; }
.board-intro-side { padding-bottom: 4px; }
.board-intro-side>p { max-width: 430px; margin: 0; color: #bcbdbb; font-size: 16px; line-height: 1.5; }
.board-intro-side>.board-mode { margin-top: 14px; color: #aaa; font-size: 11px; font-weight: 750; letter-spacing: .12em; }
.board-actions { gap: 18px; margin-top: 20px; }
.board-actions .button { min-height: 45px; }
.board-statbar>div { min-height: 74px; padding: 13px 20px; }
.board-statbar small { margin-bottom: 9px; }
.board-statbar strong { font-size: 2rem; }
.board-statbar .deadline strong { font-size: clamp(17px, 1.65vw, 23px); font-variant-numeric: tabular-nums; }
#home-deadline { font-variant-numeric: tabular-nums; }
.ranking { padding: 24px 0 55px; }
.ranking .section-top { margin-bottom: 20px; }
.ranking .section-top h2 { margin-top: 3px; font-size: clamp(2.3rem, 3.1vw, 3.3rem); }

.board-lock { position: relative; display: grid; place-items: center; min-height: 360px; overflow: hidden; border-top: 1px solid #343434; border-bottom: 1px solid #343434; }
.board-lock-preview { position: absolute; inset: 25px 0; display: grid; gap: 13px; grid-template-columns: repeat(3, minmax(0, 1fr)); filter: blur(6px); opacity: .7; pointer-events: none; }
.board-lock-row { position: relative; border: 1px solid #555; border-radius: 10px; background: linear-gradient(135deg, #272727, #161616); }
.board-lock-row::before { position: absolute; top: 25px; left: 24px; width: 64px; height: 64px; border-radius: 50%; background: #494949; content: ''; }
.board-lock-row::after { position: absolute; top: 36px; left: 105px; width: 42%; height: 12px; border-radius: 6px; background: #4a4a4a; box-shadow: 0 25px #383838; content: ''; }
.board-lock::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #070808a3, #07080855 50%, #070808a3); content: ''; }
.board-lock-panel { position: relative; z-index: 2; width: min(480px, calc(100% - 38px)); padding: 32px; border: 1px solid #4b4b4b; border-radius: 14px; background: #080909ed; box-shadow: 0 20px 90px #000b; text-align: center; }
.board-lock-panel h2 { margin: 0 0 12px; font-size: clamp(2rem, 3.2vw, 3rem); letter-spacing: -.05em; line-height: 1.08; }
.board-lock-panel>p:not(.eyebrow) { max-width: 340px; margin: 0 auto 24px; color: #b6b6b5; font-size: 15px; line-height: 1.5; }
.board-lock-panel .x-signin { width: 100%; }
.board-lock-panel .board-lock-timer { display: flex; justify-content: center; gap: 7px; margin: 18px auto 0; color: #929292; font-size: 12px; }
.board-lock-timer strong { color: #ededeb; font-variant-numeric: tabular-nums; }

.profile-achievements { width: 100%; margin-top: 22px; padding: 19px 22px 22px; border: 1px solid #3f3f3f; border-radius: 12px; background: #111; }
.live-profile .collector-card { height: auto; min-height: 0; }
.live-profile .collector-body { flex: none; }
.live-profile .collector-card .collector-placements { margin: 14px 0 0; padding-top: 0; }
.collector-card .profile-achievements { margin-top: 12px; padding: 12px; border: 1px solid #353535; border-radius: 8px; background: #191919; text-align: left; }
.live-voting { margin-top: 12px; padding: 12px; border: 1px solid #353535; border-radius: 8px; background: #191919; text-align: left; }
.live-voting>div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.live-voting small { color: #a9a9a7; font-size: 11px; font-weight: 750; letter-spacing: .1em; }
.live-voting strong { color: #f6f6f3; font-size: 29px; font-variant-numeric: tabular-nums; line-height: 1; }
.live-voting .button { width: 100%; min-height: 48px; margin-top: 14px; border-radius: 8px; }
.live-voting .feedback { margin: 8px 0 0; }
.profile-main:not(.archive-profile) .profile-achievements { max-width: 600px; margin-inline: auto; }
.achievement-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #f0f0ee; font-size: 11px; font-weight: 750; letter-spacing: .12em; }
.achievement-heading small { color: #929292; font-size: 10px; letter-spacing: .08em; }
.achievement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 17px; background: #373737; }
.achievement-grid>div { display: flex; flex-direction: column; padding: 14px 18px; background: #111; }
.achievement-grid strong { color: #f5f5f2; font-size: 32px; line-height: 1; letter-spacing: -.05em; }
.achievement-grid span { margin-top: 5px; color: #e3e3e1; font-size: 14px; font-weight: 650; }
.achievement-grid small { margin-top: 3px; color: #9a9a9a; font-size: 11px; }

.live-profile .collector-photo { flex-basis: 58px; }
.live-profile .collector-photo img,.live-profile .collector-photo .portrait-fallback { width: 110px; height: 110px; bottom: -55px; }
.live-profile .collector-body { padding: 56px 18px 14px; }
.live-profile .profile-title h1 { margin-bottom: 2px; font-size: 26px; }
.live-profile .profile-title>a { font-size: 13px; }
.live-profile .collector-url { margin-top: 5px; font-size: 13px; }
.live-profile .collector-biography { margin-top: 10px; }
.live-profile .collector-bio { font-size: 14px; line-height: 1.3; -webkit-line-clamp: 2; }
.live-profile .collector-card .collector-placement { grid-template-columns: 44px minmax(0, 1fr); gap: 10px; min-height: 52px; padding: 3px 2px; }
.live-profile .rank-seal { width: 42px; height: 42px; }
.live-profile .rank-seal small { font-size: 7px; }
.live-profile .rank-seal strong { font-size: 20px; }
.live-profile .collector-list strong { font-size: 13px; }
.live-profile .collector-list small { margin-top: 2px; font-size: 11px; }
.live-profile .collector-list-detail { margin-top: 2px; font-size: 11px; gap: 3px 8px; }
.live-profile .collector-list-detail small { margin-top: 0; }
.live-profile .live-voting { display: flex; flex-direction: column; align-items: center; gap: 9px; margin-top: 10px; padding: 16px 12px 14px; text-align: center; }
.live-profile .live-voting-count { display: flex; align-items: baseline; justify-content: center; gap: 7px; }
.live-profile .live-voting-count strong { font-size: clamp(34px, 7vw, 42px); font-weight: 750; letter-spacing: -.05em; }
.live-profile .live-voting-count span { color: #aaa; font-size: 13px; }
.live-profile .live-voting-list-link { color: #cececc; font-size: 12px; font-weight: 750; letter-spacing: .06em; text-decoration: underline; text-decoration-color: #777; text-underline-offset: 3px; }
.live-profile .live-voting-list-link:hover,.live-profile .live-voting-list-link:focus-visible { color: #f4f4f1; text-decoration-color: currentColor; }
.live-profile .live-voting .button { width: min(190px, 100%); min-height: 46px; margin: 0; padding: 0 18px; font-size: 14px; font-weight: 750; }
.live-profile .live-voting .button:not(:disabled) { animation: vote-outline 4s ease-in-out infinite; }
@keyframes vote-outline { 0%,100% { box-shadow: 0 0 0 1px #ffffff10, 0 0 12px #ffffff08; } 50% { box-shadow: 0 0 0 1px #ffffff40, 0 0 20px #ffffff20; } }
@media (prefers-reduced-motion: reduce) { .live-profile .live-voting .button { animation: none !important; } }
.live-profile .live-voting .feedback { min-height: 0; margin: 0; }
.live-profile .live-voting .feedback:empty { display: none; }
.live-profile .profile-vote-timer { display: flex; align-items: baseline; justify-content: center; gap: 6px; color: #969694; font-size: 11px; font-weight: 550; }
.live-profile .profile-vote-timer strong { color: #d1d1cf; font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
.live-profile .profile-achievements { display: block; margin-top: 10px; padding: 10px; }
.live-profile .achievement-heading { flex-direction: row; align-items: center; gap: 8px; font-size: 9px; }
.live-profile .achievement-heading small { font-size: 8px; line-height: 1.2; }
.live-profile .achievement-grid { gap: 7px; margin-top: 8px; background: none; }
.live-profile .achievement-grid>div { flex-direction: row; align-items: center; gap: 7px; min-height: 54px; padding: 7px 10px; border: 1px solid #393939; border-radius: 5px; background: #191919; }
.live-profile .achievement-grid strong { font-size: 24px; }
.live-profile .achievement-grid span { margin-top: 0; font-size: 11px; }
.live-profile .achievement-grid small { display: none; }

.collector-card .achievement-grid>div { flex-direction: row; align-items: center; justify-content: space-between; gap: 8px; }
.collector-card .achievement-copy { display: flex; flex-direction: column; min-width: 0; margin-top: 0; }
.collector-card .achievement-copy span { margin-top: 4px; }
.collector-card .achievement-copy .achievement-empty { font-size: 13px; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; }
.collector-card .achievement-icon { flex: none; width: 20px; height: 20px; color: #8e8e8c; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 540px) {
  .live-profile .collector-card { min-height: 0; }
}

.x-signin,.join-panel .x-signin { min-height: 68px; padding: 0 33px; border: 1px solid #b7b7b7; border-radius: 9px; background: #000; color: #fff; box-shadow: 0 0 0 1px #ffffff12, 0 10px 35px #ffffff0d; font-size: 17px; font-weight: 750; }
.x-signin:hover:not(:disabled),.join-panel .x-signin:hover:not(:disabled) { border-color: #fff; background: #101010; box-shadow: 0 0 0 1px #ffffff33, 0 12px 45px #ffffff1b; }

.header nav .header-signin { display: inline-flex; align-items: center; gap: 7px; background: transparent; color: #f4f4f1; font: 650 13px Inter, sans-serif; cursor: pointer; }
.header nav .header-signin:hover { background: #242424; }
.header nav .header-signin svg { width: 15px; height: 15px; fill: currentColor; }
.header nav .header-signin[hidden] { display: none; }
.home-hero .hero-actions { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.home-hero .home-signin { min-width: 228px; }
.home-hero .home-signin svg { width: 18px; height: 18px; fill: currentColor; }

.join-panel { width: min(100%, 680px); text-align: left; }
.join-user { justify-content: flex-start; }
.owner-link-row { display: flex; align-items: stretch; gap: 9px; margin-top: 17px; }
.owner-link-row .your-link { flex: 1; min-width: 0; margin: 0; border-color: #424242; border-radius: 7px; background: #0a0a0a; color: #f1f1ee; font-size: 14px; }
.owner-link-row .button { flex: none; min-height: 52px; margin: 0; border-radius: 7px; }
.owner-view-link { display: block; width: max-content; max-width: 100%; margin-top: 13px; color: #d6d6d3; font-size: 13px; font-weight: 650; text-underline-offset: 4px; }
.join-panel .join-status { display: block; width: max-content; max-width: 100%; margin: 18px 0 0; }
.owner-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
.owner-stat { display: grid; gap: 3px; min-height: 87px; padding: 17px 18px; border: 1px solid #363636; border-radius: 9px; background: #171717; }
.owner-stat strong { color: #f5f5f2; font-size: 27px; line-height: 1; letter-spacing: -.04em; }
.owner-stat span { color: #aaa; font-size: 12px; font-weight: 650; }
.owner-state-note { margin-top: 18px; }
.owner-submit,.owner-settings { margin-top: 28px; padding-top: 25px; border-top: 1px solid #333; }
.join-panel .owner-submit h2,.join-panel .owner-settings h2 { margin: 0 0 8px; font-size: 22px; letter-spacing: -.045em; }
.join-panel .owner-submit p,.join-panel .owner-settings p { margin-inline: 0; }
.owner-submit .button { width: 100%; }
.owner-settings-form { display: grid; gap: 15px; margin-top: 22px; }
.owner-settings-field { display: grid; gap: 7px; color: #e8e8e5; font-size: 13px; font-weight: 650; }
.owner-settings-field input,.owner-settings-field textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #444; border-radius: 8px; outline: none; background: #090909; color: #f4f4f1; font: 14px Inter, sans-serif; }
.owner-settings-field textarea { min-height: 122px; resize: vertical; line-height: 1.5; }
.owner-settings-field input:focus,.owner-settings-field textarea:focus { border-color: #a8a8a5; }
.owner-settings-field input[readonly] { color: #999; background: #171717; cursor: default; }
.owner-settings-actions { display: flex; align-items: center; gap: 16px; margin-top: 5px; }
.owner-settings-actions .button { flex: none; min-width: 170px; margin: 0; }
.owner-settings-feedback { color: #c4c4c1; font-size: 12px; line-height: 1.5; }

.profile-socials { gap: 2px; margin-top: 0; }
.profile-socials a { width: 44px; height: 44px; border-color: transparent; background: transparent; }
.profile-socials svg { width: 16px; height: 16px; }
.profile-socials a[aria-label="Website"] svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }

.archive-profile .profile-socials a { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border: 0; border-radius: 0; background: none; color: #d8d8d6; }
.archive-profile .profile-socials a:hover { background: none; color: #fff; }
.archive-profile .profile-socials a:focus-visible { outline: 1px solid #ddd; outline-offset: 2px; }
.archive-profile .profile-socials svg { width: 16px; height: 16px; }
.archive-profile .profile-socials [data-x-profile] { color: #f5f5f2; }
.archive-profile .profile-socials [aria-label^="Substack"] img { display: block; width: 20px; height: 20px; object-fit: contain; }
.archive-profile .profile-socials [aria-label^="Website"] { color: #b8b8b8; }

.archive-profile .collector-card .collector-placements { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 9px; }
.archive-profile .collector-card[data-placement-count="1"] .collector-placements { grid-template-columns: minmax(0, 1fr); }
.archive-profile .collector-card .collector-placement { display: grid; grid-template-columns: 43px minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; min-height: 96px; padding: 8px; }
.archive-profile .collector-card .rank-seal { width: 43px; height: 43px; }
.archive-profile .collector-card .rank-seal small { font-size: 7px; }
.archive-profile .collector-card .rank-seal strong { font-size: 20px; }
.archive-profile .collector-card .collector-list { min-width: 0; }
.archive-profile .collector-card .collector-list strong { font-size: 14px; line-height: 1.23; }
.archive-profile .collector-card .collector-list-detail { margin-top: 4px; gap: 2px 8px; font-size: 11px; }
.archive-profile .collector-card .collector-list-detail small { font-size: 11px; }

@media (min-width: 541px) {
  .archive-profile:not(.live-profile) .collector-card[data-placement-count="1"] { min-height: 532px; }
  .archive-profile:not(.live-profile) .collector-card[data-placement-count="1"] .collector-placements { margin-bottom: 0; }
}

@media (max-width: 359px) {
  .archive-profile .collector-card .collector-placements { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .owner-stat { min-height: 78px; padding: 14px; }
  .owner-link-row { flex-wrap: wrap; }
  .owner-link-row .your-link { flex-basis: 100%; }
  .owner-link-row .button { width: 100%; }
  .owner-settings-actions { flex-direction: column; align-items: stretch; }
  .owner-settings-actions .button { width: 100%; }
}
.x-signin svg { width: 1em; height: 1em; flex: none; }
.hero-actions .home-signin { width: min(100%, 340px); min-width: 0; min-height: 68px; font-size: 17px; }

@media (max-width: 760px) {
  .person-card .person-link { min-height: 112px; grid-template-columns: 78px minmax(0, 1fr) 70px; gap: 12px; padding: 12px; }
  .person-card .portrait { width: 78px; height: 78px; }
  .person-card .person-meta h3 { font-size: clamp(16px, 4.3vw, 21px); }
  .person-card .score strong { font-size: 18px; }
  .board-intro { grid-template-columns: 1fr; gap: 12px; padding: 18px 0; }
  .board-intro h1 { font-size: clamp(2.7rem, 8.5vw, 3.8rem); }
  .board-intro-side>p { font-size: 14px; }
  .board-actions { margin-top: 16px; }
  .board-statbar>div { min-height: 74px; padding: 12px 14px; }
  .board-statbar>div:nth-child(3) { padding-left: 0; }
  .board-statbar strong { font-size: 1.7rem; }
  .ranking { padding-top: 27px; }
  .ranking .section-top { margin-bottom: 16px; }
  .ranking .section-top .search-field { margin-top: 16px; }
  .ranking .search-field { height: 44px; }
  .board-lock { min-height: 320px; }
  .board-lock-preview { grid-template-columns: 1fr 1fr; }
  .board-lock-row:last-child { display: none; }
}

@media (max-width: 430px) {
  .board-intro h1 { font-size: clamp(2.4rem, 9vw, 3.1rem); }
  .board-lock-panel { padding: 26px 22px; }
  .achievement-heading { align-items: flex-start; flex-direction: column; }
  .achievement-grid>div { padding: 13px 10px; }
}
