:root{--view-gap:22px}
:root{
  --bg:#050507;--bg-elev:#0b0b0f;--surface:rgba(15,15,20,.72);--surface-soft:rgba(255,255,255,.026);
  --surface-hover:rgba(255,255,255,.055);--surface-active:rgba(255,255,255,.09);
  --line:rgba(255,255,255,.055);--line-2:rgba(255,255,255,.1);--line-3:rgba(255,255,255,.16);
  --text:#f5f5f7;--text-2:#a1a1aa;--text-3:#71717a;--text-4:#52525b;
  --accent:#fff;--accent-fg:#09090b;--accent-glow:rgba(255,255,255,.16);
  --green:#22c55e;--green-soft:rgba(34,197,94,.14);--red:#ef4444;--red-soft:rgba(239,68,68,.14);--blue:#3b82f6;--blue-soft:rgba(59,130,246,.14);
  --purple:#a855f7;--purple-soft:rgba(168,85,247,.14);
  --discord:#5865f2;--whatsapp:#25d366;--tiktok:#fe2c55;--youtube:#ff0000;
  --shadow-sm:0 4px 12px rgba(0,0,0,.35);--shadow-md:0 12px 32px rgba(0,0,0,.45);--shadow-lg:0 24px 60px rgba(0,0,0,.6);
  --overlay:rgba(0,0,0,.78);--header-bg:rgba(5,5,7,.72);
  --grad-page:linear-gradient(180deg,#050507 0%,#08080b 100%);
  --code-color:#4ade80;--skeleton:rgba(255,255,255,.04);--scroll-thumb:rgba(255,255,255,.12);--embed-bg:#101015;
}
[data-theme="light"]{
  --bg:#fafafb;--bg-elev:#fff;--surface:rgba(255,255,255,.85);--surface-soft:rgba(0,0,0,.02);
  --surface-hover:rgba(0,0,0,.045);--surface-active:rgba(0,0,0,.07);
  --line:rgba(0,0,0,.07);--line-2:rgba(0,0,0,.11);--line-3:rgba(0,0,0,.18);
  --text:#09090b;--text-2:#52525b;--text-3:#71717a;--text-4:#a1a1aa;
  --accent:#18181b;--accent-fg:#fff;--accent-glow:rgba(0,0,0,.1);
  --green-soft:rgba(34,197,94,.13);--red-soft:rgba(239,68,68,.12);--blue-soft:rgba(59,130,246,.12);
  --purple-soft:rgba(168,85,247,.12);
  --shadow-sm:0 4px 12px rgba(15,15,30,.06);--shadow-md:0 12px 32px rgba(15,15,30,.08);--shadow-lg:0 24px 60px rgba(15,15,30,.12);
  --overlay:rgba(240,240,245,.78);--header-bg:rgba(250,250,251,.78);
  --grad-page:linear-gradient(180deg,#fafafb 0%,#f0f0f3 100%);
  --code-color:#059669;--skeleton:rgba(0,0,0,.045);--scroll-thumb:rgba(0,0,0,.15);--embed-bg:#f8f8fa;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif}
:where(a){text-decoration:none;color:inherit}
:where(a):visited{color:inherit}
html{background-color:var(--bg);scroll-behavior:smooth;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent;height:auto}
html::-webkit-scrollbar{width:8px;height:8px}
html::-webkit-scrollbar-track{background:var(--bg)}
html::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:8px}
html::-webkit-scrollbar-thumb:hover{background:var(--line-3)}
body{background:var(--grad-page);background-attachment:fixed;color:var(--text);min-height:100vh;display:flex;flex-direction:column;transition:background-color .35s,color .35s;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;position:relative}
#loading-screen{position:fixed;inset:0;background:var(--bg);backdrop-filter:blur(20px);z-index:99999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;transition:opacity .6s,visibility .6s}
.cyber-loader{width:56px;height:56px;position:relative}
.cyber-loader::before,.cyber-loader::after{content:'';position:absolute;inset:0;border:2.5px solid transparent;border-radius:50%;border-top-color:var(--text);animation:spin 1s cubic-bezier(.5,.1,.4,.9) infinite}
.cyber-loader::after{inset:9px;border-top-color:var(--text-3);animation-duration:1.4s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-text{font-family:'Share Tech Mono',monospace;color:var(--text-3);font-size:.8rem;letter-spacing:5px;animation:flashText 1.6s infinite}
@keyframes flashText{0%,100%{opacity:1}50%{opacity:.3}}

.site-header{position:sticky;top:0;z-index:950;background:var(--header-bg);backdrop-filter:blur(28px) saturate(180%);border-bottom:1px solid var(--line);overflow-x:hidden;width:100%}
.header-inner{max-width:1360px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:12px;min-height:68px;width:100%;min-width:0}

.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-logo{width:42px;height:42px;border-radius:14px;overflow:hidden;border:1px solid var(--line-2);position:relative;box-shadow:0 4px 16px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.brand-logo img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}
.brand-logo::before{content:'';position:absolute;inset:-3px;border-radius:17px;border:1.5px solid var(--accent);opacity:0;animation:brandPulse 3.2s ease-in-out infinite;pointer-events:none;z-index:0}
.brand-logo::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent 55%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:2}
.brand:hover .brand-logo{transform:translateY(-3px) scale(1.04)}
.brand:hover .brand-logo::after{opacity:1}
@keyframes brandPulse{0%,100%{opacity:0;transform:scale(.92)}50%{opacity:.35;transform:scale(1.14)}}
.brand-text{display:flex;flex-direction:column;line-height:1.05;animation:brandFloat 4s ease-in-out infinite}
@keyframes brandFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
.brand-name{font-family:'Share Tech Mono',monospace;font-size:1.05rem;font-weight:700;color:var(--text);letter-spacing:-.2px}
.brand-sub{font-size:.55rem;color:var(--text-3);letter-spacing:3px;text-transform:uppercase;margin-top:4px;font-weight:700}

.header-actions{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0;flex-shrink:0;padding-right:2px}

.icon-btn{width:42px;height:42px;border-radius:50%;background:var(--surface-soft);border:1px solid var(--line);color:var(--text-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.2,.8,.2,1);flex-shrink:0;position:relative;overflow:hidden;padding:0}
.icon-btn svg{width:17px;height:17px;position:relative;z-index:2;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.icon-btn::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.14),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:1}
.icon-btn::after{content:'';position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0%,transparent 70%,var(--accent) 88%,transparent 100%);-webkit-mask:radial-gradient(circle,transparent 19px,#000 19.5px);mask:radial-gradient(circle,transparent 19px,#000 19.5px);opacity:0;transition:opacity .3s;pointer-events:none;animation:spinRing 1.6s linear infinite}
.icon-btn:hover{background:var(--surface-hover);color:var(--text);border-color:transparent;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.3)}
.icon-btn:hover::before{opacity:1}
.icon-btn:hover::after{opacity:.9}
.icon-btn:hover svg{transform:scale(1.12) rotate(-6deg)}
.icon-btn:active{transform:translateY(0) scale(.94)}
.icon-btn.admin-active{background:linear-gradient(135deg,rgba(59,130,246,.2),rgba(59,130,246,.05));border-color:rgba(59,130,246,.5);color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.12),0 6px 18px rgba(59,130,246,.25);animation:adminGlow 2.4s ease-in-out infinite}
.icon-btn.admin-active::after{opacity:0}
@keyframes adminGlow{0%,100%{box-shadow:0 0 0 3px rgba(59,130,246,.12),0 6px 18px rgba(59,130,246,.25)}50%{box-shadow:0 0 0 6px rgba(59,130,246,.06),0 8px 24px rgba(59,130,246,.4)}}
@keyframes spinRing{to{transform:rotate(360deg)}}

