/* Rap Battle Studios 6.9 — FINAL PRODUCT polish */
:root{--v69-red:#ff123d;--v69-panel:#081216;--v69-line:#23343c;--v69-ok:#57e39c;--v69-warn:#ffc66d}
.v69-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:10050;opacity:0;pointer-events:none;overflow:hidden;transition:opacity .2s ease;background:transparent}.v69-progress.on{opacity:1}.v69-progress i{display:block;width:34%;height:100%;background:linear-gradient(90deg,transparent,var(--v69-red),#ff5d78,transparent);transform:translateX(-120%)}.v69-progress.busy i{animation:v69-progress 1.05s ease-in-out infinite}@keyframes v69-progress{to{transform:translateX(410%)}}
.v69-netbar{position:fixed;z-index:10020;left:50%;top:68px;transform:translateX(-50%);width:min(720px,calc(100vw - 28px));display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:9px;padding:10px 12px;border:1px solid #5d4324;border-radius:10px;background:rgba(26,18,8,.96);box-shadow:0 18px 60px -28px #000;color:#fff}.v69-netbar[hidden]{display:none!important}.v69-netbar>span{color:var(--v69-warn);font-size:11px}.v69-netbar b{font-size:10px}.v69-netbar small{color:#c4b8a9;font-size:8px}.v69-netbar button,.v69-error button{border:1px solid #5d4650;background:#181014;color:#fff;border-radius:6px;padding:7px 10px;font:700 8px/1 Sora,sans-serif;cursor:pointer}.v69-netbar button:hover,.v69-error button:hover{border-color:#ff3659;color:#ff7188}
.v69-loading{min-height:116px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #17272e;border-radius:8px;background:linear-gradient(180deg,#081216,#050c10);color:#819098}.v69-loading.compact{min-height:68px;margin:8px}.v69-loading span{width:15px;height:15px;border-radius:50%;border:2px solid #2c3f47;border-top-color:var(--v69-red);animation:v69-spin .7s linear infinite}.v69-loading b{font-size:9px;letter-spacing:.02em}@keyframes v69-spin{to{transform:rotate(360deg)}}
.v69-error{min-height:116px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border:1px solid #4c2630;border-radius:8px;background:linear-gradient(180deg,#160b0f,#09080a);color:#fff}.v69-error.compact{grid-template-columns:28px 1fr;margin:8px;min-height:84px}.v69-error.compact button{grid-column:2}.v69-error-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid #7b3343;border-radius:50%;background:#261016;color:#ff5d78;font-weight:900}.v69-error b{font-size:10px}.v69-error p{margin:4px 0 0;color:#a8959a;font-size:8px;line-height:1.5}
.v69-help{width:min(620px,calc(100vw - 28px));padding:0;border:1px solid #2a3b43;border-radius:14px;background:#071014;color:#fff;box-shadow:0 36px 110px #000}.v69-help::backdrop{background:rgba(0,3,5,.82);backdrop-filter:blur(8px)}.v69-help-card{padding:20px}.v69-help-card header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #1c2b32;padding-bottom:14px}.v69-help-card header small{font:800 8px Sora,sans-serif;color:#ff3156;letter-spacing:.15em}.v69-help-card h2{font:800 28px/1 Bricolage Grotesque,Sora,sans-serif;margin:4px 0 0}.v69-help-card header button{width:34px;height:34px;border-radius:50%;border:1px solid #283a42;background:#0a151a;color:#fff;font-size:22px;cursor:pointer}.v69-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.v69-help-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #1d2d34;background:#081216;border-radius:8px;padding:11px}.v69-help-grid kbd{font:700 8px Sora,sans-serif;color:#fff;background:#121f25;border:1px solid #34464e;border-radius:5px;padding:5px 7px}.v69-help-grid span{font-size:8px;color:#9aa8ae;text-align:right}.v69-help-card>p{font-size:8px;line-height:1.6;color:#7c8b92;margin:0}
/* Final interaction polish across the authenticated product. */
body:not([data-view="landing"]):not([data-view="login"]) button,body:not([data-view="landing"]):not([data-view="login"]) a{touch-action:manipulation}
body:not([data-view="landing"]):not([data-view="login"]) .card,body:not([data-view="landing"]):not([data-view="login"]) .v65-panel,body:not([data-view="landing"]):not([data-view="login"]) .v62-live-card,body:not([data-view="landing"]):not([data-view="login"]) .v62-queue,body:not([data-view="landing"]):not([data-view="login"]) .v62-social-card,body:not([data-view="landing"]):not([data-view="login"]) .v62-notify-card,body:not([data-view="landing"]):not([data-view="login"]) .v62-profile-card{contain:layout paint}
html.v69-offline .v64-notify{opacity:.48}.v69-offline [data-v69-online-only]{pointer-events:none;opacity:.5}
@media(max-width:720px){.v69-netbar{top:62px;grid-template-columns:auto 1fr auto}.v69-netbar small{grid-column:1/-1;grid-row:2}.v69-help-grid{grid-template-columns:1fr}.v69-help-card{padding:16px}.v69-help-card h2{font-size:24px}.v69-error{grid-template-columns:30px 1fr}.v69-error button{grid-column:2;justify-self:start}.v69-loading{min-height:92px}}
@media(prefers-reduced-motion:reduce){.v69-progress i,.v69-loading span{animation:none!important}.v69-progress.busy i{transform:none;width:100%}}
@media(prefers-contrast:more){.v69-error,.v69-loading,.v69-netbar,.v69-help{border-width:2px}.v69-error p,.v69-netbar small,.v69-help-grid span{color:#d5dde0}}
