*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    font-family:Arial,Helvetica,sans-serif;
    background:#030303;
    color:#f5e8b5;
    overflow-x:hidden;
}
a{text-decoration:none;color:inherit}

body::before{
    content:"";
    position:fixed;
    inset:0;
    background:
        linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.72)),
        url('/assets/img/revvat-hero.webp') center center/cover no-repeat;
    z-index:-3;
}
body::after{
    content:"";
    position:fixed;
    inset:0;
    background-image:radial-gradient(rgba(255,215,120,.04) 1px, transparent 1px);
    background-size:36px 36px;
    opacity:.25;
    z-index:-2;
}

.nav{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:9px 48px;
    background:rgba(0,0,0,.45);
    backdrop-filter:blur(22px);
    border-bottom:1px solid rgba(212,175,55,.12);
    z-index:999;
}

.nav img{
    width:64px;
    height:64px;
    border-radius:50%;
    object-fit:contain;
}

.nav-links{
    display:flex;
    gap:28px;
    align-items:center;
}

.nav-links a{
    font-size:14px;
    letter-spacing:2px;
    color:#d7d7d7;
    transition:.3s;
}

.nav-links a:hover{color:#d4af37}

.cta{
    padding:12px 20px;
    border:1px solid rgba(212,175,55,.45);
    border-radius:10px;
    color:#d4af37;
}

.tools-hero{
    min-height:70vh;
    padding:170px 30px 80px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.tools-hero-inner{
    max-width:1000px;
}

.tools-hero h1{
    font-size:clamp(3rem,8vw,7rem);
    letter-spacing:10px;
    color:#f5e8b5;
    text-shadow:0 0 25px rgba(212,175,55,.18);
}

.tools-sub{
    margin-top:18px;
    font-size:.95rem;
    letter-spacing:4px;
    color:#d8d8d8;
}

.section{
    padding:80px 50px;
}

.section-title{
    text-align:center;
    font-size:2.4rem;
    letter-spacing:3px;
    margin-bottom:18px;
}

.section-lead{
    max-width:850px;
    margin:0 auto 50px;
    text-align:center;
    color:#cfcfcf;
    line-height:1.8;
}

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:28px;
}

.card{
    background:linear-gradient(180deg, rgba(20,20,20,.95), rgba(6,6,6,.98));
    border-radius:22px;
    padding:24px;
    border:1px solid rgba(255,255,255,.06);
    transition:.35s;
    overflow:hidden;
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 60px rgba(0,0,0,.45);
}

.card h3{
    font-size:1.45rem;
    margin-bottom:14px;
    color:#f5e8b5;
}

.card p{
    color:#c8c8c8;
    line-height:1.7;
}

.gold{box-shadow:inset 0 0 0 1px rgba(212,175,55,.18)}
.blue{box-shadow:inset 0 0 0 1px rgba(90,150,255,.18)}
.green{box-shadow:inset 0 0 0 1px rgba(60,255,170,.18)}
.purple{box-shadow:inset 0 0 0 1px rgba(180,90,255,.18)}

.tool-shell{
    max-width:1100px;
    margin:0 auto;
    padding:140px 24px 70px;
}

.tool-panel{
    background:linear-gradient(180deg, rgba(20,20,20,.95), rgba(6,6,6,.98));
    border:1px solid rgba(212,175,55,.16);
    border-radius:24px;
    padding:28px;
    margin-bottom:24px;
    box-shadow:0 20px 60px rgba(0,0,0,.35);
}

.kicker{
    color:#d4af37;
    letter-spacing:3px;
    font-size:12px;
    text-transform:uppercase;
    margin-bottom:10px;
}

.frequency-display{
    text-align:center;
    font-size:clamp(3rem,8vw,6rem);
    color:#d4af37;
    font-weight:700;
    margin:24px 0;
}

.frequency-display small{
    font-size:1.4rem;
    color:#d7d7d7;
}

input[type="range"]{
    width:100%;
}

.controls{
    display:grid;
    grid-template-columns:1fr 1.4fr 1fr;
    gap:12px;
    margin:22px 0;
}

button,select{
    border-radius:14px;
    border:1px solid rgba(212,175,55,.28);
    background:#0a0a0a;
    color:#f5e8b5;
    padding:14px;
    font-size:1rem;
}

button{cursor:pointer}

.primary-btn{
    background:#d4af37;
    color:#000;
    font-weight:700;
}

label{
    display:block;
    margin:18px 0 8px;
    color:#cfcfcf;
}

select{width:100%}

.tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
}

.tab.active{
    background:#d4af37;
    color:#000;
    font-weight:700;
}

.preset-list{
    display:grid;
    gap:10px;
}

