/* ============================================ DayZ Portal — WARZONE COMMAND Cinematic AAA Gaming UI ============================================ *//* Fonts loaded via <link> in layouts/app.blade.php for better performance *//* ── Variables ── */:root{--void:#050505;--bg:#0a0a0a;--surface:#121212;--surface-2:#1a1a1a;--surface-3:#222222;--glass:rgba(10,10,10,0.70);--glass-thick:rgba(10,10,10,0.88);--input-bg:#0e0e0e;--line:rgba(255,255,255,0.06);--line-2:rgba(255,255,255,0.10);--line-accent:rgba(59,130,246,0.35);--text:#a0a0a0;--text-dim:#8a8a8a;--text-sub:#a0a0a0;--text-hi:#e8e8e8;/* Bright blue accent */ --accent:#3b82f6;--accent-bright:#60a5fa;--accent-glow:rgba(59,130,246,0.50);--accent-dim:rgba(59,130,246,0.08);--cyan:#4dd0e1;--cyan-glow:rgba(77,208,225,0.25);--green:#66bb6a;--red:#ef5350;--gold:#ffa726;--font-display:'Oswald', sans-serif;--font-body:'Rubik', sans-serif;--font-mono:'IBM Plex Mono', monospace;--r:10px;--r-lg:14px;--r-xl:18px;--speed:0.28s;--ease:cubic-bezier(0.4, 0, 0.2, 1)}/* ── Reset ── */*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);background:var(--void);color:var(--text);line-height:1.6;min-height:100vh;overflow-x:hidden}/* ── Ambient World Light ── */body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 900px 700px at 5% 95%, rgba(59,130,246,0.05) 0%, transparent 60%), radial-gradient(ellipse 700px 900px at 95% 5%, rgba(77,208,225,0.03) 0%, transparent 60%), radial-gradient(ellipse 500px 500px at 50% 40%, rgba(255,167,38,0.015) 0%, transparent 50%)}/* ── Grain ── */body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E")}/* ── Scrollbar ── */::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}a{color:var(--accent);text-decoration:none;transition:color var(--speed) var(--ease)}a:hover{color:var(--accent-bright)}img{max-width:100%;height:auto;display:block}/* ── Typography ── */h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:var(--text-hi);line-height:1.05;text-transform:uppercase;letter-spacing:0.04em}h1{font-size:clamp(2.8rem, 6vw, 5rem);font-weight:700}h2{font-size:2rem}h3{font-size:1.55rem}h4{font-size:1.2rem}.mono{font-family:var(--font-mono)}/* ── Glitch ── */.glitch{position:relative;display:inline-block}.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.glitch::before{color:var(--accent);z-index:-1;animation:gA 5s infinite}.glitch::after{color:var(--cyan);z-index:-2;animation:gB 3s infinite}@keyframes gA{0%,93%{clip-path:inset(0 0 100% 0)}94%{clip-path:inset(10% 0 50% 0);transform:translateX(-5px)}96%{clip-path:inset(60% 0 5% 0);transform:translateX(5px)}100%{clip-path:inset(0 0 100% 0)}}@keyframes gB{0%,91%{clip-path:inset(0 0 100% 0)}92%{clip-path:inset(40% 0 20% 0);transform:translateX(4px)}95%{clip-path:inset(5% 0 65% 0);transform:translateX(-4px)}100%{clip-path:inset(0 0 100% 0)}}/* ── Layout ── */.container{width:100%;max-width:1360px;margin:0 auto;padding:0 24px;position:relative;z-index:1}.page-content{padding:40px 0}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}/* ═══════════════════════════════════ NAVIGATION ═══════════════════════════════════ */.nav{position:sticky;top:0;z-index:1000;background:rgba(5,5,7,0.55);backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);border-bottom:1px solid rgba(255,255,255,0.03);transition:background 0.4s ease}/* Glow line at bottom */.nav::after{content:'';position:absolute;bottom:-1px;left:5%;right:5%;height:1px;background:linear-gradient(90deg, transparent 0%, var(--accent-glow) 30%, var(--accent) 50%, var(--accent-glow) 70%, transparent 100%);opacity:0.3}/* On scroll — becomes more solid (JS adds .nav-scrolled) */.nav.nav-scrolled{background:rgba(5,5,7,0.88)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;overflow:visible}/* Brand / Logo */.nav-brand{display:flex;align-items:center;position:relative}.nav-logo{height:36px;width:auto;transition:all var(--speed) var(--ease)}.nav-brand:hover .nav-logo{filter:brightness(1.15);transform:scale(1.06)}/* Links container */.nav-links{display:flex;align-items:center;gap:4px;list-style:none}.nav-links a{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;font-family:var(--font-body);font-size:0.85rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.06em;border-radius:6px;transition:all var(--speed) var(--ease);position:relative}.nav-links a:hover{color:var(--text-hi);background:rgba(255,255,255,0.04)}.nav-links a.active{color:var(--text-hi);background:rgba(59,130,246,0.1);border:1px solid rgba(59,130,246,0.12)}.nav-links a.active::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:60%;height:2px;background:linear-gradient(90deg, transparent, var(--accent), transparent);border-radius:1px}/* Admin button */.nav-admin-btn{margin-left:8px !important;padding:8px 20px !important;background:linear-gradient(135deg, var(--accent), #2563eb) !important;border:none !important;color:#fff !important;border-radius:8px !important;font-size:0.85rem !important;font-weight:600 !important;box-shadow:0 2px 12px rgba(59,130,246,0.25) !important;transition:all var(--speed) var(--ease) !important}.nav-admin-btn:hover{box-shadow:0 4px 24px rgba(59,130,246,0.4) !important;transform:translateY(-1px) !important}/* Mobile toggle */.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px}.nav-toggle span{display:block;width:20px;height:2px;background:var(--text);border-radius:1px;transition:all var(--speed) var(--ease)}@media(max-width:768px){.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:64px;left:12px;right:12px;flex-direction:column;gap:4px;background:rgba(5,5,7,0.95);backdrop-filter:blur(30px);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;box-shadow:0 16px 48px rgba(0,0,0,0.6)}.nav-links.open{display:flex}.nav-links a{border-radius:var(--r)}}/* ═══════════════════════════════════ HERO — Cinematic ═══════════════════════════════════ */.hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;background-color:var(--void)}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}/* Dark cinematic overlay — left side dark for text readability */.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg, rgba(5,5,7,0.9) 0%, rgba(5,5,7,0) 30%), linear-gradient(180deg, rgba(5,5,7,0.5) 0%, rgba(5,5,7,0) 20%), rgba(5,5,7,0.35)}/* Color accent glows over image */.hero::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 500px 400px at 5% 90%, rgba(59,130,246,0.12) 0%, transparent 60%), radial-gradient(ellipse 300px 300px at 85% 25%, rgba(77,208,225,0.04) 0%, transparent 60%)}/* Diagonal scan lines */.hero::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient( -45deg, transparent, transparent 80px, rgba(59,130,246,0.006) 80px, rgba(59,130,246,0.006) 81px )}.hero-corners{position:absolute;inset:32px;z-index:2;pointer-events:none}.hero-corners::before,.hero-corners::after{content:'';position:absolute;width:60px;height:60px;border-color:rgba(59,130,246,0.12);border-style:solid}.hero-corners::before{top:0;left:0;border-width:2px 0 0 2px}.hero-corners::after{bottom:0;right:0;border-width:0 2px 2px 0}/* Hero title — pinned bottom-left, cinematic */.hero-title{position:absolute;bottom:60px;left:48px;z-index:3}.hero-title h1{font-size:clamp(3.5rem, 7vw, 6.5rem);font-weight:700;line-height:0.9;margin:0;text-shadow:0 4px 40px rgba(0,0,0,0.7), 0 0 80px rgba(59,130,246,0.06)}.hero-accent{color:var(--accent);text-shadow:0 0 50px var(--accent-glow), 0 4px 40px rgba(0,0,0,0.5)}/* Buttons — bottom-right */.hero-connect{position:absolute;bottom:68px;right:48px;z-index:3}.hero-buttons{display:flex;align-items:center;gap:10px}.hero-social-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;border:1px solid rgba(255,255,255,0.1);background:rgba(10,10,10,0.6);backdrop-filter:blur(12px);color:#fff;text-decoration:none;transition:all 0.3s ease}.hero-social-discord:hover{background:#5865F2;border-color:#5865F2;box-shadow:0 4px 20px rgba(88,101,242,0.4);transform:translateY(-2px)}.hero-social-vk:hover{background:#0077FF;border-color:#0077FF;box-shadow:0 4px 20px rgba(0,119,255,0.4);transform:translateY(-2px)}.hero-connect-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:0.08em;text-decoration:none;padding:14px 32px;background:linear-gradient(135deg, var(--accent), var(--accent-bright));border-radius:8px;box-shadow:0 4px 20px var(--accent-glow), 0 0 40px rgba(59,130,246,0.1);transition:all 0.3s ease}.hero-connect-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-glow), 0 0 60px rgba(59,130,246,0.2);color:#fff}.hero-connect-btn svg{opacity:0.8}.hero-discord-btn{background:linear-gradient(135deg, #5865F2, #7289DA) !important;box-shadow:0 4px 20px rgba(88,101,242,0.35), 0 0 40px rgba(88,101,242,0.1) !important}.hero-discord-btn:hover{box-shadow:0 8px 30px rgba(88,101,242,0.5), 0 0 60px rgba(88,101,242,0.2) !important}/* Scroll indicator — bottom center */.hero-scroll{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:3}.hero-scroll-line{width:1px;height:36px;background:linear-gradient(180deg, transparent, var(--accent), transparent);animation:scroll-breathe 2.5s ease-in-out infinite}@keyframes scroll-breathe{0%,100%{opacity:0.2;transform:scaleY(0.8)}50%{opacity:0.7;transform:scaleY(1.15)}}@media(max-width:768px){.hero{min-height:400px}.hero-title{bottom:auto;top:50%;left:20px;right:20px;transform:translateY(-60%);text-align:center}.hero-title h1{font-size:2.2rem}.hero-connect{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center}.hero-connect > div{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center}.hero-connect-btn{font-size:0.72rem;padding:9px 14px;gap:6px}.hero-connect-btn svg{width:14px;height:14px}.hero-scroll{display:none}}/* ═══════════════════════════════════ ANIMATED BORDER CARD COMPONENT Used by server-card and news card ═══════════════════════════════════ */@property --border-angle{syntax:'<angle>';initial-value:0deg;inherits:false}@keyframes spin-border{to{--border-angle:360deg}}/* Fallback for browsers without @property support */@keyframes spin-border-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.glow-card{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);transition:all var(--speed) var(--ease)}/* Animated rotating gradient border — visible on hover */.glow-card::before{content:'';position:absolute;inset:-1px;border-radius:var(--r-lg);background:conic-gradient(from var(--border-angle), transparent 40%, var(--accent) 50%, transparent 60%);animation:spin-border 4s linear infinite;opacity:0;transition:opacity 0.4s ease;z-index:-1}.glow-card::after{content:'';position:absolute;inset:1px;border-radius:calc(var(--r-lg) - 1px);background:var(--surface);z-index:-1}.glow-card:hover::before{opacity:1}.glow-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,0,0,0.5), 0 0 40px rgba(59,130,246,0.06)}/* Static border (non-hover) */.glow-card{border:1px solid var(--line)}.glow-card:hover{border-color:transparent}/* ═══════════════════════════════════ SERVER CARDS — Tactical HUD ═══════════════════════════════════ */.server-card{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:all var(--speed) var(--ease)}.server-card::before{content:'';position:absolute;inset:-2px;border-radius:var(--r-lg);background:conic-gradient(from var(--border-angle), transparent 30%, var(--accent) 50%, var(--cyan) 65%, transparent 80%);animation:spin-border 6s linear infinite;opacity:0;transition:opacity 0.4s ease;z-index:0}.server-card::after{content:'';position:absolute;inset:1px;border-radius:calc(var(--r-lg) - 1px);background:var(--surface);z-index:0}.server-card > *{position:relative;z-index:1}.server-card:hover::before{opacity:0.8}.server-card:hover{border-color:transparent}.server-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line);background:linear-gradient(90deg, rgba(59,130,246,0.03) 0%, transparent 100%)}.server-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-hi);text-transform:uppercase;letter-spacing:0.04em}.server-status{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:0.7rem;text-transform:uppercase}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background:var(--green);box-shadow:0 0 10px var(--green), 0 0 3px var(--green);animation:glow-pulse 2s ease-in-out infinite}.status-dot.offline{background:var(--red);box-shadow:0 0 8px rgba(239,83,80,0.4)}@keyframes glow-pulse{0%,100%{box-shadow:0 0 10px currentColor, 0 0 3px currentColor}50%{box-shadow:0 0 4px currentColor, 0 0 1px currentColor;opacity:0.5}}.server-body{padding:20px}.server-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.server-stat{text-align:center}.server-stat-label{font-family:var(--font-mono);font-size:0.58rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.2em;margin-bottom:4px}.server-stat-value{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--text-hi)}.server-stat-value .highlight{color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}.server-players-bar{margin-top:16px;height:4px;background:rgba(255,255,255,0.08);border-radius:2px;overflow:hidden}.server-players-bar-fill{height:100%;border-radius:2px;transition:width 0.8s var(--ease);background:linear-gradient(90deg, rgba(102,187,106,0.7), var(--green));box-shadow:0 0 12px rgba(102,187,106,0.4)}.server-players-bar-fill.high{background:linear-gradient(90deg, rgba(255,167,38,0.6), var(--gold));box-shadow:0 0 10px rgba(255,167,38,0.3)}.server-players-bar-fill.full{background:linear-gradient(90deg, rgba(239,83,80,0.6), var(--red));box-shadow:0 0 10px rgba(239,83,80,0.3)}.server-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:0.65rem;color:var(--text-dim)}/* Copy IP button — matches crown button height */.copy-ip-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;font-family:var(--font-mono);font-size:0.85rem;font-weight:600;color:var(--text-hi);background:rgba(255,255,255,0.03);border:1px solid var(--line-2);border-radius:8px;cursor:pointer;transition:all var(--speed) var(--ease);white-space:nowrap;box-sizing:border-box;flex-shrink:0}.copy-ip-btn:hover{color:var(--cyan);border-color:rgba(77,208,225,0.25);background:rgba(77,208,225,0.04)}.copy-ip-btn svg{opacity:0.5;transition:opacity var(--speed) ease;flex-shrink:0}.copy-ip-btn:hover svg{opacity:1}.copy-ip-done{display:none;color:var(--green)}.copy-ip-btn.copied .copy-ip-text{display:none}.copy-ip-btn.copied .copy-ip-done{display:inline}.copy-ip-btn.copied{color:var(--green);border-color:rgba(102,187,106,0.25);background:rgba(102,187,106,0.06)}.copy-ip-btn.copied svg{stroke:var(--green);opacity:1}.server-connect-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid rgba(102,187,106,0.2);background:rgba(102,187,106,0.06);color:var(--green);text-decoration:none;transition:all 0.2s ease;flex-shrink:0}.server-connect-btn:hover{background:rgba(102,187,106,0.15);border-color:rgba(102,187,106,0.4);color:#fff;box-shadow:0 0 12px rgba(102,187,106,0.2);transform:scale(1.05)}.copy-ip-sm{height:32px;padding:0 10px;font-size:0.6rem}/* ═══════════════════════════════════ NEWS CARDS — Cinematic ═══════════════════════════════════ */.card{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:all 0.4s var(--ease);display:flex;flex-direction:column;transform:translateY(0)}.card::before{content:'';position:absolute;inset:-2px;border-radius:var(--r-lg);background:conic-gradient(from var(--border-angle), transparent 35%, var(--accent) 50%, transparent 65%);animation:spin-border 6s linear infinite;opacity:0;transition:opacity 0.4s ease;z-index:0}.card::after{content:'';position:absolute;inset:1px;border-radius:calc(var(--r-lg) - 1px);background:var(--surface);z-index:0}.card > *{position:relative;z-index:1}.card:hover::before{opacity:0.6}.card:hover{border-color:transparent;transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,0.4), 0 0 30px rgba(59,130,246,0.06)}.card-image-wrap{position:relative;overflow:hidden;height:220px}.card-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s var(--ease), filter 0.7s var(--ease);filter:brightness(0.82) saturate(0.85)}.card:hover .card-image-wrap img{transform:scale(1.08);filter:brightness(1) saturate(1.15)}/* Cinematic gradient over image */.card-image-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, var(--surface) 0%, rgba(13,13,18,0.7) 35%, rgba(13,13,18,0) 65% );pointer-events:none}/* Date badge in meta row */.card-meta .tag-date{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08);color:var(--text-sub)}/* Corner accent mark */.card-image-wrap::before{content:'';position:absolute;top:16px;right:16px;width:28px;height:28px;z-index:2;border-top:2px solid rgba(59,130,246,0.4);border-right:2px solid rgba(59,130,246,0.4);transition:all 0.4s ease;pointer-events:none}.card:hover .card-image-wrap::before{border-color:rgba(59,130,246,0.8);width:36px;height:36px;top:12px;right:12px}.card-body{padding:20px 22px 22px;flex:1;display:flex;flex-direction:column}.card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--font-mono);font-size:0.64rem;color:var(--text-dim);margin-bottom:12px;letter-spacing:0.02em}.card-meta .tag{padding:4px 12px;background:var(--accent-dim);border:1px solid rgba(59,130,246,0.12);border-radius:5px;color:var(--accent);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:500}.card-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--text-hi);margin-bottom:10px;text-transform:uppercase;letter-spacing:0.02em;line-height:1.25;transition:color 0.3s ease}.card:hover .card-title{color:#fff}.card-excerpt{font-size:0.85rem;color:var(--text-sub);line-height:1.65;font-weight:400;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}/* ═══════════════════════════════════ BUTTONS ═══════════════════════════════════ */.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;font-family:var(--font-display);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;border:none;cursor:pointer;border-radius:var(--r);transition:all var(--speed) var(--ease);position:relative}.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, #2563eb 100%);color:#fff;box-shadow:0 4px 20px rgba(59,130,246,0.3), inset 0 1px 0 rgba(255,255,255,0.1)}.btn-primary:hover{box-shadow:0 8px 35px rgba(59,130,246,0.45), inset 0 1px 0 rgba(255,255,255,0.15), 0 0 20px rgba(59,130,246,0.15);transform:translateY(-2px);color:#fff}.btn-secondary{background:rgba(255,255,255,0.03);color:var(--text);border:1px solid var(--line-2);backdrop-filter:blur(8px)}.btn-secondary:hover{background:rgba(255,255,255,0.06);color:var(--text-hi);border-color:rgba(255,255,255,0.12)}.btn-sm{padding:7px 16px;font-size:0.85rem}.btn-gold{background:linear-gradient(135deg, var(--gold), #e09000);color:#000}.btn-gold:hover{box-shadow:0 4px 25px rgba(255,167,38,0.35)}.btn-danger{background:transparent;color:var(--red);border:1px solid rgba(239,83,80,0.15)}.btn-danger:hover{background:rgba(239,83,80,0.08);box-shadow:0 0 15px rgba(239,83,80,0.08)}/* ═══════════════════════════════════ SECTION HEADERS ═══════════════════════════════════ */.section-header{display:flex;align-items:center;gap:16px;margin-bottom:36px}.section-header::before{content:'';width:4px;height:30px;background:linear-gradient(180deg, var(--accent), rgba(59,130,246,0.1));border-radius:2px;flex-shrink:0;box-shadow:0 0 10px var(--accent-glow)}.section-header h2{font-size:1.8rem;margin:0}.section-header .section-line{flex:1;height:1px;background:linear-gradient(90deg, var(--line-2), transparent 80%)}/* ═══════════════════════════════════ FOOTER ═══════════════════════════════════ */.footer{padding:0;margin-top:60px;background:var(--surface);position:relative;z-index:1}.footer-glow-line{height:1px;background:linear-gradient(90deg, transparent 5%, var(--accent-glow) 30%, var(--accent) 50%, var(--accent-glow) 70%, transparent 95%);opacity:0.4}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;padding:48px 0 40px}@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:32px}}.footer-col-brand{max-width:380px}.footer-logo{height:36px;width:auto;margin-bottom:16px;transition:filter var(--speed) var(--ease)}.footer-logo:hover{filter:brightness(1.15)}.footer-desc{font-size:0.88rem;color:var(--text-dim);line-height:1.65;margin-bottom:20px}.footer-heading{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:16px;position:relative;padding-bottom:10px}.footer-heading::after{content:'';position:absolute;bottom:0;left:0;width:24px;height:2px;background:var(--accent);border-radius:1px}.footer-links{list-style:none;display:flex;flex-direction:column;gap:10px}.footer-links a{font-size:0.88rem;color:var(--text-dim);transition:all var(--speed) var(--ease);display:inline-flex;align-items:center;gap:6px}.footer-links a::before{content:'';width:0;height:1px;background:var(--accent);transition:width var(--speed) var(--ease)}.footer-links a:hover{color:var(--text-hi)}.footer-links a:hover::before{width:12px}.footer-social{display:flex;gap:8px}.social-icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:rgba(255,255,255,0.02);border:1px solid var(--line);border-radius:8px;color:var(--text-dim);transition:all var(--speed) var(--ease)}.social-icon-btn svg{width:18px;height:18px}.social-icon-btn:hover{color:var(--accent);border-color:rgba(59,130,246,0.25);background:var(--accent-dim);box-shadow:0 0 16px rgba(59,130,246,0.08);transform:translateY(-2px)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line);font-size:0.78rem;color:var(--text-dim)}.footer-powered{font-family:var(--font-mono);font-size:0.7rem;color:var(--text-dim)}.footer-powered a{text-decoration:underline}/* Credit heart */.credit-heart{display:inline-block;color:#ef4444;font-size:1em;animation:heartbeat 1.4s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(239,68,68,0.6))}@keyframes heartbeat{0%, 100%{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.2)}56%{transform:scale(1)}}@media(max-width:640px){.footer-bottom{flex-direction:column;gap:8px;text-align:center}}/* ═══════════════════════════════════ FORMS ═══════════════════════════════════ */.form-group{margin-bottom:20px}.form-label{display:block;font-family:var(--font-display);font-size:0.95rem;font-weight:500;color:var(--text-sub);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px}.form-input,.form-textarea,.form-select{width:100%;padding:12px 16px;font-family:var(--font-body);font-size:0.92rem;color:var(--text);background:var(--input-bg);border:1px solid var(--line);border-radius:var(--r);transition:all var(--speed) var(--ease)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,0.08), 0 0 20px rgba(59,130,246,0.04)}.form-textarea{min-height:120px;resize:vertical}/* Custom file input */.form-input[type="file"]{position:relative;padding:0;background:transparent;border:2px dashed var(--line-2);border-radius:var(--r);cursor:pointer;transition:all 0.2s ease;color:transparent;min-height:52px}.form-input[type="file"]:hover{border-color:var(--accent);background:rgba(59,130,246,0.03)}.form-input[type="file"]::file-selector-button{display:none}.form-input[type="file"]::before{content:'📁 Выберите файл или перетащите сюда';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:0.82rem;color:var(--text-sub);pointer-events:none}.form-input[type="file"]:hover::before{color:var(--accent)}/* When file is selected, show filename */.form-input[type="file"].has-file::before{content:'✓ Файл выбран';color:var(--green)}.form-input[type="file"].has-file{border-color:rgba(102,187,106,0.3);border-style:solid}/* ═══════════════════════════════════ TABLES ═══════════════════════════════════ */.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}table{width:100%;border-collapse:collapse}thead{background:var(--surface-2)}th{font-family:var(--font-display);font-size:0.88rem;font-weight:500;color:var(--text-sub);text-transform:uppercase;letter-spacing:0.06em;padding:12px 16px;text-align:left;border-bottom:1px solid var(--line)}td{padding:12px 16px;border-bottom:1px solid var(--line);font-size:0.9rem}tr:hover td{background:rgba(59,130,246,0.015)}/* ═══════════════════════════════════ BADGES / ALERTS / PAGINATION ═══════════════════════════════════ */.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-family:var(--font-mono);font-size:0.66rem;text-transform:uppercase;border-radius:6px}.badge-success{background:rgba(102,187,106,0.08);color:var(--green);border:1px solid rgba(102,187,106,0.12)}.badge-danger{background:rgba(239,83,80,0.08);color:var(--red);border:1px solid rgba(239,83,80,0.12)}.badge-warning{background:rgba(255,167,38,0.08);color:var(--gold);border:1px solid rgba(255,167,38,0.12)}.alert{padding:14px 20px 14px 28px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:20px;font-size:0.9rem;position:relative;background:var(--surface)}.alert::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}.alert-success::before{background:var(--green);box-shadow:0 0 8px rgba(102,187,106,0.3)}.alert-danger::before{background:var(--red);box-shadow:0 0 8px rgba(239,83,80,0.3)}.alert-warning::before{background:var(--gold);box-shadow:0 0 8px rgba(255,167,38,0.3)}.pagination{display:flex;gap:4px;justify-content:center;margin-top:36px}.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;font-family:var(--font-mono);font-size:0.88rem;border:1px solid var(--line);background:var(--surface);color:var(--text-sub);border-radius:var(--r);transition:all var(--speed) var(--ease)}.pagination a:hover{border-color:var(--line-2);color:var(--text-hi);background:var(--surface-2)}.pagination .active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}/* News detail */.news-article{max-width:860px;margin:0 auto}.news-article-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:0.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.08em;transition:color var(--speed) var(--ease);margin-bottom:32px}.news-article-back:hover{color:var(--accent)}.news-article-back svg{transition:transform var(--speed) var(--ease)}.news-article-back:hover svg{transform:translateX(-3px)}.news-article-cover{position:relative;width:100%;height:400px;overflow:hidden;border-radius:var(--r-lg);margin-bottom:32px;border:1px solid var(--line)}.news-article-cover img{width:100%;height:100%;object-fit:cover;filter:brightness(0.9) saturate(0.95)}.news-article-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, var(--surface) 0%, rgba(18,18,18,0.4) 40%, transparent 70%);pointer-events:none}.news-article-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--font-mono);font-size:0.72rem;color:var(--text-dim);margin-bottom:16px;text-transform:uppercase;letter-spacing:0.04em}.news-article-meta .divider{color:var(--line-2)}.news-article-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem, 3vw, 2.2rem);color:var(--text-hi);line-height:1.2;text-transform:uppercase;letter-spacing:0.01em;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--line)}.news-content{font-size:1.05rem;line-height:1.85;color:var(--text);font-weight:400}.news-content p{margin-bottom:16px}.news-content h2,.news-content h3{margin:36px 0 16px;color:var(--text-hi)}.news-content img{border:1px solid var(--line);border-radius:var(--r);margin:24px 0;width:100%;height:auto}.news-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.news-content a:hover{color:var(--accent-bright)}.news-content blockquote{border-left:3px solid var(--accent);padding:12px 20px;margin:20px 0;background:var(--accent-dim);border-radius:0 var(--r) var(--r) 0;font-style:italic;color:var(--text-sub)}@media (max-width:768px){.news-article-cover{height:240px}.news-article-title{margin-bottom:24px;padding-bottom:16px}}/* ═══════════════════════════════════ ADMIN SERVERS PAGE ═══════════════════════════════════ */.srv-preview{margin-bottom:28px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--surface)}.srv-preview-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:rgba(255,255,255,0.02);border-bottom:1px solid var(--line)}.srv-preview-label{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:0.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.08em}.srv-preview-hint{font-family:var(--font-mono);font-size:0.6rem;color:rgba(255,255,255,0.2);letter-spacing:0.04em}.srv-preview-body{padding:24px;background:var(--void)}.srv-preview .server-row{z-index:0}.srv-preview-inactive{opacity:0.3;border-style:dashed !important}.srv-item{padding:14px 16px !important}.srv-item--inactive{opacity:0.5}.srv-item-thumb{width:48px;height:32px;border-radius:6px;overflow:hidden;flex-shrink:0;background:var(--surface-3);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.srv-item-thumb img{width:100%;height:100%;object-fit:cover}.srv-action-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:7px;color:var(--text-dim);cursor:pointer;transition:all 0.2s ease}.srv-action-btn:hover{background:rgba(255,255,255,0.04);color:var(--text-hi);border-color:var(--line-2)}.srv-action-btn--danger:hover{background:rgba(239,83,80,0.08);color:var(--red);border-color:rgba(239,83,80,0.2)}/* ═══════════════════════════════════ ADMIN USERS PAGE ═══════════════════════════════════ */.users-stats{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px;margin-bottom:24px}.users-stat-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.users-stat-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border:1px solid rgba(59,130,246,0.1);border-radius:10px;color:var(--accent)}.users-stat-icon--admin{background:rgba(239,83,80,0.06);border-color:rgba(239,83,80,0.1);color:var(--red)}.users-stat-icon--super{background:rgba(255,167,38,0.06);border-color:rgba(255,167,38,0.1);color:var(--gold)}.users-stat-value{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--text-hi);line-height:1}.users-stat-label{font-family:var(--font-mono);font-size:0.62rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.1em;margin-top:2px}.users-search{position:relative;display:flex;align-items:center;margin-bottom:20px}.users-search svg{position:absolute;left:14px;color:var(--text-dim);pointer-events:none}.users-search .form-input{padding-left:40px;width:100%}.users-search-clear{position:absolute;right:12px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:1.1rem;border-radius:50%;transition:all 0.2s ease}.users-search-clear:hover{color:var(--red);background:rgba(239,83,80,0.08)}.users-list{display:flex;flex-direction:column;gap:6px}.user-card{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.04);border-radius:12px;transition:all 0.2s ease}.user-card:hover{background:rgba(255,255,255,0.025);border-color:rgba(255,255,255,0.07)}.user-card--admin{border-left:3px solid rgba(59,130,246,0.3)}.user-card--super{border-left:3px solid var(--gold);background:rgba(255,167,38,0.015)}.user-card--super:hover{background:rgba(255,167,38,0.03);border-color:rgba(255,167,38,0.15);border-left-color:var(--gold)}.user-card-main{display:flex;align-items:center;gap:14px}.user-avatar{width:44px;height:44px;border-radius:10px;flex-shrink:0;background:var(--surface-3);border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--text-dim)}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar--admin{border-color:rgba(59,130,246,0.2)}.user-avatar--super{border-color:rgba(255,167,38,0.3);box-shadow:0 0 12px rgba(255,167,38,0.08)}.user-card-info{flex:1;min-width:0}.user-card-name{font-weight:600;color:var(--text-hi);font-size:0.92rem;display:flex;align-items:center;gap:8px}.user-you{font-size:0.6rem;color:var(--accent);font-family:var(--font-mono);padding:1px 6px;background:var(--accent-dim);border-radius:4px;text-transform:uppercase;letter-spacing:0.06em}.user-card-meta{font-size:0.72rem;color:rgba(255,255,255,0.25);margin-top:2px;font-family:var(--font-mono);display:flex;align-items:center;gap:6px}.user-card-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,0.15)}.user-card-role{flex-shrink:0}.user-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-family:var(--font-mono);font-size:0.62rem;text-transform:uppercase;letter-spacing:0.06em;border-radius:6px}.user-badge--super{background:rgba(255,167,38,0.08);color:var(--gold);border:1px solid rgba(255,167,38,0.15)}.user-badge--admin{background:rgba(59,130,246,0.06);color:var(--accent);border:1px solid rgba(59,130,246,0.1)}.user-badge--user{background:rgba(255,255,255,0.03);color:var(--text-dim);border:1px solid rgba(255,255,255,0.04)}.user-card-actions{display:flex;align-items:center;gap:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.03)}.user-action-form{display:flex;align-items:center;gap:14px}.user-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.user-toggle input{display:none}.user-toggle-track{width:34px;height:18px;border-radius:9px;position:relative;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.08);transition:all 0.25s ease}.user-toggle-track::after{content:'';position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,0.3);transition:all 0.25s ease}.user-toggle input:checked + .user-toggle-track{background:var(--accent);border-color:var(--accent)}.user-toggle input:checked + .user-toggle-track::after{left:18px;background:#fff}.user-toggle input:checked + .user-toggle-track--super{background:var(--gold);border-color:var(--gold)}.user-toggle-label{font-family:var(--font-mono);font-size:0.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.06em}.user-delete-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(239,83,80,0.1);border-radius:8px;color:var(--text-dim);cursor:pointer;transition:all 0.2s ease;margin-left:auto}.user-delete-btn:hover{background:rgba(239,83,80,0.08);color:var(--red);border-color:rgba(239,83,80,0.2)}@media (max-width:768px){.users-stats{grid-template-columns:1fr}.user-card-main{flex-wrap:wrap}.user-card-role{width:100%}.user-card-actions{flex-wrap:wrap}}/* ═══════════════════════════════════ ANIMATIONS ═══════════════════════════════════ */.observe-fade{opacity:0;transform:translateY(24px)}.fade-in{opacity:0;transform:translateY(24px);animation:fadeUp 0.7s var(--ease) forwards}.fade-in-delay-1{animation-delay:0.1s}.fade-in-delay-2{animation-delay:0.2s}.fade-in-delay-3{animation-delay:0.28s}.fade-in-delay-4{animation-delay:0.36s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}/* ═══════════════════════════════════ ADMIN ═══════════════════════════════════ */.admin-layout{display:block;min-height:100vh}/* Sleek sidebar with subtle accent line on left */.admin-sidebar{background:#0a0a0e;border-right:1px solid rgba(255,255,255,0.04);padding:0;position:fixed;top:0;left:0;bottom:0;width:260px;display:flex;flex-direction:column;z-index:100}/* Brand area with bottom border */.admin-sidebar-brand{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);margin-bottom:4px;font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--text-hi);display:flex;align-items:center;gap:10px;flex-shrink:0}.admin-sidebar-brand .brand-dot{width:9px;height:9px;background:#3b82f6;border-radius:50%;box-shadow:0 0 10px rgba(59,130,246,0.5)}/* Nav links — clean, with left accent on active, icon support */.admin-nav{list-style:none;flex:1;overflow-y:auto}.admin-nav a{padding:7px 20px;font-size:0.82rem;font-weight:500;color:rgba(255,255,255,0.45);border-left:3px solid transparent;transition:all 0.25s ease;display:flex;align-items:center;gap:10px}.admin-nav a:hover{background:rgba(255,255,255,0.02);color:#e8e8f0}.admin-nav a.active{border-left-color:#3b82f6;background:rgba(59,130,246,0.06);color:#e8e8f0}/* Nav section dividers */.admin-nav-section{padding:10px 20px 4px;font-size:0.6rem;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.2);font-family:var(--font-mono)}/* Bottom bar in sidebar */.admin-sidebar-bottom{padding:12px 20px;border-top:1px solid rgba(255,255,255,0.04);margin-top:auto;flex-shrink:0}.admin-sidebar-bottom a{font-size:0.8rem;color:rgba(255,255,255,0.35);transition:color 0.2s ease}.admin-sidebar-bottom a:hover{color:#e8e8f0}.admin-sidebar-bottom .admin-user-info{font-size:0.75rem;color:rgba(255,255,255,0.25);margin-bottom:10px;font-family:var(--font-mono)}.admin-main{padding:36px 36px 50px;overflow-x:hidden;margin-left:260px;min-height:100vh}.admin-layout ~ div:last-of-type{position:fixed;bottom:0;left:260px;right:0;z-index:50;background:#0a0a0e !important;border-top:1px solid rgba(255,255,255,0.04) !important;padding:8px 10px !important}/* Admin header */.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,0.04)}.admin-header h2{font-size:1.5rem}/* Stat cards improved */.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all var(--speed) var(--ease)}.stat-card:hover{border-color:rgba(59,130,246,0.1);box-shadow:0 0 25px rgba(59,130,246,0.03)}.stat-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:var(--accent-dim);border:1px solid rgba(59,130,246,0.08);border-radius:10px}.stat-value{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--text-hi);line-height:1}.stat-label{font-family:var(--font-mono);font-size:0.66rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.12em}/* Better aligned tables */.table-wrap{border-radius:12px;overflow:hidden}.admin-main table{width:100%;border-collapse:collapse}.admin-main thead{background:rgba(255,255,255,0.02)}.admin-main th{padding:14px 16px;font-size:0.78rem;font-weight:600;text-align:left;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:0.06em;border-bottom:1px solid rgba(255,255,255,0.04)}.admin-main td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,0.03);vertical-align:middle}.admin-main tr:last-child td{border-bottom:none}/* Custom checkbox */.custom-check{display:flex;align-items:center;gap:10px;cursor:pointer}.custom-check input[type="checkbox"]{display:none}.custom-check .check-box{width:20px;height:20px;border:2px solid rgba(255,255,255,0.1);border-radius:5px;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;flex-shrink:0;background:rgba(255,255,255,0.02)}.custom-check input:checked + .check-box{background:#3b82f6;border-color:#3b82f6;box-shadow:0 0 12px rgba(59,130,246,0.3)}.custom-check input:checked + .check-box::after{content:'\2713';color:#fff;font-size:0.75rem;font-weight:700}.custom-check .check-label{font-size:0.9rem;color:#9a9ab0}.custom-check:hover .check-box{border-color:rgba(255,255,255,0.2)}/* Custom select */.form-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e88' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}/* Admin unified item cards */.admin-item{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.04);border-radius:10px;margin-bottom:8px;transition:all 0.2s ease;gap:16px}.admin-item:hover{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.07)}.admin-item-info{flex:1;min-width:0}.admin-item-title{font-weight:600;color:#e8e8f0;font-size:0.92rem}.admin-item-meta{font-size:0.72rem;color:#55556a;margin-top:3px;font-family:'IBM Plex Mono', monospace}.admin-item-actions{display:flex;gap:6px;flex-shrink:0;margin-left:12px}/* Admin two-column form layout */.admin-split{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media(max-width:1024px){.admin-split{grid-template-columns:1fr}}.admin-split-list h3, .admin-split-form h3{font-size:1.1rem;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.04)}/* Module card */.module-card{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.04);border-radius:12px;margin-bottom:10px;transition:all 0.2s ease}.module-card:hover{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.07)}.module-info{flex:1}.module-name{font-weight:700;color:#e8e8f0;font-size:1rem}.module-desc{font-size:0.82rem;color:#6e6e88;margin-top:4px}.module-meta{font-size:0.7rem;color:#3e3e50;margin-top:4px;font-family:'IBM Plex Mono', monospace}/* Nav login button */.nav-login-btn{display:flex !important;align-items:center;gap:7px;padding:7px 18px !important;background:linear-gradient(135deg, #1b2838, #171a21) !important;border:1px solid rgba(102,192,244,0.15) !important;border-radius:8px !important;color:#66c0f4 !important;font-size:0.85rem !important;font-weight:600 !important;transition:all 0.25s ease !important}.nav-login-btn:hover{border-color:rgba(102,192,244,0.35) !important;box-shadow:0 0 16px rgba(102,192,244,0.1) !important;color:#fff !important}/* Steam login button */.steam-login-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 24px;font-family:var(--font-display);font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:#fff;background:linear-gradient(135deg, #1b2838, #171a21);border:1px solid rgba(102,192,244,0.2);border-radius:10px;cursor:pointer;transition:all 0.3s ease;text-decoration:none}.steam-login-btn:hover{background:linear-gradient(135deg, #2a475e, #1b2838);border-color:rgba(102,192,244,0.4);box-shadow:0 4px 24px rgba(102,192,244,0.15);color:#66c0f4;transform:translateY(-2px)}.steam-login-btn svg{opacity:0.8}.steam-login-btn:hover svg{opacity:1}/* ── Rich Editor v2 ── */.re-wrap{position:relative;border:1px solid var(--line);border-radius:var(--r);overflow:visible;transition:border-color 0.2s ease, box-shadow 0.2s ease}.re-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,0.08)}/* Toolbar */.re-toolbar{display:flex;align-items:center;gap:2px;padding:6px 10px;background:var(--surface-2);border-bottom:1px solid var(--line);border-radius:var(--r) var(--r) 0 0;flex-wrap:wrap;position:relative;z-index:20}.re-group{display:flex;align-items:center;gap:1px}.re-toolbar button{display:flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--text-sub);cursor:pointer;font-size:0.78rem;font-weight:600;transition:all 0.12s ease;position:relative}.re-toolbar button:hover{background:rgba(59,130,246,0.08);border-color:rgba(59,130,246,0.12);color:var(--accent)}.re-toolbar button.active{background:rgba(59,130,246,0.14);border-color:rgba(59,130,246,0.25);color:var(--accent)}.re-toolbar button svg{pointer-events:none}.re-text-btn{font-family:var(--font-display);letter-spacing:-0.02em}.re-sep{width:1px;height:18px;background:var(--line-2);margin:0 5px;flex-shrink:0}/* Color picker */.re-color-wrap{position:relative}.re-color-trigger{flex-direction:column !important;gap:2px;height:32px !important;padding-bottom:2px !important}.re-color-bar{display:block;width:14px;height:3px;border-radius:1px;background:var(--accent);transition:background 0.15s ease}.re-color-palette{display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--surface-3);border:1px solid var(--line-2);border-radius:8px;padding:10px;z-index:100;box-shadow:0 8px 32px rgba(0,0,0,0.5);min-width:180px}.re-color-palette.open{display:block}.re-palette-label{font-size:0.7rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px}.re-palette-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:3px}.re-palette-grid button{width:22px !important;height:22px !important;min-width:unset !important;border-radius:4px !important;border:1.5px solid rgba(255,255,255,0.06) !important;cursor:pointer;transition:all 0.1s ease;padding:0 !important}.re-palette-grid button:hover{transform:scale(1.2);border-color:rgba(255,255,255,0.3) !important;box-shadow:0 0 6px rgba(255,255,255,0.15)}.re-palette-reset{width:100% !important;margin-top:6px;height:24px !important;font-size:0.68rem !important;color:var(--text-sub) !important;border:1px dashed var(--line-2) !important;border-radius:4px !important;background:transparent !important;cursor:pointer}.re-palette-reset:hover{color:var(--accent) !important;border-color:rgba(59,130,246,0.3) !important}/* Editor body */.re-body{min-height:350px;max-height:600px;padding:20px 24px;background:var(--input-bg);border-left:1px solid var(--line);border-right:1px solid var(--line);color:var(--text-hi);font-size:0.95rem;line-height:1.8;outline:none;overflow-y:auto}.re-body:empty::before{content:'Начните вводить текст...';color:var(--text-dim);pointer-events:none}.re-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.re-body img{max-width:100%;border-radius:8px;margin:12px 0;cursor:pointer;transition:opacity 0.15s ease}.re-body img:hover{opacity:0.85}.re-body img.re-selected{outline:2px solid var(--accent);outline-offset:2px}.re-body h2{font-size:1.4rem;margin:24px 0 10px;color:var(--text-hi);font-family:var(--font-display);font-weight:600}.re-body h3{font-size:1.2rem;margin:20px 0 8px;color:var(--text-hi);font-family:var(--font-display);font-weight:600}.re-body h4{font-size:1.05rem;margin:16px 0 6px;color:var(--text-hi);font-family:var(--font-display);font-weight:500}.re-body ul, .re-body ol{padding-left:24px;margin:10px 0}.re-body li{margin-bottom:4px}.re-body hr{border:none;height:1px;margin:24px 0;background:linear-gradient(90deg, transparent, var(--line-2) 20%, var(--line-2) 80%, transparent);cursor:pointer;position:relative;transition:background 0.15s ease}.re-body hr:hover,.re-body hr.re-selected{background:linear-gradient(90deg, transparent, var(--accent) 20%, var(--accent) 80%, transparent)}.re-body hr.re-selected{height:2px;box-shadow:0 0 8px rgba(59,130,246,0.3)}.re-body blockquote{border-left:3px solid var(--accent);padding-left:16px;margin:14px 0;color:var(--text-sub);font-style:italic}/* Status bar */.re-status{display:flex;align-items:center;gap:8px;padding:4px 12px;background:var(--surface-2);border:1px solid var(--line);border-top-color:var(--line);border-radius:0 0 var(--r) var(--r);font-size:0.68rem;color:var(--text-dim);font-family:monospace}.re-status-sep{opacity:0.3}/* Image overlay with delete button */.re-img-overlay{position:absolute;pointer-events:none;border:2px solid var(--accent);border-radius:8px;z-index:15;background:rgba(59,130,246,0.04)}.re-img-del{pointer-events:all;position:absolute;top:6px;right:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(20,20,28,0.9);border:1px solid rgba(255,80,80,0.4) !important;border-radius:6px;color:#ff6b6b;font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer;transition:all 0.15s ease;backdrop-filter:blur(8px)}.re-img-del:hover{background:rgba(255,60,60,0.25) !important;border-color:rgba(255,80,80,0.7) !important;color:#fff !important;transform:scale(1.1)}/* Feature modal — large with rich content */.feature-modal-content{font-size:0.95rem;line-height:1.75;color:var(--text);word-wrap:break-word;overflow-wrap:break-word}.feature-modal-content img{max-width:100%;border-radius:10px;margin:16px 0;border:1px solid var(--line)}.feature-modal-content h3{font-family:var(--font-display);font-size:1.3rem;color:var(--text-hi);margin:20px 0 10px}.feature-modal-content p{margin-bottom:12px}.feature-modal-content ul{padding-left:20px;margin-bottom:12px}.feature-modal-content li{margin-bottom:6px}.feature-modal-image{width:100%;max-height:400px;object-fit:contain;border-radius:12px;border:1px solid var(--line);margin-bottom:20px}.feature-modal-loader{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;color:var(--text-dim);font-family:var(--font-mono);font-size:0.8rem}/* ═══════════════════════════════════ SETTINGS PAGE ═══════════════════════════════════ */.settings-group{background:rgba(255,255,255,0.01);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden}.settings-group-header{display:flex;align-items:center;gap:10px;padding:16px 20px;background:rgba(255,255,255,0.015);border-bottom:1px solid var(--line)}.settings-group-header h3{font-size:1rem;font-weight:600;margin:0;letter-spacing:0.03em}.settings-group-icon{font-size:1rem;opacity:0.5}.settings-group-body{padding:8px 0}.settings-field{display:grid;grid-template-columns:220px 1fr;align-items:start;padding:14px 20px;gap:20px;transition:background 0.2s ease}.settings-field:hover{background:rgba(255,255,255,0.01)}.settings-field-label{font-family:var(--font-body);font-size:0.85rem;font-weight:500;color:var(--text-sub);padding-top:10px}.settings-field-input{min-width:0}.settings-field-input .form-input,.settings-field-input .form-textarea{max-width:500px}@media (max-width:768px){.settings-field{grid-template-columns:1fr;gap:6px}.settings-field-label{padding-top:0}}/* ═══════════════════════════════════ INSTALL WIZARD ═══════════════════════════════════ */.install-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:36px;background:radial-gradient(ellipse at 50% 50%, var(--surface) 0%, var(--void) 70%)}.install-card{width:100%;max-width:540px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:48px;box-shadow:0 30px 80px rgba(0,0,0,0.5), 0 0 60px rgba(59,130,246,0.03)}.install-steps{display:flex;gap:6px;margin-bottom:36px}.install-step{flex:1;height:3px;background:var(--line);border-radius:2px;transition:all 0.4s ease}.install-step.active{background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.install-step.done{background:var(--green)}.install-title{font-family:var(--font-display);font-size:1.6rem;margin-bottom:24px;text-align:center}.req-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:0.9rem}.req-ok{color:var(--green)}.req-fail{color:var(--red)}/* ═══════════════════════════════════ VIDEO SECTION ═══════════════════════════════════ */.video-section{padding:48px 0 56px;position:relative;z-index:1}/* Features + Video layout */.features-video-layout{display:grid;grid-template-columns:260px 1fr 260px;gap:24px;align-items:stretch}/* When only left or right column has items */.features-video-layout.has-left-only{grid-template-columns:300px 1fr;align-items:center}.features-video-layout.has-right-only{grid-template-columns:1fr 300px;align-items:center}.features-video-layout.has-no-features{grid-template-columns:1fr}@media (max-width:1100px){.features-video-layout, .features-video-layout.has-left-only, .features-video-layout.has-right-only{grid-template-columns:1fr;gap:20px}.features-video-layout .video-center{order:-1}}.features-col{display:flex;flex-direction:column;gap:12px}.feature-item{display:flex;gap:12px;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:all var(--speed) var(--ease);cursor:pointer}.feature-item:hover{border-color:rgba(59,130,246,0.18);background:var(--surface-2);box-shadow:0 4px 16px rgba(0,0,0,0.3), 0 0 12px rgba(59,130,246,0.04)}.feature-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:var(--accent-dim);border:1px solid rgba(59,130,246,0.08);border-radius:8px}.feature-text{min-width:0}.feature-title{font-family:var(--font-display);font-size:0.95rem;font-weight:600;color:var(--text-hi);text-transform:uppercase;letter-spacing:0.02em;line-height:1.2}.feature-desc{font-size:0.8rem;color:var(--text-sub);line-height:1.45;font-weight:400;margin-top:2px}.video-center{display:flex;align-items:center}.video-wrapper{position:relative;width:100%}/* Ambient glow behind video */.video-glow{position:absolute;inset:-30px;background:radial-gradient(ellipse at center, var(--accent-glow) 0%, transparent 70%);opacity:0.15;border-radius:30px;filter:blur(40px);z-index:0;animation:video-glow-pulse 5s ease-in-out infinite}@keyframes video-glow-pulse{0%, 100%{opacity:0.12;transform:scale(1)}50%{opacity:0.2;transform:scale(1.03)}}.video-frame{position:relative;z-index:1;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line-2);background:var(--surface);box-shadow:0 20px 60px rgba(0,0,0,0.6), 0 0 40px rgba(59,130,246,0.04);aspect-ratio:16 / 9}.video-frame iframe{width:100%;height:100%;display:block}/* Animated border on hover */.video-frame::before{content:'';position:absolute;inset:-2px;border-radius:var(--r-xl);background:conic-gradient(from var(--border-angle), transparent 30%, var(--accent) 50%, var(--cyan) 65%, transparent 80%);animation:spin-border 6s linear infinite;opacity:0;transition:opacity 0.5s ease;z-index:-1}.video-frame::after{content:'';position:absolute;inset:1px;border-radius:calc(var(--r-xl) - 1px);background:var(--surface);z-index:-1}.video-wrapper:hover .video-frame::before{opacity:0.5}.video-wrapper:hover .video-frame{border-color:transparent}/* ═══════════════════════════════════ MONITOR VIEW TOGGLE + GRID/LIST ═══════════════════════════════════ *//* Live auto-refresh badge */.auto-refresh-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 14px;font-family:var(--font-mono);font-size:0.72rem;font-weight:600;color:var(--green);background:rgba(76,175,80,0.06);border:1px solid rgba(76,175,80,0.15);border-radius:8px;letter-spacing:0.1em;cursor:default}.auto-refresh-dot{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 8px rgba(76,175,80,0.6);animation:live-pulse 1.5s ease-in-out infinite}@keyframes live-pulse{0%, 100%{opacity:1;box-shadow:0 0 8px rgba(76,175,80,0.6)}50%{opacity:0.4;box-shadow:0 0 3px rgba(76,175,80,0.3)}}/* Grid view — forced row */.servers-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:20px;max-width:1200px;margin:0 auto}.servers-grid .server-card{width:100%}@media (min-width:1200px){.servers-grid.cols-3{grid-template-columns:repeat(3, 1fr)}}@media (max-width:768px){.servers-grid{grid-template-columns:1fr}}/* List view — full width rows */.servers-list{display:flex;flex-direction:column;gap:8px}.server-row{display:grid;grid-template-columns:36px 1fr 160px 80px 190px 44px;align-items:center;gap:12px;padding:14px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:all var(--speed) var(--ease);position:relative}/* Border glow — thin line only, same method as server-card */.server-row::before{content:'';position:absolute;inset:-2px;border-radius:var(--r-lg);background:conic-gradient(from var(--border-angle), transparent 30%, var(--accent) 50%, var(--cyan) 65%, transparent 80%);animation:spin-border 6s linear infinite;opacity:0;transition:opacity 0.4s ease;z-index:-1}/* Inner fill covers the gradient, leaving only 2px border visible */.server-row::after{content:'';position:absolute;inset:1px;border-radius:calc(var(--r-lg) - 1px);background:var(--surface);z-index:-1}.server-row > *{position:relative;z-index:1}.server-row:hover::before{opacity:0.6}.server-row:hover{border-color:transparent}/* Server row with background image */.server-row.has-bg{background:none}.server-row.has-bg::after{background-image:var(--srv-bg);background-size:cover;background-position:center;background-repeat:no-repeat}/* Dark overlay on top of bg image inside::after using box-shadow inset */.server-row.has-bg::after{box-shadow:inset 800px 0 200px -100px var(--surface)}.server-row.has-bg::after{transition:box-shadow 0.5s ease}.server-row.has-bg:hover::after{box-shadow:inset 600px 0 300px -100px var(--surface)}.server-row.has-bg.fade-right::after{box-shadow:inset -800px 0 200px -100px var(--surface)}.server-row.has-bg.fade-right:hover::after{box-shadow:inset -600px 0 300px -100px var(--surface)}.server-row-status{display:flex;align-items:center;justify-content:center}.server-row-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-hi);text-transform:uppercase;letter-spacing:0.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-row-players{display:flex;flex-direction:column;gap:4px}.server-row-bar{height:4px;background:rgba(255,255,255,0.08);border-radius:2px;overflow:hidden}.server-row-label{font-family:var(--font-mono);font-size:0.65rem;color:var(--text-sub);text-transform:uppercase;letter-spacing:0.12em}.server-row-value{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--text-hi)}.server-row-value.highlight{color:#ffffff;text-shadow:0 0 12px rgba(255,255,255,0.15)}.server-row-ip{font-size:0.68rem;color:var(--text-dim);text-align:right}/* Vote button — crown icon */.server-vote-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--gold);background:rgba(255,167,38,0.06);border:1px solid rgba(255,167,38,0.15);border-radius:8px;transition:all var(--speed) var(--ease);flex-shrink:0}.server-vote-btn:hover{color:#fff;background:var(--gold);box-shadow:0 0 20px rgba(255,167,38,0.3);transform:scale(1.1)}@media (max-width:1024px){.server-row{grid-template-columns:30px 1fr 140px auto}.server-row-rank, .server-row-ip, .server-row-map{display:none}}@media (max-width:640px){.server-row{grid-template-columns:30px 1fr auto}.server-row-players{display:none}.servers-grid{grid-template-columns:1fr}}/* ═══════════════════════════════════ SERVER MODAL ═══════════════════════════════════ */.modal-overlay{position:fixed;inset:0;z-index:10000;background:rgba(3,3,5,0.8);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity 0.3s ease, visibility 0.3s ease}.modal-overlay.open{opacity:1;visibility:visible}.modal-overlay.open .modal-card{transform:translateY(0) scale(1);opacity:1}.modal-card{width:calc(100% - 32px);max-width:640px;max-height:85vh;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-xl);box-shadow:0 30px 80px rgba(0,0,0,0.7), 0 0 60px rgba(59,130,246,0.05);display:flex;flex-direction:column;transform:translateY(20px) scale(0.97);opacity:0;transition:transform 0.35s var(--ease), opacity 0.35s ease}.modal-header{padding:24px 28px 16px;padding-right:56px;border-bottom:1px solid var(--line);position:relative}.modal-header h3{font-size:1.5rem;font-weight:600;margin:0;line-height:1.2;word-break:break-word}.modal-meta{display:flex;gap:12px;margin-top:8px;font-family:var(--font-mono);font-size:0.7rem;color:var(--text-dim)}.modal-meta .meta-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;background:rgba(255,255,255,0.03);border:1px solid var(--line);border-radius:6px}.modal-meta .meta-tag.online{color:var(--green);border-color:rgba(102,187,106,0.15)}.modal-meta .meta-tag.offline{color:var(--red);border-color:rgba(239,83,80,0.15)}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.06);border:1px solid var(--line);z-index:2;border-radius:var(--r);color:var(--text-sub);font-size:1.3rem;cursor:pointer;transition:all var(--speed) var(--ease);flex-shrink:0}.modal-close:hover{color:var(--red);background:rgba(239,83,80,0.06);border-color:rgba(239,83,80,0.15)}.modal-body{padding:20px 28px 28px;overflow-y:auto;flex:1}/* Loader */.modal-loader{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px;color:var(--text-dim);font-family:var(--font-mono);font-size:0.8rem}.loader-spinner{width:32px;height:32px;border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}/* Mods list */.mods-count{font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--text-sub);margin-bottom:16px;text-transform:uppercase;letter-spacing:0.04em}.mods-count span{color:var(--accent)}.mod-list{display:flex;flex-direction:column;gap:6px}.mod-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(255,255,255,0.015);border:1px solid var(--line);border-radius:var(--r);transition:all var(--speed) var(--ease)}.mod-item:hover{background:var(--accent-dim);border-color:rgba(59,130,246,0.12);transform:translateX(4px)}.mod-item-name{font-family:var(--font-body);font-size:0.9rem;font-weight:500;color:var(--text-hi)}.mod-item-num{font-family:var(--font-mono);font-size:0.65rem;color:var(--text-dim);min-width:24px;text-align:center;margin-right:10px}.mod-item-link{font-family:var(--font-mono);font-size:0.68rem;color:var(--accent);opacity:0.6;transition:opacity var(--speed) ease}.mod-item:hover .mod-item-link{opacity:1}.mod-item-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}/* Server info grid in modal */.modal-server-info{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.modal-info-item{text-align:center}.modal-info-label{font-family:var(--font-mono);font-size:0.58rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.15em;margin-bottom:4px}.modal-info-value{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--text-hi)}/* ═══════════════════════════════════ TOOLTIP ═══════════════════════════════════ */[data-tooltip]{position:relative}[data-tooltip]::before,[data-tooltip]::after{position:absolute;z-index:10000;pointer-events:none;opacity:0;transition:opacity 0.25s ease, transform 0.25s ease}/* Tooltip bubble */[data-tooltip]::after{content:attr(data-tooltip);bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);padding:8px 14px;font-family:var(--font-body);font-size:0.78rem;font-weight:500;color:var(--text-hi);background:var(--surface-3);border:1px solid var(--line-2);border-radius:8px;white-space:nowrap;box-shadow:0 8px 30px rgba(0,0,0,0.5), 0 0 15px rgba(59,130,246,0.05);backdrop-filter:blur(12px)}/* Arrow */[data-tooltip]::before{content:'';bottom:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(6px);border:6px solid transparent;border-top-color:var(--surface-3)}/* Show on hover */[data-tooltip]:hover::before,[data-tooltip]:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}/* Position:bottom */[data-tooltip-pos="bottom"]::after{bottom:auto;top:calc(100% + 10px);transform:translateX(-50%) translateY(-6px)}[data-tooltip-pos="bottom"]::before{bottom:auto;top:calc(100% + 4px);border-top-color:transparent;border-bottom-color:var(--surface-3);transform:translateX(-50%) translateY(-6px)}[data-tooltip-pos="bottom"]:hover::before,[data-tooltip-pos="bottom"]:hover::after{transform:translateX(-50%) translateY(0)}/* Position:left */[data-tooltip-pos="left"]::after{bottom:auto;top:50%;left:auto;right:calc(100% + 10px);transform:translateY(-50%) translateX(6px)}[data-tooltip-pos="left"]::before{bottom:auto;top:50%;left:auto;right:calc(100% + 4px);border:6px solid transparent;border-left-color:var(--surface-3);transform:translateY(-50%) translateX(6px)}[data-tooltip-pos="left"]:hover::before,[data-tooltip-pos="left"]:hover::after{transform:translateY(-50%) translateX(0)}/* Position:right */[data-tooltip-pos="right"]::after{bottom:auto;top:50%;left:calc(100% + 10px);transform:translateY(-50%) translateX(-6px)}[data-tooltip-pos="right"]::before{bottom:auto;top:50%;left:calc(100% + 4px);border:6px solid transparent;border-right-color:var(--surface-3);transform:translateY(-50%) translateX(-6px)}[data-tooltip-pos="right"]:hover::before,[data-tooltip-pos="right"]:hover::after{transform:translateY(-50%) translateX(0)}/* ═══════════════════════════════════ UTILITIES ═══════════════════════════════════ */.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-dim)}.text-red{color:var(--red)}.text-green{color:var(--green)}.text-gold{color:var(--gold)}.mt-1{margin-top:16px}.mt-2{margin-top:24px}.mt-3{margin-top:36px}.mb-1{margin-bottom:16px}.mb-2{margin-bottom:24px}.mb-3{margin-bottom:36px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:16px}.gap-2{gap:24px}@media(max-width:768px){.admin-sidebar{left:-260px;transition:left var(--speed) var(--ease)}.admin-sidebar.open{left:0}.admin-main{margin-left:0}}