/* PinPointr Friends — visually aligned with the main game's HUD, score rows and palette. */
:root{color-scheme:dark;--sky:#b9e5ea;--sea:#0b4768;--sea2:#0a3655;--deep:#071a2e;--panel:#fffdf4;--ink:#100522;--gold:#e6b84f;--gold2:#ffd56c;--cyan:#2bc4d5;--pink:#ef4d7d;--green:#22e339;--navy:#071a2e;--yellow:#ffd56c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(#dff5f4 0 185px,#78b9c8 185px 194px,#0d577a 194px 55%,#0a4163 78%,#0a3655 100%);background-attachment:fixed;color:#e8f7f8;font:800 13px/1.65 'Courier New',ui-monospace,monospace;letter-spacing:.015em;overflow-x:hidden}
body:after{content:'';position:fixed;inset:0;pointer-events:none;opacity:.09;background:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 1px,transparent 1px 4px);z-index:10}button,input,select{font:inherit}a{color:var(--gold2)}[hidden]{display:none!important}
header{width:min(1100px,96vw);margin:20px auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:76px;padding:10px 16px;background:var(--deep);border:4px solid var(--ink);box-shadow:7px 7px 0 rgba(0,0,0,.24)}.logo{width:190px;max-width:100%;display:block}.back{color:#fff;text-decoration:none;font-size:11px;letter-spacing:.04em}.back:last-child{text-align:right}.back:hover{color:var(--gold2)}
main{max-width:980px;margin:28px auto 75px;padding:0 18px}.eyebrow{display:inline-block;padding:7px 12px;background:var(--deep);border:2px solid #1c5675;color:var(--cyan);font-size:10px;letter-spacing:.11em;margin:0 0 10px}h1{color:#fff;text-shadow:4px 4px 0 #193d55;font-size:clamp(30px,5vw,46px);letter-spacing:.12em;line-height:1.15;margin:2px 0 12px}h2{margin:0 0 14px;color:var(--gold2);font-size:17px;letter-spacing:.055em;line-height:1.35}h3{color:var(--cyan);font-size:12px;margin:20px 0 7px;letter-spacing:.08em}#status{display:inline-block;max-width:100%;background:var(--deep);border:2px solid #1c5675;color:#9fcbd8;padding:6px 12px;font-size:11px;margin:0 0 6px;overflow-wrap:anywhere}
.panel{margin:22px 0;padding:24px;background:rgba(6,27,47,.96);border:4px solid var(--ink);box-shadow:7px 7px 0 rgba(0,0,0,.24)}.panel p{margin-top:0}.hint,.notice{color:#a9c6d1;font-size:12px;line-height:1.65}.notice{margin:0 0 12px}.panel:focus-within{border-color:#15364c}
button,.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:42px;padding:9px 17px;border:3px solid var(--ink);border-radius:0;background:var(--gold2);box-shadow:4px 4px 0 #9e792c;color:var(--ink);font-weight:900;font-size:12px;line-height:1.4;letter-spacing:.035em;cursor:pointer;text-decoration:none;transition:transform .09s,box-shadow .09s}button:hover:not(:disabled),.button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #9e792c;filter:brightness(1.05)}button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}button:disabled{opacity:.55;cursor:not-allowed}button.danger,.test-actions .danger{background:var(--pink);box-shadow:4px 4px 0 #8b2447}button.danger:hover,.test-actions .danger:hover{box-shadow:2px 2px 0 #8b2447}
label{display:block;margin:14px 0 6px;color:#9fc2cf;font-size:11px;letter-spacing:.1em}input,.test-panel select{display:block;width:100%;min-width:0;background:#081d31;border:3px solid var(--cyan);border-radius:0;padding:12px 13px;color:#fff;font-size:13px;outline:none;box-shadow:inset 0 -4px 0 #0d3852}input::placeholder{color:#829dab}input:focus,.test-panel select:focus{border-color:#6de9f4}.searchbox{display:flex;align-items:stretch;gap:12px}.searchbox input{flex:1}.searchbox button{flex-shrink:0}#register button{margin-top:12px}
/* HUD — same compact three-stat construction as the main game. */
.stats{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,1fr));gap:0;padding:0;align-items:stretch}.stats>div{min-width:0;padding:20px;border-right:2px dashed #62889d;display:flex;flex-direction:column;justify-content:center;gap:7px}.stats>div:last-child{border-right:0}.stats small{display:block;color:#84a9bd;font-size:10px;letter-spacing:.08em;line-height:1.5}.stats h2{color:var(--gold2);overflow-wrap:anywhere;margin:0;font-size:clamp(17px,2.5vw,23px)}.stats strong{display:block;color:#fff;font-size:clamp(21px,2.9vw,28px);line-height:1.1}.stats #count{color:var(--cyan);font-size:11px}
/* Ranked score rows inherit game score-row treatment and golden trailing shadow. */
.leaderboard-panel{padding:23px 20px 25px}.leaderboard-panel h2{color:#fff;font-size:clamp(16px,2.5vw,21px);text-shadow:3px 3px 0 #193d55;border-left:6px solid var(--cyan);padding-left:13px}.leaderboard-panel+.leaderboard-panel{margin-top:24px}.leaderboard-scroll{width:100%;overflow-x:auto;padding:2px 7px 8px 1px}.leaderboard-scroll table{width:100%;min-width:490px;border-collapse:separate;border-spacing:0 9px;text-align:left;font-size:12px}.leaderboard-scroll th{color:#e8f7f8;border-bottom:2px dashed #9ed4db;padding:7px 10px 11px;font-size:10px;letter-spacing:.055em}.leaderboard-scroll td{background:rgba(255,253,244,.98);color:var(--ink);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:12px 10px;line-height:1.45}.leaderboard-scroll td:first-child{border-left:3px solid var(--ink);font-weight:900;width:64px}.leaderboard-scroll td:last-child{border-right:3px solid var(--ink);box-shadow:5px 5px 0 var(--gold)}.leaderboard-scroll tr.self td{background:#e8ffdf}.leaderboard-scroll tbody tr:hover td{background:#d9f5f7}.leaderboard-scroll tbody tr.self:hover td{background:#d8f7c8}.leaderboard-rows.test-active{border-top:2px dashed var(--pink);padding-top:4px}
/* Social controls remain distinct but follow the game's panel/row language. */
.person{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#10314a;border-left:4px solid var(--cyan);padding:11px 13px;margin-top:9px}.person span{overflow-wrap:anywhere;flex:1;min-width:120px;color:#fff}.person button{font-size:10px;min-height:36px;padding:6px 12px}.person .danger{background:var(--pink)}#incoming .person{border-left-color:var(--gold2)}
.test-panel{border:3px dashed var(--pink);background:#081f34}.test-panel h2{color:var(--pink);font-size:15px}.test-pill{display:inline-block;color:var(--gold2);font-size:10px;line-height:1.6;white-space:normal}.test-panel select{max-width:420px}.test-panel input{max-width:220px}.test-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.test-panel #testModeToggle{background:var(--pink);box-shadow:4px 4px 0 #8b2447}
@media(max-width:700px){main{margin-top:22px}.panel{padding:18px}.stats{grid-template-columns:1fr 1fr}.stats>div:first-child{grid-column:1/-1;border-right:0;border-bottom:2px dashed #62889d}.stats>div:nth-child(2){border-right:2px dashed #62889d}.stats>div{padding:14px}.leaderboard-scroll table{min-width:440px}}
@media(max-width:480px){header{width:calc(100% - 20px);margin-top:10px;grid-template-columns:1fr auto;min-height:0;padding:12px;gap:9px}.logo{width:126px}.back{font-size:10px}.back:last-child{grid-column:1/-1;text-align:center;padding-top:8px;border-top:1px dashed #62889d}main{padding:0 12px}.eyebrow{font-size:9px}.panel{padding:14px;margin:16px 0}.leaderboard-panel{padding:17px 12px}.leaderboard-scroll table{min-width:410px;font-size:11px}.leaderboard-scroll td{padding:10px 8px}.searchbox{flex-direction:column}.searchbox button{width:100%}.person button{font-size:9px}.stats strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Align Friends with My PinPointr's atmospheric backdrop and nav */
html{min-height:100%;background:#0d577a;}
body{background:linear-gradient(180deg,#0b5578 0%,#0c496b 34%,#0a3555 72%,#091f38 100%) fixed!important;}
header{background:linear-gradient(180deg,#07192b,#061322)!important;border-color:#0d1623!important;}
header .back:first-child{border:3px solid #6f93a8;background:#163149;box-shadow:3px 3px 0 #050e19;color:#ebf6ff;padding:10px 13px;text-decoration:none;justify-self:start;}
header>.subpage-menu-button{justify-self:end;}
/* Gold shadow wraps the full row instead of only the last cell. */
.leaderboard-scroll table{border-collapse:separate!important;border-spacing:0 12px!important;}
.leaderboard-scroll tbody tr{filter:drop-shadow(6px 6px 0 var(--gold));}
.leaderboard-scroll td:last-child{box-shadow:none!important;}
.leaderboard-scroll{padding:2px 12px 14px 2px;}
@media(max-width:480px){header{grid-template-columns:1fr auto 1fr!important;gap:6px!important;}header .back:first-child{font-size:9px;padding:7px 7px;}header .logo{width:116px!important;}header>.subpage-menu-button{grid-column:auto!important;border-top:3px solid #6f93a8!important;padding:7px!important;font-size:9px!important;}}

/* Shared subpage navigation, matches My PinPointr header */
.subpage-menu-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:3px solid #6f93a8;background:#10253b;box-shadow:3px 3px 0 #050e19;color:#ebf6ff;padding:10px 13px;font:inherit;font-size:11px;letter-spacing:.08em;min-height:40px;text-decoration:none;white-space:nowrap;}
.subpage-menu-button:hover{background:#214462;}
@media(max-width:480px){.subpage-menu-button{font-size:9px;padding:7px 9px;}.topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;}.topbar .logo{max-width:128px!important;}.topbar>.subpage-menu-button{justify-self:end;}}

/* Exact My PinPointr backdrop (including gentle top glow). */
body{background:radial-gradient(circle at 50% 0%,rgba(56,217,234,.08),transparent 28%),linear-gradient(180deg,#0a3450 0%,#0a2135 24%,#071625 56%,#050d17 100%)!important;}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.15;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.1) 0 1px,transparent 1px 4px);z-index:20;}
body::after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.4));z-index:0;}
header,main{position:relative;z-index:1;}

/* Shared game-identical hamburger icon and menu dialog for account and friends */
.subpage-menu-button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:0!important;background:#17354c!important;border:3px solid #7ca4b9!important;box-shadow:3px 3px 0 #071a2e!important;color:#fff!important;cursor:pointer!important;border-radius:0!important;justify-self:end!important;}
.subpage-menu-button span{display:block;width:20px;height:3px;background:#fff;box-shadow:1px 1px 0 #071a2e;flex-shrink:0}
.subpage-menu-button:hover{transform:translate(2px,2px)!important;box-shadow:1px 1px 0 #071a2e!important}

/* Friends dashboard follows My PinPointr personal dashboard layout. */
header{width:min(1160px,94vw);margin:22px auto 0;padding:14px 16px;grid-template-columns:auto 1fr auto;box-shadow:7px 7px 0 rgba(0,0,0,.28)}header>a:nth-child(2){justify-self:center}header .logo{width:min(240px,36vw)}header .back{font-size:11px;letter-spacing:.08em}main{width:min(960px,94vw);max-width:960px;margin:24px auto 65px;padding:0;}
.friends-hero{position:relative;display:flex;align-items:center;min-height:180px;background:linear-gradient(150deg,#0b243a,#081827 78%);border:3px solid #09131f;padding:25px 28px;overflow:hidden;margin:0 0 18px;}
.friends-hero-copy{position:relative;z-index:2;max-width:75%}.friends-hero .eyebrow{display:block;width:max-content;padding:0;border:0;background:transparent;margin:0 0 9px;font-size:10px;letter-spacing:.16em;color:#38d9ea}.friends-hero h1{font-size:clamp(30px,4.5vw,46px);letter-spacing:.055em;margin:0 0 11px;text-shadow:3px 3px 0 #0c3b54;line-height:1.15;color:#edf4ff}.friends-lede{font-size:12px!important;color:#a9bfd1;line-height:1.7;max-width:530px;margin:0!important}.friends-hero-orb{position:absolute;width:174px;height:174px;object-fit:contain;right:23px;top:10px;image-rendering:pixelated;z-index:1}
#status{display:block;width:max-content;margin:0 0 18px;background:transparent;border:0;padding:0;color:#8ccbd4;font-size:11px;letter-spacing:.08em}.panel{border:3px solid #09131f;background:linear-gradient(155deg,#0b243a,#081827 78%);box-shadow:7px 7px 0 rgba(0,0,0,.22);margin:0 0 18px;padding:20px;}.stats{margin-bottom:18px;background:linear-gradient(155deg,#102f45,#071b2e 72%);border:2px solid #42728c;box-shadow:4px 4px 0 #06101b}.stats>div{padding:20px 18px}.stats h2{color:#ffd56c}.stats small{color:#91b6ca}.leaderboard-panel{background:linear-gradient(155deg,#0b243a,#081827 78%);margin-bottom:18px;padding:21px}.leaderboard-panel+.leaderboard-panel{margin-top:0}.leaderboard-panel h2{border-left:0;padding-left:0;color:#edf4ff;text-shadow:none;letter-spacing:.08em}.leaderboard-scroll th{color:#9ab2cb}.person{background:#102f45;border:2px solid #335b72;border-left:4px solid #38d9ea}.panel>h2{color:#edf4ff;font-size:19px;letter-spacing:.065em}.test-panel h2{color:#f45490}.leaderboard-scroll tbody tr{filter:drop-shadow(5px 5px 0 #e1b24f)}
@media(max-width:700px){.friends-hero{padding:20px;min-height:160px}.friends-hero-orb{width:120px;height:120px;right:5px;top:12px;opacity:.45}.friends-hero-copy{max-width:90%}}
@media(max-width:480px){header{grid-template-columns:auto minmax(0,1fr) auto!important;gap:7px!important;width:calc(100% - 20px);padding:10px 9px}.back:first-child{font-size:8px!important;padding:8px 5px!important;white-space:nowrap}header .logo{width:min(145px,31vw)!important}main{width:calc(100% - 24px);padding:0}.friends-hero{min-height:145px}.friends-hero h1{font-size:32px}.friends-lede{font-size:10px!important}.friends-hero-orb{width:104px;height:104px}.stats>div{padding:13px}.panel{padding:15px}.leaderboard-panel{padding:16px}}

/* Leaderboard tables: each value aligns precisely with its column heading. */
.leaderboard-scroll{width:100%;max-width:100%;overflow-x:visible;padding:2px 10px 14px 2px;min-width:0}
.leaderboard-scroll table{table-layout:fixed;width:100%;min-width:0!important;text-align:center;border-spacing:0 10px!important}
.leaderboard-scroll th,.leaderboard-scroll td{text-align:center;vertical-align:middle;box-sizing:border-box}
.leaderboard-scroll th:nth-child(2),.leaderboard-scroll td:nth-child(2){text-align:left}
.leaderboard-scroll td:nth-child(2){overflow-wrap:anywhere;word-break:normal}
/* Shared column widths apply to headings and values alike. */
#dailyLeaderboardRows th:nth-child(1),#dailyLeaderboardRows td:nth-child(1){width:12%}
#dailyLeaderboardRows th:nth-child(2),#dailyLeaderboardRows td:nth-child(2){width:36%}
#dailyLeaderboardRows th:nth-child(3),#dailyLeaderboardRows td:nth-child(3){width:24%}
#dailyLeaderboardRows th:nth-child(4),#dailyLeaderboardRows td:nth-child(4){width:28%}
#alltimeLeaderboardRows th:nth-child(1),#alltimeLeaderboardRows td:nth-child(1){width:9%}
#alltimeLeaderboardRows th:nth-child(2),#alltimeLeaderboardRows td:nth-child(2){width:29%}
#alltimeLeaderboardRows th:nth-child(3),#alltimeLeaderboardRows td:nth-child(3){width:12%}
#alltimeLeaderboardRows th:nth-child(4),#alltimeLeaderboardRows td:nth-child(4){width:15%}
#alltimeLeaderboardRows th:nth-child(5),#alltimeLeaderboardRows td:nth-child(5){width:18%}
#alltimeLeaderboardRows th:nth-child(6),#alltimeLeaderboardRows td:nth-child(6){width:17%}
@media(max-width:700px){
 .leaderboard-scroll{overflow-x:visible!important;padding:1px 6px 10px 0!important}
 .leaderboard-scroll table{min-width:0!important;width:100%!important;font-size:clamp(9px,2.3vw,12px)!important}
 .leaderboard-scroll th{font-size:clamp(8px,1.9vw,10px)!important;letter-spacing:0!important;padding:8px 2px!important;white-space:normal}
 .leaderboard-scroll td{padding:10px 2px!important;line-height:1.25!important}
 #alltimeLeaderboardRows th:nth-child(1),#alltimeLeaderboardRows td:nth-child(1){width:9%}
 #alltimeLeaderboardRows th:nth-child(2),#alltimeLeaderboardRows td:nth-child(2){width:31%}
 #alltimeLeaderboardRows th:nth-child(3),#alltimeLeaderboardRows td:nth-child(3){width:11%}
 #alltimeLeaderboardRows th:nth-child(4),#alltimeLeaderboardRows td:nth-child(4){width:14%}
 #alltimeLeaderboardRows th:nth-child(5),#alltimeLeaderboardRows td:nth-child(5){width:19%}
 #alltimeLeaderboardRows th:nth-child(6),#alltimeLeaderboardRows td:nth-child(6){width:16%}
 .leaderboard-scroll tbody tr{filter:drop-shadow(3px 3px 0 #e1b24f)}
}
@media(max-width:390px){
 .leaderboard-panel{padding:12px 8px!important}
 .leaderboard-scroll table{font-size:9px!important}
 .leaderboard-scroll th{font-size:8px!important}
 .leaderboard-scroll td{padding:9px 1px!important}
}


/* --- Reworked leaderboard hub: single toggleable premium board --- */
.leaderboard-hub{padding:22px;background:linear-gradient(155deg,#0b243a,#081827 78%);border:3px solid #09131f;box-shadow:7px 7px 0 rgba(0,0,0,.22)}
.leaderboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.leaderboard-title-wrap{flex:1 1 360px;min-width:0}
.leaderboard-kicker{display:inline-block;margin:0 0 10px;padding:6px 10px;border:2px solid #204c67;background:#0a2236;color:#52ddf0;font-size:10px;letter-spacing:.12em}
.leaderboard-hub h2{margin:0 0 8px;color:#edf4ff;font-size:clamp(18px,2.5vw,24px);letter-spacing:.08em;line-height:1.1;text-shadow:3px 3px 0 #193d55}
.leaderboard-hub .notice{margin:0;color:#a7c6d3;max-width:760px}
.leaderboard-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:7px;background:#071828;border:3px solid #173248;box-shadow:4px 4px 0 #040c14;min-width:min(100%,320px)}
.leaderboard-tab{min-width:124px;min-height:44px;padding:10px 16px;background:#143049;border:3px solid #6f93a8;box-shadow:3px 3px 0 #071a2e;color:#dfefff;font-size:11px;letter-spacing:.1em}
.leaderboard-tab:hover{background:#214462}
.leaderboard-tab.is-active{background:linear-gradient(180deg,#ffe180,#f7c84e);border-color:#201221;color:#100522;box-shadow:4px 4px 0 #8f6c1f}
.leaderboard-tab.is-active:hover{background:linear-gradient(180deg,#ffe180,#f7c84e)}
.leaderboard-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.leaderboard-meta-card{padding:12px 14px;background:linear-gradient(180deg,#102b40,#0a1f31);border:2px solid #31576f;box-shadow:4px 4px 0 #06101b}
.leaderboard-meta-card small{display:block;margin-bottom:7px;color:#8cb8c9;font-size:10px;letter-spacing:.11em;line-height:1.3}
.leaderboard-meta-card strong{display:block;color:#fff;font-size:20px;line-height:1.1;letter-spacing:.02em}
.leaderboard-stage{border-top:2px dashed #5a8aa0;padding-top:16px}
.leaderboard-stage.test-active{border-top-color:var(--pink)}
.board-shell{display:flex;flex-direction:column;gap:12px}
.board-grid.daily{display:grid;grid-template-columns:96px minmax(170px,1.7fr) minmax(120px,.9fr) minmax(155px,1.1fr);gap:12px}
.board-grid.alltime{display:grid;grid-template-columns:82px minmax(170px,1.55fr) repeat(4,minmax(92px,.68fr));gap:12px}
.board-header{padding:0 4px}
.board-heading{color:#8eb9ca;font-size:10px;letter-spacing:.13em;padding:0 10px 2px;text-align:center;border-bottom:2px dashed #8cb7c9}
.board-heading-player{text-align:left}
.board-body{display:flex;flex-direction:column;gap:12px}
.board-row{position:relative;align-items:stretch;padding:0;background:transparent}
.board-row::after{content:'';position:absolute;inset:8px -6px -6px 18%;background:#e1b24f;z-index:0}
.board-row.is-self::after{background:#7fd97a}
.board-cell{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:88px;padding:12px 14px;background:rgba(255,253,244,.98);border:3px solid var(--ink);color:var(--ink);text-align:center}
.board-cell .cell-label{display:none;color:#435568;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.board-cell .cell-value{display:block;font-size:20px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-cell.is-player,.board-heading-player{text-align:left}
.board-cell.is-player .cell-value{font-size:21px;overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere}
.board-cell.is-rank .cell-value{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;margin:0 auto;padding:0 12px;background:#13263b;border:3px solid #6f93a8;box-shadow:3px 3px 0 #071a2e;color:#fff67e;font-size:22px}
.board-row.is-self .board-cell{background:#ecffd9}
.board-row.is-self .board-cell.is-player::before{content:'YOU';display:inline-block;align-self:flex-start;margin-bottom:4px;padding:4px 7px;background:#16324a;border:2px solid #6f93a8;color:#ffe37d;font-size:9px;letter-spacing:.12em}
.board-row.status-unverified .board-cell.is-status .cell-value{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;background:#fff0c7;border:3px solid #7e6640;font-size:14px;letter-spacing:.05em}
.board-row.status-won .board-cell.is-status .cell-value{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;background:#dcffd7;border:3px solid #3e8240;font-size:16px;letter-spacing:.07em}
.board-row .board-cell.is-status .cell-value{font-size:16px;white-space:normal}
.board-empty{padding:24px 18px;text-align:center;background:#0e2940;border:2px dashed #5c90a6;color:#b2cfdb;font-size:12px;letter-spacing:.09em}

@media(max-width:900px){
 .leaderboard-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
 .board-grid.daily{grid-template-columns:84px minmax(150px,1.4fr) minmax(100px,.8fr) minmax(136px,.95fr)}
 .board-grid.alltime{grid-template-columns:72px minmax(150px,1.3fr) repeat(4,minmax(78px,.62fr))}
 .board-cell .cell-value{font-size:18px}
 .board-cell.is-player .cell-value{font-size:19px}
}
@media(max-width:700px){
 .leaderboard-meta{grid-template-columns:1fr}
 .leaderboard-head{gap:14px}
 .leaderboard-toggle{width:100%}
 .leaderboard-tab{min-width:0;width:100%}
 .board-header{display:none}
 .board-grid.daily,.board-grid.alltime{grid-template-columns:1fr 1fr}
 .board-row::after{inset:8px -4px -4px 10px}
 .board-cell{min-height:74px;padding:11px 12px;text-align:left}
 .board-cell .cell-label{display:block}
 .board-cell .cell-value{font-size:18px;white-space:normal;overflow:visible;text-overflow:unset}
 .board-cell.is-rank .cell-value{min-width:42px;min-height:42px;margin:0}
 .board-cell.is-status .cell-value{font-size:15px}
}
@media(max-width:480px){
 .leaderboard-hub{padding:16px 14px}
 .leaderboard-hub h2{font-size:20px}
 .leaderboard-kicker{font-size:9px}
 .leaderboard-toggle{padding:6px;gap:6px}
 .leaderboard-tab{min-height:40px;padding:8px 10px;font-size:10px}
 .leaderboard-meta-card strong{font-size:18px}
 .board-grid.daily,.board-grid.alltime{gap:10px}
 .board-cell{min-height:68px;padding:10px}
 .board-cell .cell-value{font-size:16px}
 .board-cell.is-player .cell-value{font-size:17px}
 .board-row.status-unverified .board-cell.is-status .cell-value,.board-row.status-won .board-cell.is-status .cell-value{font-size:13px;padding:8px 10px}
}

/* Arcade leaderboard score strips — compact unified grid, aligned on every screen. */
.leaderboard-hub .board-shell{gap:10px}
.leaderboard-hub .board-grid.daily{grid-template-columns:9% minmax(0,36%) 23% 32%;gap:0}
.leaderboard-hub .board-grid.alltime{grid-template-columns:9% minmax(0,29%) repeat(4,minmax(0,15.5%));gap:0}
.leaderboard-hub .board-header{padding:0 0 6px;border-bottom:2px dashed #80b5c4}
.leaderboard-hub .board-heading{border:0;padding:4px 5px;text-align:center;font-size:10px;color:#9dcad6}
.leaderboard-hub .board-heading-player{text-align:left;padding-left:14px}
.leaderboard-hub .board-body{gap:9px;padding:3px 5px 5px 0}
/* All rows share exactly the same outer rectangle, navy frame and 3px gold offset. */
.leaderboard-hub .board-row,
.leaderboard-hub .board-row.is-self{
 background:#fffaf0;border:2px solid #100522;border-left:2px solid #100522;
 box-shadow:3px 3px 0 #dcb44c;min-width:0;position:relative;
 transition:background-color .12s ease;
}
.leaderboard-hub .board-row::before,
.leaderboard-hub .board-row::after{content:none!important;display:none!important}
.leaderboard-hub .board-row.is-self{background:#e9fbdc}
.leaderboard-hub .board-row:hover{background:#eff9fc}
.leaderboard-hub .board-row.is-self:hover{background:#dff7d4}
.leaderboard-hub .board-cell,
.leaderboard-hub .board-row.is-self .board-cell{
 border:0;background:transparent;min-height:42px;padding:7px 6px;
 display:flex;flex-direction:row;align-items:center;justify-content:center;
 gap:0;min-width:0;text-align:center;
}
.leaderboard-hub .board-cell+.board-cell{border-left:1px dashed rgba(14,36,56,.21)}
.leaderboard-hub .board-cell .cell-label{display:none!important}
.leaderboard-hub .board-cell .cell-value{display:block;margin:0;min-width:0;font-size:clamp(12px,1.25vw,17px);line-height:1.2;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.leaderboard-hub .board-cell.is-player,
.leaderboard-hub .board-row.is-self .board-cell.is-player{
 justify-content:flex-start;text-align:left;padding-left:14px;gap:6px;flex-wrap:nowrap;
}
.leaderboard-hub .board-cell.is-player .cell-value{font-size:clamp(12px,1.35vw,18px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leaderboard-hub .board-cell.is-rank .cell-value,
.leaderboard-hub .board-row.is-self .board-cell.is-rank .cell-value{
 display:block;margin:0;min-width:0;min-height:0;padding:0;background:transparent;
 border:0;box-shadow:none;color:#143a52;font-size:clamp(13px,1.3vw,18px);
}
.leaderboard-hub .board-row.rank-first .board-cell.is-rank .cell-value{color:#986900}
.leaderboard-hub .board-row.is-self .board-cell.is-player::before{
 content:'YOU';display:inline-block;order:2;align-self:center;flex:0 0 auto;
 margin:0;padding:2px 5px;background:#143249;border:0;color:#ffe17c;
 font-size:8px;line-height:1.3;letter-spacing:.05em;
}
.leaderboard-hub .board-cell.is-status .cell-value,
.leaderboard-hub .board-row.status-unverified .board-cell.is-status .cell-value,
.leaderboard-hub .board-row.status-won .board-cell.is-status .cell-value{
 display:block;background:transparent;border:0;padding:0;white-space:normal;
 font-size:clamp(10px,1.1vw,13px);line-height:1.2;letter-spacing:0;
}
.leaderboard-hub .board-row.status-won .board-cell.is-status .cell-value{color:#196c3a}
.leaderboard-hub .board-row.status-unverified .board-cell.is-status .cell-value{color:#79561a}
/* On phones, keep the actual leaderboard grid and its headers; no side scrolling or stacked cards. */
@media(max-width:700px){
 .leaderboard-hub .board-grid.daily{grid-template-columns:10% minmax(0,31%) 20% 39%}
 .leaderboard-hub .board-grid.alltime{grid-template-columns:9% minmax(0,28%) repeat(4,minmax(0,15.75%))}
 .leaderboard-hub .board-header{display:grid}
 .leaderboard-hub .board-heading{font-size:clamp(7px,1.7vw,9px);letter-spacing:0;padding:3px 1px}
 .leaderboard-hub .board-heading-player{padding-left:6px}
 .leaderboard-hub .board-cell,
 .leaderboard-hub .board-row.is-self .board-cell{min-height:38px;padding:6px 2px}
 .leaderboard-hub .board-cell.is-player,
 .leaderboard-hub .board-row.is-self .board-cell.is-player{padding-left:6px;gap:3px}
 .leaderboard-hub .board-cell .cell-value{font-size:clamp(9px,2.2vw,13px)}
 .leaderboard-hub .board-cell.is-player .cell-value{font-size:clamp(9px,2.2vw,13px)}
 .leaderboard-hub .board-cell.is-rank .cell-value{font-size:clamp(10px,2.5vw,14px)}
 .leaderboard-hub .board-row.is-self .board-cell.is-player::before{padding:1px 3px;font-size:7px}
 .leaderboard-hub .board-body{padding-right:4px;gap:7px}
 .leaderboard-hub .board-row,
 .leaderboard-hub .board-row.is-self{box-shadow:2px 2px 0 #dcb44c}
 .leaderboard-hub .board-cell.is-status .cell-value,
 .leaderboard-hub .board-row.status-unverified .board-cell.is-status .cell-value,
 .leaderboard-hub .board-row.status-won .board-cell.is-status .cell-value{font-size:clamp(8px,1.75vw,11px)}
}
@media(max-width:400px){
 .leaderboard-hub{padding:12px 9px!important}
 .leaderboard-hub .board-grid.alltime{grid-template-columns:9% minmax(0,28%) repeat(4,minmax(0,15.75%))}
 .leaderboard-hub .board-heading{font-size:7px}
 .leaderboard-hub .board-cell,
 .leaderboard-hub .board-row.is-self .board-cell{padding:6px 1px}
 .leaderboard-hub .board-cell.is-player,
 .leaderboard-hub .board-row.is-self .board-cell.is-player{padding-left:4px}
 .leaderboard-hub .board-cell .cell-value,
 .leaderboard-hub .board-cell.is-player .cell-value{font-size:9px}
 .leaderboard-hub .board-row.is-self .board-cell.is-player::before{font-size:6px}
}

/* Unified page surface uses the same base treatment as My PinPointr. */
body{margin:0;min-height:100vh;font-family:"Courier New",Courier,monospace;font-weight:800;color:var(--text);letter-spacing:.02em;background:
  radial-gradient(circle at 50% 0%,rgba(56,217,234,.08),transparent 28%),
  linear-gradient(180deg,#0a3450 0%,#0a2135 24%,#071625 56%,#050d17 100%);
  overflow-x:hidden}

.footer-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid #22415c;margin-top:28px;padding:20px 0 28px;color:#96b7ca;font-size:9px;letter-spacing:.12em}
.footer-bar a{color:inherit;text-decoration:none}.footer-bar a:hover{text-decoration:underline}
/* Keep a unified, clean arcade row for all players */
.leaderboard-hub .board-cell+.board-cell,.leaderboard-hub .board-row.is-self .board-cell+.board-cell{border-left:0!important;border-right:0!important;border-top:0!important;border-bottom:0!important}
.leaderboard-hub .board-cell,.leaderboard-hub .board-row.is-self .board-cell{border:0!important}
@media(max-width:520px){.footer-bar{justify-content:center;text-align:center;gap:14px}.footer-bar span{width:100%;order:-1}}

.leaderboard-hub #leaderboardNotice:empty{display:none}

/* First three places display real pixel medal sprites; keep rows compact. */
.leaderboard-hub .board-cell.is-rank .rank-medal{display:block;width:32px;height:32px;max-width:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(1px 2px 0 rgba(4,12,25,.24));}
.leaderboard-hub .board-cell.is-rank{justify-content:center;align-items:center;}
@media(max-width:700px){.leaderboard-hub .board-cell.is-rank .rank-medal{width:25px;height:25px;}}
@media(max-width:420px){.leaderboard-hub .board-cell.is-rank .rank-medal{width:20px;height:20px;}}


/* Match the account page: no full-width top band and no competing override. */
html{background:#06111d}

/* Align the FRIENDS page root and layout with the actual account page.
   Earlier `header { margin-top:... }` collapsed outside body on Friends, exposing the html background as a full-width strip. */
html{background:#06111d}
body{background:radial-gradient(circle at 50% 0%,rgba(56,217,234,.08),transparent 28%),linear-gradient(180deg,#0a3450 0%,#0a2135 24%,#071625 56%,#050d17 100%)!important}
body>.layout{position:relative;z-index:1;width:min(1160px,94vw);margin:0 auto;padding:22px 0 48px}
body>.layout>main{width:min(960px,100%);max-width:960px;margin:24px auto 0;padding:0}
@media(max-width:720px){body>.layout{width:95vw;padding-top:12px}body>.layout>main{width:100%;padding:0}}

/* Compact explorer identity: status belongs to the profile, not a separate strip. */
.stats>.friend-identity{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:20px}
.friend-avatar{width:108px;height:108px;object-fit:contain;image-rendering:pixelated;flex-shrink:0;filter:drop-shadow(4px 5px 0 rgba(0,0,0,.3))}
.friend-identity-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.friend-identity-copy #status{margin:0 0 5px;padding:0;border:0;background:none;color:#8ccbd4;font-size:10px;letter-spacing:.08em}
.friend-identity-copy h2{line-height:1.2}
@media(max-width:700px){.stats>.friend-identity{gap:14px}.friend-avatar{width:76px;height:76px}}
@media(max-width:480px){.friend-avatar{width:68px;height:68px}.stats>.friend-identity{padding:16px 12px}.friend-identity-copy #status{font-size:9px}}

/* Keep the player's highlighted username on one line at every breakpoint. */
.friend-identity-copy{flex:1;min-width:0;max-width:100%;}
.friend-identity-copy #handle{white-space:nowrap;overflow-wrap:normal;word-break:normal;max-width:100%;}

/* Google sign-in on the signed-out Friends view. */
.friends-google-signin{margin:18px 0 12px;min-height:42px;max-width:100%;overflow:hidden}
.friends-signin-status{font-size:11px;color:#a8cedd;line-height:1.6}
.friends-account-link{display:inline-block;margin-top:10px;color:var(--cyan);font-size:11px}
.friends-import-choice{margin-top:16px;padding:14px;border:2px dashed var(--cyan);background:#0b2438}
.friends-import-choice[hidden]{display:none}
.friends-import-choice h3{font-size:13px;color:var(--gold2)}
.friends-import-choice p{font-size:11px;line-height:1.8}
.friends-import-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}

/* Branded sign-in entry, with a native GIS fallback for restricted One Tap prompts. */
.friends-google-trigger{border:2px solid #c74079;box-shadow:3px 3px 0 #661f3e;background:#f45490;padding:11px 15px;font:inherit;font-size:10px;letter-spacing:.09em;color:#130a14;cursor:pointer;max-width:100%;min-height:42px;line-height:normal;transition:transform .09s,box-shadow .09s,filter .09s}
.friends-google-trigger:hover:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 #661f3e;filter:brightness(1.05)}
.friends-google-trigger:active:not(:disabled){transform:translate(3px,3px);box-shadow:none}
.friends-google-trigger:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(hover:none){.friends-google-trigger:hover:not(:disabled){transform:none;box-shadow:3px 3px 0 #661f3e;filter:none}}
.friends-google-fallback-note{font-size:10px;line-height:1.6;color:#a8cedd;margin:12px 0 8px}
.friends-google-native{max-width:100%;margin-top:8px}
.friends-google-fallback-note[hidden],.friends-google-native[hidden]{display:none!important}

/* Five visible entries: scroll row bodies only, preserving headers and tabs. */
.board-body.five-row-scroll,#friends.five-row-scroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6f93a8 #0b2438;padding-right:10px;padding-bottom:8px;}
.board-body.five-row-scroll::-webkit-scrollbar,#friends.five-row-scroll::-webkit-scrollbar{width:8px;}
.board-body.five-row-scroll::-webkit-scrollbar-thumb,#friends.five-row-scroll::-webkit-scrollbar-thumb{background:#6f93a8;border:2px solid #0b2438;}

/* Friend invitations occupy the former streak/average stats columns. */
.stats{grid-template-columns:minmax(0,1.1fr) minmax(0,1.9fr)}
.stats>.friend-identity{border-right:2px dashed #62889d}
.stats>.invite-controls{min-width:0;display:flex;flex-direction:column;gap:9px;justify-content:center;border-right:0;padding:20px 24px}
.invite-controls small{color:var(--cyan);font-size:12px}
.invite-controls p{font-size:11px;line-height:1.6;color:#b5d1df;margin:0}
.invite-controls label{margin:2px 0 0;font-size:10px}
.invite-controls input{width:100%;min-width:0;font-size:11px;padding:10px;border:2px solid #42728c;text-overflow:ellipsis}
.invite-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.invite-actions button{font-size:10px;min-height:38px}
#inviteCopy,#inviteAccept{background:#ef4d87;box-shadow:4px 4px 0 #812445}
#inviteShare,#inviteDismiss{background:#17334e;color:#fff;border-color:#6c9ab0;box-shadow:3px 3px 0 #07121e}
.invite-feedback{color:#5ce3ee!important;font-size:10px!important;overflow-wrap:anywhere}
.invite-notice{border-color:#2bc4d5;scroll-margin-top:20px}
.invite-notice h2{color:#ffd56c}
@media(max-width:700px){.stats{grid-template-columns:minmax(0,1fr)}.stats>.friend-identity{grid-column:auto;border-right:0;border-bottom:2px dashed #62889d}.stats>.invite-controls{padding:17px 15px}.invite-actions button{flex:1;min-width:120px}.invite-controls input{font-size:10px}}

.invite-rotate{align-self:flex-start;min-height:25px;padding:3px 7px;font-size:9px;background:transparent;color:#95b7ca;border:1px solid #54758b;box-shadow:none}.invite-rotate:hover:not(:disabled){box-shadow:none}

/* Shared pixel Google badge in the existing sign-in action. */
.friends-google-trigger{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.friends-google-trigger .google-signin-button-icon{display:block;width:22px;height:22px;object-fit:contain;image-rendering:pixelated;flex:0 0 22px}
