/* ScoreNet 1.5.1-rc1 — Passport-aware shell, welcome module, section navigation, feedback.
   Uses the Neon Arena tokens (--nx-*) with fallbacks, so it reads the same on pages that
   load the arena layer and on interior pages that do not. */

/* ---------- auth-aware copy ----------
   [data-sn-when] holds copy for one or more states: guest, player, unavailable, pending.
   Until the state layer answers, only "pending" copy shows. If the script never runs,
   guest copy appears after four seconds, so a failure never hides the guest path. */
html[data-sn-auth="pending"] [data-sn-when]:not([data-sn-when~="pending"]),
html[data-sn-auth="guest"] [data-sn-when]:not([data-sn-when~="guest"]),
html[data-sn-auth="player"] [data-sn-when]:not([data-sn-when~="player"]),
html[data-sn-auth="unavailable"] [data-sn-when]:not([data-sn-when~="unavailable"]){display:none!important}
html:not([data-sn-auth]) [data-sn-when]:not([data-sn-when~="guest"]):not([data-sn-when~="pending"]){display:none!important}
html:not([data-sn-auth]) [data-sn-when~="guest"]:not([data-sn-when~="pending"]){animation:sn-when-show 0s 4s both}
html:not([data-sn-auth]) [data-sn-when~="pending"]:not([data-sn-when~="guest"]){animation:sn-when-hide 0s 4s both}
@keyframes sn-when-show{from{visibility:hidden}to{visibility:visible}}
@keyframes sn-when-hide{from{visibility:visible}to{visibility:hidden}}
.sn-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* ---------- Today navigation ---------- */
[data-sn-today][hidden]{display:none!important}
.sn-today-link{color:var(--nx-gold,#ffd27b)!important}
.sn-today-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid rgba(255,210,123,.5);border-radius:999px;color:#ffe2a4!important;text-decoration:none}
.sn13k-interior .sn13k-today{color:#ffe2a4}
.sn13k-interior:not([data-authenticated="true"]) .sn13k-today{display:none!important}
@media(max-width:820px){.sn13k-interior[data-mobile-open="true"] .sn13k-today{display:flex}}

/* ---------- welcome module ---------- */
.snw{--snw-line:var(--nx-line,rgba(108,231,245,.16));position:relative;box-sizing:border-box;max-width:1200px;margin:18px auto;padding:18px 20px;border:1px solid var(--snw-line);border-radius:var(--nx-r,16px);background:var(--nx-panel,linear-gradient(180deg,rgba(15,31,40,.74),rgba(6,14,19,.86)));color:var(--nx-ink,#f1f8fb);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px 20px;align-items:start;min-height:150px}
.snw:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:var(--nx-grad,linear-gradient(100deg,#a4ff63,#6ce7f5));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.38;pointer-events:none}
.snw[hidden]{display:none!important}
.snw-head{grid-column:1/-1}
.snw-kicker,.snw-label,.snw-chip small{margin:0;color:var(--nx-green,#a4ff63);font:700 11px/1.3 var(--nx-mono,ui-monospace,Menlo,monospace);letter-spacing:.14em;text-transform:uppercase}
.snw-title{margin:6px 0 0;font:700 clamp(22px,4vw,32px)/1.08 var(--nx-display,system-ui,sans-serif);letter-spacing:-.01em;color:var(--nx-ink,#f1f8fb)}
.snw-copy,.snw-detail,.snw-note{margin:8px 0 0;color:var(--nx-muted,#a9bec8);font:500 15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;max-width:70ch}
.snw-note{grid-column:1/-1;padding:10px 12px;border-left:2px solid var(--nx-gold,#ffd27b);background:rgba(255,210,123,.06);font-size:14px}
.snw-note a{color:var(--nx-gold,#ffd27b)}
.snw-main{min-width:0;padding:14px;border:1px solid var(--snw-line);border-radius:12px;background:rgba(2,8,12,.5)}
.snw-main h3{margin:4px 0 0;font:700 22px/1.1 var(--nx-display,system-ui,sans-serif)}
.snw-stats{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;color:var(--nx-muted,#a9bec8);font:500 13px/1.4 var(--nx-mono,ui-monospace,monospace)}
.snw-stats b{color:var(--nx-ink,#f1f8fb);font-weight:700}
.snw .snw-stats>span{display:inline;margin:0}
.snw .snw-stats>span>b{margin-right:4px}
.snw .snw-actions>.snw-btn{display:inline-flex;width:auto;margin:0}
.snw p,.snw h2,.snw h3{text-align:left}
.snw-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;grid-column:1/-1}
.snw-main .snw-actions{grid-column:auto}
.snw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--snw-line);border-radius:10px;color:var(--nx-ink,#f1f8fb)!important;background:rgba(6,16,22,.8);font:700 14px/1 system-ui,-apple-system,"Segoe UI",sans-serif;text-decoration:none}
.snw-btn.primary{border-color:transparent;background:var(--nx-grad,linear-gradient(100deg,#a4ff63,#6ce7f5));color:#031014!important}
.snw-btn.quiet{border-style:dashed}
.snw-btn:focus-visible,.snw-chip:focus-visible{outline:3px solid var(--nx-gold,#ffd27b);outline-offset:2px}
.snw-chips{display:grid;gap:8px;min-width:0}
.snw-chip{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--snw-line);border-radius:12px;background:rgba(2,8,12,.42);color:var(--nx-ink,#f1f8fb)!important;text-decoration:none;min-height:44px}
.snw-chip b{font:700 15px/1.2 var(--nx-display,system-ui,sans-serif)}
.snw-chip span{color:var(--nx-muted,#a9bec8);font:500 13px/1.35 system-ui,sans-serif}
.snw-chip.today{border-color:rgba(255,210,123,.45)}
.snw-chip.today small{color:var(--nx-gold,#ffd27b)}
.snw-skel{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.snw-skel i{display:block;height:58px;border-radius:12px;background:linear-gradient(90deg,rgba(108,231,245,.06),rgba(108,231,245,.13),rgba(108,231,245,.06));background-size:200% 100%;animation:snw-shimmer 1.6s linear infinite}
@keyframes snw-shimmer{to{background-position:-200% 0}}
.snw[data-sn-state^="guest"],.snw[data-sn-state^="unavailable"]{grid-template-columns:1fr}
.snw--compact{min-height:0;padding:14px 16px}
.snw-title{text-transform:none}
@media(max-width:760px){
  .snw{grid-template-columns:minmax(0,1fr);gap:10px;margin:14px 10px;padding:14px;min-height:120px}
  .snw-main{padding:12px}
  .snw-main h3{font-size:20px}
  .snw-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:10.5px;letter-spacing:.02em;text-transform:uppercase}
  .snw .snw-stats>span{display:grid;gap:2px;padding:6px;border:1px solid var(--snw-line);border-radius:8px;line-height:1.2}
  .snw .snw-stats>span>b{margin:0;font-size:15px;text-transform:none}
  .snw-detail,.snw-copy{font-size:14px;margin-top:6px}
  .snw-actions{margin-top:10px}
  .snw-btn{min-height:44px;padding:0 14px;font-size:14px}
  .snw-chips{display:flex;gap:8px;overflow-x:auto;margin:0 -14px;padding:2px 14px 4px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .snw-chips::-webkit-scrollbar{display:none}
  .snw-chip{flex:0 0 min(72%,260px);scroll-snap-align:start;padding:9px 11px}
  .snw-chip span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px}
  .snw-skel{grid-template-columns:1fr 1fr}.snw-skel i{height:44px}.snw-skel i:first-child{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.snw-skel i{animation:none}}
html.sn-fx-reduced .snw-skel i{animation:none}

/* ---------- section navigator (Passport, Admin, Arcade) ---------- */
.sn-secnav,.sn-attention,.sn-group,.sn-panel,.snw,.sn-jump,.sn-hub-network-head{min-width:0;max-width:100%;box-sizing:border-box}
.sn-secnav{position:sticky;top:0;z-index:40;margin:12px 0 16px;padding:8px;border:1px solid var(--nx-line,rgba(108,231,245,.16));border-radius:14px;background:rgba(3,9,13,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sn-secnav ol{display:flex;gap:6px;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}
.sn-secnav li{flex:0 0 auto;scroll-snap-align:start}
.sn-secnav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:10px;color:var(--nx-muted,#a9bec8)!important;text-decoration:none;font:700 14px/1 system-ui,-apple-system,"Segoe UI",sans-serif;white-space:nowrap}
.sn-secnav a[aria-current="true"],.sn-secnav a[aria-current="page"]{color:#031014!important;background:var(--nx-grad,linear-gradient(100deg,#a4ff63,#6ce7f5))}
.sn-secnav a:focus-visible{outline:3px solid var(--nx-gold,#ffd27b);outline-offset:1px}
.sn-secnav .sn-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(255,79,216,.18);color:#ffd5f6;font:700 11px/1 var(--nx-mono,ui-monospace,monospace)}
.sn-secnav a[aria-current="true"] .sn-count{background:rgba(3,16,20,.2);color:#031014}
.sn-panel-off{display:none!important}
.sn-panel-title{margin:8px 0 14px;font:700 clamp(20px,3vw,26px)/1.15 var(--nx-display,system-ui,sans-serif);color:var(--nx-ink,#f1f8fb);scroll-margin-top:80px}
.sn-panel-title:focus{outline:none}
.sn-panel-intro{margin:-6px 0 16px;color:var(--nx-muted,#a9bec8);font:500 14px/1.5 system-ui,sans-serif}
.sn-quicklinks{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.sn-quicklinks a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--nx-line,rgba(108,231,245,.2));border-radius:10px;color:var(--nx-ink,#f1f8fb)!important;text-decoration:none;font:700 14px/1 system-ui,sans-serif}
.sn-quicklinks a.danger{border-color:rgba(255,113,136,.55);color:#ffb3c0!important}

/* ---------- disclosure groups (Arcade network, Admin groups) ---------- */
.sn-group{margin:14px 0;border:1px solid var(--nx-line,rgba(108,231,245,.16));border-radius:var(--nx-r,16px);background:rgba(3,9,13,.55)}
.sn-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 16px;cursor:pointer;list-style:none;color:var(--nx-ink,#f1f8fb);font:700 17px/1.2 var(--nx-display,system-ui,sans-serif)}
.sn-group>summary::-webkit-details-marker{display:none}
.sn-group>summary:after{content:"+";flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--nx-line,rgba(108,231,245,.25));border-radius:8px;color:var(--nx-cyan,#6ce7f5);font:700 18px/1 var(--nx-mono,ui-monospace,monospace)}
.sn-group[open]>summary:after{content:"−"}
.sn-group>summary:focus-visible{outline:3px solid var(--nx-gold,#ffd27b);outline-offset:2px;border-radius:12px}
.sn-group>summary small{display:block;margin-top:4px;color:var(--nx-muted,#a9bec8);font:500 13px/1.35 system-ui,sans-serif}
.sn-group>summary .sn-count{margin-left:auto}
.sn-group-body{padding:0 12px 12px}
.sn-group .sn-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:rgba(255,79,216,.18);color:#ffd5f6;font:700 12px/1 var(--nx-mono,ui-monospace,monospace)}
.sn-group .sn-count[data-level="ok"]{background:rgba(164,255,99,.14);color:#d6ffbe}
.sn-attention{display:grid;gap:8px;margin:0 0 14px;padding:12px;border:1px solid rgba(255,79,216,.35);border-radius:14px;background:rgba(40,6,30,.35)}
.sn-attention h2{margin:0;font:700 16px/1.2 var(--nx-display,system-ui,sans-serif)}
.sn-attention ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.sn-attention a{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:44px;padding:8px 12px;border-radius:10px;background:rgba(3,9,13,.6);color:var(--nx-ink,#f1f8fb)!important;text-decoration:none;font:600 14px/1.3 system-ui,sans-serif}
.sn-attention a[data-level="ok"]{opacity:.75}
.sn-attention b{font:700 13px/1 var(--nx-mono,ui-monospace,monospace);color:#ffd5f6}
.sn-attention a[data-level="ok"] b{color:#d6ffbe}
.sn-more{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 0}
.sn-more button,.sn-filter input{min-height:44px;padding:0 14px;border:1px solid var(--nx-line,rgba(108,231,245,.25));border-radius:10px;background:rgba(6,16,22,.85);color:var(--nx-ink,#f1f8fb);font:700 14px/1 system-ui,sans-serif}
.sn-more button{cursor:pointer}
.sn-more small{color:var(--nx-muted,#a9bec8);font:500 13px/1.3 system-ui,sans-serif}
.sn-filter{display:flex;gap:8px;align-items:center;margin:0 0 10px}
.sn-filter input{flex:1;min-width:0;font-weight:500}
.sn-row-off{display:none!important}

/* ---------- back to top ---------- */
.sn-top{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(max(14px,env(safe-area-inset-bottom)) + var(--sn-top-offset,0px));z-index:60;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--nx-line,rgba(108,231,245,.35));border-radius:999px;background:rgba(3,9,13,.92);color:var(--nx-ink,#f1f8fb);font:700 13px/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.sn-top[hidden]{display:none}
.sn-top:focus-visible{outline:3px solid var(--nx-gold,#ffd27b);outline-offset:2px}
body:has(.sn-player-dock) .sn-top{--sn-top-offset:70px}

@media print{.sn-secnav,.sn-top,.snw-skel{display:none!important}.sn-panel-off{display:block!important}}
@media(forced-colors:active){.snw:before{display:none}.sn-secnav a[aria-current="true"]{forced-color-adjust:none;background:Highlight;color:HighlightText!important}}

/* ---------- cabinet card actions (Finder, hub, Members Lounge) ---------- */
[data-sn14-reason][hidden],.sn-reason:empty,.sn-reason[hidden]{display:none!important}

/* scorenet-mobile-v13w-r10.css reorders a former homepage by :nth-child() position. On the
   Arcade hub those positional rules must never match, whatever modules sit in main. */
@media(max-width:700px){html body[data-discovery-scope] main>section.sn-growth-section,html body[data-discovery-scope] main>section.sn13s-section{order:50}}

/* ---------- Arcade hub: cabinet rows on phones, network groups, jump links ---------- */
.sn-jump{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.sn-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--nx-line,rgba(108,231,245,.2));border-radius:999px;color:var(--nx-ink,#f1f8fb)!important;text-decoration:none;font:700 13px/1 var(--nx-mono,ui-monospace,monospace);letter-spacing:.06em;text-transform:uppercase}
.sn-jump a:focus-visible{outline:3px solid var(--nx-gold,#ffd27b);outline-offset:2px}
.sn-hub-network-head{margin:28px 0 6px;scroll-margin-top:80px}
.sn-hub-network-head h2{margin:0;font:700 clamp(22px,3.4vw,30px)/1.1 var(--nx-display,system-ui,sans-serif)}
.sn-hub-network-head p{margin:6px 0 0;color:var(--nx-muted,#a9bec8);font:500 14px/1.5 system-ui,sans-serif}
.sn-group>.sn-group-body>section{margin-top:0!important}
#official-cabinets,#challenges,#leaderboards,#crown-chase,#player-rankings,#your-people,#arcade-intelligence{scroll-margin-top:80px}
@media(max-width:700px){
  html body[data-discovery-scope] .games{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  html body[data-discovery-scope] .games .game{display:grid!important;grid-template-columns:104px minmax(0,1fr);grid-template-areas:"art title" "art genre" "art line" "desc desc" "score score" "actions actions";column-gap:12px;row-gap:3px;min-height:0!important;padding:12px!important}
  html body[data-discovery-scope] .games .game .game-art{grid-area:art;height:auto!important;aspect-ratio:16/11;margin:0;border-radius:12px}
  html body[data-discovery-scope] .games .game .game-art img{width:100%;height:100%;object-fit:cover}
  html body[data-discovery-scope] .games .game .sn-card-overlay{inset:auto 4px 4px 4px;gap:4px}
  html body[data-discovery-scope] .games .game .sn-reason{font-size:9px;padding:3px 6px}
  html body[data-discovery-scope] .games .game h2{grid-area:title;margin:0;font-size:19px;line-height:1.05;align-self:end}
  html body[data-discovery-scope] .games .game .genre{grid-area:genre;margin:0}
  html body[data-discovery-scope] .games .game .sn-card-discovery-line{grid-area:line;margin:0;font-size:12px;line-height:1.35}
  html body[data-discovery-scope] .games .game .description{grid-area:desc;margin:6px 0 0;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  html body[data-discovery-scope] .games .game .scoreline{grid-area:score;margin:4px 0 0}
  html body[data-discovery-scope] .games .game .meta,html body[data-discovery-scope] .games .game .game-icon,html body[data-discovery-scope] .games .game .sn-reason{display:none}
  :root.sn-arena body[data-discovery-scope] .games .game[data-slot]::after{display:none}
  html body[data-discovery-scope] .games .game .game-actions{grid-area:actions;margin-top:8px}
  .sn-jump{gap:6px}.sn-jump a{min-height:40px;padding:0 12px;font-size:12px}
}

/* ---------- visual effects setting (Passport > Settings) ---------- */
.sn-effects{display:grid;gap:8px;margin:12px 0 0;padding:0;border:0}
.sn-effects-option{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:10px 12px;border:1px solid var(--nx-line,rgba(108,231,245,.2));border-radius:12px;cursor:pointer}
.sn-effects-option input{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--nx-cyan,#6ce7f5)}
.sn-effects-option strong{display:block}.sn-effects-option small{display:block;margin-top:2px;color:var(--nx-muted,#a9bec8)}
.sn-effects-option:has(input:checked){border-color:var(--nx-cyan,#6ce7f5);background:rgba(108,231,245,.07)}
.sn-effects-note{margin:8px 0 0;color:var(--nx-gold,#ffd27b);font-size:13px}
.sn-effects-note:empty{display:none}
