@property --angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }

:root {
    --bg: #030303;
    --neon: #00FF55;
    --neon-dim: rgba(0, 255, 85, 0.15);
    --purple: #9D00FF;
    --purple-dim: rgba(157, 0, 255, 0.15);
    --white: #FAFAFA;
    --muted: #ccc;
}

/* ---- AWWWARDS POLISH ---- */
::-webkit-scrollbar { display: none; }
html { scrollbar-width: none; }
::selection { background: var(--neon); color: var(--bg); text-shadow: none; }

* { margin: 0; padding: 0; box-sizing: border-box; }
body.has-mouse * { cursor: none !important; }

html.lenis { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

body {
    background: var(--bg);
    color: var(--white);
    font-family: 'Manrope', -apple-system, sans-serif;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    transition: filter 0.25s ease;
}
body.loading { overflow: hidden; }
body.inverted { filter: invert(1); transition: filter 0.25s ease; }

h1, h2, .mega-title, .data-value, .data-symbol, .gate-logo, .access-btn {
    font-family: 'Unbounded', sans-serif;
    text-transform: uppercase;
}

/* ---- CYBER TARGETING CURSOR ---- */
.cyber-cursor-wrapper { position: fixed; inset: 0; pointer-events: none; z-index: 999999; }
.cc-dot {
    position: absolute; top: 0; left: 0;
    width: 5px; height: 5px;
    background: var(--neon); border-radius: 50%;
    box-shadow: 0 0 12px var(--neon);
    z-index: 3;
}
.cc-ring {
    position: absolute; top: 0; left: 0;
    width: 20px; height: 20px;
    border: 1px solid rgba(0,255,85,0.5); border-radius: 50%;
    z-index: 2;
    transition: width 0.3s cubic-bezier(0.16,1,0.3,1), height 0.3s cubic-bezier(0.16,1,0.3,1), border-radius 0.3s, border-color 0.3s;
}
.cc-text {
    position: absolute; top: 10px; left: 14px;
    font-family: monospace; font-size: 0.5rem;
    color: var(--neon); letter-spacing: 2px;
    white-space: nowrap; text-shadow: 0 0 5px var(--neon-dim);
    z-index: 4; transition: color 0.2s;
    opacity: 0.7;
}
body.hovering .cc-ring {
    width: 45px; height: 45px; border-radius: 4px;
    border: 1px dashed var(--neon);
    background: rgba(0,255,85,0.03);
    animation: spin 8s linear infinite;
}
body.hovering .cc-dot { background: var(--purple); box-shadow: 0 0 12px var(--purple); }
body.hovering .cc-text { color: var(--white); font-weight: 700; opacity: 1; }

/* ---- ENTRY GATE ---- */
.entry-gate {
    position: fixed; inset: 0; background: #000;
    z-index: 100000; display: flex; align-items: center; justify-content: center;
    transition: opacity 1s, visibility 1s;
}
.entry-gate.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.gate-grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(rgba(0,255,85,0.04) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(0,255,85,0.04) 1px, transparent 1px);
    background-size: 60px 60px;
}
.gate-content { position: relative; z-index: 2; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 2rem; }
.gate-logo { font-size: 3.5rem; font-weight: 900; letter-spacing: -2px; }
.gate-version { font-family: monospace; font-size: 0.65rem; letter-spacing: 4px; }
.gate-btn {
    padding: 1.4rem 3.5rem; border: 1px solid var(--neon);
    background: transparent; color: var(--neon);
    font-family: 'Unbounded', sans-serif; font-size: 0.85rem; font-weight: 700;
    letter-spacing: 3px; text-transform: uppercase;
    transition: background 0.3s, color 0.3s, box-shadow 0.3s;
    position: relative; overflow: hidden;
}
.gate-btn::before {
    content: ''; position: absolute; inset: 0;
    background: var(--neon); transform: scaleX(0);
    transform-origin: left; transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
    z-index: -1;
}
.gate-btn:hover { color: #000; box-shadow: 0 0 40px var(--neon-dim); }
.gate-btn:hover::before { transform: scaleX(1); }
.gate-hint { font-family: monospace; font-size: 0.55rem; letter-spacing: 3px; animation: blink 2s linear infinite; }

/* ---- LOADER ---- */
.singularity-loader {
    position: fixed; inset: 0; background: var(--bg);
    z-index: 99999; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
}
#loader-canvas { position: absolute; inset: 0; opacity: 0.25; }
.loader-core {
    width: 0; height: 0; background: #FFF; border-radius: 50%;
    box-shadow: 0 0 60px var(--neon), 0 0 120px #FFF;
    position: absolute; z-index: 0; mix-blend-mode: screen;
    transition: width 0.2s, height 0.2s;
}
.loader-text { font-family: 'Unbounded', sans-serif; font-size: 5vw; font-weight: 900; color: var(--bg); mix-blend-mode: exclusion; z-index: 2; position: relative; }
.loader-label { position: absolute; bottom: 10vh; font-size: 0.6rem; letter-spacing: 5px; color: var(--muted); text-align: center; font-family: monospace; }
.flash-bang { position: fixed; inset: 0; background: #FFF; z-index: 99998; opacity: 0; pointer-events: none; mix-blend-mode: exclusion; }

/* ---- HUD ---- */
.cyber-hud { position: fixed; inset: 0; pointer-events: none; z-index: 9000; padding: 2.5vw; mix-blend-mode: exclusion; opacity: 0; transition: opacity 2s; }
body:not(.loading) .cyber-hud { opacity: 1; }

.frame-edge { position: absolute; background: rgba(255,255,255,0.08); }
.frame-edge.top { top: 2vw; left: 50%; transform: translateX(-50%); width: 80%; height: 1px; }
.frame-edge.bottom { bottom: 2vw; left: 50%; transform: translateX(-50%); width: 80%; height: 1px; }
.frame-edge.left { left: 2vw; top: 50%; transform: translateY(-50%); height: 80%; width: 1px; }
.frame-edge.right { right: 2vw; top: 50%; transform: translateY(-50%); height: 80%; width: 1px; }

.hud-svg { stroke: rgba(255,255,255,0.3); transition: stroke 1s, filter 1s; }
.svg-trace { stroke-dasharray: 200; stroke-dashoffset: 200; }
.cyber-hud.hud-aggro .hud-svg { stroke: var(--neon); filter: drop-shadow(0 0 8px var(--neon)); }

.hud-top-left { position: absolute; top: 3vw; left: 3vw; display: flex; flex-direction: column; gap: 8px; font-size: 0.65rem; letter-spacing: 2px; }
.hud-line { width: 0; height: 1px; background: var(--neon); transition: width 0.5s; }
.hud-top-right { position: absolute; top: 3vw; right: 3vw; font-size: 0.6rem; letter-spacing: 3px; }
.hud-bottom-left { position: absolute; bottom: 3vw; left: 3vw; display: flex; flex-direction: column; gap: 8px; }
.hud-bottom-right { position: absolute; bottom: 3vw; right: 3vw; font-size: 0.6rem; letter-spacing: 4px; animation: blink 2.5s linear infinite; }

.sound-toggle {
    font-family: monospace; font-size: 0.55rem; letter-spacing: 2px;
    pointer-events: auto; background: rgba(0,255,85,0.08);
    padding: 5px 10px; border: 1px solid var(--neon);
    color: var(--neon); transition: 0.3s; user-select: none;
}
.sound-toggle.muted { color: var(--muted); border-color: rgba(255,255,255,0.1); background: transparent; }

/* ---- NEURAL FEED PANEL ---- */
.neural-feed {
    position: absolute; bottom: 3vw; right: 7vw;
    font-family: monospace; font-size: 0.52rem;
    letter-spacing: 2px; pointer-events: none;
    background: rgba(0,0,0,0.5);
    border: 1px solid rgba(0,255,85,0.15);
    padding: 10px 14px;
    backdrop-filter: blur(10px);
    opacity: 0; transition: opacity 2s;
    min-width: 180px;
}
body:not(.loading) .neural-feed { opacity: 1; }
.nf-header {
    color: var(--neon); font-size: 0.5rem; letter-spacing: 4px;
    border-bottom: 1px solid rgba(0,255,85,0.15); padding-bottom: 6px;
    margin-bottom: 8px;
}
.nf-row {
    display: flex; justify-content: space-between;
    color: rgba(255,255,255,0.35); margin: 3px 0; gap: 16px;
}
.nf-val { color: #FFF; font-weight: 700; }

/* ---- COMET TRAIL ---- */
.comet-dot {
    position: fixed; pointer-events: none; z-index: 999997;
    width: 5px; height: 5px; border-radius: 50%;
    background: var(--neon);
    box-shadow: 0 0 8px var(--neon);
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
    will-change: transform, opacity;
}

/* ---- SCROLL PROGRESS ---- */
.scroll-progress-container {
    position: fixed; right: 2.5vw; top: 50%; transform: translateY(-50%);
    height: 30vh; width: 1px; background: rgba(255,255,255,0.08);
    z-index: 9000; pointer-events: none; opacity: 0; transition: opacity 2s;
}
body:not(.loading) .scroll-progress-container { opacity: 1; }
.scroll-progress-bar {
    position: absolute; top: 0; left: -1px; width: 3px; height: 0%;
    background: var(--neon); box-shadow: 0 0 10px var(--neon);
    transition: height 0.1s; will-change: height;
}
.scroll-progress-text {
    position: absolute; bottom: -22px; left: 50%; transform: translateX(-50%);
    font-family: monospace; font-size: 0.45rem; color: var(--neon); letter-spacing: 1px;
}

/* ---- FX LAYERS ---- */
#grain-canvas { position: fixed; inset: 0; z-index: 8000; pointer-events: none; opacity: 0.04; }
.scanlines { position: fixed; inset: 0; background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.25) 51%); background-size: 100% 4px; z-index: 8001; pointer-events: none; opacity: 0.15; }
#canvas-container { position: fixed; inset: 0; z-index: 0; }

/* ---- TEXT UTILS ---- */
.text-neon { color: var(--neon); text-shadow: 0 0 12px var(--neon-dim); }
.text-purple { color: var(--purple); text-shadow: 0 0 12px var(--purple-dim); }
.text-muted { color: var(--muted); }
.text-small { font-size: 0.55rem; letter-spacing: 4px; }
.text-bold { font-weight: 700; }
.glow-accent { text-shadow: 0 0 20px rgba(255,255,255,0.08); }

/* ---- LAYOUT ---- */
.scroll-container { position: relative; z-index: 10; width: 100%; filter: url(#scroll-glitch); transform: translate3d(0,0,0); }
.panel { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 10vh 10vw; position: relative; perspective: 1200px; }
.panel-content { width: 100%; max-width: 1400px; margin: 0 auto; position: relative; z-index: 2; transform-style: preserve-3d; }
.right-align { text-align: right; display: flex; flex-direction: column; align-items: flex-end; }
.center-align { text-align: center; display: flex; flex-direction: column; align-items: center; }
.z-up { z-index: 500; }
.mt-4 { margin-top: 4rem; }
.mt-huge { margin-top: 15vh; }
.spacer-screen { min-height: 50vh; pointer-events: none; }

/* ---- TYPOGRAPHY ---- */
.mega-title {
    display: block;
    font-size: 10vw;   /* JS fitText overrides this */
    line-height: 0.88; font-weight: 900;
    letter-spacing: -3px;
    white-space: nowrap;
    mix-blend-mode: difference;
    color: #FFF; text-shadow: 0 0 80px rgba(255,255,255,0.15);
    animation: text-shake-micro 5s infinite alternate;
    transform-style: preserve-3d;
}
.text-glitch { animation: text-shake-micro 5s infinite alternate; }
.mega-title.outline { color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,0.35); mix-blend-mode: normal; text-shadow: none; }

/* ---- GENIUS: ABSOLUT PAINT REVEAL ---- */
.absolut-wrapper {
    position: relative;
    width: 100%;
    line-height: 0.85;
    margin-bottom: 1rem;
}
.absolut-title {
    display: block;
    font-family: 'Unbounded', sans-serif;
    font-size: 20vw;   /* fitText overrides this */
    font-weight: 900;
    letter-spacing: -4px;
    white-space: nowrap;
    width: 100%;
    text-align: center;
    line-height: 0.85;
}
.absolut-outline {
    color: transparent;
    -webkit-text-stroke: 1.5px rgba(255,255,255,0.15);
    position: absolute; top: 0; left: 0;
    width: 100%;
    pointer-events: none;
    /* outline shows ABOVE scan line: clip from bottom */
    clip-path: inset(0 0 100% 0);
}
.absolut-filled {
    color: #FFFFFF;
    text-shadow: 0 0 60px rgba(255,255,255,0.2);
    mix-blend-mode: difference;
    position: relative;
    /* fill shows BELOW scan line: clip from top */
    clip-path: inset(100% 0 0 0);
}
/* ── HERO РЕВОЛЮЦИЯ: убираем прямоугольник + зелёный hover ──
   Причина прямоугольника: transform-style:preserve-3d + mix-blend-mode:difference +
   огромный text-shadow (60-80px blur) = браузер создаёт видимый compositing layer.
   Фикс: flat transform-style + меньший shadow только для hero.            */
#hero-laser-wrapper .mega-title {
    transform-style: flat;
    text-shadow: 0 0 15px rgba(255,255,255,0.08);
}
#hero-laser-wrapper .absolut-filled {
    transform-style: flat;
    text-shadow: 0 0 15px rgba(255,255,255,0.08);
    transition: color 0.4s ease, text-shadow 0.4s ease;
}

