:root{
    --bg:#030303;
    --accent:#00aaff;
    --warn:#ffa726;
    --glass-bg:rgba(255,255,255,0.03);
    --card-border:rgba(255,255,255,0.1);
    --input-bg:rgba(255,255,255,0.05);
    --text-dim:rgba(255,255,255,0.3);
    --rlg:24px;
    --sh:0 4px 24px rgba(0,0,0,0.55),0 16px 64px rgba(0,0,0,0.65);
    --e:cubic-bezier(0.16,1,0.3,1);
    --nav-h:5rem;
    --foot-h:4rem;
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Montserrat',sans-serif;
    -webkit-user-select:none;
    user-select:none;
    -webkit-user-drag:none;
    -webkit-tap-highlight-color:transparent;
}
html,body{
    min-height:100%;
    width:100%;
}
html{
    height:-webkit-fill-available;
}
body{
    background:var(--bg);
    color:white;
    line-height:1.5;
    min-height:100vh;
    min-height:100dvh;
    min-height:-webkit-fill-available;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    position:relative;
    padding:calc(var(--nav-h) + 1.5rem) 1rem calc(var(--foot-h) + 1.5rem);
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}

/* ---- Modern Grok-style scrollbar (fully transparent track) ---- */
html{
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,0.18) transparent;
}
::-webkit-scrollbar{
    width:10px;
    height:10px;
    background:transparent;
}
::-webkit-scrollbar-track,
::-webkit-scrollbar-track-piece{
    background:transparent;
    background-color:transparent;
    border:none;
    box-shadow:none;
}
::-webkit-scrollbar-thumb{
    background-color:rgba(255,255,255,0.12);
    border-radius:10px;
    border:2px solid transparent;
    background-clip:content-box;
    transition:background-color 0.2s ease;
}
::-webkit-scrollbar-thumb:hover{
    background-color:rgba(255,255,255,0.28);
    background-clip:content-box;
}
::-webkit-scrollbar-thumb:active{
    background-color:rgba(0,170,255,0.5);
    background-clip:content-box;
}
::-webkit-scrollbar-button{
    display:none;
    background:transparent;
}
::-webkit-scrollbar-corner{
    background:transparent;
}

#sc{
    position:fixed;
    top:0;left:0;
    width:100%;height:100%;
    z-index:-1;
    background:
        radial-gradient(circle at 5% 50%,rgba(0,170,255,0.15) 0%,transparent 50%),
        radial-gradient(circle at 95% 50%,rgba(0,170,255,0.15) 0%,transparent 50%),
        linear-gradient(180deg,#050505 0%,#000 100%);
    pointer-events:none;
}

