.njAvatar{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--nj-surface);object-fit:cover;object-position:50% 12%;-webkit-user-select:none;user-select:none}.njAvatarGlyph{background:none;line-height:1}:root{--nj-bg: #1a0f0d;--nj-surface: #2a1915;--nj-pressed: #3a221c;--nj-line: #43291f;--nj-ink: #f6ebdd;--nj-muted: #b3907e;--nj-accent: #d9a53f;--nj-on-accent: #24140f;--nj-good: #5f9e7c;--nj-bad: #c4574b;--nj-canvas: #f6ebdd;--nj-radius: 14px;--nj-btn-radius: 999px;--nj-display: "Fraunces", "Reem Kufi", Georgia, "SF Arabic", "Segoe UI Arabic", "Noto Sans Arabic", "Geeza Pro", serif;--nj-body: system-ui, -apple-system, "SF Arabic", "Segoe UI Arabic", "Noto Sans Arabic", "Geeza Pro", Tahoma, "Segoe UI", sans-serif;--nj-display-wt: 900;--nj-display-ls: -.02em;--nj-btn-tt: none;--nj-btn-ls: 0;color-scheme:dark}:root:lang(ar){--nj-display-wt: 700}:root{--nj-cursor: #fff}[data-nj-cursor]{outline:3px solid var(--nj-cursor);outline-offset:3px;box-shadow:0 0 0 7px #00000073}[data-nj-cursor]:focus,[data-nj-cursor]:focus-visible{outline:3px solid var(--nj-cursor)}.njStatus{position:fixed;bottom:16px;inset-inline-end:16px;font-size:12px;color:var(--nj-muted);display:flex;align-items:center;gap:12px;z-index:2}.njStatusCode{letter-spacing:.14em;font-weight:600}.njSlow{color:var(--nj-accent);font-variant-numeric:tabular-nums}.njSlow.fine{color:var(--nj-muted)}.njConn{display:inline-flex;align-items:center;gap:6px}.njDot{display:inline-block;width:8px;height:8px;border-radius:50%}.njDot.live{background:var(--nj-good)}.njDot.off{background:var(--nj-bad)}.njMute{background:none;border:0;padding:2px 4px;font-size:15px;line-height:1;color:inherit;opacity:.55;cursor:pointer}.njMute:hover{opacity:1}.njBoard{flex:0 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:6px;margin-top:6px}.njBoard .njRow{display:grid;grid-template-columns:34px 1fr auto 92px;gap:12px;align-items:center;padding:clamp(5px,1.3vh,11px) 14px;border-bottom:1px solid var(--nj-line)}.njBoard .njRank{color:var(--nj-muted);font-variant-numeric:tabular-nums}.njBoard .njDelta{color:var(--nj-good);font-size:14px}.njBoard .njTotal{text-align:end;font-variant-numeric:tabular-nums;letter-spacing:0}.njFinal{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,3vh,34px)}.njWinner{flex:0 0 auto;text-align:center;padding:clamp(6px,2vh,20px) 0}.njWinnerAvatar{width:clamp(56px,11vh,120px);height:auto;aspect-ratio:1;margin-block-end:8px}.njWinnerName{font-size:clamp(34px,6vw,66px);line-height:1.1}.njWinnerPoints{color:var(--nj-muted);font-size:18px}.njSupers{flex:0 0 auto;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.njSuper{background:var(--nj-surface);border:1px solid var(--nj-line);border-radius:var(--nj-radius);padding:clamp(7px,1.7vh,14px) 18px;text-align:center}.njSuper small{display:block;color:var(--nj-muted);font-size:12px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}.njFinalBody{flex:0 1 auto;min-height:0;display:grid;grid-template-columns:1fr auto;gap:clamp(16px,3vw,40px);align-items:center}.njFinalBody .njBoard{min-height:0;overflow:hidden;margin-top:0;align-self:stretch;justify-content:center}.njHostOwn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.6vh,14px);align-self:stretch;border-inline-start:1px solid var(--nj-line);padding-inline-start:clamp(16px,3vw,40px)}.njHostOwnQr{background:#fff;padding:8px;border-radius:10px;max-width:100%;height:auto}.njHostOwnText{display:flex;flex-direction:column;align-items:center;gap:4px}.njHostOwnLabel{color:var(--nj-muted);font-size:18px}.njHostOwnUrl{color:var(--nj-accent);font-size:clamp(22px,2.4vw,32px);letter-spacing:.03em}.sketch{display:block;width:100%;aspect-ratio:4 / 3}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;overflow:hidden;background:var(--nj-bg);color:var(--nj-ink);font:16px/1.5 var(--nj-body);transition:background-color .32s ease,color .32s ease}.hub{height:100%;display:flex;flex-direction:column;min-height:0}.hub .strip{flex:0 0 auto;min-width:0;display:flex;align-items:center;gap:clamp(10px,1.6vw,24px);padding:clamp(8px,1.4vh,14px) clamp(14px,2vw,28px);background:var(--nj-surface);border-bottom:1px solid var(--nj-line)}.hub .strip .njStatus{position:static;margin-inline-start:auto;flex:0 0 auto}.hub .stripBrand{font-family:var(--nj-display);font-weight:var(--nj-display-wt);letter-spacing:var(--nj-display-ls);font-size:clamp(16px,2.4vh,22px);flex:0 0 auto}.hub .stripCode{display:flex;align-items:baseline;gap:10px;flex:0 0 auto;padding:6px 12px;border-radius:999px}.hub .stripCode.on{border-color:var(--nj-accent);color:var(--nj-accent)}.hub .stripLabel{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--nj-muted)}.hub .stripCode .code{font-size:clamp(15px,2.2vh,20px);font-weight:800;letter-spacing:.12em;margin:0;color:var(--nj-ink)}.hub .stripPlayers{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:clamp(6px,1vw,16px)}.hub .stripPlayers.crowded .pname{display:none}@media(max-width:1100px){.hub .pname,.hub .stripLabel{display:none}}.hub .player{position:relative;flex:0 1 auto;min-width:0}.hub .pchip{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;padding:4px 8px;border-radius:999px;border-color:transparent;color:var(--nj-ink)}.hub .pname{font-weight:600;white-space:nowrap}.hub .crown{flex:0 0 auto}.hub .stripPlayers.crowded .crown{margin-inline-start:-13px;align-self:flex-end;font-size:12px;line-height:1}@media(max-width:1100px){.hub .crown{margin-inline-start:-13px;align-self:flex-end;font-size:12px;line-height:1}}.hub .pill{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--nj-line);color:var(--nj-muted)}.hub .pill.away{border-color:var(--nj-bad);color:var(--nj-bad)}.hub .pctl{display:flex;position:absolute;top:100%;inset-inline-start:0;z-index:5;gap:6px;padding:8px;margin-top:6px;background:var(--nj-surface);border:1px solid var(--nj-line);border-radius:var(--nj-radius);white-space:nowrap}.hub button{font:inherit;background:transparent;color:var(--nj-muted);border:1px solid var(--nj-line);border-radius:var(--nj-btn-radius);padding:5px 11px;cursor:pointer}.hub button:hover{color:var(--nj-ink);border-color:var(--nj-muted)}.hub .langs{display:flex;align-items:center;gap:6px;flex:0 0 auto}.hub .lang{font:inherit;font-size:13px;padding:4px 11px;border-radius:999px;cursor:pointer;background:transparent;color:var(--nj-muted);border:1px solid var(--nj-line)}.hub .lang.on{color:var(--nj-accent);border-color:var(--nj-accent)}.hub .hint{color:var(--nj-muted);font-size:13px;margin-top:clamp(6px,1.4vh,14px)}.hub .hubStage{flex:1 1 auto;min-height:0;width:100%;max-width:min(1600px,100%);margin:0 auto;padding:clamp(12px,2.6vh,32px) clamp(14px,2vw,28px);display:flex;flex-direction:column}.hub .library{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,2vh,18px)}.hub .libraryTitle{margin:0;flex:0 0 auto;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--nj-muted)}.hub .shelf{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-content:center;grid-auto-rows:auto;flex:0 1 auto;gap:clamp(8px,1.4vw,18px)}.hub .play.cover{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;aspect-ratio:4 / 5;max-height:100%;min-height:0;padding:clamp(12px,2.2vh,22px);text-align:start;cursor:pointer;background:var(--nj-surface);color:var(--nj-ink);border:1px solid var(--nj-line);border-radius:var(--nj-radius);box-shadow:inset 0 -5px 0 var(--nj-accent);transition:transform .14s ease,box-shadow .14s ease;overflow:hidden}.hub .play.cover{position:relative}.hub .coverArt{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover}.hub .play.cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(to top,#000000e0,#0009 28%,#0000 62%)}.hub .coverTitle,.hub .coverMeta,.hub .coverShut{position:relative;z-index:2}.hub .play.cover:hover{transform:translateY(-2px)}.hub .coverTitle{font-family:var(--nj-display);font-weight:var(--nj-display-wt);letter-spacing:var(--nj-display-ls);font-size:clamp(18px,2.8vh,28px)}.hub .coverMeta{color:var(--nj-muted);font-size:clamp(11px,1.5vh,14px);font-variant-numeric:tabular-nums}.hub .coverShut{margin-top:6px;align-self:flex-start;font-size:clamp(11px,1.5vh,13px);color:var(--nj-muted);border:1px solid var(--nj-line);border-radius:999px;padding:2px 9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub .play.cover[data-nj-cursor]{transform:translateY(-2px)}.hub .shelfCta{flex:0 0 auto;color:var(--nj-accent);font-weight:700;font-size:clamp(14px,1.9vh,18px)}.hub .page{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(14px,2vw,32px);background:var(--nj-bg);color:var(--nj-ink);border:1px solid var(--nj-line);border-radius:var(--nj-radius);padding:clamp(14px,2.6vh,30px);transition:background-color .26s ease,color .26s ease,border-color .26s ease}@media(max-width:900px){.hub .page{grid-template-columns:1fr}.hub .pageArt{height:auto;width:min(100%,46vh)}}.hub .pageArt{aspect-ratio:4 / 5;height:min(100%,68vh);width:auto;max-width:100%;max-height:100%;align-self:center;justify-self:center;min-height:0;display:grid;place-items:center;overflow:hidden;position:relative;border-radius:var(--nj-radius);background:var(--nj-surface);box-shadow:inset 0 -8px 0 var(--nj-accent)}.hub .pageArtImg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hub .pageArt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000bf,#00000059 45%,#0000001a)}.hub .pageArtTitle{position:relative;z-index:1}.hub .pageArtTitle{font-family:var(--nj-display);font-weight:var(--nj-display-wt);letter-spacing:var(--nj-display-ls);font-size:clamp(28px,7vh,72px);text-align:center;padding:0 16px;color:var(--nj-accent)}.hub .pageBody{min-height:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(6px,1.2vh,12px)}.hub .pageTitle{margin:0;font-family:var(--nj-display);font-weight:var(--nj-display-wt);letter-spacing:var(--nj-display-ls);font-size:clamp(26px,5vh,52px)}.hub .pageMeta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--nj-muted);font-size:clamp(13px,1.7vh,16px);font-variant-numeric:tabular-nums}.hub .pageBlurb{margin:0;font-size:clamp(15px,2.1vh,21px);opacity:.88;max-width:52ch}.hub .play.primary{align-self:flex-start;margin-top:clamp(4px,1.2vh,12px);font-family:var(--nj-display);font-weight:var(--nj-display-wt);letter-spacing:var(--nj-display-ls);font-size:clamp(17px,2.6vh,26px);padding:clamp(9px,1.6vh,16px) clamp(18px,2vw,32px);background:var(--nj-accent);color:var(--nj-on-accent);border:0;border-radius:var(--nj-btn-radius);cursor:pointer}.hub .play.primary:hover{color:var(--nj-on-accent);filter:brightness(1.06)}.hub .play:disabled{opacity:.4;cursor:not-allowed}.hub .play.primary:disabled:hover{filter:none}.hub .pageCta{color:var(--nj-accent);font-weight:700;font-size:clamp(14px,1.9vh,18px)}.hub .pageBack{align-self:flex-start;margin-top:clamp(4px,1vh,10px)}.hub .qrPane{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--nj-bg) 92%,transparent)}.hub .qrCard{display:flex;flex-direction:column;align-items:center;max-height:100%;min-height:0;background:var(--nj-surface);border:1px solid var(--nj-line);border-radius:var(--nj-radius);padding:clamp(16px,3vh,34px) clamp(20px,3vw,44px)}.hub .qrCard h2{margin:0 0 clamp(8px,1.6vh,16px);font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--nj-muted)}.hub .qr{min-height:0;background:var(--nj-canvas);padding:12px;border-radius:var(--nj-radius);display:grid;place-items:center}.hub .qr canvas{display:block;width:auto!important;height:auto!important;max-width:100%;max-height:min(320px,42vh)}.hub .code{font-size:clamp(28px,5vh,46px);font-weight:800;letter-spacing:.14em;text-align:center;margin:clamp(8px,1.6vh,14px) 0 4px}.hub .url{text-align:center;color:var(--nj-muted);font-size:13px;word-break:break-all;max-width:40ch}.hub .qrDone{margin-top:clamp(10px,2vh,18px)}.hub .wall{flex:1 1 0;min-height:0;overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-auto-rows:minmax(0,1fr);gap:14px}.hub .wall .frame{min-height:0;max-height:100%;aspect-ratio:4 / 3;align-self:start}.hub .frame{position:relative;background:var(--nj-canvas);border:1px solid var(--nj-line);border-radius:var(--nj-radius);overflow:hidden}.hub .wall .sketch{height:100%;aspect-ratio:auto}.hub .frameName{position:absolute;bottom:8px;inset-inline-start:10px;font-size:13px;color:var(--nj-ink);background:color-mix(in srgb,var(--nj-bg) 82%,transparent);padding:2px 8px;border-radius:999px}.hub.mounting{align-items:center;justify-content:center;gap:clamp(12px,2.4vh,28px);padding:clamp(16px,4vh,48px);background:var(--nj-bg)}.hub.mounting .mountingArt{width:min(38vh,60%);aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--nj-radius);box-shadow:0 18px 48px #00000059;animation:nj-mounting 1.8s ease-in-out infinite}.hub.mounting.failed .mountingArt{animation:none;filter:grayscale(1) brightness(.6)}@keyframes nj-mounting{0%,to{opacity:.72;transform:scale(.985)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.hub.mounting .mountingArt{animation:none}}.hub .mountingWords{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.6vh,16px);text-align:center}.hub .mountingNote{margin:0;color:var(--nj-fg);opacity:.85;font-size:clamp(16px,2.4vh,26px)}.hub.mounting .pageBack{align-self:center;margin-top:0}