.music-player-box{display:flex;align-items:center;gap:8px;padding:4px 5px 4px 4px;background:var(--surface-soft);border:1px solid var(--line);border-radius:100px;transition:all .3s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;flex-shrink:0}
.music-player-box::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);transform:translateX(-100%);transition:transform .8s ease;pointer-events:none}
.music-player-box:hover{border-color:var(--line-2);background:var(--surface-hover);box-shadow:0 6px 18px rgba(0,0,0,.22)}
.music-player-box:hover::before{transform:translateX(100%)}

.music-info{display:flex;align-items:center;gap:10px;min-width:0}
.music-icon{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--surface-hover),var(--surface-soft));display:flex;justify-content:center;align-items:center;color:var(--text);border:1px solid var(--line-2);position:relative;overflow:hidden}
.music-icon::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 60%);pointer-events:none;z-index:1}
.music-icon svg{width:18px;height:18px;position:relative;z-index:2}
.music-player-box.playing .music-icon{background:linear-gradient(135deg,rgba(30,215,96,.25),rgba(30,215,96,.08));border-color:rgba(30,215,96,.5);color:#1ed760;animation:musicGlow 2.2s ease-in-out infinite}
.music-player-box.playing .music-icon svg{animation:discSpin 5s linear infinite}
@keyframes discSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes musicGlow{0%,100%{box-shadow:0 0 0 0 rgba(30,215,96,0),0 0 8px rgba(30,215,96,.25)}50%{box-shadow:0 0 0 5px rgba(30,215,96,.05),0 0 16px rgba(30,215,96,.5)}}
.music-eq{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);display:flex;gap:1.5px;align-items:flex-end;height:9px;pointer-events:none;opacity:0;transition:opacity .3s;z-index:3}
.music-player-box.playing .music-eq{opacity:1}
.music-eq span{display:block;width:2.2px;background:#1ed760;border-radius:1px;box-shadow:0 0 5px rgba(30,215,96,.9);animation:eqBar .85s ease-in-out infinite}
.music-eq span:nth-child(1){height:40%;animation-delay:0s}
.music-eq span:nth-child(2){height:85%;animation-delay:.13s}
.music-eq span:nth-child(3){height:55%;animation-delay:.26s}
.music-eq span:nth-child(4){height:95%;animation-delay:.39s}
@keyframes eqBar{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}

.music-details{display:flex;flex-direction:column;min-width:0;line-height:1.15;padding-right:2px}
.music-title{font-size:.74rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:105px;letter-spacing:-.1px}
.music-artist{font-size:.6rem;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:105px;margin-top:2px;font-weight:500}

.music-controls{display:flex;gap:0;flex-shrink:0;align-items:center}
.music-btn{background:transparent;border:none;color:var(--text-3);width:28px;height:28px;border-radius:50%;cursor:pointer;transition:all .25s cubic-bezier(.2,.8,.2,1);display:flex;justify-content:center;align-items:center;padding:0}
.music-btn svg{width:13px;height:13px;pointer-events:none}
.music-btn:hover{background:var(--surface-active);color:var(--text);transform:scale(1.15)}
.music-btn:active{transform:scale(.9)}
.music-btn.playing{color:var(--text)}

.auth-status-box{display:flex;align-items:center}
.auth-user-info{display:flex;align-items:center;gap:6px;padding:3px 4px 3px 3px;background:var(--surface-soft);border:1px solid var(--line);border-radius:100px;transition:all .3s;position:relative;flex-shrink:0}
.auth-user-info:hover{border-color:var(--line-2);background:var(--surface-hover);box-shadow:0 6px 18px rgba(0,0,0,.22);transform:translateY(-1px)}
.auth-user-avatar{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);object-fit:cover;box-shadow:0 0 0 2px var(--surface-soft);flex-shrink:0}
.auth-user-meta{display:flex;flex-direction:column;line-height:1.15;min-width:0;padding:0 2px}
.auth-user-name{font-size:.74rem;font-weight:700;color:var(--text);white-space:nowrap;letter-spacing:-.1px}
.auth-user-role{font-size:.6rem;color:var(--text-3);white-space:nowrap;margin-top:2px;font-weight:500}

