:root{color-scheme:dark;--ink:#f0f4f7;--muted:#9dafbd;--panel:#111922;--accent:#64dfff}*{box-sizing:border-box}body.friends-page{margin:0;background:radial-gradient(ellipse at 75% 0,#20323d80,transparent 50%),#080c11;color:var(--ink);font-family:Inter,system-ui,sans-serif}.friends-page main{max-width:1500px;margin:auto;padding:26px 36px 50px}.friends-page header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 22px;margin:0 0 34px}.friends-page .brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:3px}.friends-page .brand img{width:35px;height:40px;object-fit:contain}.friends-page .brand small{font:10px system-ui;letter-spacing:2px;color:#9caebc}.friends-page a{color:#bdcdd8}.friend-nav{display:flex;align-items:center;gap:20px;font-size:13px}.friends-page button,.friends-page select,.friends-page input{font:inherit;color:var(--ink);background:#19232d;border:1px solid #3a4856;border-radius:10px;min-height:44px;padding:11px 16px}.friends-page button{cursor:pointer;font-size:13px;font-weight:650}.friends-page button:hover:enabled{background:#293745;border-color:#8194a4}.friends-page button:disabled{opacity:.42;cursor:default}.friends-page button.primary{color:#10161c;background:linear-gradient(135deg,#edf4f8,#aabac6);border-color:#e2ecf1}.friends-page button.danger{color:#ffa0aa;background:#461824;border-color:#773447}.friends-page :focus-visible{outline:2px solid var(--accent);outline-offset:4px}.friends-page [hidden]{display:none!important}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 28px}.game-heading h1{font-size:clamp(32px,4vw,52px);letter-spacing:-2px;margin:8px 0 10px;line-height:1.08}.game-heading p{max-width:700px;color:var(--muted);font-size:15px;line-height:1.7;margin:0}.eyebrow{font:650 10px system-ui;letter-spacing:2.3px;color:#8ca7ba}.game-type{padding:10px 14px;border-radius:30px;background:#28374550;font:11px system-ui;white-space:nowrap;color:#b8cbd8}.friend-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start}.friend-play,.friend-sidebar>section{background:linear-gradient(140deg,#161e27,#0d141c);border-radius:20px;padding:22px;min-width:0}.friend-play{position:relative}.friend-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:16px}.match-summary{display:flex;gap:20px;align-items:center;min-height:38px}.match-summary b{font-size:22px;font-variant-numeric:tabular-nums}.match-summary small{color:var(--muted);font-size:11px}.room-chip{font:600 12px ui-monospace,monospace;color:#9ccadb;padding:9px 11px;background:#20303980;border-radius:8px}.connection{display:inline-flex;gap:8px;align-items:center;color:#a5b7c4;font-size:11px}.connection::before{content:'';width:6px;height:6px;background:#73cfb1;border-radius:100%}.connection.warn::before{background:#efb969}.friend-canvas-wrap{position:relative;overflow:hidden;border-radius:13px;background:#071019;isolation:isolate}#friendCanvas{display:block;width:100%;height:auto;aspect-ratio:5/3;touch-action:none;outline-offset:-4px}.play-status{min-height:20px;margin:15px 0 0;color:#b5c5d1;font-size:13px;line-height:1.6}.play-actions{display:flex;gap:10px;flex-wrap:wrap;margin:17px 0}.friend-touch{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:15px}.friend-touch button{min-width:66px;min-height:50px;touch-action:none}.friend-touch .bomb-key{border-color:#9b7549;color:#f8d49b}.how-play{padding:18px 0 0;color:#9fb0be;font-size:13px;line-height:1.75}.how-play b{color:#dfe8ef}.how-play kbd{font:11px monospace;border-radius:4px;padding:3px 7px;background:#ffffff0b;color:#cbd8e2}.friend-sidebar{display:grid;gap:20px}.friend-sidebar h2{font-size:18px;margin:5px 0 16px;letter-spacing:-.4px}.friend-sidebar p{font-size:12px;line-height:1.7;color:var(--muted)}.friend-sidebar label{display:grid;gap:8px;font-size:11px;color:#b1c0cd;margin-bottom:16px}.friend-sidebar input{width:100%;font-size:14px;min-width:0}.friend-sidebar select{width:100%;font-size:13px}.friend-sidebar .stack{display:grid;gap:10px}.friend-sidebar .join-code{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px}.join-code input{font:600 14px ui-monospace,monospace;text-transform:uppercase}.join-code button{padding:10px 13px}.friend-players{padding:0;margin:0;list-style:none;display:grid;gap:12px}.friend-players li{display:flex;align-items:center;gap:10px;font-size:13px}.player-light{height:8px;width:8px;border-radius:50%}.friend-players small{margin-left:auto;color:#8598a8;font-size:10px}.friend-room-buttons{display:grid;gap:9px;margin-top:20px}.friend-rooms{display:grid;gap:10px;margin-top:14px}.friend-rooms button{display:flex;justify-content:space-between;gap:8px;font-size:12px;text-align:left}.friend-rooms span{white-space:nowrap;color:#8dafc4}.friend-board-tabs{display:flex;gap:8px;margin-bottom:12px}.friend-board-tabs button{font-size:11px;padding:8px 12px;min-height:35px}.friend-board-tabs button[aria-pressed=true]{background:#c5d6e0;color:#121d24}.friend-scores{padding:0;list-style:none;max-height:320px;overflow:auto;margin:0}.friend-scores li{display:flex;align-items:center;gap:10px;font-size:12px;padding:11px 0}.friend-scores li span{min-width:0;overflow-wrap:anywhere}.friend-scores b{margin-left:auto;color:#cae1ee}.friend-scores em{font:10px monospace;color:#8196a8;font-style:normal}.board-note{font-size:11px!important}.game-secondary{margin-top:44px}.game-secondary h2{font-size:25px;margin-bottom:22px}.friend-more{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.friend-more a{display:block;text-decoration:none;padding:20px;background:linear-gradient(140deg,#1c2835,#0f171f);border-radius:15px;font-size:14px;color:#e6eef4}.friend-more small{display:block;margin-top:8px;color:#93aabb;font-size:11px}.friends-page footer{display:flex;justify-content:space-between;gap:20px;padding-top:35px;color:#708696;font-size:11px}.friends-page dialog{width:min(480px,calc(100% - 32px));border:1px solid #465969;border-radius:20px;padding:30px;background:#121d28;color:#e8f0f7}.friends-page dialog::backdrop{background:#000b}.friends-page dialog h2{margin-top:0;font-size:27px}.friends-page dialog p{color:#acbfce;line-height:1.7}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.match-result{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border-radius:13px;background:linear-gradient(120deg,#234b5433,#302b4933);margin:20px 0}.match-result h2{font-size:24px;margin:0 0 8px}.match-result p{margin:0;color:#adc1cf;font-size:13px;line-height:1.6}.friend-play:fullscreen{background:#080e15;overflow:auto;padding:18px;display:flex;flex-direction:column;justify-content:center}.friend-play:fullscreen .friend-canvas-wrap{width:min(100%,150vh);margin:0 auto}.friend-play:fullscreen .how-play{display:none}.friend-play:fullscreen .friend-toolbar,.friend-play:fullscreen .play-actions,.friend-play:fullscreen .play-status{width:min(1200px,100%);margin-left:auto;margin-right:auto}.screen-note{background:#d8bd7720;color:#dbccab;padding:12px;border-radius:9px;line-height:1.6;font-size:12px;margin-bottom:18px}.friends-page .help-link{border:0;background:transparent;padding:0;min-height:0;color:#b5d3e6;text-decoration:underline;text-underline-offset:4px}.friend-name-note{color:#7793a7;font-size:11px;margin-top:-8px;margin-bottom:18px;line-height:1.7}.friend-quality{display:flex;align-items:center;gap:10px;font-size:12px;color:#9eb4c5}.friend-quality select{padding:7px 12px;min-height:37px;font-size:12px}.friends-page .new-pill{color:#73e4c3;background:#24483d70;font:700 9px system-ui;letter-spacing:1px;border-radius:5px;padding:5px 7px;margin-left:12px}.friend-play,.friend-more a{transition:background-color .18s ease}.friends-page .jv-owner-note{margin:15px 0}.friends-page .fps-label{font-size:11px;color:#7791a6;font-variant-numeric:tabular-nums}@media(max-width:1120px){.friend-layout{grid-template-columns:minmax(0,1fr) 280px}.friends-page main{padding:22px}.friend-play,.friend-sidebar>section{padding:18px}.friend-more{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.friend-layout{grid-template-columns:1fr}.friend-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-sidebar>section:first-child{grid-column:1/-1}.friend-sidebar .stack{grid-template-columns:1fr 1fr}.friend-sidebar .join-code{max-width:400px}.friend-sidebar .identity-controls{display:grid;grid-template-columns:1fr 1fr;gap:15px}.friend-sidebar .friend-name-note{display:none}.game-heading{align-items:flex-start}.game-type{display:none}.friends-page .brand small{display:none}}@media(max-width:520px){.friends-page main{padding:18px 14px 35px}.friend-nav{gap:12px;font-size:11px}.friend-nav button{padding:9px 12px}.friends-page header{margin-bottom:26px}.game-heading h1{font-size:36px}.game-heading p{font-size:13px}.friend-play{padding:12px;border-radius:16px}.friend-toolbar{gap:10px}.match-summary{gap:14px}.match-summary b{font-size:18px}.friend-sidebar{grid-template-columns:1fr}.friend-sidebar .identity-controls{grid-template-columns:1fr}.friend-sidebar>section{padding:22px}.friend-sidebar .stack{grid-template-columns:1fr}.play-actions button{padding:10px 12px;font-size:12px}.friend-more{gap:12px}.friend-more a{padding:17px;font-size:13px}.friend-touch{gap:9px}.friend-touch button{min-width:60px}.match-result{display:block}.match-result button{margin-top:15px}.friends-page footer{flex-direction:column;line-height:1.8}.friends-page .brand{font-size:13px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){.friends-page *{transition:none!important;scroll-behavior:auto!important}}.motion-off.friends-page *,.feature-off-motion.friends-page *{transition:none!important}

.friends-page .new-pill{position:static;display:inline-flex;vertical-align:middle;line-height:1.2}
/* 1.9.4: graphite surfaces, original silver face, small player accents. */
.friends-page{--game-light:#64e0ff;--game-alt:#aa7dff}.friends-page[data-game=trails]{--game-light:#72e4ff}.friends-page[data-game=four]{--game-light:#5adeff}.friends-page[data-game=bomber]{--game-light:#efb864;--game-alt:#d97fff}
body.friends-page{background:radial-gradient(ellipse at 15% 0,#26333c55,transparent 48%),linear-gradient(145deg,#10151b,#06090d 75%)}
.friends-page header{margin-bottom:23px;padding-bottom:17px}.game-heading{margin-bottom:24px}.game-heading h1{font-size:clamp(30px,3.5vw,44px);letter-spacing:-1.5px}.game-heading p{font-size:14px;line-height:1.6;color:#9cacb9}.friends-page .eyebrow{color:#9caeba}
.friend-play{background:#14191f;border:1px solid #6d81934d;border-radius:17px;box-shadow:0 8px 24px #0003;padding:20px}.friend-canvas-wrap{border-radius:11px;background:#05080d;box-shadow:inset 0 0 0 1px #c9d9e52b}
.friend-toolbar{gap:18px;align-items:center;margin-bottom:18px}.match-summary small{letter-spacing:1.2px;font-size:9px;color:#879eaf}.match-summary b{font-size:18px;letter-spacing:-.4px}.room-chip{color:#b7c7d5;background:#1e272e;border:1px solid #bacdde22;letter-spacing:.5px}.table-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.table-actions button{padding:9px 12px;min-height:38px;font-size:11px;border-radius:7px;background:#202830;border:1px solid #697b8b80;box-shadow:inset 0 1px #fff1}.table-actions .invite-button{display:inline-flex;align-items:center;gap:8px}.invite-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.table-actions .leave-button{background:linear-gradient(#351b22,#1d1016);border-color:#a54e5980;color:#f5a0ac}.connection{font-size:10px;color:#879eaf}.friend-toolbar .connection{margin-left:3px}
.friend-sidebar>section{background:#151b22;border:1px solid #778c9d25;border-radius:17px;box-shadow:inset 0 1px #c5d5e812}.friend-sidebar h2{font-size:19px}.friends-page button.primary{background:linear-gradient(135deg,#eff3f5,#b1bec8);box-shadow:inset 0 1px #fff9,0 2px 9px #0002}.friends-page input,.friends-page select{background:#10171e;border-color:#56677785}.play-status{font-size:12px;line-height:1.7}.play-actions{gap:11px;margin-top:17px}.how-play{font-size:12px;color:#8da2b2}.friend-more a{border:1px solid #96b5c425;background:#182129;box-shadow:inset 0 1px #d4e4ed0a;transition:transform .16s ease,border-color .16s ease}.friend-more a:hover{transform:translateY(-2px);border-color:#8fa9bc80}.friends-page .new-pill{background:#2c4d46aa;color:#9defd5}
@media(max-width:1250px){.friend-toolbar{align-items:flex-start}.table-actions{gap:8px}.table-actions .connection{flex-basis:100%;justify-content:flex-end}.match-summary{gap:10px}}
@media(max-width:850px){.table-actions .connection{flex-basis:auto}.friend-toolbar{align-items:center}.friend-play{padding:16px}.friend-sidebar>section{padding:21px}}
@media(max-width:520px){.friends-page main{padding-left:12px;padding-right:12px}.friend-play{padding:10px;border-radius:14px}.friend-toolbar{gap:11px}.match-summary{width:100%;justify-content:space-between}.table-actions{width:100%;justify-content:flex-start}.table-actions .connection{margin-left:auto}.table-actions button{padding:8px 10px}.game-heading h1{font-size:34px}.friend-play .friend-canvas-wrap{border-radius:8px}.friend-sidebar>section{border-radius:14px}.friend-more a{padding:18px}.play-actions{gap:9px}}
@media(prefers-reduced-motion:reduce){.friend-more a:hover{transform:none}}.motion-off .friend-more a:hover,.feature-off-motion .friend-more a:hover{transform:none}

.friends-page .game-heading .new-pill{float:none;margin-left:14px;vertical-align:middle}.friends-page #friendCanvas:focus-visible{outline:1px solid #74d4e64d;outline-offset:-1px}

.friends-page .control-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.friends-page .play-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}

.friend-scores li.your-score{background:#30485050;border-radius:8px;padding-left:8px;padding-right:8px}.friend-scores li.your-score span{color:#bce9da}.friend-board-tabs{flex-wrap:wrap}#personalRank{font-variant-numeric:tabular-nums;line-height:1.7}
