/* ================================================
   KGB-STREAM.RU — Главный стиль
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=VT323&family=Courier+Prime:wght@400;700&display=swap');

:root {
    --bg-primary: #0a0a0a;
    --bg-secondary: #111111;
    --bg-card: #141414;
    --bg-header: #0d0d0d;
    --accent: #cc0000;
    --accent-dark: #880000;
    --accent-hover: #ff1111;
    --text-primary: #c8c8c8;
    --text-dim: #666666;
    --text-bright: #e8e8e8;
    --border: #2a2a2a;
    --border-accent: #440000;
    --gold: #aa8800;
    --green: #006600;
    --overlay: rgba(0,0,0,0.85);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: 'Courier Prime', monospace;
    font-size: 14px;
    line-height: 1.4;
    min-height: 100vh;
    background-image: repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.03) 2px,rgba(0,0,0,0.03) 4px);
}

::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:#0a0a0a; }
::-webkit-scrollbar-thumb { background:#cc0000; }

/* ========== HEADER ========== */
#ticker {
    background: var(--accent-dark);
    padding: 4px 0;
    overflow: hidden;
    border-bottom: 1px solid var(--accent);
    font-size: 12px;
    color: #ffaaaa;
    letter-spacing: 1px;
}
.ticker-inner {
    white-space: nowrap;
    animation: ticker-move 40s linear infinite;
    display: inline-block;
}
@keyframes ticker-move { from{transform:translateX(100vw)} to{transform:translateX(-100%)} }

#header {
    background: var(--bg-header);
    border-bottom: 2px solid var(--accent);
    padding: 0 20px;
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 58px;
    box-shadow: 0 4px 20px rgba(204,0,0,0.3);
}

#logo {
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--accent);
    font-family: 'VT323', monospace;
    font-size: 30px;
    letter-spacing: 3px;
    text-shadow: 0 0 10px rgba(204,0,0,0.5);
}
.logo-icon { font-size:28px; }
.logo-dash { color:#555; }
.logo-ru { color:var(--text-dim); font-size:18px; }

#nav { display:flex; gap:0; align-items:center; }
#nav a {
    color:var(--text-dim); text-decoration:none;
    padding:8px 14px; font-size:12px;
    text-transform:uppercase; letter-spacing:1px;
    border-left:1px solid var(--border); transition:all 0.15s;
}
#nav a:first-child { border-left:none; }
#nav a:hover { color:var(--accent); background:rgba(204,0,0,0.05); }

#user-area { display:flex; align-items:center; gap:12px; }
.visitor-count { color:var(--text-dim); font-size:11px; text-align:right; line-height:1.3; }
.visitor-count span { color:var(--green); font-weight:bold; }

.btn-signin {
    background:var(--accent); color:#fff; border:none;
    padding:7px 16px; font-family:'Courier Prime',monospace;
    font-size:12px; text-transform:uppercase; letter-spacing:1px;
    cursor:pointer; text-decoration:none; display:inline-flex;
    align-items:center; gap:8px; transition:background 0.15s;
}
.btn-signin:hover { background:var(--accent-hover); }

.profile-icon {
    width:36px; height:36px;
    background:var(--border); border:1px solid var(--border-accent);
    display:flex; align-items:center; justify-content:center;
    font-size:18px; cursor:pointer;
}