.auth-actions{display:flex;gap:1px;margin-left:0;flex-shrink:0}
.auth-btn{background:transparent;border:none;color:var(--text-3);width:28px;height:28px;border-radius:50%;cursor:pointer;transition:all .25s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;justify-content:center;font-size:.72rem;flex-shrink:0}
.auth-btn:hover{background:var(--surface-hover);color:var(--text);transform:scale(1.12) rotate(8deg)}

.auth-btn-login{width:auto;padding:0 18px;height:42px;gap:8px;background:var(--accent);color:var(--accent-fg);font-weight:700;border:none;font-size:.75rem;border-radius:100px;box-shadow:0 4px 14px var(--accent-glow);transition:all .3s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}
.auth-btn-login::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s ease}
.auth-btn-login:hover{transform:translateY(-2px);box-shadow:0 8px 22px var(--accent-glow)}
.auth-btn-login:hover::before{left:100%}

.admin-indicator{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;height:42px;border-radius:100px;background:linear-gradient(135deg,rgba(59,130,246,.18),rgba(59,130,246,.05));border:1px solid rgba(59,130,246,.5);color:var(--blue);font-size:.68rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 0 0 3px rgba(59,130,246,.1),0 4px 14px rgba(59,130,246,.2);transition:all .3s}
.admin-indicator:hover{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(59,130,246,.14),0 6px 20px rgba(59,130,246,.35)}
.admin-indicator i{font-size:.7rem}

.tab-bar-wrapper{position:sticky;top:60px;z-index:940;padding:14px 24px 4px 24px;pointer-events:none;overflow-x:hidden;width:100%}
.tab-bar{position:relative;max-width:max-content;margin:0 auto;display:flex;gap:2px;background:var(--surface);border:1px solid var(--line-2);border-radius:15px;padding:5px;box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(24px) saturate(180%);pointer-events:auto;overflow-x:auto;scrollbar-width:none}
.tab-bar::-webkit-scrollbar{display:none}
.tab-indicator{position:absolute;top:5px;left:5px;height:calc(100% - 10px);background:var(--accent);border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.35);transition:left .45s cubic-bezier(.4,0,.2,1),width .45s cubic-bezier(.4,0,.2,1);z-index:1;pointer-events:none}
.tab-btn{position:relative;z-index:2;background:transparent;border:none;color:var(--text-3);padding:9px 18px;font-size:.78rem;font-weight:600;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;font-family:inherit;transition:color .3s;white-space:nowrap}
.tab-btn i{font-size:.82rem}
.tab-btn:hover{color:var(--text-2)}
.tab-btn.active{color:var(--accent-fg)}

.site-main{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:26px 24px 80px 24px;position:relative;z-index:1;min-width:0}
