*{box-sizing:border-box}body{margin:0;min-height:100vh;border-top:7px solid var(--accent);background:radial-gradient(circle at 75% -10%,rgba(var(--accent-rgb),.19),transparent 32rem),var(--page)}a{color:inherit;text-decoration:none}.public-header{position:sticky;z-index:5;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;min-height:88px;padding:14px clamp(22px,5vw,74px);border-bottom:1px solid var(--line);background:rgba(6,20,45,.95);backdrop-filter:blur(14px)}.public-brand{display:flex;align-items:center;gap:12px;width:max-content}.public-brand img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(var(--accent-rgb),.18))}.public-brand span{display:flex;align-items:baseline;gap:9px}.public-brand strong{font-size:24px;letter-spacing:.08em}.public-brand small{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--muted)}nav{display:flex;gap:8px}nav a{padding:10px 17px;border-radius:9px;color:var(--text-soft);font-weight:700}nav a:hover,nav a[aria-current=page]{background:var(--selected);color:var(--accent-light)}nav a[aria-current=page]{box-shadow:inset 0 -3px var(--accent)}.login-link{justify-self:end;display:flex;align-items:center;gap:18px;padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:linear-gradient(100deg,var(--selected),var(--panel-deep));color:var(--accent-light);font-weight:800}.login-link:hover{border-color:var(--accent)}.public-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(52px,8vw,100px) 0 90px}.public-hero{position:relative;max-width:760px;margin-bottom:42px}.public-eyebrow{margin:0 0 10px;color:var(--link);font-size:12px;font-weight:850;letter-spacing:.22em}.public-hero h1{margin:0;text-transform:uppercase;font-size:clamp(42px,7vw,78px);line-height:1;letter-spacing:-.045em}.public-hero>p:not(.public-eyebrow){max-width:650px;margin:22px 0;color:var(--text-soft);font-size:18px}.hero-rule{width:110px;height:5px;margin-top:28px;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--accent))}.public-status,.public-empty{padding:28px;border:1px dashed var(--line);border-radius:12px;background:var(--panel-deep);color:var(--muted);text-align:center}.public-error{border-color:var(--danger-line);color:var(--danger)}.public-summary{margin:0 0 22px;color:var(--muted);font-weight:700}.roster-groups{display:grid;gap:24px}.roster-group,.public-board{position:relative;overflow:hidden;padding:26px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,var(--panel),var(--panel-deep));box-shadow:0 20px 46px rgba(0,0,0,.25)}.roster-group:before,.public-board:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent))}.group-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.group-heading h2,.public-board h2{margin:0;text-transform:uppercase;font-size:23px}.group-heading>span,.public-board>p{color:var(--muted);font-size:13px}.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.roster-member{display:flex;align-items:center;gap:13px;min-width:0;padding:14px;border:1px solid transparent;border-radius:12px;background:var(--panel-alt)}.roster-member:hover{border-color:var(--line)}.public-avatar{position:relative;overflow:hidden;display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;color:var(--text);font-weight:800}.roster-member div,.public-player{min-width:0}.roster-member h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:16px}.rank-chip{display:inline-block;padding:2px 7px;border:1px solid var(--line);border-radius:999px;background:var(--selected);color:var(--link);font-size:10px;font-weight:850;letter-spacing:.1em}.public-boards{display:grid;gap:28px}.public-board>img{position:absolute;right:22px;top:18px;width:54px;height:54px;object-fit:contain}.public-board>h2,.public-board>p{padding-right:68px}.public-board>p{margin:5px 0 20px}.public-score-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.public-score-row{display:grid;grid-template-columns:40px 48px minmax(150px,1fr) minmax(100px,1fr) 85px;align-items:center;gap:13px;min-height:74px;padding:12px;border:1px solid transparent;border-radius:11px;background:var(--panel-alt)}.public-score-row:nth-child(even){background:var(--panel)}.public-score-row:hover{border-color:var(--line)}.public-position{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--panel-alt);font-size:13px;font-weight:850}.position-1{background:var(--gold);color:var(--shadow)}.position-2{background:var(--silver);color:var(--shadow)}.position-3{background:var(--bronze-medal);color:var(--shadow)}.public-player strong,.public-player span{display:block}.public-player strong{overflow-wrap:anywhere;font-size:17px}.public-player span{margin-top:3px;color:var(--muted);font-size:11px}.public-score-track{height:16px;overflow:hidden;border-radius:20px;background:var(--panel-alt)}.public-score-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent))}.public-score{justify-self:end;font-size:19px;font-variant-numeric:tabular-nums}.no-score{opacity:.65}.no-score .public-score-track{visibility:hidden}footer{display:flex;align-items:center;justify-content:center;gap:9px;padding:28px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.12em}footer img{width:30px;height:30px;object-fit:contain;opacity:.8}@media(max-width:800px){.public-header{grid-template-columns:1fr auto;gap:12px;padding:12px 20px}.public-header nav{grid-column:1/-1;grid-row:2;justify-content:center}.public-brand small{display:none}.public-brand img{width:44px;height:44px}.public-brand strong{font-size:21px}.login-link{padding:9px 13px}.public-main{width:min(100% - 28px,620px);padding-top:52px}.public-hero h1{font-size:44px}.roster-grid{grid-template-columns:1fr 1fr}.public-score-row{grid-template-columns:32px 38px minmax(0,1fr) 70px;gap:8px}.public-position{width:30px;height:30px}.public-score-row .public-avatar{width:38px;height:38px;flex-basis:38px;font-size:13px}.public-score-track{grid-column:3/5;grid-row:2;height:8px}.public-score{grid-column:4;grid-row:1;font-size:16px}.public-board{padding:17px}.public-board>img{right:15px;width:44px;height:44px}.public-board>h2{font-size:20px}}@media(max-width:520px){.roster-grid{grid-template-columns:1fr}.public-hero h1{font-size:39px}.public-hero>p:not(.public-eyebrow){font-size:16px}.public-header nav a{padding:8px 14px}}

/* Public brand details. */
.public-hero h1 { font-family: var(--font-display); font-size: clamp(34px,5.5vw,64px); line-height: 1.12; letter-spacing: .01em; }
.public-brand small { font-family: var(--font-body); }
.public-position,.public-score,.public-player strong { font-family: var(--font-rank); }
.public-score { font-weight: 700; }
.position-1 { background: var(--gold); }
.position-2 { background: var(--silver); }
.position-3 { background: var(--bronze-medal); }
.info-page { max-width: 820px; }
.info-page article { padding: clamp(24px,5vw,54px); border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(145deg,var(--panel),var(--panel-deep)); }
.info-page h1 { margin: 0 0 8px; overflow-wrap: anywhere; }
.info-page .meta { color: var(--muted); }
.info-page .content { margin-top: 34px; line-height: 1.7; white-space: pre-wrap; }
.info-page .content h2,.info-page .content h3 { margin: 28px 0 8px; }
.info-page .content ul { padding-left: 24px; }
@media(max-width:520px) { .public-hero h1 { font-size: 34px; } }

@supports (background-clip: text) {
  .public-hero h1 { background: linear-gradient(180deg,#FFFFFF 15%,#B8D9F5 65%,#5685B8); background-clip: text; color: transparent; }
}