/* THE LASER LINE */
.scan-laser {
    position: absolute;
    left: -5%; width: 110%; height: 2px;
    top: 0%; /* JS moves this */
    background: linear-gradient(90deg, transparent, var(--neon) 20%, #00FFFF 50%, var(--neon) 80%, transparent);
    box-shadow: 0 0 20px var(--neon), 0 0 60px rgba(0,255,85,0.4), 0 0 120px rgba(0,255,85,0.1);
    transform: scaleY(1);
    opacity: 1;
    pointer-events: none;
    z-index: 10;
}

.sub-title { font-size: 1.6vw; font-weight: 600; letter-spacing: 3px; margin-top: 2rem; max-width: 600px; line-height: 1.5; text-transform: uppercase; color: #D0D0D0; }
.cyber-desc { margin-top: 2.5rem; max-width: 480px; font-size: 1rem; line-height: 1.9; color: var(--muted); border-left: 2px solid var(--neon); padding-left: 1.5rem; background: linear-gradient(90deg, var(--neon-dim), transparent); backdrop-filter: blur(20px); }

/* ---- EPIC DATA BOXES ---- */
.epic-box {
    background: rgba(3,3,3,0.65);
    padding: 3.5rem; position: relative;
    backdrop-filter: blur(60px);
    width: 620px; text-align: left;
    transform-style: preserve-3d;
    border: 1px solid rgba(255,255,255,0.04);
    box-shadow: 0 50px 120px rgba(0,0,0,0.9), inset 0 0 0 1px rgba(255,255,255,0.02);
}
.box-border-orbit {
    position: absolute; inset: -1px; z-index: -1;
    background: conic-gradient(from var(--angle), transparent 70%, var(--neon) 100%);
    animation: rotateBorder 3s linear infinite; 
    opacity: 0; transition: opacity 1s 0.2s;
}
.purple-orbit { background: conic-gradient(from var(--angle), transparent 70%, var(--purple) 100%); }
@keyframes rotateBorder { to { --angle: 360deg; } }

.epic-box.in-view .box-border-orbit { opacity: 0.6; }
.epic-box:hover .box-border-orbit { opacity: 1; }

.corner { position: absolute; width: 20px; height: 20px; border: 1px solid var(--neon); transition: 0.6s cubic-bezier(0.16,1,0.3,1); z-index: 5; }
.top-left { top: -1px; left: -1px; border-bottom: 0; border-right: 0; }
.top-right { top: -1px; right: -1px; border-bottom: 0; border-left: 0; }
.bottom-left { bottom: -1px; left: -1px; border-top: 0; border-right: 0; }
.bottom-right { bottom: -1px; right: -1px; border-top: 0; border-left: 0; }
.corner-purple { border-color: var(--purple); }

.epic-box.in-view .corner { width: 44px; height: 44px; }
.epic-box:hover .corner { width: 55px; height: 55px; box-shadow: 0 0 20px var(--neon-dim); border-width: 2px; }
.epic-box:hover .corner-purple { box-shadow: 0 0 20px var(--purple-dim); border-width: 2px; }

.epic-inner { position: relative; z-index: 2; }
.data-header { font-size: 0.7rem; color: var(--muted); letter-spacing: 5px; margin-bottom: 1.5rem; font-family: monospace; }
.data-value { font-size: 8vw; font-weight: 900; line-height: 0.85; display: inline-block; transform: translateZ(50px); letter-spacing: -3px; }
.data-symbol { font-size: 3.5rem; vertical-align: super; transform: translateZ(30px); display: inline-block; }
.data-label { font-size: 0.9rem; letter-spacing: 3px; margin-top: 1.5rem; margin-bottom: 1rem; transform: translateZ(15px); }
.epic-desc { font-size: 0.9rem; color: var(--muted); line-height: 1.8; }

.cyber-bar { width: 100%; height: 2px; background: rgba(255,255,255,0.05); position: relative; margin-top: 15px; }
.cyber-fill { position: absolute; top: 0; left: 0; height: 100%; background: #FFF; box-shadow: 0 0 15px #FFF; }
.purple-fill { background: var(--purple); box-shadow: 0 0 15px var(--purple); }

.data-rain-container { position: absolute; inset: 0; overflow: hidden; opacity: 0.03; z-index: 1; pointer-events: none; }
.data-rain { font-family: monospace; font-size: 1.1rem; color: var(--neon); display: block; overflow-wrap: break-word; word-break: break-all; animation: rainScroll 6s linear infinite; }
@keyframes rainScroll { from { transform: translateY(-50%); } to { transform: translateY(0); } }

/* ---- CTA BUTTON ---- */
.magnetic-wrapper { display: inline-block; padding: 2rem; }
.access-btn {
    position: relative; padding: 1.8rem 4.5rem;
    background: transparent; border: 1px solid rgba(255,255,255,0.12);
    color: #FFF; font-weight: 800; font-size: 1rem;
    letter-spacing: 3px; overflow: hidden;
    transition: color 0.3s, border-color 0.3s, box-shadow 0.3s;
    backdrop-filter: blur(10px);
}
.access-btn::before {
    content: ''; position: absolute; inset: 0;
    background: var(--neon); transform: scaleY(0);
    transform-origin: bottom; transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
    z-index: -1;
}
.access-btn:hover { color: #000; border-color: var(--neon); box-shadow: 0 15px 50px var(--neon-dim); }
.access-btn:hover::before { transform: scaleY(1); }
.btn-text { position: relative; z-index: 2; }

/* ════════════════════════════════
   ENERGY SHARD BUTTON
════════════════════════════════ */
.shard-wrap {
    display: flex;
    justify-content: center;
}
.shard-outer {
    position: relative;
    width: 580px;
    height: 116px;
}
.shard-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: visible;
}
.shard-poly-bg {
    fill: rgba(0,0,0,0.88);
    stroke: none;
}
/* ── Бегущая энергетическая линия ── */
.shard-poly-line {
    fill: none;
    stroke: rgba(0,255,85,0.55);
    stroke-width: 1.5;
    filter: drop-shadow(0 0 5px #00FF55) drop-shadow(0 0 12px rgba(0,255,85,0.4));
    stroke-dasharray: 160 900;
    stroke-dashoffset: 1060;
    animation: shard-run 2.8s linear infinite;
}
@keyframes shard-run {
    to { stroke-dashoffset: 0; }
}
.shard-btn {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
    transition: none;
    outline: none;
}
.shard-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    transform: skewX(0deg);
    pointer-events: none;
}
.shard-text {
    font-family: 'Unbounded', sans-serif;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 3px;
    color: #fff;
    text-shadow: 0 0 16px rgba(255,255,255,0.3);
    text-transform: uppercase;
    white-space: nowrap;
    transition: letter-spacing 0.4s, text-shadow 0.4s, color 0.3s;
}
.shard-sub {
    font-family: monospace;
    font-size: 0.45rem;
    letter-spacing: 5px;
    color: var(--muted);
    animation: blink 2s infinite;
}
/* Hover state — JS добавляет класс .active */
.shard-outer.active .shard-poly-line {
    stroke: rgba(255,255,255,0.9);
    stroke-dasharray: 260 800;
    filter: drop-shadow(0 0 10px #fff) drop-shadow(0 0 24px rgba(255,255,255,0.6));
    animation: shard-run 0.35s linear infinite;
}
.shard-outer.active .shard-text {
    letter-spacing: 8px;
    color: #fff;
    text-shadow: 0 0 30px #fff, 0 0 60px rgba(0,255,85,0.5);
}
.shard-outer.active .shard-poly-bg {
    fill: rgba(10,10,10,0.7);
}
.shard-btn:active .shard-inner { transform: scale(0.95); }

/* ---- SINGULARITY (старый, не используется) ---- */
/* FLASH OVERLAY */
#sing-flash {
    position: fixed;
    inset: 0;
    background: #fff;
    pointer-events: none;
    opacity: 0;
    z-index: 9999;
}


/* ---- CYBER FOOTER ---- */
.cyber-footer { border-top: none; background: linear-gradient(to top, rgba(0,0,0,0.95), transparent); overflow: hidden; position: relative; z-index: 20; }
.marquee-container { width: 100%; overflow: hidden; white-space: nowrap; padding: 4vh 0; }
.marquee-content { display: inline-block; animation: marquee 20s linear infinite; font-family: 'Unbounded', sans-serif; font-size: 3.5vw; font-weight: 900; color: rgba(255,255,255,0.04); transition: color 0.4s; }
.marquee-content span { padding-right: 2vw; }
.marquee-container:hover .marquee-content { color: rgba(255,255,255,0.15); }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding: 3vh 5vw; }

/* ---- GSAP UTILS ---- */
.fade-up { opacity: 0; transform: translateY(50px); }
.char { display: inline-block; opacity: 0; transform: translateY(80px) rotateX(-90deg); transform-style: preserve-3d; }

/* ---- ANIMATIONS ---- */

@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
@keyframes spin { 100% { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes text-shake-micro {
    0%, 100% { transform: translateX(0) scale(1); filter: blur(0px); }
    10% { transform: translateX(-1px) scale(1.001); filter: blur(0.2px); }
    30% { transform: translateX(1px); }
}

/* ---- HERO NAV ---- */
.hero-nav {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 2rem;
    z-index: 20;
    opacity: 0;
    transition: opacity 1.5s;
}
body:not(.loading) .hero-nav { opacity: 1; }

.hero-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}
.hn-num {
    font-family: monospace;
    font-size: 0.5rem;
    color: var(--muted);
    letter-spacing: 2px;
    transition: color 0.3s;
    min-width: 16px;
}
.hn-line {
    width: 20px;
    height: 1px;
    background: var(--muted);
    transition: width 0.4s cubic-bezier(0.16,1,0.3,1), background 0.3s;
}
.hn-label {
    font-family: monospace;
    font-size: 0.65rem;
    letter-spacing: 3px;
    color: var(--muted);
    text-transform: uppercase;
    transition: color 0.3s, font-size 0.3s;
    white-space: nowrap;
}
.hero-nav-item:hover .hn-num,
.hero-nav-item:hover .hn-label { color: var(--neon); font-size: 0.78rem; animation: nav-blink 0.6s step-end infinite; }
.hero-nav-item:hover .hn-line { width: 40px; background: var(--neon); box-shadow: 0 0 8px var(--neon); }
@keyframes nav-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.hn-cta .hn-num,
.hn-cta .hn-label { color: var(--purple); animation: purple-pulse 2s ease-in-out infinite; }
.hn-cta .hn-line { background: var(--purple); box-shadow: 0 0 12px var(--purple), 0 0 30px var(--purple-dim); animation: line-pulse 2s ease-in-out infinite; }
.hn-cta:hover .hn-num,
.hn-cta:hover .hn-label { color: #fff; font-size: 0.78rem; animation: nav-blink 0.4s step-end infinite; }
.hn-cta:hover .hn-line { background: var(--purple); box-shadow: 0 0 20px var(--purple), 0 0 50px var(--purple); width: 50px; }

@keyframes purple-pulse {
    0%, 100% { text-shadow: 0 0 8px var(--purple); opacity: 1; }
    50% { text-shadow: 0 0 20px var(--purple), 0 0 40px var(--purple); opacity: 0.8; }
}
@keyframes line-pulse {
    0%, 100% { box-shadow: 0 0 8px var(--purple); width: 20px; }
    50% { box-shadow: 0 0 20px var(--purple), 0 0 40px var(--purple); width: 30px; }
}

@media (max-width: 768px) { .hero-nav { display: none; } }

/* ---- CHIMERA HEADS SECTION ---- */
.heads-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    width: 100%;
    max-width: 1200px;
}
.head-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 1.5rem auto;
    position: relative;
}
.wireframe-head {
    width: 100%;
    height: 100%;
    fill: none;
    stroke-width: 2.5;
    stroke-linejoin: round;
    stroke-linecap: round;
    filter: drop-shadow(0 0 10px currentColor);
    animation: glow-pulse 2s infinite alternate ease-in-out;
}
.eye-glow {
    animation: eye-pulse 2s infinite alternate ease-in-out;
}
.svg-lion .wireframe-head { stroke: var(--neon); color: var(--neon); }
.svg-goat .wireframe-head { stroke: var(--purple); color: var(--purple); }
.svg-snake .wireframe-head { stroke: #FFF; color: #FFF; }

@keyframes glow-pulse {
    0% { filter: drop-shadow(0 0 5px currentColor) drop-shadow(0 0 10px currentColor); opacity: 0.85; stroke-width: 2.5; }
    100% { filter: drop-shadow(0 0 20px currentColor) drop-shadow(0 0 40px currentColor) drop-shadow(0 0 60px currentColor); opacity: 1; stroke-width: 3.5; }
}
@keyframes eye-pulse {
    0% { filter: drop-shadow(0 0 10px currentColor); opacity: 0.7; }
    100% { filter: drop-shadow(0 0 30px currentColor) drop-shadow(0 0 50px currentColor); opacity: 1; }
}

.box-green .epic-inner, .box-purple .epic-inner, .box-white .epic-inner {
    text-align: center;
}

/* White theme overrides for Epic Box */
.white-orbit { background: conic-gradient(from var(--angle), transparent 70%, #FFF 100%); }
.corner-white { border-color: #FFF; }
.box-white:hover .corner-white { box-shadow: 0 0 20px rgba(255,255,255,0.3); border-width: 2px; }
.white-fill { background: #FFF; box-shadow: 0 0 15px #FFF; }
.text-white { color: #FFF; text-shadow: 0 0 12px rgba(255,255,255,0.3); }

/* ---- FEATURES WHY CHIMERA ---- */
.feature-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
}
.feature-item {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    padding: 2.5rem 3rem;
    background: rgba(255, 255, 255, 0.01);
    border: 1px solid rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    cursor: pointer;
    transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}
.feature-item::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    box-shadow: inset 0 0 0 1px var(--neon);
    opacity: 0;
    transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
    border-radius: 8px;
}
.feature-item:hover {
    background: rgba(0, 255, 85, 0.03);
    transform: translateX(15px);
}
.feature-item:hover::after {
    opacity: 1;
}

.feature-icon {
    width: 60px;
    height: 60px;
    color: var(--muted);
    transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    flex-shrink: 0;
}
.feature-item:hover .feature-icon {
    color: var(--neon);
    transform: scale(1.15);
    filter: drop-shadow(0 0 10px var(--neon));
}
.wireframe-icon { width: 100%; height: 100%; overflow: visible; }

.feature-text { display: flex; flex-direction: column; }
.feature-title {
    font-family: 'Manrope', sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    color: #FFF;
    margin: 0;
    line-height: 1.4;
    transition: 0.4s;
}
.feature-item:hover .feature-title {
    color: var(--neon);
    text-shadow: 0 0 8px rgba(0,255,85,0.3);
}

/* ---- PURE NEURAL CORE TRANSPARENCY BLOCK ---- */
.neural-core-wrapper {
    position: relative;
    width: 100%;
    margin-top: 8rem;
    padding: 12rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    overflow: hidden;
}
.core-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 900px;
    padding: 0 2rem;
    z-index: 10;
}
.core-ring {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}
.core-ring-1 {
    width: 350px; height: 350px;
    border: 1px solid rgba(0, 255, 85, 0.2);
    border-left: 2px solid var(--neon);
    box-shadow: inset 0 0 40px rgba(0,255,85,0.1), 0 0 40px rgba(0,255,85,0.1);
    animation: spinRing 12s linear infinite;
}
.core-ring-2 {
    width: 500px; height: 500px;
    border: 1px dashed rgba(157, 0, 255, 0.3);
    border-right: 3px solid var(--purple);
    border-bottom: 3px solid var(--purple);
    box-shadow: inset 0 0 20px rgba(157,0,255,0.1);
    animation: spinRingReverse 20s linear infinite;
}
.core-ring-3 {
    width: 700px; height: 700px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-top: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
    animation: spinRing 30s linear infinite;
    opacity: 0.6;
}
.core-ring-4 {
    width: 900px; height: 900px;
    border: 1px dotted rgba(0, 255, 85, 0.2);
    animation: spinRingReverse 40s linear infinite;
    opacity: 0.4;
}

@keyframes spinRing {
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes spinRingReverse {
    100% { transform: translate(-50%, -50%) rotate(-360deg); }
}

.core-title {
    font-size: 5rem;
    font-weight: 900;
    font-family: 'Unbounded', sans-serif;
    margin: 0 0 1.5rem 0;
    letter-spacing: -2px;
    color: #FFF;
    text-shadow: 0 0 30px rgba(255,255,255,0.3);
    position: relative;
}
.core-desc {
    font-size: 1.6rem;
    line-height: 1.5;
    color: rgba(255,255,255,0.8);
    margin: 0 0 3rem 0;
    font-family: 'Manrope', sans-serif;
}
.core-testimonial-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 10;
}
.core-testimonial-text p {
    font-family: 'Manrope', sans-serif;
    font-size: 1.3rem;
    line-height: 1.6;
    color: rgba(255,255,255,0.7);
    margin: 0;
}

/* ---- SPORTS MARKETS STACK ---- */
.sports-stack {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.sport-row {
    display: grid;
    grid-template-columns: 60px 1fr auto;
    align-items: center;
    padding: 3rem 0;
    position: relative;
    cursor: pointer;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.sport-row:first-child { border-top: 1px solid rgba(255,255,255,0.05); }
.sport-index {
    font-family: monospace;
    font-size: 1rem;
    letter-spacing: 2px;
    transition: 0.4s;
}
.sport-name {
    font-family: 'Unbounded', sans-serif;
    font-size: 7vw;
    font-weight: 900;
    letter-spacing: -2px;
    text-transform: uppercase;
    transition: 0.5s cubic-bezier(0.16,1,0.3,1);
    white-space: nowrap;
    margin: 0;
    line-height: 1;
}
.sport-name.outline {
    color: transparent;
    -webkit-text-stroke: 1.5px rgba(255,255,255,0.25);
}
.sparkline {
    width: 120px;
    height: 40px;
    justify-self: end;
    overflow: visible;
    opacity: 0;
    transform: translateX(40px);
    transition: 0.5s cubic-bezier(0.16,1,0.3,1);
}
.sport-row:hover .sparkline {
    opacity: 1;
    transform: translateX(0);
}
.sparkline-path {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 200;
    stroke-dashoffset: 0;
    filter: drop-shadow(0 0 6px currentColor);
}
.sport-row:hover .sparkline-path {
    animation: sparkDrawHover 2.5s cubic-bezier(0.2, 1, 0.3, 1) forwards;
}

.sparkline-fill {
    opacity: 0;
    transition: opacity 2s ease;
}
.sport-row:hover .sparkline-fill {
    opacity: 1;
    transition-delay: 0.5s;
}

.sparkline-dot {
    opacity: 0;
    transform: scale(0.5);
    transform-origin: 120px center;
    transition: opacity 2.5s ease, transform 2.5s ease, filter 2.5s ease;
}
.sport-row:hover .sparkline-dot {
    opacity: 1;
    transform: scale(1.2);
    filter: drop-shadow(0 0 10px currentColor);
}

@keyframes sparkDrawHover {
    0% { stroke-dashoffset: 200; }
    100% { stroke-dashoffset: 0; }
}

.sport-line {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    height: 2px;
    transition: 0.7s cubic-bezier(0.16,1,0.3,1);
    z-index: 2;
}
.border-neon { background: var(--neon); }
.border-purple { background: var(--purple); }
.border-white { background: #FFF; }

.sport-row:hover .sport-name {
    color: #FFF;
    -webkit-text-stroke: 0px transparent;
    transform: translateX(30px);
    text-shadow: 0 0 40px rgba(255,255,255,0.4);
}
/* metrics removed */
.sport-row:hover .sport-line { width: 100%; }
.sport-row:hover .border-neon { box-shadow: 0 0 20px var(--neon); }
.sport-row:hover .border-purple { box-shadow: 0 0 20px var(--purple); }
.sport-row:hover .border-white { box-shadow: 0 0 20px #FFF; }
.sport-row:hover:nth-child(1) .sport-index { color: var(--neon); }
.sport-row:hover:nth-child(2) .sport-index { color: var(--purple); }
.sport-row:hover:nth-child(3) .sport-index { color: #FFF; }
.sport-row:hover:nth-child(4) .sport-index { color: var(--purple); }
.sport-row:hover:nth-child(5) .sport-index { color: var(--neon); }

/* ---- MOBILE ---- */
@media (max-width: 768px) {
    /* Prevent horizontal overflow globally */
    main, body { overflow-x: hidden; }

    /* --- LAYOUT --- */
    .panel { padding: 8vh 6vw; }
    #sec-1.panel { 
        min-height: 100svh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding-top: 12vh;
        padding-bottom: 6vh;
        position: relative;
    }

    /* Top neon gradient bar above hero text */
    #sec-1.panel::before {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0;
        height: 3px;
        background: linear-gradient(90deg, transparent, var(--neon), var(--purple), transparent);
        z-index: 10;
    }

    /* --- HERO --- */
    .mega-title { 
        font-size: 18vw; 
        letter-spacing: -1px; 
        line-height: 0.9;
        text-shadow: 0 0 80px rgba(0,255,85,0.15), 0 0 160px rgba(157,0,255,0.1);
    }
    .title-container { width: 100%; }
    .sub-title { 
        font-size: 4.5vw; 
        letter-spacing: 2px; 
        margin-top: 1.5rem; 
        max-width: 100%; 
        color: rgba(255,255,255,0.8);
    }
    .cyber-desc {
        max-width: 100% !important;
        margin: 2rem auto 0 0 !important;
        font-size: 0.82rem;
        padding-left: 0.8rem;
        border-left: 2px solid var(--neon);
        background: none !important;
        backdrop-filter: none !important;
    }
    .hero-typewriter {
        font-size: 0.82rem !important;
        line-height: 1.8 !important;
        letter-spacing: 0.3px !important;
    }

    /* --- SPACER --- */
    .spacer-screen { min-height: 20vh; }

    /* --- METRICS / EPIC BOXES --- */
    .epic-box { 
        width: 100% !important; 
        max-width: 100% !important; 
        padding: 2rem 1.5rem;
        box-shadow: 0 20px 60px rgba(0,0,0,0.8), inset 0 0 0 1px rgba(255,255,255,0.04);
    }
    .metrics.panel { align-items: flex-start; }
    .right-align { align-items: flex-start; text-align: left; width: 100%; }
    .data-value { font-size: 20vw; }
    .data-symbol { font-size: 2.5rem; }
    .data-header { font-size: 0.6rem; letter-spacing: 3px; }
    .mt-4 { margin-top: 2rem !important; }

    /* Glowing separator between sections */
    .metrics::after, .chimera-heads::after, .features::after {
        content: '';
        position: absolute;
        bottom: 0; left: 10%; right: 10%;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(0,255,85,0.2), rgba(157,0,255,0.2), transparent);
    }

    /* --- CHIMERA HEADS --- */
    .chimera-heads.panel { padding-top: 6vh; }
    .heads-grid { grid-template-columns: 1fr; gap: 1.2rem; }
    .head-icon { width: 56px; height: 56px; margin: 0 auto 1rem auto; }
    .box-green .epic-inner, .box-purple .epic-inner, .box-white .epic-inner { text-align: center; }
    .learning-box { margin-top: 1.5rem !important; }

    /* --- NEURAL CORE RINGS --- */
    .neural-core-wrapper { 
        padding: 6rem 0; 
        margin-top: 0; 
        overflow: hidden;
        background: radial-gradient(circle at center, rgba(157,0,255,0.06) 0%, transparent 70%);
    }
    .core-title { font-size: 2.4rem; letter-spacing: -1px; }
    .core-desc { font-size: 1rem; padding: 0 1rem; }
    .core-testimonial-text p { font-size: 0.95rem; padding: 0 0.5rem; }
    .core-ring-1 { width: 200px; height: 200px; }
    .core-ring-2 { width: 290px; height: 290px; }
    .core-ring-3 { display: none; }
    .core-ring-4 { display: none; }

    /* --- FEATURES --- */
    .features.panel h2.sub-title { 
        font-size: 5vw; 
        margin-bottom: 2rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid rgba(255,255,255,0.05);
        width: 100%;
    }
    .feature-item { 
        flex-direction: row;
        align-items: center;
        padding: 1.5rem; 
        gap: 1.5rem;
        border-radius: 6px;
    }
    .feature-icon { width: 42px; height: 42px; flex-shrink: 0; }
    .feature-title { font-size: 0.95rem; }
    .sport-index { font-size: 0.7rem; }

    /* --- MARKETS --- */
    #sec-markets.panel { 
        padding-top: 4vh;
        padding-bottom: 8vh;
    }
    .sports-stack { margin-top: 1rem; }
    .sparkline { opacity: 1; transform: translateX(0); width: 65px; height: 24px; }
    .sparkline-path { animation: sparkDrawHover 2s cubic-bezier(0.2, 1, 0.3, 1) forwards; }
    .sparkline-fill { opacity: 0.6; }
    .sparkline-dot { opacity: 1; transform: scale(1); filter: drop-shadow(0 0 5px currentColor); }
    .sport-row { grid-template-columns: 22px 1fr 68px; padding: 1.8rem 0; gap: 10px; }
    .sport-name { font-size: 9.5vw; }

    /* --- CTA SECTION --- */
    #sec-3.panel { text-align: center; align-items: center; padding: 8vh 5vw; }
    .absolut-title { font-size: 25vw; }
    .sub-title.text-neon { font-size: 5vw; }
    .magnetic-wrapper { padding: 0.5rem; width: 100%; display: block; }
    .access-btn { width: 100%; font-size: 0.9rem; padding: 1.4rem; letter-spacing: 3px; }

    /* --- SIDE NAV --- */
    .side-nav { display: none !important; }
    .hero-nav { display: none !important; }

    /* --- HUD CLEANUP --- */
    .scroll-progress-container { display: none; }
    .frame-edge { display: none; }
    .hud-top-right { display: none; }
    .hud-bottom-left { display: none; }
    .neural-feed { display: none; }
    .cyber-cursor-wrapper { display: none !important; }
    body.has-mouse * { cursor: auto !important; }

    /* --- LOADER / GATE --- */
    .gate-logo { font-size: 2.2rem; }
    .gate-hint { font-size: 0.5rem; }
    .gate-version { font-size: 0.5rem; }
    .gate-btn { padding: 1.2rem 3rem; font-size: 0.8rem; }
    .loader-text { font-size: 14vw; }

    /* --- FOOTER --- */
    .footer-bottom { flex-direction: column; gap: 1rem; text-align: center; }
    .marquee-content { font-size: 5.5vw; }
    .marquee-container { padding: 2.5vh 0; }

    /* --- SCAN LASER --- */
    /* overflow: visible чтобы буквы не обрезались (Д, Р, Я), лазер чуть выходит — не заметно */
    .absolut-wrapper { overflow: visible; }
}



@media (max-width: 480px) {
    .mega-title { font-size: 17vw; }
    .core-title { font-size: 2rem; }
    .sub-title { font-size: 6.5vw; }
    .epic-box { padding: 1.5rem 1rem; }
    .data-value { font-size: 20vw; }
    .hero-typewriter { font-size: 0.78rem !important; }
    .sport-name { font-size: 11vw; }
}

/* ════════════════════════════════
   MOBILE — полный фикс
════════════════════════════════ */
@media (max-width: 768px) {

    /* ── МЫ ЗА ПРОЗРАЧНОСТЬ ── */
    .absolut-title[style*="font-size:3vw"],
    .absolut-title[style*="font-size: 3vw"] {
        font-size: 7vw !important;
        white-space: normal !important;
        text-align: center;
        letter-spacing: 2px !important;
    }
    #transp-laser-wrapper {
        text-align: center;
    }

    /* ── ENERGY SHARD КНОПКА ── */
    .shard-wrap {
        padding: 0 4vw;
    }
    .shard-outer {
        width: 92vw !important;
        height: 80px !important;
    }
    .shard-svg {
        width: 100% !important;
        height: 100% !important;
    }
    .shard-text {
        font-size: 3.8vw !important;
        letter-spacing: 2px !important;
        white-space: nowrap;
    }
    .shard-sub {
        font-size: 0.38rem !important;
        letter-spacing: 3px !important;
    }

    /* ── CTA СЕКЦИЯ центрирование ── */
    #sec-3 .panel-content {
        align-items: center !important;
        text-align: center !important;
    }
    #sec-3 .absolut-wrapper {
        text-align: center;
    }
    #sec-3 .absolut-title {
        font-size: 20vw !important;
    }
    #sec-3 .sub-title {
        font-size: 4.5vw !important;
    }

    /* ── NEURAL CORE текст ── */
    .core-desc {
        font-size: 4.2vw !important;
        text-align: center !important;
        padding: 0 4vw !important;
    }
    .core-testimonial-text p {
        font-size: 4vw !important;
        text-align: center !important;
        padding: 0 4vw !important;
    }

    /* ── Отключаем тяжёлые фильтры на мобиле ── */
    .shard-poly-line {
        filter: none !important;
    }
    .shard-outer.active .shard-poly-line {
        filter: none !important;
    }

    /* ── Кнопка тач-эффект ── */
    .shard-btn:active .shard-inner {
        transform: scale(0.94);
    }
    .shard-outer.active .shard-text {
        letter-spacing: 4px !important;
    }

    /* ── Three.js canvas — не тянуть на полный размер ── */
    #bg-canvas {
        opacity: 0.5 !important;
    }
}

