/* v8.47: larger photos in the user profile, with wrapping identity details. */
/* 8.38: light theme; includes mobile statistics, moderation, and achievement popovers. */
:root{--bg:#f6f7fc;--panel:#fff;--panel2:#faf9fd;--text:#1d1930;--muted:#686579;--subtle:#777187;--accent:#7c3aed;--accent2:#6d28d9;--accent-soft:#f3edff;--accent-line:#d8c5fc;--line:#e6e3ef;--mint:#198355;--max:1440px;--radius:14px}
html{color-scheme:light;scroll-padding-top:88px}
body{background:var(--bg)}
.container{width:calc(100% - 64px);max-width:1440px}
.site-header{height:78px;background:color-mix(in srgb,var(--panel) 94%,transparent);border-color:var(--line);box-shadow:0 2px 16px #29134504}
.header-inner{gap:20px;position:relative;flex-wrap:nowrap;padding-top:0;padding-bottom:0}
.header-inner>.brand{min-width:0;flex:0 0 auto;gap:10px}
.brand-mark{width:44px!important;height:44px!important;border-radius:12px;background:var(--accent-soft);color:var(--accent)}
.brand-title{font-size:24px!important;max-width:none!important;letter-spacing:-.055em;color:var(--accent)}
.brand-sub{font-size:9px!important;letter-spacing:.17em;margin-top:3px}
.main-nav{gap:20px;flex:1;justify-content:center;white-space:nowrap}
.main-nav .nav-link{font-size:13px;padding:27px 0;color:var(--muted)}
.main-nav .nav-link.active{color:var(--accent)}
.main-nav .nav-link.active:after{bottom:0;width:25px;height:3px;border-radius:3px;left:50%;transform:translateX(-50%)}
.header-actions{gap:8px;flex:0 0 auto;min-width:0}
.header-actions .btn{min-height:38px;font-size:12px;padding:8px 12px}
.header-actions .member-auth-btn.is-signed-in{min-width:180px;max-width:280px}
.header-actions .discord-head{width:38px;min-width:38px;padding:8px}
.discord-head #discord-head-text{display:none}
.header-actions .admin-auth-btn{width:38px;min-width:38px;padding:8px;background:transparent;border-color:var(--line);color:var(--text);box-shadow:none}
.admin-auth-btn #admin-head-text{display:none}
.header-actions .join-head{display:none}
.header-actions .discord-mark{width:18px;height:18px}
.header-actions .member-auth-btn{border-color:var(--accent-line);color:var(--accent);background:var(--panel)}
.environment-bar{padding-top:10px;min-height:33px;color:var(--muted);font-size:10px}
.visit-summary{background:var(--panel);border-color:var(--line);color:var(--muted);font-size:10px}
.visit-summary strong,.visit-date{color:var(--accent)}
.btn.primary{color:var(--on-accent,#fff);background:var(--accent);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 14%,transparent)}
.btn.primary:hover{background:var(--accent-hover,#6d28d9)}
.btn.secondary{background:var(--panel);border-color:var(--accent-line);color:var(--accent)}
.btn.secondary:hover,.btn.ghost:hover{background:var(--accent-soft)}
.btn.danger{background:#fff0f1;border-color:#f0c4ca;color:#ae3048}
.pill{background:var(--panel2);color:var(--muted);border-color:var(--line)}
.pill.purple,.member-fact-value .pill{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}
.pill.green{background:#edf9f1;border-color:#cce9d5;color:#25713f}
.pill.example{background:var(--bg);border-color:var(--line);color:var(--muted)}
.home-page{animation:none}
.home-hero{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.75fr);gap:24px;align-items:stretch;margin:12px 0 24px;min-height:355px}
.home-hero-left{display:flex;flex-direction:column;min-width:0;gap:20px;padding:12px 0 0}
.home-hero-labels{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.home-hero-labels>.eyebrow{font-size:11px;letter-spacing:.1em;white-space:nowrap}
.home-hero-labels .recruit-label{margin:0;background:var(--panel);color:var(--accent);border-color:var(--accent-line);font-size:11px;padding:5px 11px}
.home-hero-copy{flex:1;min-height:80px}
.home-hero-copy h1{font-size:clamp(26px,2.7vw,40px);line-height:1.3}
.home-hero-copy h1 span{display:block;color:var(--accent)}
.home-hero-copy .hero-description{font-size:13px;margin-top:18px;color:var(--muted)}
.home-hero-copy .inline-edit-chip{margin-top:12px}
.home-hero-banner{min-width:0;display:flex;align-items:stretch}
.home-hero .crew-banner{width:100%;margin:0;border:1px solid var(--accent-line);border-radius:16px;box-shadow:0 8px 25px #44227609;background:var(--panel);display:flex;align-items:center}
.home-hero .crew-banner img{width:100%;height:100%;min-height:355px;object-fit:contain;display:block}
.stat-strip{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:19px 0;margin:0 0 20px;box-shadow:0 3px 14px #44227603}
.stat{display:flex;align-items:center;gap:18px;padding:0 24px;min-width:0}
.stat>.icon{width:30px;height:30px;color:var(--accent);flex:0 0 30px}
.stat>div{min-width:0}
.stat-top{font-size:12px;color:var(--muted)}
.stat-value{font-size:25px;line-height:1.3;margin-top:4px;color:var(--text)}
.stat-value .unit{font-size:14px;margin-left:2px;color:var(--text)}
.stat-note{font-size:10px;margin-top:3px;color:var(--muted)}
.section{margin-bottom:28px}
.section-heading{margin-bottom:16px;align-items:center}
.section-heading h2{font-size:22px;line-height:1.35;margin-top:4px}
.section-heading .eyebrow{color:var(--muted);font-size:9px}
.text-link{color:var(--accent);font-size:12px}
.home-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:18px}
.home-board{border:1px solid var(--line);border-radius:12px;padding:18px 20px;background:var(--panel);min-width:0}
.home-board .section-heading{margin-bottom:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.home-board .section-heading h2{font-size:20px;margin-top:0}
.home-board .section-heading .eyebrow{display:block;margin-bottom:5px}
.home-rank-row,.home-rank-labels{display:grid;grid-template-columns:32px minmax(130px,1fr) 100px 85px;gap:12px;align-items:center;padding:11px 8px;font-size:12px;border:1px solid transparent}
.home-rank-labels{padding-top:0;padding-bottom:6px;font-size:11px;color:var(--muted)}
.home-rank-labels>span:nth-child(n+3){text-align:right}
.home-rank-row{border-bottom-color:var(--line)}
.home-rank-row:last-child{border-bottom:1px solid transparent}
.home-rank-row:first-child{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:8px}
.home-rank-row .home-rank-difficulty{text-align:right;color:var(--text);font-size:13px}
.home-rank-row .person-name{font-size:13px}
.home-rank-row .person-sub{font-size:10px;color:var(--muted)}
.home-rank-row .rank-number{color:var(--muted);font-style:normal}
.home-rank-row .rank-number.first{color:var(--accent);font-weight:800}
.score,.member-average{color:var(--accent)}
.home-rank-row .score{font-size:19px}
.home-board-note{font-size:10px;color:var(--muted);margin-top:12px}
.notice-mini,.notice-mini.featured{background:transparent;border-color:var(--line);padding:13px 0}
.notice-mini:hover{background:var(--accent-soft)}
.notice-mini h3{font-size:14px;color:var(--text)}
.notice-mini p,.notice-mini-top .date{color:var(--muted)}
.notice-mini-top{margin-bottom:5px}
.empty-home{padding:24px 0;color:var(--muted);font-size:13px}
.crew-grid,.home-members .crew-grid,.tier-member .member-tier-grid,.tier-staff .member-tier-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tier-leader .member-tier-grid{grid-template-columns:minmax(0,460px)}
.member-card{padding:16px;border-radius:14px;background:var(--panel);box-shadow:0 3px 12px #34225004}
.member-card:before{background:none}
.member-card-special{padding-left:20px;border-color:var(--accent-line)}
.member-card-special:before{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 3%,transparent),transparent 50%)}
.member-card-special:after{width:3px!important;opacity:.8}
.member-card .member-card-top{gap:12px;margin-bottom:14px;min-height:0}
.member-card .member-card-top>.avatar{aspect-ratio:1.25;border-radius:12px;box-shadow:none}
.member-card-meta .achievement-strip{grid-template-columns:repeat(2,42px);gap:7px;grid-auto-rows:42px}
.member-card-meta{max-width:91px}
.member-card h3{font-size:17px;line-height:1.4}
.member-card p{font-size:12px;line-height:1.65}
.member-role-inline,.member-card-special .member-role-inline.leader,.member-card-special .member-role-inline.staff{color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-soft);font-size:10px}
.member-facts{margin-top:13px;padding-top:10px;gap:5px}
.member-fact-label,.member-fact-value{font-size:11px}
.member-average{font-size:17px}
.member-role-inline.compact{font-size:8px}
.avatar{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}
.member-card:hover{border-color:var(--accent-line);box-shadow:0 8px 24px #4422760d}
.achievement-hover-panel{background:var(--panel);border-color:var(--accent-line);box-shadow:0 18px 60px #29134525;color:var(--text)}
.achievement-hover-panel p,.achievement-card p,.achievement-description{color:var(--muted)}
.achievement-mini{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}
.record-boost-unused,.member-self-record .record-boost-unused,.profile-record-popover .record-boost-unused{color:#c2354b}
/* Override the original dark table palette without changing normal-speed accents. */
.page-content .table-wrap thead th{background:var(--panel2);color:var(--text);border-color:var(--line);font-weight:700}
.page-content .table-wrap tbody tr{background:var(--panel);color:var(--text)}
.page-content .table-wrap tbody tr:hover,.page-content .table-wrap tbody tr:focus-within{background:var(--accent-soft);color:var(--text)}
.page-content .table-wrap tbody td{border-bottom-color:var(--line)}
.page-content .table-wrap td.t-score{color:var(--accent)}
.page-content .table-wrap td.t-score small{color:var(--muted)}
.page-content .table-wrap .rank-number:not(.first){color:var(--muted)}
.page-content .table-wrap .record-boost-unused{color:#b4233d}
#record-body tr.record-normal-aura:hover td,#record-body tr.record-normal-aura:focus-within td{background:linear-gradient(180deg,rgba(255,34,62,.03),rgba(255,20,48,.015))}
input[type=password],input[type=email]{background:var(--bg);border-color:var(--line);color:var(--text)}
.admin-tab{background:var(--panel);border-color:var(--line);color:var(--muted)}
.admin-tab.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}
.form-error{background:#fff1f3;border-color:#f5ccd1;color:#a42d43}
.toast{background:var(--text);color:var(--panel);border-color:var(--line);box-shadow:0 8px 28px #29134525}
.site-footer{background:var(--panel);border-color:var(--line);padding-top:28px;margin-top:36px}
.rainbow-cursor-core{background:var(--accent);box-shadow:0 0 5px color-mix(in srgb,var(--accent) 40%,transparent)}
.discord-promo-card img{object-fit:contain}
@media(min-width:1251px){.main-nav{display:flex;position:static;width:auto;padding:0;border:0;box-shadow:none;background:transparent}.menu-btn{display:none}.main-nav .nav-link.active:after{display:block}}
@media(max-width:1250px){.main-nav{position:absolute;top:100%;left:0;width:100%;display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:0 12px 32px #29134516}.main-nav.open{display:grid}.menu-btn{display:grid}.main-nav .nav-link{padding:10px;font-size:14px}.main-nav .nav-link.active{background:var(--accent-soft)}.main-nav .nav-link:hover{background:var(--accent-soft)}.main-nav .nav-link.active:after{display:none}.home-hero{grid-template-columns:minmax(285px,.8fr) minmax(0,1.5fr)}.stat{padding:0 16px;gap:12px}.home-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.home-rank-row,.home-rank-labels{grid-template-columns:26px minmax(100px,1fr) 76px 76px;gap:8px}.home-board{padding:16px}.crew-grid,.home-members .crew-grid,.tier-member .member-tier-grid,.tier-staff .member-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.container{width:calc(100% - 36px)}.brand-title{font-size:21px!important}.site-header{height:72px;min-height:0}.header-inner>.brand{flex:0 1 auto}.header-actions{flex:0 0 auto;width:auto;margin-left:auto}.header-actions .member-auth-btn,.header-actions .member-auth-btn.is-signed-in{min-width:100px;max-width:220px;flex:0 1 auto}.home-hero{display:flex;flex-direction:column;gap:18px;min-height:0}.home-hero-banner{order:0}.home-hero-left{order:1;gap:12px;padding:0}.home-hero .crew-banner img{height:auto;min-height:0;object-fit:contain}.home-hero .crew-banner{border-radius:12px}.home-hero-copy:empty{display:none}.home-hero-copy{min-height:0;flex:0 0 auto}.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px;padding:20px 0}.stat:nth-child(3):before{display:none}.stat-note{font-size:9px}.home-grid{grid-template-columns:minmax(0,1fr)}.home-board .section-heading h2{font-size:20px}.home-rank-row,.home-rank-labels{grid-template-columns:28px minmax(0,1fr) 85px 85px}.section-heading h2{font-size:22px}}
@media(max-width:560px){.container{width:calc(100% - 28px)}.site-header{height:auto;min-height:112px}.header-inner{flex-wrap:wrap;gap:8px;padding:12px 0}.header-inner>.brand{flex:1 1 100%}.brand-title{font-size:21px!important;max-width:none!important}.brand-mark{width:34px!important;height:34px!important;border-radius:9px}.brand-sub{font-size:8px!important}.header-actions{width:100%;flex:1 1 100%;gap:7px;margin:0}.header-actions .member-auth-btn,.header-actions .member-auth-btn.is-signed-in{min-width:0;max-width:none;flex:1 1 auto}.header-actions .btn{font-size:11px;min-height:34px}.header-actions .discord-head,.header-actions .admin-auth-btn,.header-actions .menu-btn{width:34px;min-width:34px;height:34px}.main-nav{top:100%}.environment-bar{flex-wrap:wrap;gap:8px}.visit-summary{margin-left:auto;font-size:9px}.home-hero{margin-top:10px;margin-bottom:18px}.home-hero-labels{gap:7px}.home-hero-labels>.eyebrow{font-size:10px}.home-hero-labels .recruit-label{font-size:10px}.stat{padding:0 12px;gap:9px}.stat>.icon{width:25px;height:25px;flex-basis:25px}.stat-value{font-size:23px}.stat-top{font-size:10px}.stat-note{font-size:9px;line-height:1.5}.home-board{padding:14px 11px}.home-rank-row,.home-rank-labels{grid-template-columns:22px minmax(0,1fr) 58px 64px;gap:6px;padding-left:3px;padding-right:3px}.home-rank-labels{font-size:9px}.home-rank-row .avatar{width:28px;height:28px;border-radius:8px}.home-rank-row .rank-person{gap:6px}.home-rank-row .person-name{font-size:11px}.home-rank-row .member-role-inline{display:none}.home-rank-row .person-sub{font-size:8px}.home-rank-row .score{font-size:16px}.home-rank-row .home-rank-difficulty{font-size:12px}.home-board .section-heading h2{font-size:18px}.section-heading .text-link{font-size:10px}.crew-grid,.home-members .crew-grid,.tier-member .member-tier-grid,.tier-staff .member-tier-grid,.tier-leader .member-tier-grid{grid-template-columns:minmax(0,1fr)}.member-card .member-card-top>.avatar{aspect-ratio:1.25}.member-card-meta .achievement-strip{grid-template-columns:repeat(2,42px)}.member-card h3{font-size:18px}.member-card p{font-size:12px}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cta{padding:24px 20px}.cta h2{font-size:25px}.achievement-toolbar{min-width:0}.video-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.member-card{transition:none}}

/* Let the home banner reach both viewport edges without 100vw scrollbar overflow. */
#main.container:has(>.home-page){width:100%;max-width:none}
.home-page .home-hero{display:block;min-height:0;margin:16px 0 24px}
.home-page .home-hero-heading{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0;margin-bottom:20px}
.home-page .home-hero-copy{min-height:0;flex:0 0 auto;width:100%}
.home-page .home-hero-copy:empty{display:none}
.home-page .banner-only .home-hero-copy .inline-edit-chip{margin:0}
.home-hero-banner{display:flex;flex-direction:column;gap:9px;min-width:0}
.home-hero .crew-banner.banner-carousel{--banner-height:clamp(400px,30vw,560px);position:relative;display:block;width:100%;height:var(--banner-height);margin:0;border:0;border-radius:0;box-shadow:none;overflow:hidden;background:var(--panel2)}
.banner-frame{position:absolute;inset:0;min-width:0;width:100%;height:100%;overflow:hidden;touch-action:pan-y}
.home-hero .crew-banner .banner-frame img{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center;display:block;user-select:none}
.banner-menu{position:absolute;z-index:1;top:50%;right:max(32px,calc((100% - 1440px)/2));transform:translateY(-50%);display:flex;flex-direction:column;width:220px;max-height:calc(var(--banner-height) - 40px);margin:0;padding:0;background:transparent}
.banner-menu-list{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-height:0;padding:2px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-line) var(--panel)}
.banner-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:54px;width:100%;padding:6px 12px;border:2px solid var(--accent-line);border-radius:6px;box-shadow:0 2px 6px #1d193018;background:var(--panel);color:var(--text);text-align:left;line-height:1.45;transition:background .15s,border-color .15s,color .15s}
.banner-menu-item:hover,.banner-menu-item.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.banner-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}
.banner-menu-copy{flex:1;min-width:0;font-size:13px;font-weight:600;overflow-wrap:anywhere}
.home-hero .crew-banner .banner-menu-thumb{flex:0 0 38px;width:38px;height:38px;min-height:0;max-height:38px;object-fit:contain;border-radius:4px;background:var(--panel);user-select:none}
.banner-admin{display:flex;justify-content:flex-end}
.banner-edit{align-self:flex-end;max-width:100%}
.banner-editor-list{display:grid;gap:12px;margin:16px 0}
.banner-editor-item{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.banner-editor-item>img{width:100%;height:110px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.banner-editor-copy{min-width:0;display:grid;gap:10px}
.banner-editor-copy .field{margin:0}
.banner-editor-copy .btn-row{flex-wrap:wrap}
.empty-banner-list{padding:20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}
.cta .editable-title-row{align-items:center;gap:12px;flex-wrap:wrap}
.cta .inline-edit-chip{position:relative;z-index:1}
.cta>.btn{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:center}
@media(max-width:820px){.home-page .home-hero-heading{margin-bottom:16px}.home-hero .crew-banner.banner-carousel{height:auto}.home-hero .banner-frame{position:relative;inset:auto;height:auto;aspect-ratio:16/9;max-height:none}.home-hero .crew-banner .banner-frame img{object-fit:contain}.banner-menu{position:static;transform:none;width:auto;max-height:none;margin:12px 16px 16px}.banner-menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}.banner-menu-item{min-height:58px}}
@media(max-width:560px){.banner-editor-item{grid-template-columns:minmax(0,1fr)}.banner-editor-item>img{height:140px}.banner-menu{margin:10px 12px 14px}.banner-menu-item{gap:7px;padding:8px}.banner-menu-copy{font-size:12px}.home-hero .crew-banner .banner-menu-thumb{flex-basis:34px;width:34px;height:34px;max-height:34px}}
@media(prefers-reduced-motion:reduce){.banner-menu-item{transition:none}}

/* Keep banner images inside the same content width as the rest of the homepage. */
.home-page .home-hero-banner{width:calc(100% - 64px);max-width:1440px;margin-inline:auto}
.home-hero .crew-banner.banner-carousel{--banner-height:clamp(280px,32vw,460px);display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;border:1px solid var(--accent-line);border-radius:14px}
.home-hero .banner-frame{position:relative;inset:auto;height:100%}
.home-hero .crew-banner .banner-frame img{object-fit:scale-down}
.banner-menu{position:static;transform:none;width:auto;max-height:calc(var(--banner-height) - 32px);margin:16px 14px 16px 0}
/* Share the banner image area with the desktop selection boxes. */
@media(min-width:821px){
  .home-hero .crew-banner.banner-carousel{display:block}
  .home-hero .banner-frame{position:absolute;inset:0;width:100%;height:100%}
  .home-hero .crew-banner .banner-frame img{object-fit:cover}
  .home-hero .banner-menu{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:220px;max-height:calc(var(--banner-height) - 32px);margin:0}
}
.home-hero-banner .banner-admin{width:100%;max-width:none}
/* Higher specificity than the previous white leader label. */
.member-card.role-leader .member-role-inline.leader,.member-card.role-staff .member-role-inline.staff{color:var(--text);font-size:12px;font-weight:800}
.member-role-inline.leader,.member-role-inline.staff{color:var(--text)}
.notice-body{font-size:18px;line-height:1.9;color:var(--text)}
.notice-list .notice-mini h3,.home-board .notice-mini h3{font-size:18px}
.notice-list .notice-mini p,.home-board .notice-mini p{font-size:16px;line-height:1.8;color:var(--muted);-webkit-line-clamp:2}
.notice-modal-meta{font-size:13px}
.rich-editor{min-width:0;width:100%;border:1px solid var(--accent-line);border-radius:10px;overflow:hidden;background:var(--panel)}
.rich-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.rich-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px;border-bottom:1px solid var(--line);background:var(--panel2)}
.rich-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:5px 9px;border:1px solid var(--line);border-radius:5px;background:var(--panel);font-size:12px;line-height:1.4;color:var(--text)}
.rich-toolbar button[aria-pressed=true],.rich-toolbar button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.rich-toolbar label{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:11px;color:var(--muted)}
.rich-toolbar select{width:auto;min-width:66px;max-width:100px;height:34px;min-height:34px;padding:4px 6px;border-radius:5px;font-size:12px;background:var(--panel);color:var(--text)}
.rich-surface{position:relative;min-height:calc(var(--editor-lines,4)*1.8em + 28px);max-height:55vh;overflow-y:auto;padding:14px 16px;outline:none;font-size:18px;line-height:1.8;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text}
/* Explicit per-text colors remain inline; only the inherited default changes. */
.page-content .info-banner{color:var(--text)}
.rich-surface[data-empty="true"]:before{content:attr(data-placeholder);position:absolute;top:14px;left:16px;color:var(--subtle);pointer-events:none}
.rich-surface[aria-invalid=true]{box-shadow:inset 0 0 0 2px #b91c1c}
.rich-editor-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:8px 12px;border-top:1px solid var(--line);font-size:11px;line-height:1.6;color:var(--muted)}
.rich-status{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:820px){.home-page .home-hero-banner{width:calc(100% - 36px)}.home-hero .crew-banner.banner-carousel{display:block;height:auto}.home-hero .banner-frame{height:auto;aspect-ratio:16/9}.banner-menu{max-height:none;margin:12px 14px 14px}.notice-body{font-size:17px}}
@media(max-width:560px){.home-page .home-hero-banner{width:calc(100% - 28px)}.notice-list .notice-mini h3,.home-board .notice-mini h3{font-size:17px}.notice-list .notice-mini p,.home-board .notice-mini p{font-size:15px}.rich-toolbar{padding:8px;gap:5px}.rich-toolbar button{min-height:38px}.rich-surface{font-size:17px;padding:12px}.rich-editor-foot{font-size:10px}}

/* Native color picker for any text color, including system custom colors. */
.rich-toolbar .rich-color-control{gap:6px}
.rich-toolbar input[type=color]{appearance:auto;flex:0 0 38px;width:38px;min-width:38px;max-width:38px;height:34px;min-height:34px;padding:3px;border:1px solid var(--line);border-radius:5px;background:var(--panel);cursor:pointer}
.rich-toolbar input[type=color]::-webkit-color-swatch-wrapper{padding:2px}
.rich-toolbar input[type=color]::-webkit-color-swatch{border:1px solid var(--line);border-radius:3px}
.rich-toolbar input[type=color]::-moz-color-swatch{border:1px solid var(--line);border-radius:3px}
.rich-toolbar .rich-color-value{min-width:54px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text)}
@media(max-width:560px){.rich-toolbar input[type=color]{height:38px;min-height:38px}}

/* Notice lists and a readable article view. */
.notice-list .notice-mini{background:var(--panel);padding:24px 26px;border:1px solid var(--line);border-radius:12px;text-align:left}
.notice-list .notice-mini:hover{border-color:var(--accent-line);background:var(--panel)}
.notice-list .notice-mini h3{font-size:21px;line-height:1.5;letter-spacing:-.025em;margin-top:12px}
.notice-list .notice-mini p,.home-board .notice-mini p{font-size:16px;line-height:1.75;margin-top:9px;color:var(--muted)}
.notice-mini-top{gap:8px;flex-wrap:wrap}
.notice-mini-top .date{font-size:12px}
.notice-card-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;color:var(--muted);font-size:13px}
.notice-card-author{font-weight:700;color:var(--text)}
.notice-metrics{display:inline-flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.notice-metrics>span{display:inline-flex;align-items:center;gap:5px}
.notice-metrics .icon{width:16px;height:16px}
.notice-metrics b{font-weight:600}
.home-board .notice-card-footer{font-size:12px;margin-top:10px}
.home-board .notice-metrics{font-size:12px;gap:10px}
#modal.notice-dialog{width:min(900px,calc(100% - 40px));max-height:90dvh;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 80px #21153940;background:var(--panel)}
#modal.notice-dialog .dialog-head{padding:26px 32px;align-items:flex-start;background:var(--panel);border-bottom:1px solid var(--line)}
#modal.notice-dialog .dialog-head h2{font-size:28px;line-height:1.45;font-weight:800;letter-spacing:-.035em;overflow-wrap:anywhere}
#modal.notice-dialog .dialog-head .icon-btn{flex:0 0 38px;background:var(--bg);width:38px;height:38px}
#modal.notice-dialog .dialog-body{padding:24px 32px 30px}
.notice-reader{max-width:100%;min-width:0}
.notice-reader-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.notice-byline{display:flex;align-items:center;gap:11px;min-width:0}
.notice-author-mark{display:grid;place-items:center;overflow:hidden;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--accent-line);border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:18px;font-weight:800}
.notice-author-mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.notice-byline strong{font-size:15px;color:var(--text)}
.notice-published{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.5;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.notice-reader-tags{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.notice-reader-meta>.notice-metrics{flex-basis:100%;font-size:13px}
.notice-prose{font-size:19px;line-height:1.85;letter-spacing:-.015em;color:var(--text);width:100%;max-width:none;margin:28px 0 32px;text-align:left;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.notice-prose p{margin:0 0 1.1em;line-height:inherit}
.notice-prose p:last-child{margin-bottom:0}
.notice-reader-footer{border-top:1px solid var(--line);padding-top:26px;text-align:center}
.notice-like-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:150px;padding:10px 20px;border:1px solid var(--accent-line);border-radius:999px;background:var(--panel);color:var(--accent);font-size:15px;font-weight:700}
.notice-like-button:hover,.notice-like-button.is-liked{background:var(--accent-soft);border-color:var(--accent)}
.notice-like-button.is-liked .icon{fill:currentColor}
.notice-like-button .icon{width:20px;height:20px}
.notice-like-count{min-width:16px;font-variant-numeric:tabular-nums}
.notice-counter-message{font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px;min-height:19px}
.notice-counter-message.is-error{color:#b91c1c}
.notice-reader-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
@media(max-width:560px){.notice-list .notice-mini{padding:18px 16px}.notice-list .notice-mini h3{font-size:19px}.notice-list .notice-mini p{font-size:15px}.notice-card-footer{font-size:12px}.notice-metrics{font-size:12px;gap:10px}#modal.notice-dialog{width:calc(100% - 20px);max-height:94dvh;border-radius:12px}#modal.notice-dialog .dialog-head{padding:18px 18px;gap:12px}#modal.notice-dialog .dialog-head h2{font-size:22px}#modal.notice-dialog .dialog-body{padding:20px 18px 24px}.notice-reader-meta{gap:12px}.notice-reader-tags{margin-left:0}.notice-byline{flex:1 1 100%}.notice-prose{font-size:17px;line-height:1.85;margin:24px 0 28px}.notice-reader-actions .btn{min-height:42px}}

/* v8.33: membership, private verification and approval */
.membership-tag{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #bba6ee;border-radius:6px;background:#f1eaff;color:#5b21b6;font-size:11px;font-weight:700;line-height:1.5;white-space:nowrap}
.membership-tag.community{border-color:#a6c2d9;background:#edf6fc;color:#245574}.membership-tag.compact{font-size:10px;padding:1px 5px}
.member-name-role{flex-wrap:wrap}.directory-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.directory-tabs>a{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-weight:700;color:var(--text)}.directory-tabs>a[aria-current=page]{border-color:#7c3aed;background:#f1eaff;color:#5b21b6}.directory-tabs>a>span{font-size:12px;font-variant-numeric:tabular-nums}
.tier-community .member-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tier-community .member-tier-heading{color:#245574}
.signup-panel{max-width:600px;margin:auto}.signup-panel h3{font-size:25px;margin:8px 0 12px}.signup-intro{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:24px}.signup-step{margin-bottom:24px;gap:10px}.signup-step>label{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:750;color:var(--text)}.signup-step-number{display:inline-grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border:1px solid #d1b9fa;border-radius:8px;background:#f1eaff;color:#5b21b6;font-size:12px}.signup-panel input:not([type=file]){min-height:48px;font-size:16px}.signup-panel input[type=file]{max-width:100%;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--panel)}.signup-panel input::file-selector-button{border:1px solid #cdb7f2;border-radius:6px;padding:7px 10px;margin-right:8px;background:#f1eaff;color:#5b21b6;cursor:pointer}.signup-panel .field-note{font-size:13px;line-height:1.7}.signup-photo-preview{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;min-height:135px;padding:15px;border:1px dashed #bda5e5;border-radius:12px;background:#faf8ff;color:#585065;text-align:center}.signup-photo-preview img{display:block;width:auto;max-height:300px;max-width:100%;object-fit:contain;border-radius:6px}.signup-login-link{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:14px;color:var(--muted)}
.pending-account{max-width:680px;margin:0 auto;padding:12px 0;text-align:center}.pending-account-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#f1eaff;color:#6d28d9;margin-bottom:18px}.pending-account-icon .icon{width:28px;height:28px}.pending-account h3{margin:10px 0 18px;font-size:24px}.pending-account>p:not(.eyebrow){line-height:1.9;font-size:15px;color:var(--muted)}.pending-permissions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:24px 0;padding:18px;background:#f8f6fc;border:1px solid #e6ddf2;border-radius:12px;color:#4b435c;font-size:13px}.pending-permissions>span{display:flex;align-items:center;gap:6px}.pending-permissions .icon{width:17px;height:17px}.pending-account>.text-link{font-size:14px}.pending-account .btn-row{justify-content:center;flex-wrap:wrap;margin:26px 0 12px}
.account-manager-heading{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.account-manager-heading h3{font-size:21px}.account-manager-heading p{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.7}.account-summary{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.account-summary>span{background:#f7f4fb;border:1px solid #e4d9f4;border-radius:10px;padding:10px 14px;color:#635671;font-size:13px}.account-summary strong{color:#5421a0;font-size:19px;margin-left:6px}.account-filters{display:flex;gap:12px;margin-bottom:16px}.account-filters label,.account-review-form>label:not(.check-inline){display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.account-search{flex:1;min-width:0}.account-filters input,.account-filters select,.account-review-form select{font-size:14px;min-height:42px;max-width:100%;padding:8px 10px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px}.account-explainer{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:20px}.account-explainer strong{color:var(--text)}.account-review-card{border:1px solid #d9cee9;border-radius:14px;background:var(--panel);padding:20px;margin-top:14px}.account-review-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-review-title strong{font-size:18px;color:var(--text);overflow-wrap:anywhere}.account-review-title p{font-size:12px;color:var(--muted);margin:5px 0 14px}.account-photo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin:6px 0 15px}.account-photo-actions .text-link{font-size:12px}.account-verification{margin:16px 0;border:1px solid var(--line);border-radius:10px;background:#f8f7fb;padding:12px;text-align:center}.account-verification img{display:block;max-width:100%;max-height:550px;margin:auto;object-fit:contain}.account-review-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding-top:14px;border-top:1px solid var(--line)}.account-review-form .check-inline{flex:1 1 210px;align-self:center;font-size:13px;line-height:1.7;color:var(--text)}.account-row-error{flex-basis:100%;font-size:14px}.account-empty{padding:32px 12px}.account-empty h3{font-size:18px}
@media(max-width:1000px){.tier-community .member-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.tier-community .member-tier-grid{grid-template-columns:minmax(0,1fr)}.signup-panel h3,.pending-account h3{font-size:22px}.account-review-card{padding:16px}.account-filters{flex-wrap:wrap}.account-search{flex-basis:100%}.account-review-form{align-items:stretch}.account-review-form>label,.account-review-form>button{width:100%}.account-review-title{flex-wrap:wrap}.account-summary{gap:7px}.account-summary>span{padding:8px 10px;font-size:12px}.directory-tabs>a{padding:10px 12px;font-size:13px}.home-rank-row .membership-tag{font-size:8px;padding:0 3px}.pending-account .btn-row>.btn{flex:1 1 100%}}


/* Mobile summaries use the same tracks in every cell. The icon follows the
   number row, so wrapping descriptions cannot shift it up or down. */
@media (max-width:820px) {
  .stat-strip {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:1fr;
    gap:0;
    padding:0;
    overflow:hidden;
  }
  .stat-strip>.stat {
    display:grid;
    grid-template-columns:26px minmax(0,1fr);
    grid-template-rows:auto auto 1fr;
    align-items:start;
    column-gap:10px;
    row-gap:6px;
    padding:18px 16px;
    border:0;
  }
  .stat-strip>.stat::before { display:none; }
  .stat-strip>.stat:nth-child(even) { border-left:1px solid var(--line); }
  .stat-strip>.stat:nth-child(n+3) { border-top:1px solid var(--line); }
  .stat-strip>.stat>div { display:contents; }
  .stat-strip .stat-top {
    grid-column:2;
    grid-row:1;
    align-items:flex-end;
    min-height:2.8em;
    font-size:12px;
    line-height:1.4;
    overflow-wrap:anywhere;
  }
  .stat-strip .stat-value {
    grid-column:2;
    grid-row:2;
    margin:0;
    font-size:26px;
    line-height:1.25;
    white-space:nowrap;
  }
  .stat-strip .stat-note {
    grid-column:2;
    grid-row:3;
    margin:0;
    font-size:11px;
    line-height:1.5;
    overflow-wrap:anywhere;
  }
  .stat-strip>.stat>.icon {
    grid-column:1;
    grid-row:2;
    align-self:center;
    width:26px;
    height:26px;
  }
  .home-rank-row .home-rank-difficulty { display:block; white-space:nowrap; }
  .home-rank-row .person-name {
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .home-rank-row .person-name>span:first-child { overflow:visible; }
  .home-rank-labels>span { min-width:0; }

  /* Fit all four columns in the ranking page as well as the homepage card. */
  .ranking-table-wrap .ranking-table { min-width:0; width:100%; table-layout:fixed; }
  .ranking-table th,.ranking-table td { padding:14px 8px; }
  .ranking-table th { font-size:12px; line-height:1.5; white-space:normal; }
  .ranking-table th:nth-child(1),.ranking-table td:nth-child(1) { width:38px; }
  .ranking-table th:nth-child(3),.ranking-table td:nth-child(3) { width:86px; }
  .ranking-table th:nth-child(4),.ranking-table td:nth-child(4) { width:90px; }
  .ranking-table td.t-score { font-size:17px; white-space:nowrap; }
  .ranking-table .ranking-member-link { width:100%; gap:8px; }
  .ranking-table .ranking-member-link>span { flex:1 1 0; min-width:0; }
  .ranking-table .ranking-member-link .avatar { width:32px; height:32px; flex:0 0 32px; }
  .ranking-table .person-name { font-size:13px; white-space:normal; overflow-wrap:anywhere; }
  .ranking-table .person-name>span:first-child { overflow:visible; }
  .ranking-table .person-sub { font-size:10px; white-space:normal; }
}
@media (max-width:560px) {
  .stat-strip>.stat { grid-template-columns:24px minmax(0,1fr); column-gap:8px; padding:16px 12px; }
  .stat-strip>.stat>.icon { width:24px; height:24px; }
  .stat-strip .stat-top { font-size:11px; }
  .stat-strip .stat-value { font-size:clamp(20px,6vw,26px); }
  .stat-strip .stat-value .unit { font-size:13px; }
  .stat-strip .stat-note { font-size:10px; }
  .home-rank-row .home-rank-difficulty { font-size:14px; font-weight:650; }
  .ranking-table th,.ranking-table td { padding:12px 5px; }
  .ranking-table th { font-size:11px; }
  .ranking-table th:nth-child(1),.ranking-table td:nth-child(1) { width:30px; }
  .ranking-table th:nth-child(3),.ranking-table td:nth-child(3) { width:64px; }
  .ranking-table th:nth-child(4),.ranking-table td:nth-child(4) { width:70px; }
  .ranking-table td.t-score { font-size:16px; }
  .ranking-table .ranking-member-link { gap:6px; }
  .ranking-table .ranking-member-link .avatar { width:28px; height:28px; flex-basis:28px; }
  .ranking-table .person-name { font-size:12px; }
}

/* Clear reading surfaces for editable ranking/record explanations. */
.records-page>.info-banner,.rankings-page>.info-banner {
  background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:22px 24px;gap:14px;margin-bottom:24px;color:var(--text);
  font-size:17px;line-height:1.85;box-shadow:none;
}
.records-page>.info-banner>div,.rankings-page>.info-banner>div {min-width:0;max-width:80ch;overflow-wrap:anywhere;}
.records-page>.info-banner>.icon,.rankings-page>.info-banner>.icon {width:21px;height:21px;margin-top:5px;color:var(--muted);}
.records-page .page-heading>div>p:last-child,.rankings-page .page-heading>div>p:last-child {font-size:16px;line-height:1.75;color:var(--muted);}
/* The full rounded rainbow border remains; remove the overlapping straight stripe. */
.member-card.member-card-special::after {content:none;display:none;}
.member-card.member-card-special {padding-left:16px;}
.member-card.member-card-special::before {border-radius:inherit;pointer-events:none;}
.member-card .member-card-top>.avatar {box-sizing:border-box;overflow:hidden;}
.member-card .member-card-top>.avatar>img {display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;}

.record-review-dashboard,.member-review-panel {padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin:0 0 24px;}
.review-dashboard-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.review-dashboard-heading h2,.review-dashboard-heading h3 {font-size:22px;line-height:1.4;margin:4px 0 8px;}
.review-dashboard-heading p,.directory-help {font-size:14px;line-height:1.75;color:var(--muted);}
.review-admin-label {font-size:11px;font-weight:700;color:var(--accent);}
.review-summary {display:flex;gap:10px;flex-wrap:wrap;margin:20px 0;}
.review-summary>span {padding:10px 14px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;font-size:13px;}
.review-summary strong {font-size:20px;color:var(--text);margin:0 4px;}
.review-filters {display:flex;align-items:flex-end;gap:12px;margin:18px 0 8px;}
.review-filters label,.review-controls label {display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);}
.review-filters label:last-child {flex:1;min-width:0;}
.review-filters input,.review-filters select,.review-controls input {min-height:44px;min-width:0;width:100%;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:10px;font-size:14px;color:var(--text);}
.review-message {font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0;}
.record-review-card {border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:14px;background:var(--panel);}
.review-card-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.review-card-heading>div {min-width:0;}
.review-card-heading strong {font-size:18px;line-height:1.5;overflow-wrap:anywhere;}
.review-card-heading p {font-size:12px;line-height:1.7;margin-top:5px;color:var(--muted);overflow-wrap:anywhere;}
.review-status {display:inline-flex;flex:0 0 auto;align-items:center;padding:4px 9px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap;background:#f3f4f6;color:#53515e;}
.review-status.pending {background:#fff4d7;color:#815400;}
.review-status.approved {background:#eaf7ee;color:#216e3a;}
.review-status.rejected {background:#fff0f0;color:#aa2636;}
.review-card-content {display:flex;gap:18px;margin-top:16px;}
.record-review-photo {flex:0 0 160px;max-width:160px;display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--accent);}
.record-review-photo img {display:block;width:160px;height:105px;border:1px solid var(--line);border-radius:8px;object-fit:contain;background:var(--panel2);}
.review-no-photo {flex:0 0 160px;align-self:center;font-size:12px;color:var(--muted);text-align:center;}
.review-card-details {flex:1;min-width:0;}
.review-facts {display:flex;flex-wrap:wrap;gap:12px 22px;margin:0;}
.review-facts>div {min-width:85px;}
.review-facts dt {font-size:11px;color:var(--muted);margin-bottom:3px;}
.review-facts dd {font-size:14px;font-weight:650;color:var(--text);margin:0;font-variant-numeric:tabular-nums;}
.review-before {margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);}
.review-before summary {font-size:12px;cursor:pointer;color:var(--muted);}
.review-before[open] summary {margin-bottom:12px;}
.review-before>strong {display:block;margin-bottom:10px;font-size:14px;}
.review-controls {display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
.review-controls label {flex:1;min-width:0;}
.review-controls label span {font-size:11px;}
.review-controls .btn-row {margin:0;}
.review-controls p {font-size:12px;line-height:1.75;color:var(--muted);}
.review-reason {padding:10px 12px;background:#fff7f7;color:#8d2633;border-radius:8px;font-size:14px;line-height:1.8;overflow-wrap:anywhere;}
.review-processed {font-size:12px;color:var(--muted);margin-top:12px;}
.review-empty {padding:28px 16px;color:var(--muted);font-size:14px;line-height:1.8;text-align:center;}
.member-review-panel {padding:18px;margin:22px 0;}
.member-review-panel .review-dashboard-heading h3 {font-size:18px;}
.member-review-panel .record-review-card {padding:14px;}
.member-record-submit-note {padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);font-size:14px;line-height:1.8;color:var(--text);margin:18px 0;}

.directory-help {margin:-4px 0 20px;}
.team-directory {display:grid;gap:16px;}
.team-group {min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;}
.team-group>summary {list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:20px;color:var(--text);}
.team-group>summary::-webkit-details-marker {display:none;}
.team-group>summary:hover {background:var(--panel2);}
.team-group>summary:focus-visible {outline:2px solid var(--accent);outline-offset:-4px;}
.team-emblem {display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:var(--accent-soft);color:var(--accent);flex:0 0 50px;}
.team-emblem.member {background:#edf6fc;color:#245574;}
.team-emblem .icon {width:26px;height:26px;}
.team-title {min-width:0;display:flex;align-items:center;gap:12px;flex:1;}
.team-title strong {font-size:20px;overflow-wrap:anywhere;}
.team-title>span {font-size:13px;color:var(--muted);white-space:nowrap;}
.team-chevron {font-size:26px;line-height:1;transition:transform .15s;}
.team-group[open]>summary .team-chevron {transform:rotate(180deg);}
.team-member-list {border-top:1px solid var(--line);}
.directory-member {width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto 20px;gap:14px;align-items:center;padding:18px 22px;text-align:left;background:var(--panel);color:var(--text);border-bottom:1px solid var(--line);}
.directory-member:last-child {border-bottom:0;}
.directory-member:hover,.directory-member:focus-visible {background:var(--accent-soft);color:var(--text);}
.directory-member>.avatar {width:48px;height:48px;border-radius:12px;overflow:hidden;}
.directory-member-copy {min-width:0;}
.directory-member .person-name {font-size:16px;white-space:normal;overflow-wrap:anywhere;}
.directory-member .person-name>span:first-child {overflow:visible;}
.directory-member-meta {display:block;font-size:12px;line-height:1.7;color:var(--muted);margin-top:4px;}
.directory-member-stats {display:flex;gap:18px;font-size:11px;color:var(--muted);}
.directory-member-stats>span {display:flex;flex-direction:column;gap:2px;}
.directory-member-stats strong {font-size:16px;color:var(--text);font-variant-numeric:tabular-nums;}
.directory-member-arrow {font-size:22px;color:var(--muted);}
@media(max-width:560px) {
  .records-page>.info-banner,.rankings-page>.info-banner {padding:18px 16px;gap:10px;font-size:16px;line-height:1.85;}
  .record-review-dashboard,.member-review-panel {padding:16px 12px;}
  .review-dashboard-heading {flex-wrap:wrap;gap:10px;}
  .review-dashboard-heading h2 {font-size:20px;}
  .review-filters {flex-wrap:wrap;}
  .review-filters label {flex:1 1 100%;}
  .review-card-heading {flex-wrap:wrap;}
  .review-card-content {flex-direction:column;gap:14px;}
  .record-review-photo {flex-basis:auto;max-width:100%;}
  .record-review-photo img {width:100%;height:170px;}
  .review-no-photo {flex-basis:auto;align-self:flex-start;}
  .review-controls {align-items:stretch;flex-direction:column;}
  .review-controls .btn-row {display:flex;}
  .review-controls .btn-row .btn {flex:1;min-height:44px;padding:10px;}
  .review-summary {gap:6px;}
  .review-summary>span {padding:8px;font-size:12px;}
  .review-facts {gap:10px 14px;}
  .record-review-card {padding:14px 12px;}
  .team-group>summary {padding:16px 14px;gap:12px;}
  .team-emblem {width:42px;height:42px;flex-basis:42px;}
  .team-title {gap:6px;flex-wrap:wrap;}
  .team-title strong {font-size:18px;}
  .directory-member {grid-template-columns:44px minmax(0,1fr) 16px;gap:7px 10px;padding:16px 14px;}
  .directory-member>.avatar {width:44px;height:44px;grid-row:1 / span 2;}
  .directory-member-copy {grid-column:2;grid-row:1;}
  .directory-member .person-name {font-size:15px;}
  .directory-member-meta {font-size:11px;}
  .directory-member-stats {grid-column:2;grid-row:2;gap:12px;flex-wrap:wrap;}
  .directory-member-stats>span {flex-direction:row;align-items:baseline;gap:4px;}
  .directory-member-stats strong {font-size:13px;}
  .directory-member-arrow {grid-column:3;grid-row:1 / span 2;}
}
@media(prefers-reduced-motion:reduce) { .member-card.role-leader,.member-card.role-leader .member-role-inline.leader{animation:none}.team-chevron{transition:none} }

/* Independent badge buttons keep taps separate from the member profile action. */
.member-card {cursor:pointer;}
.member-card .member-profile-link {padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;text-align:inherit;line-height:inherit;cursor:pointer;}
.achievement-mini {padding:0;font:inherit;cursor:pointer;touch-action:manipulation;}
.achievement-mini:focus-visible,.member-profile-link:focus-visible,.achievement-hover-close:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}
.achievement-mini[aria-expanded="true"] {box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--accent);}
.achievement-hover-panel {display:block!important;box-sizing:border-box;}
.achievement-hover-panel.is-pinned {pointer-events:auto;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;}
.achievement-hover-panel.is-pinned .achievement-hover-head {padding-right:30px;}
.achievement-hover-close {position:absolute;top:9px;right:9px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:27px;line-height:1;cursor:pointer;}
.achievement-hover-close:hover {background:var(--panel2);color:var(--text);}
.achievement-hover-panel p {color:var(--text);}
@media(max-width:560px),(hover:none) {
  .member-card-meta .achievement-strip {grid-template-columns:repeat(2,44px);grid-auto-rows:44px;gap:8px;}
  .member-card-meta .achievement-mini {width:44px;height:44px;}
  .achievement-hover-panel.is-pinned {padding:18px;border-radius:18px;}
  .achievement-hover-panel.is-pinned .achievement-hover-head {gap:12px;margin-bottom:16px;padding-right:24px;align-items:flex-start;}
  .achievement-hover-panel.is-pinned .achievement-hover-icon {width:76px;height:76px;flex-basis:76px;border-radius:20px;}
  .achievement-hover-panel.is-pinned .achievement-hover-icon .achievement-img {border-radius:18px;}
  .achievement-hover-panel.is-pinned .achievement-hover-icon .icon {width:38px;height:38px;}
  .achievement-hover-panel.is-pinned .achievement-hover-head strong {font-size:18px;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere;}
  .achievement-hover-panel.is-pinned .achievement-hover-head em {font-size:12px;margin-top:6px;}
  .achievement-hover-panel.is-pinned p {font-size:16px;line-height:1.75;margin-bottom:16px;}
  .achievement-hover-panel.is-pinned .achievement-hover-rule {font-size:14px;gap:10px;padding-top:14px;}
  .achievement-hover-panel.is-pinned .achievement-hover-rule b {line-height:1.65;}
  .achievement-hover-close {width:44px;height:44px;top:3px;right:3px;font-size:24px;}
}
@media(prefers-reduced-motion:reduce) {.achievement-hover-panel{transition:none;}}

/* v8.46: same text baseline in the editor and published explanations.
   Per-text fonts, colors and intentional blank lines remain intact. */
.rich-surface,.records-page>.info-banner,.rankings-page>.info-banner {font-size:18px;line-height:1.8;}
.rich-surface :is(p,div,li,h1,h2,h3,blockquote) {margin:0;}
.rich-surface::before {font-size:inherit;line-height:inherit;}
.home-hero-actions,.home-hero-tags {display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.stat-edit-tools {display:flex;justify-content:flex-end;margin:0 0 8px;}
.home-ranking-badge {margin:0 0 10px;}
.section-heading>div,.editable-title-row {min-width:0;}
.section-heading h2,.page-heading h1 {overflow-wrap:anywhere;}
.section-heading>.text-link {flex-shrink:0;}
button.home-rank-row {width:100%;text-align:left;background:transparent;color:var(--text);font-family:inherit;border-width:0 0 1px;border-style:solid;cursor:pointer;}
button.home-rank-row:hover,button.home-rank-row:focus-visible {background:var(--accent-soft);}
button.home-rank-row:focus-visible {outline:2px solid var(--accent);outline-offset:2px;border-radius:8px;}
.home-rank-row .rank-person,.ranking-member-link {min-width:0;}
.home-rank-row .name-wrap {min-width:0;}
.home-rank-row .person-sub {display:block;}
.home-rank-row .person-sub {white-space:normal;line-height:1.55;overflow-wrap:anywhere;}
.home-rank-row .avatar,.ranking-member-link .avatar {width:52px;height:52px;flex:0 0 52px;}
.profile-top {align-items:center;flex-wrap:wrap;gap:22px;}
.profile-top>.avatar {width:192px;height:192px;flex:0 0 192px;border-radius:28px;}
.profile-top>.avatar span {font-size:66px;}
.profile-top>div:not(.avatar) {min-width:0;flex:1 1 180px;}
.profile-bio {color:var(--muted);font-size:15px;}
.profile-stats {grid-template-columns:repeat(3,minmax(0,1fr));}
.profile-stat {min-width:0;background:var(--panel2);}
.profile-stat strong,.profile-record>strong {color:var(--accent);}
.profile-record .song {min-width:0;overflow-wrap:anywhere;}
.profile-record>strong {flex-shrink:0;}
.profile-record-popover {background:var(--panel);color:var(--text);box-shadow:0 8px 24px #25164024;}
.profile-highlight-title {flex-wrap:wrap;}
@media(max-width:700px){
  .rich-surface,.records-page>.info-banner,.rankings-page>.info-banner {font-size:17px;line-height:1.8;}
  .rich-surface[data-empty="true"]::before {top:12px;left:12px;}
  .profile-top {gap:16px;}
  .profile-top>.avatar {width:144px;height:144px;flex-basis:144px;border-radius:22px;}
  .profile-top>div:not(.avatar) {flex-basis:140px;}
  .profile-top>.avatar span {font-size:50px;}
  .profile-top h3 {font-size:20px;}
  .profile-stat {padding:14px 8px;}
  .profile-stat strong {font-size:20px;}
  .profile-stat span {font-size:10px;}
  .home-rank-row .avatar,.ranking-member-link .avatar {width:44px;height:44px;flex-basis:44px;}
  .home-rank-row .rank-person {gap:8px;}
  .home-rank-row .member-name-role {flex-wrap:wrap;}
}

/* v8.49: five-song placement, rating tiers and incomplete-play labels. */
.pill.miss-play {color:#a82942;background:#fff0f2;border-color:#f0bec8;white-space:nowrap;}
.rating-badge {display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 8px;border:1px solid currentColor;border-radius:7px;font-size:11px;font-weight:750;line-height:1.4;white-space:nowrap;}
.rating-badge::before {content:'◆';font-size:9px;}
.rating-iron,.rating-unranked {color:#565f6d;background:#f1f3f5;}
.rating-bronze {color:#854c26;background:#fff3e6;}
.rating-silver {color:#495d73;background:#edf3fa;}
.rating-gold {color:#785408;background:#fff6d5;}
.rating-platinum {color:#145b72;background:#e8f7fa;}
.rating-emerald {color:#166348;background:#e5f9f1;}
.rating-diamond {color:#304bb3;background:#edf1ff;}
.rating-master {color:#7132a4;background:#f5e9ff;}
.rating-grandmaster {color:#9c2245;background:#fff0f2;}
.rating-challenger {color:#745000;background:#fff6cd;}
.rating-unranked::before {content:'○';}
.home-rating-line,.ranking-rating-line {display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin:5px 0;font-size:11px;line-height:1.5;color:var(--text);}
button.home-rank-row.is-unranked:first-child {background:transparent;border-color:var(--line);border-radius:0;}
button.home-rank-row.is-unranked:hover,button.home-rank-row.is-unranked:focus-visible {background:var(--accent-soft);}
.ranking-unranked .rank-number {color:var(--muted);}
.rating-summary {margin:20px 0;padding:20px;border:1px solid var(--accent-line);border-radius:16px;background:linear-gradient(120deg,var(--accent-soft),var(--panel));color:var(--text);}
.rating-summary-head {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.rating-summary-head h3 {font-size:17px;margin:0 0 9px;}
.rating-summary-head h3>span {font-family:var(--font-body,inherit);font-weight:400;white-space:nowrap;}
.rating-value {font-size:30px;line-height:1.25;color:var(--accent);}
.rating-value small {font-size:12px;margin-left:5px;color:var(--muted);}
.rating-summary>p {font-size:13px;line-height:1.7;margin:12px 0;color:var(--text);}
.rating-summary>.rating-next {margin:7px 0 0;color:var(--muted);font-size:12px;}
.rating-summary progress {display:block;width:100%;height:8px;border:0;border-radius:20px;overflow:hidden;appearance:none;background:var(--line);accent-color:var(--accent);}
.rating-summary progress::-webkit-progress-bar {background:var(--line);border-radius:20px;}
.rating-summary progress::-webkit-progress-value {background:var(--accent);border-radius:20px;}
.rating-summary progress::-moz-progress-bar {background:var(--accent);border-radius:20px;}
.rating-guide {margin:0 0 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);}
.rating-guide>summary,.rating-records>summary {padding:13px 15px;cursor:pointer;font-size:13px;font-weight:650;color:var(--text);}
.rating-guide>summary:focus-visible,.rating-records>summary:focus-visible {outline:2px solid var(--accent);outline-offset:2px;border-radius:10px;}
.rating-guide-body {padding:0 15px 15px;overflow-wrap:anywhere;}
.rating-guide-body>p {font-size:13px;line-height:1.8;margin:0 0 12px;color:var(--text);}
.rating-guide-body .rating-tier-table {width:100%;min-width:0;table-layout:auto;border-collapse:collapse;}
.rating-tier-table th,.rating-tier-table td {text-align:left;padding:8px 10px;white-space:normal;font-size:12px;border-bottom:1px solid var(--line);}
.rating-tier-table th {color:var(--muted);}
.rating-summary>.rating-guide {margin:14px 0 0;}
.rating-records {margin-top:14px;border-top:1px solid var(--accent-line);}
.rating-records>summary {padding-left:0;padding-right:0;}
.rating-records ul {list-style:none;margin:0;padding:0;}
.rating-records li {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13px;}
.rating-records li>span:first-child {min-width:0;overflow-wrap:anywhere;}
.rating-records li>span:last-child {white-space:nowrap;}
.rating-records small {display:block;font-size:11px;color:var(--muted);margin-top:5px;}
@media(max-width:700px){
  .rating-summary {padding:15px;}
  .rating-value {font-size:26px;}
  .home-rating-line,.ranking-rating-line {gap:4px;font-size:10px;}
  .home-rating-line .rating-badge,.ranking-rating-line .rating-badge {font-size:10px;padding:2px 5px;}
  .home-rank-row .person-sub {font-size:10px;}
  .rating-guide-body {padding-left:12px;padding-right:12px;}
  .rating-tier-table th,.rating-tier-table td {padding:8px 4px;font-size:11px;}
}
.home-board-note,.stat-note {white-space:pre-line;}
.record-proof-link {color:var(--accent);font-weight:650;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
.record-proof-link:hover {color:var(--text);}
.record-proof-link:focus-visible {outline:2px solid var(--accent);outline-offset:4px;border-radius:3px;}

/* v8.50: readable record and rating criteria on the light theme. */
.rating-tier-table thead,.rating-tier-table thead th {background:var(--accent-soft);color:var(--text);}
.rating-tier-table tbody th {background:transparent;color:var(--text);font-weight:500;}
.rating-tier-table tbody tr:hover {background:var(--accent-soft);color:var(--text);}
.record-criteria-table th[scope="row"] {width:28%;}
.record-example-table thead th:first-child {width:45%;}
.record-example-table thead th:last-child {width:18%;}
.rating-guide-body .criteria-example-heading {margin:20px 0 10px;font-size:15px;line-height:1.5;}
.rating-guide-body .criteria-related-note {margin:16px 0 0;}
.criteria-related-note .text-link {font-size:inherit;flex-wrap:wrap;}
@media(max-width:560px){
  .record-criteria-table th[scope="row"] {width:34%;}
  .record-example-table th,.record-example-table td {overflow-wrap:anywhere;}
}

/* v8.62: calculations remain readable without relying on color alone. */
.criteria-formula,.criteria-worked-example {display:grid;gap:8px;margin:18px 0;padding:18px 20px;border:1px solid var(--accent-line);border-radius:12px;background:var(--accent-soft);color:var(--text);font-size:13px;line-height:1.7;}
.criteria-formula>strong {font-size:18px;line-height:1.6;}
.criteria-kicker {font-size:11px;font-weight:750;letter-spacing:.04em;color:var(--accent);}
.criteria-adjustments {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 20px;}
.adjustment-card {display:grid;gap:7px;padding:16px;border:1px solid currentColor;border-radius:12px;font-size:13px;}
.adjustment-card>strong {font-size:28px;font-variant-numeric:tabular-nums;line-height:1.2;}
.adjustment-card>small {font-size:11px;line-height:1.6;}
.calc-plus {color:#08634f;background:#e9f8f1;}
.calc-minus {color:#8a480b;background:#fff3e5;}
.calc-miss {color:#a62543;background:#fff0f3;}
.calc-base {color:#504c68;background:#f2f0f7;}
.calc-expression {display:flex;flex-wrap:wrap;align-items:center;gap:7px;}
.calc-term {display:inline-grid;gap:3px;justify-items:center;min-width:64px;padding:7px 9px;border:1px solid currentColor;border-radius:8px;line-height:1.35;}
.calc-term>span {font-size:10px;font-weight:500;white-space:nowrap;}
.calc-term>b {font-size:17px;white-space:nowrap;}
.calc-result {display:inline-block;padding:8px 13px;border:1px solid #cab8f9;border-radius:9px;background:#f1eaff;color:#6030bd;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.25;}
.example-conditions {display:grid;justify-items:start;gap:8px;line-height:1.6;}
.rating-guide-body .record-example-table {table-layout:fixed;}
.record-example-table thead th:first-child {width:29%;}
.record-example-table thead th:last-child {width:18%;}
.record-example-table th,.record-example-table td {padding:14px 12px;vertical-align:middle;}
.record-example-table tbody tr:nth-child(even) {background:#faf9fd;}
.rating-guide-body .criteria-example-note {color:var(--muted);font-size:12px;}
.rating-guide-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.rating-guide-grid h3 {font-size:14px;line-height:1.6;margin:10px 0;}
.criteria-worked-example p {margin:0;}
.rating-guide-body section {min-width:0;}
.season-picker {display:flex;align-items:center;gap:8px;white-space:nowrap;}
.season-picker select {min-width:170px;max-width:100%;}
@media(max-width:700px){
  .criteria-adjustments,.rating-guide-grid {grid-template-columns:1fr;}
  .adjustment-card {grid-template-columns:1fr auto;align-items:center;padding:12px 14px;}
  .adjustment-card small {grid-column:1/-1;}
  .criteria-formula,.criteria-worked-example {padding:14px;}
  .criteria-formula>strong {font-size:15px;}
  .rating-guide-body .record-example-table,.record-example-table tbody {display:block;width:100%;}
  .record-example-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
  .record-example-table tbody tr {display:grid;gap:12px;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:12px;}
  .record-example-table th,.record-example-table td {display:block;width:100%;padding:0;border:0;}
  .record-example-table td::before {content:attr(data-label);display:block;margin:0 0 7px;font-size:11px;font-weight:650;color:var(--muted);}
  .example-conditions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
  .calc-term {min-width:55px;padding:6px 7px;}
  .calc-term>b {font-size:16px;}
  .season-picker {max-width:100%;white-space:normal;}
  .season-picker select {min-width:0;flex:1;width:180px;}
}
@media(forced-colors:active){.calc-term,.calc-result,.adjustment-card {border:1px solid CanvasText;}}

/* Signup verification example: show the full nickname and character. */
.signup-photo-location{margin:0;color:var(--text)}
.signup-photo-example{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0;padding:16px;max-width:100%;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.signup-photo-example figcaption{font-size:13px;line-height:1.7;color:var(--muted);text-align:center}
.signup-photo-example a{display:block;width:100%;max-width:100%;border-radius:6px}
.signup-photo-example img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:6px}
.signup-photo-example a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* Readable rating scores; v8.61 whole-card ornaments are in rating-effects-8.61.css. */
.rating-score-card{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:158px;max-width:100%;padding:15px 17px;border:1px solid var(--accent-line);border-radius:14px;background:var(--accent-soft);color:var(--accent);vertical-align:middle}
.rating-score-caption{font-size:10px;font-weight:600;letter-spacing:.04em;line-height:1.4;white-space:nowrap;opacity:.8}
.rating-score-line{display:flex;align-items:baseline;justify-content:center;gap:4px;max-width:100%;white-space:nowrap}
.rating-score-number{font-size:32px;font-weight:800;line-height:1.12;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.rating-score-unit{font-size:11px;font-weight:600;line-height:1.2}
.rating-placement-note{font-size:11px;line-height:1.4;color:var(--muted)}
.rankings-page .ranking-table-wrap{padding:0 10px 2px;background:var(--panel2)}
.ranking-table-wrap .ranking-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0 9px}
.ranking-table-wrap .ranking-col-rank{width:60px}
.ranking-table-wrap .ranking-col-rating{width:216px}
.ranking-table-wrap .ranking-col-difficulty{width:138px}
.ranking-table-wrap .ranking-col-accuracy{width:146px}
.ranking-table-wrap .ranking-table th,.ranking-table-wrap .ranking-table td{width:auto;padding:18px 14px;white-space:normal;vertical-align:middle}
.ranking-table-wrap .ranking-table th{font-size:12px;padding-top:11px;padding-bottom:9px;border:0;line-height:1.5}
.rankings-page .ranking-table-wrap .ranking-table tbody tr{background:transparent}
.rankings-page .ranking-table-wrap .ranking-table tbody td{background:var(--tier-tint,var(--panel));border-top:1px solid var(--tier-line,var(--line));border-bottom:1px solid var(--tier-line,var(--line))}
.rankings-page .ranking-table-wrap .ranking-table tbody td:first-child{border-left:1px solid var(--tier-line,var(--line));border-radius:12px 0 0 12px}
.rankings-page .ranking-table-wrap .ranking-table tbody td:last-child{border-right:1px solid var(--tier-line,var(--line));border-radius:0 12px 12px 0}
.rankings-page .ranking-table-wrap .ranking-table tbody tr:focus-within td{background:var(--accent-soft)}
.ranking-table-wrap .ranking-table td.ranking-rating-cell{text-align:center}
.ranking-table-wrap .ranking-table td.t-score{font-size:20px;white-space:nowrap}
.ranking-table-wrap .ranking-table td.t-score>strong{font-weight:650}
.ranking-table-wrap .ranking-member-link{width:100%;min-width:0;gap:12px;border-radius:8px}
.ranking-table-wrap .ranking-member-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.ranking-table-wrap .ranking-member-link>span{min-width:0}
.ranking-table-wrap .ranking-member-link .avatar{width:52px;height:52px;flex:0 0 52px}
.ranking-table-wrap .person-name{font-size:15px;white-space:normal;overflow-wrap:anywhere}
.ranking-table-wrap .person-sub{font-size:11px;white-space:normal;line-height:1.6}
.ranking-table-wrap .ranking-rating-line{margin:7px 0}
.ranking-table-wrap .ranking-rating-line .rating-badge{font-size:12px;padding:3px 8px}
.ranking-mobile-label{display:none}
.home-rating-line .home-rating-score{display:block;flex:0 0 100%;font-size:20px;line-height:1.3;letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:var(--tier-ink,var(--accent))}
.home-rating-score small{margin-left:3px;font-size:10px;font-weight:500}
button.home-rank-row.tier-frame{margin:7px 0;border:1px solid var(--tier-line);border-radius:12px;background:var(--tier-tint);box-shadow:0 2px 8px var(--tier-glow)}
button.home-rank-row.tier-frame:hover,button.home-rank-row.tier-frame:focus-visible{background:var(--tier-tint);box-shadow:0 3px 16px var(--tier-glow)}
.rating-summary[class*="tier-"]{border-color:var(--tier-line);background:linear-gradient(120deg,var(--tier-tint),var(--panel))}
.profile-rating-score{min-width:208px;padding:18px 22px}
.profile-rating-score .rating-score-number{font-size:38px}

@media(min-width:701px) and (max-width:1050px){
  .ranking-table-wrap .ranking-col-rank{width:42px}
  .ranking-table-wrap .ranking-col-rating{width:168px}
  .ranking-table-wrap .ranking-col-difficulty{width:98px}
  .ranking-table-wrap .ranking-col-accuracy{width:106px}
  .ranking-table-wrap .ranking-table th,.ranking-table-wrap .ranking-table td{padding:16px 8px}
  .ranking-table-wrap .rating-score-card{min-width:140px;padding:14px 9px}
  .ranking-table-wrap .rating-score-number{font-size:28px}
  .ranking-table-wrap .ranking-member-link{gap:8px}
  .ranking-table-wrap .ranking-member-link .avatar{width:42px;height:42px;flex-basis:42px}
  .ranking-table-wrap .person-name{font-size:13px}
  .ranking-table-wrap .ranking-table td.t-score{font-size:18px}
}
@media(max-width:700px){
  .rankings-page .ranking-table-wrap{padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
  .ranking-table-wrap .ranking-table{display:block;min-width:0;border-spacing:0}
  .ranking-table-wrap .ranking-table colgroup{display:none}
  .ranking-table-wrap .ranking-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
  .ranking-table-wrap .ranking-table tbody{display:grid;gap:14px;width:100%}
  .rankings-page .ranking-table-wrap .ranking-table tbody tr{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto auto auto;gap:10px 12px;padding:16px;border:1px solid var(--tier-line,var(--line));border-radius:15px;background:var(--tier-tint,var(--panel))}
  .rankings-page .ranking-table-wrap .ranking-table tbody td,.rankings-page .ranking-table-wrap .ranking-table tbody td:first-child,.rankings-page .ranking-table-wrap .ranking-table tbody td:last-child{display:block;width:auto;padding:0;border:0;border-radius:0;background:transparent;min-width:0}
  .rankings-page .ranking-table-wrap .ranking-table tbody tr:focus-within td{background:transparent}
  .ranking-table-wrap .ranking-rank-cell{position:absolute;right:16px;top:16px;text-align:right}
  .ranking-table-wrap .ranking-player-cell{grid-column:1/-1;grid-row:1;margin-right:34px;margin-bottom:5px}
  .ranking-table-wrap .ranking-rating-cell{grid-column:1;grid-row:2/4;align-self:stretch}
  .ranking-table-wrap .ranking-difficulty-cell{grid-column:2;grid-row:2;text-align:left!important;align-self:end}
  .ranking-table-wrap .ranking-accuracy-cell{grid-column:2;grid-row:3;text-align:left!important;align-self:start}
  .ranking-table-wrap .ranking-mobile-label{display:block;font-size:10px;font-weight:500;line-height:1.5;color:var(--muted);margin-bottom:2px}
  .ranking-table-wrap .rating-score-card{width:100%;height:100%;min-width:0;min-height:108px;padding:14px 7px;gap:9px}
  .ranking-table-wrap .rating-score-number{font-size:clamp(23px,6.7vw,32px)}
  .ranking-table-wrap .ranking-member-link{gap:10px}
  .ranking-table-wrap .ranking-member-link .avatar{width:48px;height:48px;flex-basis:48px}
  .ranking-table-wrap .person-name{font-size:15px}
  .ranking-table-wrap .person-sub{font-size:10px}
  .ranking-table-wrap .ranking-empty-row>td{grid-column:1/-1}
  .home-rating-line .home-rating-score{font-size:18px}
  .profile-rating-score{min-width:180px}
  .profile-rating-score .rating-score-number{font-size:34px}
}
@media(prefers-reduced-motion:reduce){
  .tier-frame:before,.tier-sparkles i{animation:none!important}
  .tier-sparkles i{opacity:.7;transform:none}
}
@media(forced-colors:active){
  .rating-score-card,.rating-score-card.tier-frame,button.home-rank-row.tier-frame{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
  .tier-frame:before,.tier-sparkles{display:none}
}

/* Five-point shooting star. Position is exact; only the short light trail fades behind it. */
.shooting-star-layer .rainbow-cursor-aura{width:30px;height:30px;filter:none;border-radius:0;transition:width .12s ease,height .12s ease}
.shooting-star-pointer{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 2px #b496ff88);pointer-events:none}
.shooting-star-layer .rainbow-cursor-aura.is-link{width:36px;height:36px}
.shooting-star-layer .rainbow-cursor-aura.is-pressed{width:26px;height:26px}
.shooting-star-layer .rainbow-cursor-core{width:2px;height:2px;background:#fff;box-shadow:0 0 3px #fff}
.shooting-star-layer .rainbow-cursor-aura.is-text .shooting-star-pointer,.shooting-star-layer .rainbow-cursor-aura.is-disabled .shooting-star-pointer{display:none}
.shooting-star-layer .rainbow-cursor-aura.is-text .rainbow-cursor-core{width:2px;height:17px;background:#6d28d9;border-radius:1px;box-shadow:0 0 0 1px #fff}
.shooting-star-layer .rainbow-cursor-aura.is-text .rainbow-cursor-core:before,.shooting-star-layer .rainbow-cursor-aura.is-text .rainbow-cursor-core:after{content:'';position:absolute;left:-3px;width:8px;height:2px;background:#6d28d9;box-shadow:0 0 0 1px #fff}
.shooting-star-layer .rainbow-cursor-aura.is-text .rainbow-cursor-core:before{top:0}
.shooting-star-layer .rainbow-cursor-aura.is-text .rainbow-cursor-core:after{bottom:0}
.shooting-star-layer .rainbow-cursor-aura.is-disabled .rainbow-cursor-core{width:14px;height:2px;background:#ad486f;box-shadow:0 0 0 1px #fff}
.shooting-star-trail{position:fixed;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1;opacity:0}
.shooting-star-layer .rainbow-cursor-spark{position:fixed;display:block;width:var(--spark-size,6px);height:var(--spark-size,6px);border-radius:0;clip-path:polygon(50% 0%,61.8% 36.2%,100% 38.2%,69.1% 61.8%,80.9% 100%,50% 76.4%,19.1% 100%,30.9% 61.8%,0% 38.2%,38.2% 36.2%);background:linear-gradient(135deg,#8050e5,#ddcaff 46%,#65d6ef);box-shadow:none;opacity:.8;animation:shootingStarFade .48s ease-out forwards;z-index:1}
.shooting-star-layer .rainbow-cursor-spark.shooting-star-burst{animation:shootingStarBurst .55s ease-out forwards}
.shooting-star-layer .rainbow-cursor-pulse{width:18px;height:18px;border:1px solid #b597f3;box-shadow:0 0 4px #c3aaff55;animation:shootingStarPulse .46s ease-out forwards}
@keyframes shootingStarFade{from{opacity:.8;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.2)}}
@keyframes shootingStarBurst{from{opacity:0;transform:translate(-50%,-50%) scale(.35)}18%{opacity:.9}to{opacity:0;transform:translate(calc(-50% + var(--spark-dx)),calc(-50% + var(--spark-dy))) scale(.6)}}
@keyframes shootingStarPulse{from{width:18px;height:18px;opacity:.8}to{width:78px;height:78px;opacity:0}}

/* Grouped navigation keeps every destination reachable by mouse, touch and keyboard. */
.main-nav.grouped-nav{gap:8px;overflow:visible}
.main-nav.grouped-nav>.nav-link,.main-nav .nav-group>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 14px;border-radius:10px;font-family:inherit;font-size:14px;font-weight:650;line-height:1.3;color:var(--muted);white-space:nowrap;cursor:pointer}
.main-nav .nav-group{position:relative;flex:0 0 auto}
.main-nav .nav-group>summary{list-style:none}
.main-nav .nav-group>summary::-webkit-details-marker{display:none}
.main-nav .nav-group>summary::marker{content:''}
.main-nav .nav-chevron{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.main-nav .nav-group[open]>summary .nav-chevron{transform:rotate(180deg)}
.main-nav .nav-group>summary:hover,.main-nav .nav-group[open]>summary,.main-nav .nav-group.is-active>summary,.main-nav.grouped-nav>.nav-link.active{background:var(--accent-soft);color:var(--accent)}
.main-nav .nav-group>summary:focus-visible,.main-nav .nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.main-nav .nav-submenu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;gap:4px;min-width:220px;max-width:calc(100vw - 48px);padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 12px 32px #29134518}
.main-nav .nav-group:not([open])>.nav-submenu{display:none}
.main-nav .nav-submenu .nav-link{display:block;min-height:44px;padding:12px;border-radius:8px;font-size:14px;line-height:1.4;text-align:left;white-space:normal;overflow-wrap:anywhere}
.main-nav .nav-submenu .nav-link.active,.main-nav .nav-submenu .nav-link:hover{background:var(--accent-soft);color:var(--accent)}
.main-nav .nav-submenu .nav-link:after{display:none}
@media(max-width:1250px){
  .main-nav.grouped-nav{max-height:calc(100dvh - 140px);overflow:auto;gap:4px;padding:12px}
  .main-nav.grouped-nav.open{display:flex;flex-direction:column;align-items:stretch}
  .main-nav.grouped-nav>.nav-link,.main-nav .nav-group>summary{justify-content:space-between;width:100%;padding:12px;text-align:left}
  .main-nav .nav-group{width:100%}
  .main-nav .nav-submenu{position:static;transform:none;min-width:0;max-width:none;width:100%;margin:4px 0;padding:4px 0 4px 16px;border:0;border-left:2px solid var(--accent-line);border-radius:0;box-shadow:none}
  .main-nav .nav-edit{align-self:flex-start;margin:8px 0 0}
}
