h2*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;color:#000080;background:linear-gradient(180deg,rgba(220,238,255,.92),rgba(244,249,255,.94));font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.4;overflow-x:hidden}
a{color:#0056d6}

img{
max-width:100%;
height:auto;
display:block;
border-radius:0.6rem;
}

.viastar-imagebox{
  text-align:center;
  margin:1rem auto;
}

.viastar-imagebox a{
  display:inline-block;
}

.viastar-imagebox img{
  margin:0 auto;
}

.viastar-wrap{max-width:80rem;margin:0 auto;padding:0.5rem}
.viastar-main{max-width:50rem;margin:0 auto;background:rgba(255,255,255,.60);backdrop-filter:blur(10px);border:1px solid rgba(0,0,128,.12);border-radius:1rem;padding:1rem;box-shadow:0 0.75rem 2.5rem rgba(0,0,128,.08)}
.viastar-intro{text-align:center}
.viastar-main h1{margin:0.2rem 0 0.4rem;font-size:clamp(1.45rem,4.8vw,2.1rem);line-height:1.15;text-align:center}
.viastar-main h2{margin:0 0 0.1rem;font-size:clamp(1.05rem,3.6vw,1.35rem);font-weight:650;line-height:1.25;text-align:center}


.viastar-timetable{
  margin-top:0;
  max-width:37.5rem;
  margin-left:auto;
  margin-right:auto;
  width:100%;
}

table.viastar td:nth-child(1){
  overflow-wrap:anywhere;
}

.viastar-head th{
  font-weight:800;
  padding:0.4rem 0.35rem;
  font-size:1.05rem;
  line-height:1.2;
  white-space:nowrap;
}

.viastar-head th:nth-child(1){text-align:left;}
.viastar-head th:nth-child(2){text-align:center;}
.viastar-head th:nth-child(3),
.viastar-head th:nth-child(4){text-align:right;}

.vh-station{
text-align:left;
}

.vh-dir{
text-align:center;
width:3.5rem;
}

.vh-time{
text-align:left;
}

.vh-track{
text-align:right;
width:3rem;
}

.viastar-dir{
text-align:center;
}

.viastar-track{
text-align:right;
font-weight:600;
}

.viastar-msg{max-width:46rem;margin:1rem auto;padding:0.85rem 1rem;text-align:center;border-radius:0.85rem;background:rgba(255,255,255,.88);border:1px solid rgba(0,0,128,.18)}
table.viastar{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:0.9rem;border:1px solid rgba(0,0,128,.16);background:rgba(255,255,255,.78);margin:0 auto 0.5rem}
table.viastar th{padding:0.7rem 0.5rem;text-align:center;font-weight:700;font-size:1rem;background:linear-gradient(90deg,rgba(0,86,214,.18),rgba(0,0,128,.10))}
table.viastar td{padding:0.58rem 0.5rem;border-top:1px solid rgba(0,0,128,.10);vertical-align:top}
table.viastar td:nth-child(1){text-align:left}
table.viastar td:nth-child(2){text-align:left;white-space:nowrap}
table.viastar td:nth-child(3){text-align:right;white-space:nowrap}

table.viastar tr:first-child th{
  text-align:center;
  font-size:1.2rem;
  font-weight:800;
  line-height:1.2;
  padding:0.35rem 0.5rem 0.45rem;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

tr.viastar-arr td{background:rgba(255,255,255,.70)}
tr.viastar-dep td{background:var(--viastar-dep-bg)}
tr.viastar-next td{background:linear-gradient(90deg,rgba(255,214,0,.26),rgba(255,255,255,.12));font-weight:750}
.viastar-station{font-weight:650}

table.viastar th:last-child,
table.viastar td:last-child{
  width:1%;
  white-space:nowrap;
  text-align:right;
}

.viastar-bottomline{max-width:50rem;margin:0.9rem auto 0;text-align:center}

@media (max-width:640px){
  .viastar-wrap{padding:0.25rem}
  .viastar-main{padding:0.5rem;border-radius:0.85rem;margin:0;max-width:50rem}
  .viastar-timetable{max-width:none}
  table.viastar th,table.viastar td{padding:0.38rem 0.28rem}
  .viastar-head th{font-size:0.9rem}
  table.viastar th{font-size:0.9rem}
  table.viastar tr:first-child th{
    font-size:1rem;
    line-height:1.25;
    padding:0.3rem 0.35rem 0.4rem;
  }
}