/* ========== CAROUSEL ========== */
#carousel-section {
    background:var(--bg-secondary);
    border-bottom:2px solid var(--border);
    padding:20px 0; overflow:hidden;
}
.carousel-label {
    padding:0 20px 10px; font-size:11px;
    color:var(--text-dim); text-transform:uppercase; letter-spacing:2px;
    display:flex; align-items:center; gap:8px;
}
.carousel-label::before { content:''; display:inline-block; width:3px; height:12px; background:var(--accent); }
.carousel-track-wrapper { overflow:hidden; width:100%; position:relative; }
.carousel-track { display:flex; gap:12px; padding:5px 20px; width:max-content; }
.carousel-track.right-to-left { animation:scroll-rtl 40s linear infinite; }
.carousel-track.left-to-right { animation:scroll-ltr 45s linear infinite; }
@keyframes scroll-rtl { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes scroll-ltr { from{transform:translateX(-50%)} to{transform:translateX(0)} }
.carousel-track:hover { animation-play-state:paused; }

/* ========== CARDS ========== */
.movie-card {
    width:140px; flex-shrink:0; cursor:pointer;
    border:1px solid var(--border); background:var(--bg-card);
    transition:all 0.2s; position:relative;
}
.movie-card:hover { border-color:var(--accent); transform:translateY(-3px); box-shadow:0 6px 20px rgba(204,0,0,0.3); }
.movie-card:hover .card-overlay { opacity:1; }
.card-poster { width:140px; height:200px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.card-overlay { position:absolute; top:0;left:0;right:0;bottom:0; background:rgba(204,0,0,0.15); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.2s; }
.card-overlay .play-icon { font-size:36px; color:white; text-shadow:0 0 10px rgba(0,0,0,0.8); }
.card-art { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; font-family:'VT323',monospace; font-size:48px; font-weight:bold; text-shadow:2px 2px 8px rgba(0,0,0,0.8); position:relative; }
.card-art::after { content:''; position:absolute; top:0;left:0;right:0;bottom:0; background:repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(0,0,0,0.05) 3px,rgba(0,0,0,0.05) 4px); }
.card-quality { position:absolute; bottom:4px; right:4px; background:rgba(0,0,0,0.85); color:var(--gold); font-size:9px; padding:2px 4px; border:1px solid var(--gold); z-index:2; }
.card-rating { position:absolute; top:4px; left:4px; background:rgba(204,0,0,0.9); color:#fff; font-size:10px; padding:2px 5px; z-index:2; font-weight:bold; }
.card-info { padding:7px 8px; border-top:1px solid var(--border); }
.card-title { font-size:11px; color:var(--text-bright); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-bottom:3px; }
.card-meta { font-size:10px; color:var(--text-dim); }

/* ========== CATEGORIES ========== */
#categories { padding:20px 0; }
.category-section { margin-bottom:30px; position:relative; }
.category-header { display:flex; align-items:center; justify-content:space-between; padding:0 20px 12px; border-bottom:1px solid var(--border); margin-bottom:12px; }
.category-title { font-family:'VT323',monospace; font-size:24px; color:var(--text-bright); letter-spacing:2px; display:flex; align-items:center; gap:10px; }
.category-title .cat-icon { color:var(--accent); }
.category-count { color:var(--text-dim); font-size:11px; }
.category-row-wrapper { position:relative; overflow:hidden; }
.category-row { display:flex; gap:10px; padding:5px 20px; overflow-x:auto; scrollbar-width:none; scroll-behavior:smooth; }
.category-row::-webkit-scrollbar { display:none; }
.scroll-btn { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,0.9); border:1px solid var(--accent); color:var(--accent); width:36px; height:60px; cursor:pointer; font-size:20px; z-index:10; display:flex; align-items:center; justify-content:center; transition:all 0.15s; }
.scroll-btn:hover { background:var(--accent); color:#fff; }
.scroll-btn.right { right:0; }
.scroll-btn.left { left:0; display:none; }

/* ========== LAYOUT ========== */
main { max-width:1400px; margin:0 auto; padding:0; width:100%; }
footer { background:var(--bg-header); border-top:2px solid var(--border); padding:20px; text-align:center; color:var(--text-dim); font-size:11px; margin-top:30px; }
footer a { color:var(--accent); text-decoration:none; }
.disclaimer { color:#333; margin-top:8px; font-size:10px; }

/* ========== FILM PAGE ========== */
.film-page { padding:20px; max-width:1000px; margin:0 auto; }
.film-hero { display:flex; gap:24px; margin-bottom:24px; background:var(--bg-secondary); border:1px solid var(--border); padding:20px; }
.film-poster-large { width:180px; flex-shrink:0; }
.film-poster-large .card-art { width:180px; height:260px; font-size:60px; }
.film-info-block { flex:1; }
.film-title-main { font-family:'VT323',monospace; font-size:36px; color:var(--text-bright); letter-spacing:2px; margin-bottom:8px; }
.film-meta-row { display:flex; gap:16px; margin-bottom:12px; flex-wrap:wrap; }
.film-meta-item { font-size:12px; color:var(--text-dim); display:flex; align-items:center; gap:4px; }
.film-meta-item .val { color:var(--text-bright); }
.film-description { font-size:13px; color:var(--text-primary); line-height:1.6; margin-top:12px; padding-top:12px; border-top:1px solid var(--border); font-style:italic; }

/* ========== PLAYER ========== */
.player-section { background:var(--bg-secondary); border:1px solid var(--border); margin-bottom:16px; }
.player-header { padding:10px 14px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--text-dim); text-transform:uppercase; letter-spacing:1px; }
.player-container { background:#000; width:100%; aspect-ratio:16/9; position:relative; display:flex; align-items:center; justify-content:center; cursor:pointer; overflow:hidden; }
.player-bg-noise { position:absolute; top:0;left:0;right:0;bottom:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.1'/%3E%3C/svg%3E"); opacity:0.3; }
.player-play-btn { position:relative; z-index:2; width:72px; height:72px; background:var(--accent); display:flex; align-items:center; justify-content:center; font-size:30px; color:white; cursor:pointer; border:3px solid rgba(255,255,255,0.2); transition:all 0.2s; box-shadow:0 0 30px rgba(204,0,0,0.5); }
.player-play-btn:hover { background:var(--accent-hover); transform:scale(1.05); }
.player-loading { display:none; flex-direction:column; align-items:center; gap:14px; position:relative; z-index:2; }
.loading-spinner { width:50px; height:50px; border:3px solid var(--border); border-top-color:var(--accent); border-radius:50%; animation:spin 0.8s linear infinite; }
@keyframes spin { to{transform:rotate(360deg)} }
.loading-text { color:var(--text-dim); font-size:12px; text-align:center; letter-spacing:1px; }
.loading-messages { font-size:10px; color:#444; text-align:center; max-width:200px; line-height:1.5; }
.player-controls-bar { display:none; padding:8px 14px; background:#0a0a0a; align-items:center; gap:12px; font-size:12px; color:var(--text-dim); border-top:1px solid var(--border); }
.progress-bar { flex:1; height:4px; background:var(--border); position:relative; cursor:pointer; }
.progress-fill { height:100%; background:var(--accent); width:0%; transition:width 0.5s; }

/* ========== HOSTERS ========== */
.hosters-section { background:var(--bg-secondary); border:1px solid var(--border); margin-bottom:16px; }
.hosters-header { padding:10px 14px; border-bottom:1px solid var(--border); font-size:12px; color:var(--text-dim); text-transform:uppercase; letter-spacing:1px; display:flex; align-items:center; gap:8px; }
.hosters-list { padding:12px; display:flex; flex-wrap:wrap; gap:8px; }
.hoster-btn { background:var(--bg-card); border:1px solid var(--border); color:var(--text-primary); padding:8px 14px; font-family:'Courier Prime',monospace; font-size:12px; cursor:pointer; display:flex; align-items:center; gap:6px; transition:all 0.15s; }
.hoster-btn:hover, .hoster-btn.active { border-color:var(--accent); color:var(--accent); background:rgba(204,0,0,0.05); }
.hoster-btn .dot { width:6px; height:6px; border-radius:50%; background:var(--green); }
.hoster-btn .dot.slow { background:var(--gold); }
.hoster-btn .dot.bad { background:var(--accent); }

/* ========== BUTTONS ========== */
.action-btns { display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap; }
.btn-download { background:var(--bg-secondary); border:1px solid var(--border); color:var(--text-primary); padding:10px 20px; font-family:'Courier Prime',monospace; font-size:13px; cursor:pointer; display:flex; align-items:center; gap:8px; transition:all 0.15s; text-transform:uppercase; letter-spacing:1px; }
.btn-download:hover { border-color:var(--gold); color:var(--gold); }
.btn-watchlist { background:transparent; border:1px solid var(--border); color:var(--text-dim); padding:10px 20px; font-family:'Courier Prime',monospace; font-size:13px; cursor:pointer; display:flex; align-items:center; gap:8px; transition:all 0.15s; }
.btn-watchlist:hover { border-color:var(--text-dim); color:var(--text-primary); }

/* ========== MODALS ========== */
.modal-overlay { display:none; position:fixed; top:0;left:0;right:0;bottom:0; background:rgba(0,0,0,0.9); z-index:5000; align-items:center; justify-content:center; }
.modal-overlay.active { display:flex; }
.modal-box { background:var(--bg-secondary); border:2px solid var(--accent); padding:0; max-width:440px; width:90%; position:relative; box-shadow:0 0 40px rgba(204,0,0,0.4); }
.modal-title-bar { background:var(--accent); padding:8px 14px; display:flex; align-items:center; justify-content:space-between; font-size:12px; text-transform:uppercase; letter-spacing:1px; color:#fff; font-weight:bold; }
.modal-close { background:none; border:none; color:#fff; font-size:18px; cursor:pointer; line-height:1; padding:0 4px; }
.modal-body { padding:20px; }
.modal-icon { font-size:40px; text-align:center; margin-bottom:12px; }
.modal-text { font-size:14px; color:var(--text-primary); line-height:1.7; margin-bottom:18px; text-align:center; }
.modal-text .highlight { color:var(--accent); font-weight:bold; }
.modal-btns { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.btn-primary { background:var(--accent); color:#fff; border:none; padding:10px 24px; font-family:'Courier Prime',monospace; font-size:13px; cursor:pointer; text-transform:uppercase; letter-spacing:1px; transition:background 0.15s; text-decoration:none; display:inline-block; }
.btn-primary:hover { background:var(--accent-hover); }
.btn-secondary { background:transparent; color:var(--text-dim); border:1px solid var(--border); padding:10px 20px; font-family:'Courier Prime',monospace; font-size:13px; cursor:pointer; text-transform:uppercase; letter-spacing:1px; }

/* ========== AUTH ========== */
.auth-page { min-height:calc(100vh - 80px); display:flex; align-items:flex-start; justify-content:center; padding:40px 20px; }
.auth-box { background:var(--bg-secondary); border:1px solid var(--border); width:100%; max-width:420px; }
.auth-tabs { display:flex; border-bottom:1px solid var(--border); }
.auth-tab { flex:1; padding:12px; text-align:center; cursor:pointer; font-size:12px; text-transform:uppercase; letter-spacing:1px; color:var(--text-dim); background:none; border:none; border-bottom:2px solid transparent; margin-bottom:-1px; font-family:'Courier Prime',monospace; transition:all 0.15s; }
.auth-tab.active { color:var(--accent); border-bottom-color:var(--accent); background:rgba(204,0,0,0.05); }
.auth-content { padding:24px; }
.auth-logo { text-align:center; font-family:'VT323',monospace; font-size:40px; color:var(--accent); margin-bottom:6px; letter-spacing:4px; text-shadow:0 0 10px rgba(204,0,0,0.4); }
.auth-subtitle { text-align:center; font-size:11px; color:var(--text-dim); margin-bottom:20px; font-style:italic; }
.form-group { margin-bottom:14px; }
.form-label { display:block; font-size:11px; color:var(--text-dim); text-transform:uppercase; letter-spacing:1px; margin-bottom:5px; }
.form-input { width:100%; background:var(--bg-card); border:1px solid var(--border); color:var(--text-bright); padding:9px 12px; font-family:'Courier Prime',monospace; font-size:13px; outline:none; transition:border-color 0.15s; }
.form-input:focus { border-color:var(--accent); }
.form-input.error { border-color:var(--accent); }
.form-input.success { border-color:var(--green); }
.error-msg { display:none; background:rgba(204,0,0,0.1); border:1px solid var(--border-accent); border-left:3px solid var(--accent); padding:10px 12px; font-size:12px; color:#ff6666; margin-bottom:14px; line-height:1.5; }
.error-msg.visible { display:block; }
.success-msg { display:none; background:rgba(0,100,0,0.1); border:1px solid #004400; border-left:3px solid var(--green); padding:10px 12px; font-size:12px; color:#66ff66; margin-bottom:14px; line-height:1.5; }
.success-msg.visible { display:block; }
.form-hint { font-size:10px; color:var(--text-dim); margin-top:4px; font-style:italic; }
.btn-full { width:100%; background:var(--accent); color:#fff; border:none; padding:11px; font-family:'Courier Prime',monospace; font-size:13px; text-transform:uppercase; letter-spacing:2px; cursor:pointer; transition:background 0.15s; margin-top:6px; }
.btn-full:hover { background:var(--accent-hover); }
.password-repeat-status { font-size:10px; margin-top:4px; min-height:14px; }
.captcha-box { background:var(--bg-card); border:1px solid var(--border); padding:10px 12px; display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.captcha-check { width:20px; height:20px; border:2px solid var(--border); cursor:pointer; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all 0.15s; }
.captcha-check.checked { background:var(--green); border-color:var(--green); }
.captcha-text { font-size:12px; color:var(--text-dim); flex:1; }
.twofa-box { display:none; background:rgba(0,100,0,0.05); border:1px solid #003300; padding:14px; margin-bottom:14px; }
.twofa-box.visible { display:block; }
.twofa-title { font-size:12px; color:var(--green); text-transform:uppercase; letter-spacing:1px; margin-bottom:8px; display:flex; align-items:center; gap:6px; }
.twofa-msg { font-size:12px; color:var(--text-primary); line-height:1.6; margin-bottom:10px; }
select.form-input { -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; padding-right:30px; }
textarea.form-input { resize:vertical; min-height:80px; }
.checkbox-group { display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.checkbox-group input[type="checkbox"] { accent-color:var(--accent); width:14px; height:14px; cursor:pointer; }
.checkbox-group label { font-size:12px; color:var(--text-dim); cursor:pointer; }

/* ========== ADMIN ========== */
.admin-page { padding:20px; max-width:1200px; margin:0 auto; }
.admin-header { background:var(--bg-secondary); border:1px solid var(--border-accent); border-left:4px solid var(--accent); padding:14px 20px; margin-bottom:20px; display:flex; align-items:center; justify-content:space-between; }
.admin-title { font-family:'VT323',monospace; font-size:28px; color:var(--accent); letter-spacing:2px; }
.admin-subtitle { font-size:11px; color:var(--text-dim); font-style:italic; }
.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.admin-panel { background:var(--bg-secondary); border:1px solid var(--border); }
.admin-panel-header { background:var(--bg-card); padding:10px 14px; border-bottom:1px solid var(--border); font-size:12px; text-transform:uppercase; letter-spacing:1px; color:var(--text-dim); display:flex; align-items:center; gap:8px; }
.admin-panel-body { padding:16px; }
.admin-content-list { max-height:300px; overflow-y:auto; }
.admin-content-item { display:flex; align-items:center; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--border); font-size:12px; }
.admin-content-item:last-child { border-bottom:none; }
.admin-item-title { color:var(--text-primary); flex:1; }
.admin-item-meta { color:var(--text-dim); font-size:10px; margin-right:10px; }
.btn-delete { background:none; border:1px solid #440000; color:#880000; padding:3px 8px; cursor:pointer; font-size:11px; font-family:'Courier Prime',monospace; transition:all 0.15s; }
.btn-delete:hover { background:#440000; color:#ff4444; }
.admin-stats { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:10px; margin-bottom:16px; }
.stat-box { background:var(--bg-card); border:1px solid var(--border); padding:12px; text-align:center; }
.stat-number { font-family:'VT323',monospace; font-size:36px; color:var(--accent); line-height:1; }
.stat-label { font-size:10px; color:var(--text-dim); text-transform:uppercase; letter-spacing:1px; margin-top:4px; }

/* ========== BREADCRUMB / MISC ========== */
.breadcrumb { padding:10px 20px; font-size:11px; color:var(--text-dim); border-bottom:1px solid var(--border); display:flex; align-items:center; gap:6px; }
.breadcrumb a { color:var(--accent); text-decoration:none; }
.section-divider { border:none; border-top:1px solid var(--border); margin:0; }
.notice-bar { background:rgba(170,136,0,0.1); border:1px solid #554400; border-left:3px solid var(--gold); padding:8px 14px; font-size:12px; color:var(--gold); margin:10px 20px; display:flex; align-items:center; gap:8px; }
.search-bar { display:flex; align-items:center; background:var(--bg-card); border:1px solid var(--border); overflow:hidden; }
.search-bar input { background:none; border:none; color:var(--text-primary); padding:6px 10px; font-family:'Courier Prime',monospace; font-size:12px; outline:none; width:160px; }
.search-bar button { background:var(--accent); border:none; color:#fff; padding:6px 10px; cursor:pointer; font-size:14px; }
.blink { animation:blink 1s step-end infinite; }
@keyframes blink { 50%{opacity:0} }
.text-accent{color:var(--accent)} .text-gold{color:var(--gold)} .text-dim{color:var(--text-dim)} .text-green{color:var(--green)}

/* ========== ADS ========== */
#ad-layer { position:fixed; top:0;left:0;right:0;bottom:0; pointer-events:none; z-index:9000; }
#ad-layer > * { pointer-events:all; }

/* Object message (top bar) */
.ad-object-msg {
    position:fixed; top:58px; left:50%; transform:translateX(-50%);
    background:#1a1200; border:2px solid var(--gold);
    border-top:none; padding:0; min-width:320px; max-width:420px;
    box-shadow:0 4px 20px rgba(0,0,0,0.8);
    animation:slideDown 0.3s ease;
    z-index:9100;
}
@keyframes slideDown { from{transform:translateX(-50%) translateY(-100%)} to{transform:translateX(-50%) translateY(0)} }
.ad-obj-header { background:var(--gold); padding:4px 10px; display:flex; align-items:center; justify-content:space-between; font-size:10px; color:#000; text-transform:uppercase; letter-spacing:1px; }
.ad-obj-body { padding:10px 14px; display:flex; align-items:center; gap:12px; }
.ad-obj-avatar { width:44px; height:44px; background:#2a2000; border:2px solid var(--gold); border-radius:0; display:flex; align-items:center; justify-content:center; font-size:24px; flex-shrink:0; }
.ad-obj-text { flex:1; font-size:12px; line-height:1.5; }
.ad-obj-name { color:var(--gold); font-weight:bold; }
.ad-obj-distance { color:var(--text-dim); font-size:10px; }
.ad-obj-actions { display:flex; gap:6px; margin-top:8px; }
.ad-btn-accept { background:var(--gold); color:#000; border:none; padding:4px 12px; cursor:pointer; font-size:11px; font-family:'Courier Prime',monospace; }
.ad-btn-deny { background:none; border:1px solid #444; color:var(--text-dim); padding:4px 12px; cursor:pointer; font-size:11px; font-family:'Courier Prime',monospace; }

/* Fake call */
.ad-fake-call {
    position:fixed; bottom:20px; right:20px;
    background:#0a0a0a; border:2px solid var(--green);
    padding:0; width:260px;
    box-shadow:0 0 30px rgba(0,200,0,0.3);
    animation:callPulse 0.6s ease infinite alternate;
    z-index:9200;
}
@keyframes callPulse { from{box-shadow:0 0 15px rgba(0,200,0,0.2)} to{box-shadow:0 0 35px rgba(0,200,0,0.5)} }
.ad-call-header { background:var(--green); padding:6px 12px; display:flex; align-items:center; justify-content:space-between; font-size:11px; color:#fff; text-transform:uppercase; }
.ad-call-body { padding:14px; text-align:center; }
.ad-call-avatar { font-size:40px; margin-bottom:6px; }
.ad-call-name { font-size:16px; color:var(--text-bright); font-family:'VT323',monospace; letter-spacing:2px; margin-bottom:4px; }
.ad-call-number { font-size:11px; color:var(--text-dim); margin-bottom:12px; }
.ad-call-wave { color:var(--green); font-size:10px; letter-spacing:2px; margin-bottom:10px; animation:wave 0.5s linear infinite; }
@keyframes wave { 0%{opacity:1} 50%{opacity:0.3} 100%{opacity:1} }
.ad-call-btns { display:flex; gap:8px; justify-content:center; }
.ad-call-accept { background:var(--green); border:none; color:#fff; width:44px; height:44px; border-radius:50%; font-size:20px; cursor:pointer; }
.ad-call-decline { background:var(--accent); border:none; color:#fff; width:44px; height:44px; border-radius:50%; font-size:20px; cursor:pointer; }

/* Virus warning */
.ad-virus {
    position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
    background:#0a0000; border:3px solid var(--accent);
    padding:0; min-width:380px; max-width:480px;
    box-shadow:0 0 60px rgba(204,0,0,0.6);
    z-index:9300; animation:virusShake 0.15s linear infinite;
}
@keyframes virusShake { 0%{transform:translate(-50%,-50%) rotate(-0.5deg)} 50%{transform:translate(-50%,-50%) rotate(0.5deg)} 100%{transform:translate(-50%,-50%) rotate(-0.5deg)} }
.ad-virus-bar { background:var(--accent); padding:8px 14px; display:flex; align-items:center; justify-content:space-between; font-size:12px; color:#fff; font-weight:bold; letter-spacing:1px; }
.ad-virus-body { padding:20px; text-align:center; }
.ad-virus-icon { font-size:48px; margin-bottom:10px; animation:spin 1s linear infinite; }
.ad-virus-msg { color:#ff8888; font-size:14px; line-height:1.6; margin-bottom:16px; }
.ad-virus-progress { background:#1a0000; height:8px; margin-bottom:8px; }
.ad-virus-progress-fill { background:var(--accent); height:100%; animation:fillProgress 2s linear infinite; }
@keyframes fillProgress { from{width:0%} to{width:100%} }
.ad-virus-count { font-size:10px; color:var(--text-dim); margin-bottom:14px; }
.ad-virus-btn { background:var(--accent); color:#fff; border:none; padding:12px 28px; font-family:'Courier Prime',monospace; font-size:13px; cursor:pointer; text-transform:uppercase; letter-spacing:2px; animation:btnPulse 1s ease infinite alternate; }
@keyframes btnPulse { from{transform:scale(1)} to{transform:scale(1.05)} }

/* Winner popup */
.ad-winner {
    position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
    background:linear-gradient(135deg,#1a1000,#0a0800);
    border:3px solid var(--gold); padding:0; min-width:340px;
    box-shadow:0 0 50px rgba(170,136,0,0.5);
    z-index:9250;
    animation:winnerAppear 0.4s cubic-bezier(0.175,0.885,0.32,1.275);
}
@keyframes winnerAppear { from{transform:translate(-50%,-50%) scale(0)} to{transform:translate(-50%,-50%) scale(1)} }
.ad-winner-bar { background:var(--gold); padding:8px 14px; display:flex; align-items:center; justify-content:space-between; font-size:12px; color:#000; font-weight:bold; }
.ad-winner-body { padding:20px; text-align:center; }
.ad-winner-confetti { font-size:24px; letter-spacing:4px; animation:bounce 0.5s ease infinite alternate; }
@keyframes bounce { from{transform:translateY(0)} to{transform:translateY(-5px)} }
.ad-winner-headline { font-family:'VT323',monospace; font-size:32px; color:var(--gold); letter-spacing:2px; margin:8px 0; }
.ad-winner-prize { font-size:18px; color:var(--text-bright); margin-bottom:6px; }
.ad-winner-value { font-size:28px; color:var(--gold); font-family:'VT323',monospace; margin-bottom:14px; }
.ad-winner-btn { background:var(--gold); color:#000; border:none; padding:12px 28px; font-family:'Courier Prime',monospace; font-size:13px; cursor:pointer; font-weight:bold; letter-spacing:1px; }
.ad-winner-fine { font-size:9px; color:#333; margin-top:8px; }

/* Cookie banner */
.ad-cookie {
    position:fixed; bottom:0; left:0; right:0;
    background:#0d0d0d; border-top:2px solid var(--border);
    padding:14px 20px; display:flex; align-items:center; gap:16px;
    flex-wrap:wrap; z-index:9400; box-shadow:0 -4px 20px rgba(0,0,0,0.5);
}
.ad-cookie-text { flex:1; font-size:11px; color:var(--text-dim); line-height:1.5; min-width:200px; }
.ad-cookie-btns { display:flex; gap:8px; flex-shrink:0; }
.ad-cookie-accept { background:var(--accent); color:#fff; border:none; padding:8px 16px; cursor:pointer; font-family:'Courier Prime',monospace; font-size:12px; }
.ad-cookie-more { background:none; border:1px solid var(--border); color:var(--text-dim); padding:8px 14px; cursor:pointer; font-family:'Courier Prime',monospace; font-size:12px; }

/* Newsletter */
.ad-newsletter {
    position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
    background:var(--bg-secondary); border:2px solid var(--border);
    padding:0; min-width:340px; z-index:9150;
}
.ad-newsletter-bar { background:var(--bg-card); padding:8px 14px; display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--text-dim); text-transform:uppercase; letter-spacing:1px; border-bottom:1px solid var(--border); }
.ad-newsletter-body { padding:20px; text-align:center; }
.ad-newsletter-icon { font-size:36px; margin-bottom:8px; }
.ad-newsletter-headline { font-family:'VT323',monospace; font-size:28px; color:var(--text-bright); margin-bottom:8px; }
.ad-newsletter-text { font-size:12px; color:var(--text-dim); margin-bottom:14px; line-height:1.6; }
.ad-newsletter-email { width:100%; background:var(--bg-card); border:1px solid var(--border); color:var(--text-bright); padding:8px 10px; font-family:'Courier Prime',monospace; font-size:12px; outline:none; margin-bottom:8px; }
.ad-newsletter-btn { width:100%; background:var(--accent); color:#fff; border:none; padding:10px; font-family:'Courier Prime',monospace; font-size:13px; cursor:pointer; text-transform:uppercase; }

/* Survey */
.ad-survey {
    position:fixed; bottom:80px; left:20px;
    background:var(--bg-secondary); border:1px solid var(--border);
    padding:0; width:240px; z-index:9050;
}
.ad-survey-bar { background:var(--bg-card); padding:6px 12px; display:flex; align-items:center; justify-content:space-between; font-size:11px; color:var(--text-dim); border-bottom:1px solid var(--border); }
.ad-survey-body { padding:12px; }
.ad-survey-q { font-size:12px; color:var(--text-bright); margin-bottom:8px; }
.ad-survey-opt { display:block; width:100%; background:none; border:1px solid var(--border); color:var(--text-dim); padding:5px 8px; margin-bottom:4px; cursor:pointer; font-family:'Courier Prime',monospace; font-size:11px; text-align:left; transition:all 0.15s; }
.ad-survey-opt:hover { border-color:var(--accent); color:var(--accent); }

/* Flash sale */
.ad-flash {
    position:fixed; top:58px; right:0;
    background:#0a0800; border:2px solid var(--gold);
    border-right:none; border-top:none;
    padding:0; width:280px; z-index:9080;
    animation:flashSlide 0.3s ease;
}
@keyframes flashSlide { from{transform:translateX(100%)} to{transform:translateX(0)} }
.ad-flash-bar { background:var(--gold); padding:6px 12px; display:flex; align-items:center; justify-content:space-between; font-size:11px; color:#000; font-weight:bold; }
.ad-flash-body { padding:12px; }
.ad-flash-item { padding:8px 0; border-bottom:1px solid #1a1400; }
.ad-flash-item:last-child { border-bottom:none; }
.ad-flash-name { font-size:11px; color:var(--text-bright); margin-bottom:3px; }
.ad-flash-prices { display:flex; align-items:center; gap:8px; }
.ad-flash-old { font-size:11px; color:var(--text-dim); text-decoration:line-through; }
.ad-flash-new { font-size:14px; color:var(--gold); font-weight:bold; }
.ad-flash-note { font-size:9px; color:#444; margin-top:2px; }

/* Evasive X button */
.ad-close-btn {
    background:none; border:none; color:inherit;
    cursor:pointer; font-size:14px; padding:2px 4px;
    line-height:1; transition:none;
    display:inline-block;
}
.ad-close-btn:hover { }

/* Location request popup */
.ad-location-req {
    background: #0a0d1a; border: 2px solid #3344aa;
    min-width: 340px; max-width: 420px;
    box-shadow: 0 4px 24px rgba(30,60,200,0.4);
}
.ad-loc-bar { background: #1a2a88; padding: 6px 12px; display:flex; align-items:center; justify-content:space-between; font-size:11px; color:#aabbff; text-transform:uppercase; letter-spacing:1px; position:relative; }
.ad-loc-body { padding: 14px 16px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ad-loc-icon { font-size: 32px; flex-shrink:0; }
.ad-loc-text { flex:1; font-size:13px; color:var(--text-primary); line-height:1.5; min-width:180px; }
.ad-loc-btns { display:flex; gap:8px; width:100%; margin-top:4px; }
.ad-loc-allow { background:#1a2a88; color:#aabbff; border:1px solid #3344aa; padding:7px 18px; cursor:pointer; font-family:'Courier Prime',monospace; font-size:12px; flex:1; transition:background 0.15s; }
.ad-loc-allow:hover { background:#2233aa; }
.ad-loc-deny  { background:none; color:var(--text-dim); border:1px solid var(--border); padding:7px 18px; cursor:pointer; font-family:'Courier Prime',monospace; font-size:12px; flex:1; }
.ad-loc-deny:hover { color:var(--text-primary); border-color:var(--text-dim); }
.ad-popup-blocker {
    position:fixed; bottom:20px; left:50%; transform:translateX(-50%);
    background:#001a00; border:1px solid var(--green);
    padding:10px 16px; font-size:12px; color:var(--green);
    display:flex; align-items:center; gap:10px; z-index:8900;
    animation:slideUp 0.3s ease;
}
@keyframes slideUp { from{transform:translateX(-50%) translateY(100%)} to{transform:translateX(-50%) translateY(0)} }

@media(max-width:768px) {
    .film-hero{flex-direction:column} .admin-grid{grid-template-columns:1fr} #nav{display:none}
    .admin-stats{grid-template-columns:1fr 1fr}
}
