*{box-sizing:border-box}html{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0;margin:0;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%;background:#02060b;background-image:radial-gradient(ellipse at 15% 10%,#06283b88,transparent 48%),radial-gradient(ellipse at 90% 85%,#0b173f88,transparent 50%);font-family:system-ui,sans-serif}body::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#4dd9ff10 1px,transparent 1px),linear-gradient(90deg,#4dd9ff10 1px,transparent 1px),linear-gradient(#4dd9ff06 1px,transparent 1px),linear-gradient(90deg,#4dd9ff06 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}body::after{content:"";position:absolute;left:0;right:0;top:-22%;height:20%;pointer-events:none;background:linear-gradient(transparent,#39d9ff05 85%,#39d9ff30 99%,transparent);animation:sweep 5s linear infinite;z-index:0}#brand-wall{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--columns,6),minmax(0,1fr));grid-template-rows:repeat(var(--rows,16),minmax(0,1fr));gap:3px;padding:6px;padding-top:max(6px,env(safe-area-inset-top));padding-right:max(6px,env(safe-area-inset-right));padding-bottom:max(6px,env(safe-area-inset-bottom));padding-left:max(6px,env(safe-area-inset-left));overflow:hidden;z-index:1}.brand{position:relative;min-width:0;min-height:0;background:transparent;border:1px solid #49c8f209;border-radius:3px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:3px;transform-origin:center}.brand svg,.brand img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;overflow:hidden;filter:none}@keyframes sweep{to{transform:translateY(650%)}}@media(max-width:600px){#brand-wall{gap:2px;padding:4px;padding-top:max(4px,env(safe-area-inset-top));padding-right:max(4px,env(safe-area-inset-right));padding-bottom:max(4px,env(safe-area-inset-bottom));padding-left:max(4px,env(safe-area-inset-left))}.brand{padding:2px;border-radius:2px}body::before{background-size:80px 80px,80px 80px,16px 16px,16px 16px}}@media(prefers-reduced-motion:reduce){body::after{display:none}.brand{animation:none!important;transition:none!important}}
.brand .logo-art{opacity:0}.brand[data-ready="true"] .logo-art{opacity:1}
.brand[data-ink="dark"]::before{content:"";position:absolute;left:50%;top:50%;width:var(--ink-w,90%);height:var(--ink-h,72%);transform:translate(-50%,-50%);background:#eaf0f6;opacity:.96;border-radius:18%;filter:blur(5px);pointer-events:none}.brand .logo-art{position:relative;z-index:1}

.join-button{position:fixed;z-index:10;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px;padding:11px 18px;border:1px solid #79e9ff88;border-radius:999px;background:#071a27eb;color:#e7fbff;font:600 14px/1.3 system-ui,sans-serif;box-shadow:0 0 22px #38d9ff26;cursor:pointer;touch-action:manipulation}.join-button span{color:#7be9ff;font-size:19px}.join-button:hover{background:#103348}.join-button:focus-visible,.join-close:focus-visible{outline:3px solid #43bedc;outline-offset:4px}
.join-dialog{border:1px solid #b7e8f0;border-radius:22px;padding:18px;margin:auto;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:hidden;background:#fff;color:#152633;box-shadow:0 24px 100px #0009;box-sizing:border-box}.join-dialog[open]{display:flex;flex-direction:column;align-items:center;animation:join-reveal 650ms cubic-bezier(.16,1,.3,1) both}.join-dialog::backdrop{background:#010810b8;animation:join-backdrop 450ms ease-out both}.join-heading{display:flex;align-items:center;justify-content:space-between;width:100%;flex-shrink:0}.join-eyebrow{margin:0 0 4px;font-size:11px;letter-spacing:1px;color:#667d8b}.join-heading h1{margin:0;font-size:20px;line-height:1.4}.join-close{width:38px;height:38px;border:0;border-radius:50%;background:#eef4f7;color:#526875;font:28px/1 system-ui;cursor:pointer;flex-shrink:0}.group-qr{display:block;flex:0 1 auto;min-height:0;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 190px);object-fit:contain;margin:8px auto 0;user-select:auto;-webkit-touch-callout:default}#join-tip{flex-shrink:0;font-size:12px;line-height:1.5;color:#677c88;text-align:center;margin:8px 0 0}@keyframes join-reveal{from{opacity:0;transform:translateY(38px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes join-backdrop{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.join-dialog[open],.join-dialog::backdrop{animation:none}}

.join-dialog.is-closing{pointer-events:none;will-change:transform,opacity}.join-dialog.is-closing::backdrop{animation:join-backdrop-out 900ms ease-in-out forwards}@keyframes join-backdrop-out{from{background:#010810b8;opacity:1}to{background:#01081000;opacity:0}}@media(prefers-reduced-motion:reduce){.join-dialog.is-closing::backdrop{animation:none}}
