
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#030712;
    color:white;
    font-family:'JetBrains Mono', monospace;
    overflow-x:hidden;
}

#matrix{
    position:fixed;
    inset:0;
    z-index:-2;
    opacity:.15;
}

.overlay{
    position:absolute;
    inset:0;
    background:
    radial-gradient(circle at top,
    rgba(0,255,150,.12),
    transparent 60%);
    z-index:-1;
}

.hero{
    min-height:100vh;
    position:relative;
    padding:20px;
}

.topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:30px;
}

.terminal-left{
    display:flex;
    align-items:center;
    gap:10px;
}

.dot{
    width:14px;
    height:14px;
    border-radius:50%;
}

.red{background:#ff4d4d;}
.yellow{background:#ffd93d;}
.green{background:#00ff88;}

.terminal-name{
    color:#00ff88;
}

.clock{
    color:#00ff88;
}

.signs{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
    margin-bottom:30px;
}

.sign{
    width:80px;
    height:80px;
    border-radius:50%;
    border:3px solid white;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#111827;
    font-size:24px;
    animation:float 3s ease-in-out infinite;
}

@keyframes float{
    50%{
        transform:translateY(-10px);
    }
}

.traffic-system{
    display:flex;
    justify-content:center;
}

.traffic-light{
    width:90px;
    background:#111;
    padding:15px;
    border-radius:20px;
}

.light{
    width:45px;
    height:45px;
    border-radius:50%;
    margin:10px auto;
    opacity:.2;
}

.red-light{background:red;}
.yellow-light{background:yellow;}
.green-light{background:lime;}

.active{
    opacity:1;
    box-shadow:0 0 20px currentColor;
}

.vehicles{
    position:relative;
    height:160px;
    overflow:hidden;
    margin-top:40px;
}

.vehicle{
    position:absolute;
    left:120%;
    filter:drop-shadow(0 0 12px rgba(255,255,255,.5));
}

.car{
    top:0;
    font-size:55px;
    animation:drive 10s linear infinite;
}

.bus{
    top:25px;
    font-size:60px;
    animation:drive 15s linear infinite;
}

.truck{
    top:55px;
    font-size:65px;
    animation:drive 20s linear infinite;
}

.ambulance{
    top:90px;
    font-size:55px;
    animation:drive 6s linear infinite;
}

.taxi{
    top:110px;
    font-size:45px;
    animation:drive 9s linear infinite;
}

.moto{
    top:70px;
    font-size:35px;
    animation:drive 5s linear infinite;
}

.tractor{
    top:125px;
    font-size:45px;
    animation:drive 17s linear infinite;
}

@keyframes drive{

    from{
        left:120%;
    }

    to{
        left:-20%;
    }
}

.road-wrapper{
    overflow:hidden;
    margin-top:20px;
}

.road-line{
    color:#facc15;
    font-size:36px;
    letter-spacing:8px;
    white-space:nowrap;
    animation:roadMove 1.5s linear infinite;
}

.second{
    animation-duration:1s;
    opacity:.6;
}

@keyframes roadMove{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-120px);
    }
}

.hero-content{
    text-align:center;
    margin-top:70px;
}


.ascii{
    color:#00ff88;
    font-size:13px;
    margin-bottom:30px;
    animation:glow 2s infinite alternate;

    line-height:1.25;
    white-space:pre;
    overflow-x:auto;

    display:flex;
    justify-content:center;

    text-align:left;
}


@keyframes glow{
    from{
        text-shadow:0 0 10px #00ff88;
    }

    to{
        text-shadow:0 0 30px #00ff88;
    }
}

h1{
    font-size:42px;
    margin-bottom:20px;
}

.hero-content p{
    max-width:700px;
    margin:auto;
    line-height:1.8;
    opacity:.8;
}

.buttons{
    margin-top:40px;
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.main-btn,
.sub-btn{
    border:none;
    cursor:pointer;
    transition:.3s;
}

.main-btn{
    background:#00ff88;
    color:black;
    padding:18px 40px;
    border-radius:14px;
    font-size:18px;
    font-weight:bold;
    animation:pulse 2s infinite;
}

@keyframes pulse{
    50%{
        transform:scale(1.06);
    }
}

.main-btn:hover{
    transform:translateY(-5px);
    box-shadow:0 0 30px #00ff88;
}

.sub-btn{
    background:#111827;
    color:white;
    padding:16px 26px;
    border-radius:14px;
}

.sub-btn:hover{
    background:#1f2937;
}

.stores{
    margin-top:35px;
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.store{
    text-decoration:none;
    color:white;
    padding:16px 28px;
    border-radius:14px;
    transition:.3s;
}

.apple{
    background:#222;
}

.google{
    background:#00aa55;
}

.store:hover{
    transform:translateY(-6px) scale(1.05);
}

.guide{
    padding:120px 20px;
}

.guide h2{
    text-align:center;
    margin-bottom:50px;
    font-size:38px;
}

.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
    max-width:1200px;
    margin:auto;
}

.card{
    background:#111827;
    padding:35px;
    border-radius:20px;
    transition:.4s;
}

.card:hover{
    transform:translateY(-10px);
    border:1px solid #00ff88;
}

.terminal-section{
    padding:100px 20px;
}

.terminal{
    max-width:1000px;
    margin:auto;
    background:black;
    border:1px solid #00ff88;
    border-radius:20px;
    overflow:hidden;
}

.terminal-header{
    background:#00ff88;
    color:black;
    padding:15px;
    font-weight:bold;
}

.terminal-content{
    padding:30px;
    color:#00ff88;
    height:300px;
    overflow:auto;
    line-height:2;
}

footer{
    padding:80px 20px;
    background:#020617;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
    max-width:1200px;
    margin:auto;
}

.footer-box {
    background:#111827;
    padding:30px;
    border-radius:20px;
    display: flex;             /* İkonları dibe itmek için şart */
    flex-direction: column;    /* Başlık üstte, ikonlar altta */
    height: 100%;              /* Kutunun tam boyunu kullan */
}

/* İkonları kutunun altına iten sihirli boşluk */
.footer-box .social-icons {
    margin-top: auto;          /* İkonları aşağı iter */
    margin-bottom: 0;
    padding-top: 20px;
}

.copy{
    text-align:center;
    margin-top:40px;
    opacity:.6;
}

@media(max-width:768px){

    .ascii{
        font-size:5px;
    }

    h1{
        font-size:28px;
    }

    .hero-content p{
        font-size:14px;
    }

    .vehicle{
        transform:scale(.8);
    }

    .sign{
        width:60px;
        height:60px;
        font-size:18px;
    }

    .road-line{
        font-size:22px;
    }

}


/* =====================================
   TRAFFIC BOXES
===================================== */

.traffic-box{
    padding:18px 34px;
    border-radius:16px;
    font-size:18px;
    font-weight:bold;

    animation:trafficPulse 1.5s infinite;

    box-shadow:
    0 0 20px rgba(255,255,255,.2);

    user-select:none;

    cursor:default;

    transition:.3s;

    border:2px solid rgba(255,255,255,.15);
}

.green-box{
    background:#00c853;
    color:white;
}

.yellow-box{
    background:#ffd600;
    color:black;
}

.red-box{
    background:#ff1744;
    color:white;
}

@keyframes trafficPulse{

    0%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.06);
    }

    100%{
        transform:scale(1);
    }
}

