/* Existing-system dials: variance 2, motion 0, density 6. A quiet race terminal,
   not a store card. Score and nearest rival precede navigation and decoration. */
#menu-competition {position:fixed;right:4vw;top:max(36px,env(safe-area-inset-top));width:min(330px,29vw);padding:18px 0;border-top:2px solid #72e7f5;color:#dff4ff;background:linear-gradient(90deg,#06121bdd,transparent);}
#menu-competition-open {width:100%;text-align:left;min-height:44px;display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:.1em;}
#menu-competition-summary {font-size:13px;line-height:1.6;color:#b6cedb;margin:8px 0;}
#menu-competition-top {margin:0;padding:0;list-style:none;}
#menu-competition-top .rank-row {grid-template-columns:28px minmax(0,1fr) auto;padding:9px 0;font-size:13px;gap:8px;}
#menu-competition-top .rank-row > span:last-child {display:none;}
#board {overflow-y:auto;padding:24px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left));}
#board .competition-panel {width:min(780px,100%);max-width:780px;margin:auto;flex-shrink:0;}
#board h2 {font-size:clamp(24px,4vw,34px);margin-bottom:8px;}
.competition-caption,#board-meta {color:#a6bfce;font-size:13px;line-height:1.5;}
#board-tabs {display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 10px;}
#board-tabs .mbtn {flex:1;padding:10px 12px;font-size:13px;letter-spacing:.06em;min-height:44px;}
.competition-filters,.competition-pages {display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.competition-filters label {display:flex;align-items:center;gap:8px;font-size:13px;color:#b6cedb;}
.competition-filters select {background:#0a1925;color:#e1f4ff;border:1px solid #476575;padding:8px;font:inherit;min-height:44px;}
#board .mbtn {min-height:44px;}
#board-me {font-size:14px;line-height:1.7;color:#ffd166;border-left:2px solid #ffd166;padding:10px 14px;margin:16px 0;}
#board-list {min-height:150px;max-height:36dvh;overflow:auto;list-style:none;margin:0;padding:0;}
.rank-row {display:grid;grid-template-columns:42px minmax(0,1fr) auto 72px;gap:14px;align-items:center;padding:13px 10px;border-bottom:1px solid #7dc8ff20;font-size:14px;}
.rank-row > b {color:#e6be68;}.rank-row > strong {color:#7df3ff;font-variant-numeric:tabular-nums;}.rank-row > span:last-child {color:#a6bfce;text-align:right;}
.rank-pilot {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.rank-pilot small {font-size:11px;color:#79efb3;margin-left:8px;}
.rank-row.is-me {background:#ffd16612;box-shadow:inset 2px 0 #ffd166;}
.rank-empty {padding:36px 12px;text-align:center;color:#b6cedb;line-height:1.6;font-size:14px;}
.competition-pages {justify-content:space-between;margin-top:16px;}.competition-pages .mbtn {font-size:12px;padding:10px;}
#board button:focus-visible,#menu-competition button:focus-visible,#board select:focus-visible {outline:2px solid #83f0ff;outline-offset:3px;}
#board button:disabled {opacity:.4;cursor:default;}
@media(max-width:1050px) {#menu-competition {position:static;width:100%;max-width:440px;margin:18px 0 0;padding:8px 0;background:none;}#menu-competition-top {display:none;}#menu-competition-summary {margin:3px 0;font-size:12px;}#menu-competition-open {font-size:12px;}}
@media(orientation:landscape) and (max-height:520px) {#menu #menu-competition {grid-column:1;grid-row:5;margin:0;padding:0;border-top:1px solid #72e7f54d;}#menu-competition-summary {display:none;}#menu-competition-open {min-height:44px;}#board {padding-block:12px;}#board .competition-panel {padding:16px;}#board-list {max-height:35dvh;min-height:88px;}#board h2 {font-size:24px;}}
@media(max-width:480px) {.rank-row {grid-template-columns:32px minmax(0,1fr) auto;gap:8px;padding:12px 2px;font-size:13px;}.rank-row > span:last-child {display:none;}#board-tabs .mbtn {padding:9px 5px;font-size:12px;}#board .competition-panel {padding:16px 12px;}.competition-pages {gap:6px;}}

.social-race {display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #72e7f533;font-size:14px;}.social-race > span {flex:1;}.social-race small {display:block;font-size:12px;line-height:1.5;color:#b6cedb;margin-top:6px;}#friends .mbtn.small {min-width:44px;min-height:44px;}

/* Friend actions remain reachable in portrait and compact landscape. */
.friend-tools { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.friend-tools .mbtn { flex:1 1 auto; min-height:44px; }
#friends .friend-request { flex-wrap:wrap; }
#friends input { min-width:0; min-height:44px; }
#friends [data-rm], #friends [data-chal] { flex-shrink:0; }
#fr-msg { color:#b9cfda !important; line-height:1.5; }
@media(max-width:600px) { #fr-list > div { flex-wrap:wrap; } }