.preset{
    text-align:left;
    background:#090909;
    border:1px solid rgba(212,175,55,.14);
    padding:15px;
    border-radius:14px;
}

.preset strong{color:#d4af37}

.footer{
    padding:60px 40px;
    border-top:1px solid rgba(212,175,55,.1);
    text-align:center;
    color:#8f8f8f;
}

@media(max-width:980px){
    .nav{padding:12px 20px}
    .nav-links{display:none}
    .section{padding:70px 20px}
}

.schumann-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:18px;
    margin-bottom:24px;
}

.schumann-card{
    background:#090909;
    border:1px solid rgba(212,175,55,.14);
    border-radius:18px;
    padding:20px;
}

.schumann-card h3{
    color:#cfcfcf;
    font-size:1rem;
    margin-bottom:12px;
}

.live-number{
    font-size:3rem;
    color:#d4af37;
    font-weight:700;
}

.live-number small{
    font-size:1rem;
    color:#8f8f8f;
}

#schumannCanvas{
    width:100%;
    height:360px;
    background:#030303;
    border:1px solid rgba(212,175,55,.18);
    border-radius:20px;
}
.btn{
    display:inline-block;
    padding:15px 28px;
    border-radius:12px;
    font-weight:700;
    letter-spacing:2px;
    font-size:13px;
    transition:.3s;
}

.btn-primary{
    background:#d4af37;
    color:#000;
}
.live-image-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:24px 0 16px;
}

.image-tab.active{
    background:#d4af37;
    color:#000;
    font-weight:700;
}

.live-image-box{
    background:#050505;
    border:1px solid rgba(212,175,55,.18);
    border-radius:20px;
    padding:12px;
    overflow:hidden;
}

.live-image-box img{
    width:100%;
    display:block;
    border-radius:14px;
}

/* REVVAT PREMIUM SCROLLBAR */

::-webkit-scrollbar{
    width:12px;
}

::-webkit-scrollbar-track{
    background:#050505;
    box-shadow:inset 0 0 10px rgba(0,0,0,.9);
}

::-webkit-scrollbar-thumb{
    background:linear-gradient(
        180deg,
        #d4af37 0%,
        #b8860b 40%,
        #8b6508 100%
    );
    border-radius:20px;
    border:2px solid #050505;
    box-shadow:
        0 0 12px rgba(212,175,55,.35),
        inset 0 0 6px rgba(255,235,160,.15);
}

::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(
        180deg,
        #f4d76b 0%,
        #d4af37 50%,
        #a97800 100%
    );
    box-shadow:
        0 0 18px rgba(212,175,55,.55),
        inset 0 0 8px rgba(255,245,200,.2);
}

html{
    scrollbar-width:thin;
    scrollbar-color:#d4af37 #050505;
}
.status-text{
    color:#d4af37;
    font-size:1rem;
    line-height:1.5;
    font-weight:700;
}

.schumann-card:nth-child(3),
.schumann-card:nth-child(4){
    min-height:96px;
}
.sync-status{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
    margin-top:18px;
}

.sync-status div{
    background:#090909;
    border:1px solid rgba(212,175,55,.14);
    border-radius:16px;
    padding:16px;
}

.sync-status span{
    display:block;
    color:#8f8f8f;
    font-size:.8rem;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:8px;
}

.sync-status strong{
    color:#d4af37;
    font-size:1.4rem;
}
.btn-primary:hover{
    background:#f4d76b;
    box-shadow:0 0 22px rgba(212,175,55,.35);
    transform:translateY(-2px);
}

.sync-status{
    margin-bottom:22px;
}
.sync-explanation{
    margin-top:18px;
    background:#090909;
    border:1px solid rgba(212,175,55,.14);
    border-radius:16px;
    padding:18px;
    color:#cfcfcf;
    line-height:1.7;
}

.sync-explanation strong{
    color:#d4af37;
    display:block;
    margin-bottom:8px;
}

.sync-explanation p{
    margin-top:8px;
}
.compact-tabs{
    gap:8px;
    margin-top:18px;
    margin-bottom:14px;
}

.compact-tabs button{
    padding:10px 12px;
    font-size:.86rem;
    letter-spacing:.5px;
}

.live-image-tabs.compact-tabs{
    justify-content:center;
}

.tabs.compact-tabs{
    justify-content:center;
}
.refresh-container{
    margin-top:14px;
    text-align:center;
}

.sync-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
}

.btn-secondary{
    border:1px solid rgba(212,175,55,.45);
    color:#d4af37;
    background:#0a0a0a;
}

button:disabled{
    opacity:.45;
    cursor:not-allowed;
}
.frequency-display span{
    cursor:text;
}

.frequency-display span:focus{
    outline:none;
    color:#f4d76b;
}