/* STORE BUTTONS */

.apple{
    background:#ff1744;
    color:white !important;

    animation:storeGlow 1.6s infinite;
}

.google{
    background:#00c853;
    color:white !important;

    animation:storeGlow 1.6s infinite;
}

@keyframes storeGlow{

    50%{
        transform:translateY(-5px) scale(1.05);
        box-shadow:0 0 25px rgba(255,255,255,.35);
    }
}

/* =====================================
   SOCIALS
===================================== */

.socials{
    text-align:center;
    margin-top:60px;
}

.socials h3{
    margin-bottom:25px;
    font-size:28px;
}

.social-icons{
    display:flex;
    justify-content:center;
    gap:24px;
    margin-bottom:25px;
}

.social-icons a{

    width:65px;
    height:65px;

    border-radius:18px;

    background:#111827;

    display:flex;
    justify-content:center;
    align-items:center;

    text-decoration:none;

    font-size:30px;

    color:white;

    transition:.3s;
}

.social-icons a:hover{

    transform:translateY(-8px) scale(1.08);

    background:#00ff88;
    color:black;

    box-shadow:0 0 25px #00ff88;
}

.website-link{
    opacity:.7;
    margin-bottom:20px;
}

.socials{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    margin-top:70px;
}

.social-icons{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;

    gap:18px;

    margin-top:20px;
    margin-bottom:25px;
}

.social-icons a{

    width:64px;
    height:64px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:#111827;

    color:white;

    text-decoration:none;

    font-size:28px;

    transition:.35s;
}

.social-icons a:hover{

    transform:translateY(-8px);

    background:#00ff88;

    color:black;

    box-shadow:0 0 30px #00ff88;
}

.website-link{

    text-align:center;

    opacity:.7;

    font-size:15px;

    margin-top:10px;
}

.copy{

    text-align:center;

    margin-top:35px;

    opacity:.5;
}