/* Nav */
.nav-wrap{
    position:fixed;
    top:1rem;left:0;right:0;
    width:calc(100% - 2rem);
    max-width:65rem;
    margin:0 auto;
    z-index:2000;
    padding-top:env(safe-area-inset-top,0);
}
.nav-dock{
    height:3.6rem;
    background:rgba(10,10,10,0.5);
    -webkit-backdrop-filter:blur(15px);
    backdrop-filter:blur(15px);
    border:1px solid var(--card-border);
    border-radius:5rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 1.2rem;
    gap:0.75rem;
}
.nav-brand{
    display:flex;
    align-items:center;
    gap:0.7rem;
    cursor:pointer;
    text-decoration:none;
    color:white;
    min-width:0;
    flex-shrink:1;
}
.brand-icon{
    width:36px;height:36px;
    border-radius:12px;
    box-shadow:0 0 18px rgba(0,170,255,0.28);
    flex-shrink:0;
    display:block;
    overflow:hidden;
    position:relative;
}
.brand-icon img,.brand-icon svg{
    width:100%;height:100%;
    display:block;
}
.brand-icon .brand-svg{display:none}
.brand-icon.fb .brand-svg{display:block}
.nav-name{
    font-weight:700;
    font-size:1rem;
    letter-spacing:-0.02em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.nav-status{
    display:flex;
    align-items:center;
    gap:0.5rem;
    padding:0.4rem 0.85rem;
    background:rgba(255,167,38,0.08);
    border:1px solid rgba(255,167,38,0.25);
    border-radius:5rem;
    font-size:0.72rem;
    font-weight:600;
    color:var(--warn);
    letter-spacing:0.05em;
    white-space:nowrap;
    flex-shrink:0;
}
.ns-dot{
    width:7px;height:7px;
    border-radius:50%;
    background:var(--warn);
    box-shadow:0 0 10px rgba(255,167,38,0.8);
    animation:pulse 1.6s ease-in-out infinite;
    flex-shrink:0;
}

/* Main wrap */
.wrap{
    position:relative;
    z-index:1;
    text-align:center;
    padding:1rem;
    max-width:42rem;
    width:100%;
    margin:auto 0;
}

.pill{
    display:inline-flex;
    align-items:center;
    gap:0.5rem;
    padding:0.45rem 1rem;
    background:var(--glass-bg);
    border:1px solid var(--card-border);
    border-radius:5rem;
    font-size:0.75rem;
    font-weight:600;
    color:rgba(255,255,255,0.7);
    text-transform:uppercase;
    letter-spacing:0.15em;
    margin-bottom:1.4rem;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
}
.dot{
    width:8px;height:8px;
    border-radius:50%;
    background:var(--warn);
    box-shadow:0 0 12px rgba(255,167,38,0.8);
    animation:pulse 1.6s ease-in-out infinite;
    flex-shrink:0;
}
@keyframes pulse{
    0%,100%{opacity:1;transform:scale(1)}
    50%{opacity:0.5;transform:scale(0.85)}
}

/* Spinning gears */
.gear-stack{
    position:relative;
    width:130px;
    height:130px;
    margin:0 auto 1.4rem;
}
.gear{
    position:absolute;
    color:var(--accent);
    -webkit-filter:drop-shadow(0 0 24px rgba(0,170,255,0.45));
    filter:drop-shadow(0 0 24px rgba(0,170,255,0.45));
}
.gear-lg{
    width:100px;height:100px;
    top:0;left:0;
    animation:spin 8s linear infinite;
}
.gear-sm{
    width:60px;height:60px;
    bottom:0;right:0;
    color:var(--warn);
    -webkit-filter:drop-shadow(0 0 18px rgba(255,167,38,0.45));
    filter:drop-shadow(0 0 18px rgba(255,167,38,0.45));
    animation:spin-rev 6s linear infinite;
}
@keyframes spin{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
}
@keyframes spin-rev{
    from{transform:rotate(0deg)}
    to{transform:rotate(-360deg)}
}

.big{
    font-size:clamp(2rem,5.5vw,3.6rem);
    font-weight:800;
    letter-spacing:-0.04em;
    line-height:1.1;
    margin-bottom:1.2rem;
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0.55) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
}
.big .aw{
    background:linear-gradient(180deg,var(--accent) 0%,#0077cc 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
}

.desc{
    color:rgba(255,255,255,0.55);
    font-size:0.95rem;
    max-width:32rem;
    margin:0 auto 1.5rem;
    line-height:1.6;
}

.info-grid{
    display:flex;
    justify-content:center;
    max-width:22rem;
    margin:0 auto 1.5rem;
    width:100%;
}
.info-card{
    background:var(--glass-bg);
    border:1px solid var(--card-border);
    border-radius:1rem;
    padding:1rem 1.4rem;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    text-align:left;
    transition:border-color 0.3s ease;
    min-width:14rem;
    max-width:100%;
}
.info-card:hover{
    border-color:rgba(0,170,255,0.35);
}
.info-label{
    font-size:0.7rem;
    text-transform:uppercase;
    letter-spacing:0.12em;
    color:var(--text-dim);
    margin-bottom:0.4rem;
    font-weight:700;
}
.info-value{
    font-size:0.9rem;
    font-weight:600;
    color:white;
    display:flex;
    align-items:center;
    gap:0.5rem;
}
.iv-dot{
    width:7px;height:7px;
    border-radius:50%;
    background:var(--warn);
    box-shadow:0 0 8px rgba(255,167,38,0.7);
    animation:pulse 1.6s ease-in-out infinite;
    flex-shrink:0;
}

.btn-row{
    display:flex;
    gap:0.8rem;
    justify-content:center;
    flex-wrap:wrap;
    width:100%;
}
.btn{
    padding:0.9rem 2rem;
    border-radius:5rem;
    font-weight:700;
    font-size:0.85rem;
    text-decoration:none;
    cursor:pointer;
    border:1px solid transparent;
    transition:transform 0.3s ease,background 0.3s,border-color 0.3s;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:0.5rem;
    font-family:'Montserrat',sans-serif;
    white-space:nowrap;
    -webkit-appearance:none;
    appearance:none;
}
.btn.prim{
    background:var(--accent);
    color:white;
    box-shadow:0 4px 18px rgba(0,170,255,0.32);
}
.btn.prim:hover{
    transform:scale(1.05);
    background:#22bbff;
}
.btn.prim:active{
    transform:scale(0.98);
}

/* ---- Footer LOCKED to viewport bottom ---- */
footer{
    position:fixed;
    /* fallback */
    bottom:0;
    /* dynamic viewport anchors — won't drift with mobile Safari bar */
    bottom:env(safe-area-inset-bottom,0);
    left:50%;
    transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
    will-change:auto;
    width:90%;
    max-width:80rem;
    padding:1.4rem 2rem;
    text-align:center;
    color:var(--text-dim);
    font-size:0.9rem;
    letter-spacing:0.1em;
    font-weight:700;
    border-top:1px solid var(--card-border);
    z-index:1500;
    pointer-events:none;     /* purely decorative — won't intercept clicks */
}

/* ---- Responsive ---- */
@media(max-width:600px){
    :root{
        --nav-h:4.6rem;
        --foot-h:3.6rem;
    }
    .nav-dock{padding:0 0.9rem;height:3.4rem}
    .nav-name{font-size:0.9rem}
    .nav-status{
        padding:0.35rem 0.7rem;
        font-size:0.65rem;
        letter-spacing:0.03em;
    }
    .brand-icon{width:32px;height:32px}
    .btn{padding:0.8rem 1.4rem;font-size:0.8rem}
    .gear-stack{width:110px;height:110px;margin-bottom:1.2rem}
    .gear-lg{width:85px;height:85px}
    .gear-sm{width:50px;height:50px}
    .desc{font-size:0.88rem;margin-bottom:1.2rem}
    .big{margin-bottom:0.9rem}
    .pill{margin-bottom:1.1rem}
    .info-grid{margin-bottom:1.2rem}
    .info-card{min-width:0;width:100%}
}
@media(max-width:380px){
    .nav-status .ns-text{display:none}
    .nav-status{padding:0.4rem}
    .btn{padding:0.75rem 1.1rem;font-size:0.75rem}
    .big{font-size:1.7rem}
}
@media(max-height:720px){
    .gear-stack{width:90px;height:90px;margin-bottom:1rem}
    .gear-lg{width:70px;height:70px}
    .gear-sm{width:42px;height:42px}
    .big{font-size:clamp(1.8rem,4.5vw,2.6rem);margin-bottom:0.7rem}
    .desc{font-size:0.85rem;margin-bottom:1rem}
    .pill{margin-bottom:1rem;font-size:0.7rem}
    .info-grid{margin-bottom:1rem}
    .info-card{padding:0.75rem 1.2rem}
    .wrap{padding:0.75rem}
}
@media(max-height:560px){
    .gear-stack{display:none}
    .big{font-size:1.6rem;margin-bottom:0.6rem}
    .desc{font-size:0.8rem;margin-bottom:0.8rem}
    .pill{margin-bottom:0.7rem}
    .info-grid{margin-bottom:0.8rem}
    footer{font-size:0.75rem;padding:0.9rem 2rem}
}
@media(max-height:460px){
    :root{
        --nav-h:4rem;
        --foot-h:3rem;
    }
    .pill,.info-grid{display:none}
    .big{font-size:1.4rem;margin-bottom:0.5rem}
    .desc{margin-bottom:0.7rem}
}

/* Touch-only: kill hover scale that sticks on tap */
@media(hover:none){
    .btn.prim:hover{transform:none;background:var(--accent)}
    .info-card:hover{border-color:var(--card-border)}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{
        animation-duration:0.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:0.01ms !important;
    }
}