:root{
--accent:#dc143c;
--bg:#0a0a0a;
--card:rgba(255,255,255,0.03);
--border:rgba(255,255,255,0.06);
--text:#ffffff;
--muted:#888;
}

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

body{
  margin:0;
  background:var(--bg);
  font-family:"Funnel Display",sans-serif;
  color:var(--text);
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* neve */

.snow{
position:fixed;
inset:0;
pointer-events:none;
z-index:0;
}

.snow::before,.snow::after{
content:"";
position:absolute;
inset:-200%;
background-image:
radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,.8), transparent),
radial-gradient(1.5px 1.5px at 80% 40%, rgba(255,255,255,.6), transparent),
radial-gradient(1px 1px at 50% 70%, rgba(255,255,255,.5), transparent);
background-size:400px 400px;
animation:snow 60s linear infinite;
}

.snow::after{
animation-duration:120s;
opacity:.6;
}

@keyframes snow{
from{transform:translateY(0)}
to{transform:translateY(50%)}
}

/* container */

.container{
width:90%;
max-width:950px;
margin:40px 0;
z-index:1;
}

/* botão voltar */

.back-btn{
text-decoration:none;
color:white;
background:rgba(255,255,255,.05);
padding:12px 20px;
border-radius:14px;
border:1px solid var(--border);
display:inline-flex;
align-items:center;
gap:10px;
margin-bottom:30px;
transition:.3s;
}

.back-btn:hover{
background:rgba(255,255,255,.1);
transform:translateX(-5px);
}

/* titulo */

.title-section{
display:flex;
align-items:center;
gap:12px;
border-left:4px solid var(--accent);
padding-left:16px;
margin-bottom:30px;
}

.title-section h2{
font-size:18px;
text-transform:uppercase;
}

/* card rota */

.route-card{
background:var(--card);
border:1px solid var(--border);
border-radius:18px;
padding:20px;
margin-bottom:20px;
transition:.3s;
}

.route-card:hover{
border-color:var(--accent);
}

.route-card h4{
color:var(--accent);
margin-bottom:8px;
}

.route-card p{
color:var(--muted);
font-size:13px;
margin-bottom:14px;
}

.route-card code{
display:block;
background:rgba(0,0,0,.6);
padding:14px;
border-radius:12px;
font-size:12px;
border:1px solid var(--border);
word-break:break-all;
}

/* botões */

.btn-group{
display:flex;
gap:10px;
margin-top:16px;
}

.btn{
flex:1;
border:none;
padding:12px;
border-radius:12px;
cursor:pointer;
background:rgba(255,255,255,.08);
color:white;
transition:.25s;
font-size:13px;
}

.btn:hover{
background:rgba(255,255,255,.15);
}

.btn-open{
background:rgba(0,255,106,.15);
color:#00ff6a;
}

.btn-open:hover{
background:#00ff6a;
color:black;
}
a,
button,
.card,
.verify-token button,
.btn,
.back-btn {
  -webkit-tap-highlight-color: transparent !important;
  tap-highlight-color: transparent !important;
  outline: none !important;
}
.route-card h4 {
  margin: 0 0 8px;
  color: var(--accent);
  font-size: 18px;
  letter-spacing: 1px;
}

.route-card p {
  font-size: 14px;
  color: var(--muted);
  margin-bottom: 15px;
}