/* ════════════════════════════════════════════
   MOBILE PREMIUM — полный редизайн под телефон
════════════════════════════════════════════ */
@media (max-width: 768px) {

    /* ── Отключаем тяжёлые CSS backdrop-filter на блоках ── */
    .epic-box, .feature-item, .cyber-desc, .neural-feed {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    .epic-box, .feature-item, .cyber-desc {
        box-shadow: 0 0 0 1px rgba(255,255,255,0.06) !important;
    }
    .box-green { box-shadow: 0 0 0 1px rgba(0,255,85,0.15) !important; }
    .box-purple { box-shadow: 0 0 0 1px rgba(157,0,255,0.15) !important; }

    /* Скрываем прогресс-бары (fill анимация отключена на мобилке) */
    .cyber-bar { display: none !important; }

    /* Все fade-up сразу видимы — не ждём GSAP */
    .fade-up { opacity: 1 !important; transform: none !important; }
    .epic-box { opacity: 1 !important; transform: none !important; }

    /* Текст на мобиле */
    .absolut-outline { display: none !important; }
    /* Hero — всегда видно (без JS-таймера) */
    #hero-laser-wrapper .absolut-filled {
        clip-path: none !important;
        text-shadow: 0 0 30px rgba(0,255,85,0.2) !important;
    }
    /* МЫ ЗА ПРОЗРАЧНОСТЬ — GSAP анимирует при скролле (scan laser работает) */
    #transp-laser-wrapper .absolut-filled {
        text-shadow: 0 0 40px rgba(0,255,85,0.5) !important;
    }
    /* Лазер скрыт только для hero (там не нужен), для остальных — работает */
    #hero-laser { display: none !important; }


    /* ── ENTRY GATE ── */
    .entry-gate {
        padding: 0 6vw;
    }
    .gate-logo {
        font-size: 11vw !important;
        letter-spacing: 2px;
        text-align: center;
    }
    .gate-btn {
        width: 100%;
        max-width: 320px;
        padding: 1.4rem 2rem !important;
        font-size: 0.85rem !important;
        letter-spacing: 4px;
    }

    /* ── HERO ── */
    #sec-1.panel {
        padding: 0 6vw !important;
        min-height: 100svh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start !important;
        gap: 0;
    }
    /* panel-content как flex — выравнивает РЕВОЛЮЦИЯ и «В мире бетинга» по одной левой линии */
    #sec-1 .panel-content {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
    }
    .absolut-wrapper { text-align: left; width: 100%; }
    .title-container { width: 100% !important; }
    #sec-1 .sub-title {
        text-align: left !important;
        width: 100% !important;
        align-self: flex-start !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    /* РЕВОЛЮЦИЯ — fitText сам считает размер (1.0 factor на мобиле = максимум) */
    #hero-laser-wrapper .absolut-title {
        line-height: 0.88 !important;
        letter-spacing: -2px !important;
        white-space: nowrap !important;
        overflow: visible !important;
    }
    /* "В мире бетинга" — та же левая граница что и "Р" в РЕВОЛЮЦИЯ */
    #sec-1 .sub-title {
        font-size: 4.2vw !important;
        letter-spacing: 0px !important;
        line-height: 1.3;
        margin-top: 0.6rem !important;
        color: rgba(255,255,255,0.7) !important;
        text-transform: uppercase;
    }
    /* Описание — компактно */
    #sec-1 .cyber-desc {
        margin-top: 1.2rem !important;
        padding: 0.8rem 1rem !important;
        border-left: 2px solid var(--neon);
        background: rgba(0,255,85,0.02) !important;
        max-width: 100% !important;
    }
    #sec-1 .hero-typewriter {
        font-size: 3.1vw !important;
        line-height: 1.65 !important;
        letter-spacing: 0 !important;
    }

    /* ── SPACER ── */
    .spacer-screen { min-height: 0 !important; display: none !important; }

    /* ── METRICS ── */
    #sec-2.panel {
        padding: 7vh 6vw !important;
    }
    .data-value {
        font-size: 26vw !important;
        line-height: 0.85 !important;
    }
    .data-symbol {
        font-size: 7vw !important;
    }
    .data-label {
        font-size: 3vw !important;
        letter-spacing: 2px;
        margin-top: 0.5rem;
    }
    .epic-box {
        padding: 2.2rem 1.8rem !important;
        border-radius: 2px;
    }
    .epic-box + .epic-box {
        margin-top: 1.2rem;
    }

    /* ── FEATURES ── */
    #sec-features.panel {
        padding: 8vh 6vw !important;
    }
    .features.panel h2.sub-title {
        font-size: 8vw !important;
        margin-bottom: 2.5rem !important;
        line-height: 1.2;
    }
    .feature-item {
        padding: 1.4rem 1.2rem !important;
        gap: 1.2rem !important;
        border-radius: 2px;
        border-left: 2px solid rgba(0,255,85,0.2);
    }
    .feature-title {
        font-size: 4vw !important;
        letter-spacing: 1px;
    }
    .feature-desc {
        font-size: 3.4vw !important;
        line-height: 1.6;
        margin-top: 0.4rem;
    }

    /* ── CHIMERA HEADS ── */
    #sec-chimera.panel {
        padding: 8vh 6vw !important;
    }
    .heads-grid {
        gap: 1rem !important;
    }
    .head-name {
        font-size: 6vw !important;
    }
    .head-desc {
        font-size: 3.5vw !important;
        line-height: 1.6;
    }
    .head-role {
        font-size: 3vw !important;
    }

    /* ── NEURAL CORE / МЫ ЗА ПРОЗРАЧНОСТЬ ── */
    .neural-core-wrapper {
        padding: 6vh 0 !important;
    }
    #transp-laser-wrapper {
        margin-bottom: 0.5rem !important;
    }
    #transp-laser-wrapper .absolut-title {
        font-size: 7.5vw !important;
        white-space: normal !important;
        text-align: center !important;
        letter-spacing: 1px !important;
        line-height: 1.15 !important;
    }
    /* Лазер-reveal работает на мобиле (ScrollTrigger + нативный скролл) */
    #transp-laser-wrapper .scan-laser {
        display: block !important;
        background: linear-gradient(90deg, transparent, rgba(0,255,85,0.8), transparent) !important;
    }
    .core-content {
        padding: 0 6vw;
    }
    .core-desc {
        font-size: 4vw !important;
        line-height: 1.6 !important;
        text-align: center !important;
        margin-top: 1rem !important;
        color: rgba(255,255,255,0.8) !important;
    }
    .core-testimonial-text {
        margin-top: 1rem !important;
    }
    .core-testimonial-text p {
        font-size: 3.8vw !important;
        line-height: 1.6 !important;
        text-align: center !important;
    }

    /* ── MARKETS ── */
    #sec-markets.panel {
        padding: 8vh 6vw 12vh !important;
    }
    .sport-name {
        font-size: 12vw !important;
        letter-spacing: -1px;
    }
    .sport-row {
        padding: 2rem 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.04);
    }

    /* ── CTA SECTION ── */
    #sec-3.panel {
        padding: 8vh 6vw 10vh !important;
        min-height: auto !important;
    }
    /* АБСОЛЮТ — 7 символов Unbounded, должен влезть в 88vw */
    #sec-3 .absolut-title {
        font-size: 11.5vw !important;
        letter-spacing: -1px !important;
        line-height: 0.9 !important;
        white-space: nowrap;
    }
    #sec-3 .sub-title {
        font-size: 4.5vw !important;
        margin: 1rem 0 !important;
        text-align: center;
    }

    /* ── SHARD BUTTON — мобильная версия ── */
    .shard-wrap {
        margin-top: 2rem !important;
        padding: 0 0 !important;
        width: 100%;
        display: flex;
        justify-content: center;
    }
    .shard-outer {
        width: 86vw !important;
        height: 68px !important;
        max-width: 340px;
    }
    .shard-text {
        font-size: 3.6vw !important;
        letter-spacing: 1.5px !important;
        white-space: nowrap;
    }
    .shard-sub { display: none !important; }
    .shard-poly-line {
        animation: shard-run 2s linear infinite !important;
        stroke: rgba(0,255,85,0.7) !important;
        stroke-dasharray: 200 860 !important;
    }

    /* ── FOOTER ── */
    .cyber-footer {
        padding-top: 0;
    }
    .footer-bottom {
        padding: 3vh 6vw !important;
    }
    .footer-copyright,
    .footer-version {
        font-size: 0.6rem !important;
        letter-spacing: 2px;
    }

    /* ── SAFE AREA (iPhone notch/home bar) ── */
    #sec-3 {
        padding-bottom: calc(8vh + env(safe-area-inset-bottom)) !important;
    }
    .cyber-footer {
        padding-bottom: env(safe-area-inset-bottom);
    }

    /* ── Убираем пустые зазоры ── */
    .mt-huge { margin-top: 0 !important; }
    [style*="min-height: 15vh"] { min-height: 6vh !important; }
}

/* ════════════════════════════════════════════
   MOBILE FINAL — шрифты, overflow, доделки
════════════════════════════════════════════ */
@media (max-width: 768px) {

    /* ── HUD полностью скрыт ── */
    .cyber-hud { display: none !important; }

    /* ── Scanlines скрыты (производительность) ── */
    .scanlines { display: none !important; }

    /* ── Запрет горизонтального overflow ── */
    html, body { overflow-x: hidden !important; }

    /* ── РЕВОЛЮЦИЯ: glow + transform-style, fitText сам подберёт размер ── */
    #hero-laser-wrapper .mega-title {
        text-shadow: 0 0 40px rgba(0,255,85,0.2), 0 0 80px rgba(157,0,255,0.08) !important;
        transform-style: flat !important;
    }

    /* ── МЫ ЗА ПРОЗРАЧНОСТЬ — только контуры букв (белый outline) ── */
    #transp-laser-wrapper .absolut-outline {
        display: block !important;
        -webkit-text-stroke: 1.5px rgba(255,255,255,0.6) !important;
        clip-path: none !important;
        color: transparent !important;
    }
    #transp-laser-wrapper .absolut-filled {
        opacity: 0 !important;
        clip-path: none !important;
    }
    #transp-laser { display: none !important; }
    #transp-laser-wrapper .absolut-title {
        font-size: clamp(6vw, 7.5vw, 9vw) !important;
        white-space: normal !important;
        line-height: 1.1 !important;
        text-align: center !important;
    }

    /* ── Кнопка hero ── */
    #hero-cta-wrapper {
        margin-top: 1.5rem !important;
        isolation: auto !important;
    }

    /* ── Shard button — текст влезает ── */
    .shard-text {
        font-size: clamp(0.58rem, 2.6vw, 0.72rem) !important;
        letter-spacing: 1px !important;
        white-space: nowrap !important;
    }
    .shard-outer {
        width: min(88vw, 360px) !important;
    }

    /* ══════════════════════════════════════
       MARKETS — фирменные буквы на мобиле
    ══════════════════════════════════════ */
    #sec-markets.panel {
        padding: 6vh 6vw 8vh !important;
    }
    /* Заголовок секции */
    #sec-markets .data-header {
        font-size: 0.65rem !important;
        letter-spacing: 3px !important;
        margin-bottom: 1.5rem !important;
        padding-left: 0 !important;
    }
    /* Строка: 01 / ИМЯ / sparkline */
    #sec-markets .sport-row {
        grid-template-columns: 18px 1fr 52px !important;
        padding: 1.4rem 0 !important;
        gap: 10px !important;
        align-items: center !important;
        border-bottom: 1px solid rgba(255,255,255,0.05) !important;
        overflow: visible !important;
    }
    #sec-markets .sports-stack .sport-row:first-of-type {
        border-top: 1px solid rgba(255,255,255,0.05) !important;
    }
    /* Номер */
    #sec-markets .sport-index {
        font-size: 0.55rem !important;
        opacity: 0.4;
        align-self: center;
    }
    /* Фирменные буквы — белый заполненный текст */
    #sec-markets .sport-name.outline {
        font-size: clamp(9.5vw, 10.5vw, 11.5vw) !important;
        letter-spacing: -1.5px !important;
        white-space: nowrap !important;
        color: #FFFFFF !important;
        -webkit-text-stroke: 0px transparent !important;
        transition: none !important;
    }
    /* Отключить tap/click на строках спорта */
    #sec-markets .sport-row {
        pointer-events: none !important;
    }
    /* Акцентная линия — всегда видна на мобиле (нет hover) */
    #sec-markets .sport-line {
        width: 45% !important;
        height: 1px !important;
        opacity: 0.5 !important;
    }
    /* Sparkline — компактный, сразу виден */
    #sec-markets .sparkline {
        width: 52px !important;
        height: 20px !important;
        opacity: 1 !important;
        transform: translateX(0) !important;
        justify-self: end;
    }
    #sec-markets .sparkline-path {
        animation: sparkDrawHover 2s cubic-bezier(0.2,1,0.3,1) forwards !important;
        stroke-width: 1.5px;
    }
    #sec-markets .sparkline-fill { opacity: 0.4 !important; }
    #sec-markets .sparkline-dot {
        opacity: 1 !important;
        transform: scale(1) !important;
        filter: drop-shadow(0 0 3px currentColor) !important;
        r: 2px;
    }

    /* ── Lag fix: убираем все GPU-compositing слои ── */
    /* translate3d(0,0,0) на scroll-container — главная причина "сжатия" при скролле */
    .scroll-container {
        filter: none !important;
        transform: none !important;
        will-change: auto !important;
    }
    .panel { perspective: none !important; }
    .panel-content { transform-style: flat !important; }
    /* translateZ на метриках создаёт лишние слои */
    .data-value, .data-symbol, .data-label {
        transform: none !important;
        will-change: auto !important;
    }
    /* will-change на fade-up создаёт compositing для каждого элемента */
    .fade-up { will-change: auto !important; }
    /* iOS rubber-band overscroll — визуальный прыжок в конце страницы */
    body { overscroll-behavior-y: contain; }

    /* ── HERO description — чуть меньше ── */
    #sec-1 .cyber-desc {
        max-width: 100% !important;
        margin-top: 1.2rem !important;
    }
    #sec-1 .hero-typewriter {
        font-size: 2.7vw !important;
        line-height: 1.65 !important;
        letter-spacing: 0 !important;
        color: rgba(0,255,85,0.75) !important;
    }

    /* ── ПОЧЕМУ ХИМЕРА — убрать hover-эффекты на мобиле ── */
    .feature-item:hover,
    .feature-item:active {
        background: rgba(255,255,255,0.01) !important;
        transform: none !important;
    }
    .feature-item:hover::after,
    .feature-item:active::after {
        opacity: 0 !important;
    }
    .feature-item:hover .feature-icon,
    .feature-item:active .feature-icon {
        color: var(--muted) !important;
        transform: none !important;
        filter: none !important;
    }
    .feature-item {
        transition: none !important;
        cursor: default !important;
    }

    /* ── PREMIUM BUTTON — восстанавливаем glow на мобиле ── */
    .shard-outer {
        width: min(92vw, 390px) !important;
        height: 90px !important;
        animation: ctaMobilePulse 2.2s ease-in-out infinite !important;
    }
    .shard-svg { overflow: visible !important; }
    .shard-poly-bg { fill: rgba(0,255,85,0.07) !important; }
    .shard-poly-line {
        stroke: rgba(0,255,85,1) !important;
        stroke-width: 2 !important;
        filter: drop-shadow(0 0 5px #00FF55) drop-shadow(0 0 12px rgba(0,255,85,0.45)) !important;
        stroke-dasharray: 170 800 !important;
        animation: shard-run 2.0s linear infinite !important;
    }
    .shard-text {
        font-size: clamp(0.60rem, 2.8vw, 0.76rem) !important;
        letter-spacing: 1px !important;
        color: #ffffff !important;
        white-space: nowrap !important;
        text-shadow: 0 0 18px rgba(255,255,255,0.45), 0 0 35px rgba(0,255,85,0.25) !important;
    }
    .shard-sub {
        font-size: 0.44rem !important;
        letter-spacing: 4px !important;
        color: rgba(0,255,85,0.65) !important;
        opacity: 1 !important;
    }
    .shard-outer.active {
        animation: none !important;
    }
    .shard-outer.active .shard-poly-line {
        stroke: #ffffff !important;
        filter: drop-shadow(0 0 10px #fff) drop-shadow(0 0 22px rgba(0,255,85,0.7)) !important;
        animation: shard-run 0.3s linear infinite !important;
    }
    .shard-outer.active .shard-text {
        text-shadow: 0 0 30px #fff, 0 0 60px rgba(0,255,85,0.5) !important;
    }
}

@keyframes ctaMobilePulse {
    0%, 100% {
        filter: drop-shadow(0 0 8px rgba(0,255,85,0.5));
    }
    50% {
        filter: drop-shadow(0 0 22px rgba(0,255,85,1)) drop-shadow(0 0 45px rgba(0,255,85,0.35));
    }
}
