/* Train Live. The green of the classic design can be repainted by a theme: --tlg (main), --tlg2 (light), --tlgd (dark), --tlgl (tint). */
.tll{max-width:960px;margin:0 auto;padding:14px;background:#fff;color:#1a2233;border-radius:10px;font-family:inherit;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.tll *{box-sizing:border-box}
.tll label{display:block;font-size:13px;font-weight:600;color:#1a2233;margin:0 0 4px}
.tll-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
.tll-bar>div{flex:1;min-width:200px}
.tll select{width:100%;padding:10px;border:1px solid #b9c2cc;border-radius:6px;font-size:15px;background:#fff;color:#1a2233}
.tll button{padding:8px 14px;border:1px solid var(--tlg,#006a4e);background:#fff;color:var(--tlg,#006a4e);border-radius:6px;cursor:pointer;font-size:14px;font-weight:600}
.tll button:hover{background:#e6f3ef}
.tll button.on{background:var(--tlg,#006a4e);color:#fff;border-color:var(--tlg,#006a4e)}
.tll-menu{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;margin-bottom:4px}
.tll-menu button{white-space:nowrap;border-radius:20px;padding:6px 14px}
.tll-simbox{margin-bottom:10px;padding:10px 12px;background:#f1f4f2;border-radius:8px}
.tll-simbox label,.tll-simbox b{color:#1a2233}
.tll-simbox input[type=range]{width:100%;accent-color:var(--tlg,#006a4e)}
.tll-status{background:#f1f4f2;border-radius:8px;padding:10px 12px;margin-bottom:10px;color:#1a2233}
.tll-status b{color:var(--tlg,#006a4e)}.tll-sub{font-size:13px;color:#4a5568;margin-top:2px}
.tll-map{height:520px;border-radius:8px;z-index:0}
.tll-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e03131;margin-right:6px}
.tll-icon{width:26px;height:26px;border-radius:50%;background:#e03131;border:2px solid #fff;color:#fff;text-align:center;line-height:22px;font-size:14px;animation:tllb 1s infinite}
@keyframes tllb{0%{box-shadow:0 0 0 0 rgba(224,49,49,.7);opacity:1}50%{opacity:.45}100%{box-shadow:0 0 0 16px rgba(224,49,49,0);opacity:1}}
.tll-search{max-width:960px;margin:0 auto;padding:14px;background:#fff;color:#1a2233;border-radius:10px;font-family:inherit;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.tll-search *{box-sizing:border-box}
.tll-search label{display:block;font-size:13px;font-weight:600;color:#1a2233;margin:0 0 4px}
.tll-sform{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.tll-sform>div{flex:1;min-width:180px}.tll-sform .tll-swapw,.tll-sform .tll-gow{flex:0 0 auto;min-width:0}
.tll-search input{width:100%;padding:10px;border:1px solid #b9c2cc;border-radius:6px;font-size:15px;background:#fff;color:#1a2233}
.tll-search button{padding:9px 16px;border:1px solid var(--tlg,#006a4e);background:#fff;color:var(--tlg,#006a4e);border-radius:6px;cursor:pointer;font-size:14px;font-weight:600}
.tll-search button.on{background:var(--tlg,#006a4e);color:#fff}
.tll-msg{margin:14px 0 8px;color:#1a2233}
.tll-r{border:1px solid #d5dbe2;border-radius:8px;padding:10px 12px;margin-bottom:10px;background:#fff}
.tll-rh{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.tll-rh b{color:#1a2233}.tll-rh .tll-sub{color:#4a5568;font-size:13px;margin-top:3px}
.tll-slot .tll{margin-top:10px;box-shadow:none;border:1px solid #e1e6ec}
.tll input[type=text]{width:100%;padding:10px;border:1px solid #b9c2cc;border-radius:6px;font-size:15px;background:#fff;color:#1a2233}
.tll input[type=file]{width:100%;font-size:14px;color:#1a2233}
.tll-jbox{background:#f6f8f7;border:1px solid #e1e6ec;border-radius:10px;padding:12px 14px;margin-bottom:10px}
.tll-jh{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:15px;color:#1a2233;margin:0 0 8px}
.tll-jh span{color:var(--tlg,#006a4e);font-size:20px;font-weight:800}
.tll-jt{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14px;background:#fff;border-radius:8px;overflow:hidden}
.tll-jt th,.tll-jt td{padding:9px 12px;border-bottom:1px solid #e3e8ee;text-align:left;color:#1a2233;vertical-align:top}
.tll-jt th{width:42%;background:var(--tlgl,#eaf2ee);color:#3f4b5c;font-weight:600}
.tll-jt td{font-weight:700}
.tll-pb{position:relative;height:24px;border-radius:12px;background:#dbe3df;margin:22px 4px 10px}
.tll-pf{position:absolute;left:0;top:0;bottom:0;min-width:24px;border-radius:12px;background:linear-gradient(90deg,#00a37a,#8be04b);transition:width .6s ease;box-shadow:0 2px 8px rgba(0,163,122,.45)}
.tll-pf{overflow:hidden}.tll-pf:after{content:'';position:absolute;top:0;bottom:0;left:-28px;right:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.28) 0 10px,transparent 10px 20px);background-size:28px 28px;animation:tllst 1s linear infinite}
@keyframes tllst{to{transform:translateX(28px)}}
.tll-pt{position:absolute;right:-14px;top:-20px;font-size:24px;z-index:3;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.tll-tks{position:absolute;inset:0;z-index:2;pointer-events:none}
.tll-tk{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid #aab5ae;transform:translate(-50%,-50%)}
.tll-tk.done{background:var(--tlg,#006a4e);border-color:#fff}
.tll-pl{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:600;color:#3f4b5c}
.tll-pl .j-rem{color:var(--tlg,#006a4e)}
.tll-imgw{margin-top:12px}
.tll-imgp{margin-top:12px;padding:12px;background:#f6f8f7;border:1px solid #e1e6ec;border-radius:10px}
.tll-hint{margin:0 0 10px;font-size:13px;color:#3f4b5c}
.tll-ir{display:flex;gap:12px;flex-wrap:wrap}.tll-ir>div{flex:1;min-width:200px}
.tll-ib{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.tll-faq{margin-top:18px;padding-top:14px;border-top:1px solid #e1e6ec}
.tll-faq-end{max-width:960px;margin:0 auto;padding:14px;background:#fff;color:#1a2233;border-radius:10px;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.tll-faq-end .tll-faq{margin-top:0;padding-top:0;border:0}
.tll-fq{border:1px solid #e1e6ec;border-radius:8px;margin-bottom:8px;background:#fff}
.tll-fq summary{cursor:pointer;padding:11px 44px 11px 14px;font-weight:600;color:#1a2233;list-style:none;position:relative}
.tll-fq summary::-webkit-details-marker{display:none}
.tll-fq summary:after{content:'+';position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--tlg,#006a4e)}
.tll-fq[open] summary:after{content:'\2212'}
.tll-fq[open] summary{background:var(--tlgl,#eaf2ee);border-radius:8px 8px 0 0}
.tll-fa{padding:12px 14px;color:#3f4b5c;font-size:14px;line-height:1.6}
.tll-search .tll-faq{margin-top:18px;padding-top:14px;border-top:1px solid #e1e6ec}
.tll-search .tll-jh,.tll-faq .tll-jh{display:block;font-weight:700;font-size:16px;color:#1a2233;margin:0 0 10px}
.tll-faq{margin-top:18px;padding-top:14px;border-top:1px solid #e1e6ec}
.tll-faq-end{max-width:960px;margin:0 auto;padding:14px;background:#fff;color:#1a2233;border-radius:10px;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.tll-faq-end .tll-faq{margin-top:0;padding-top:0;border:0}
.tll-fq{border:1px solid #e1e6ec;border-radius:8px;margin-bottom:8px;background:#fff}
.tll-fq summary{cursor:pointer;padding:11px 44px 11px 14px;font-weight:600;color:#1a2233;list-style:none;position:relative}
.tll-fq summary::-webkit-details-marker{display:none}
.tll-fq summary:after{content:'+';position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--tlg,#006a4e)}
.tll-fq[open] summary:after{content:'\2212'}
.tll-fq[open] summary{background:var(--tlgl,#eaf2ee);border-radius:8px 8px 0 0}
.tll-fa{padding:12px 14px;color:#3f4b5c;font-size:14px;line-height:1.6}
.tll-faq .tll-jh{display:block;font-weight:700;font-size:16px;color:#1a2233;margin:0 0 10px}

.tll-faq-end{margin-top:24px}.tll-faq-end:empty{display:none}
.tll-list{max-width:1100px;margin:0 auto;color:#1a2233;font-family:inherit}.tll-list *{box-sizing:border-box}
.tll-lt{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.tll-lq{flex:1;min-width:220px;padding:10px 12px;border:1px solid #b9c2cc;border-radius:8px;font-size:15px;background:#fff;color:#1a2233}
.tll-lc{font-size:13px;font-weight:600;color:#3f4b5c}
.tll-grid{display:grid;grid-template-columns:repeat(var(--c,3),minmax(0,1fr));gap:12px}
.tll-card2{background:#fff;border:1px solid #e1e6ec;border-radius:10px;padding:14px;box-shadow:0 1px 5px rgba(0,0,0,.06);color:#1a2233}
.tll-card2.open{grid-column:1/-1}
.tll-c2h{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.tll-c2h b{font-size:16px;color:#1a2233}
.tll-c2r{margin:8px 0 4px;font-weight:700;color:var(--tlg,#006a4e)}.tll-c2m{font-size:13px;color:#3f4b5c;line-height:1.55}
.tll-c2b{margin-top:10px}
.tll-btn,.tll-track2{display:inline-block;padding:8px 14px;border:1px solid var(--tlg,#006a4e);background:var(--tlg,#006a4e);color:#fff!important;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.tll-badge{white-space:nowrap;font-size:11px;font-weight:700;padding:3px 9px;border-radius:12px;background:#e6ebf0;color:#3f4b5c}
.tll-badge.run{background:#d9f4e8;color:#04724f}.tll-badge.done{background:#e1e8ff;color:#2c4bb0}.tll-badge.off{background:#ffe3e3;color:#b42318}
.tll-card2 .tll-slot .tll{margin-top:12px;box-shadow:none;border:1px solid #e1e6ec}
@media(max-width:860px){.tll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.tll-grid{grid-template-columns:1fr}}

.tll-upw{margin:0 0 10px}
.tll-upd-btn{padding:9px 14px!important;border:1px solid var(--tlg,#006a4e);background:#fff!important;color:var(--tlg,#006a4e)!important;border-radius:6px;cursor:pointer;font-weight:600}
.tll-upm{margin-top:8px;font-size:14px;color:#1a2233}.tll-upm:empty{display:none}
.tll-upm.ok{background:#e3f6ec;border:1px solid #9bdcb9;padding:10px 12px;border-radius:8px;color:#04603f}
.tll-upm.bad{background:#fdeaea;border:1px solid #f1b0b0;padding:10px 12px;border-radius:8px;color:#9b1c1c}
.tll-upm:not(.ok):not(.bad){background:#f1f4f2;padding:10px 12px;border-radius:8px}
.tll-ub{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.tll-jt td.j-live.late{color:#b42318}.tll-jt td.j-live.ok{color:#04724f}
.tll-routebox{max-width:960px;margin:24px auto 0;padding:14px;background:#fff;color:#1a2233;border-radius:10px;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.tll-routebox *{box-sizing:border-box}
.tll-routebox .tll-jh{display:block;font-weight:700;font-size:17px;margin:0 0 8px;color:#1a2233}
.tll-routebox .tll-r{border:1px solid #d5dbe2;border-radius:8px;padding:10px 12px;margin-bottom:10px}
.tll-routebox .tll-rh{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.tll-routebox .tll-sub{font-size:13px;color:#4a5568;margin-top:3px}
.tll-routebox button{padding:8px 14px;border:1px solid var(--tlg,#006a4e);background:#fff;color:var(--tlg,#006a4e);border-radius:6px;cursor:pointer;font-weight:600}
.tll-routebox button.on{background:var(--tlg,#006a4e);color:#fff}
.tll-routebox .tll-slot .tll{margin-top:10px;box-shadow:none;border:1px solid #e1e6ec}
.tll-routebox .tll-msg{margin:0 0 8px}
.tll-rtbox{max-width:960px;margin:12px auto 0;padding:14px;background:#fff;color:#1a2233;border-radius:10px;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.tll-rtbox h3{margin:0 0 10px;font-size:17px;color:#1a2233}
.tll-rtw{overflow-x:auto}
.tll-rt{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.tll-rt th{background:var(--tlg,#006a4e);color:#fff;text-align:left;padding:9px 10px;font-weight:600;white-space:nowrap}
.tll-rt td{padding:9px 10px;border-bottom:1px solid #e3e8ee;vertical-align:top;color:#1a2233}
.tll-rt tbody tr:nth-child(even) td{background:#f4f8f6}
.tll-rt small{color:#4a5568}

.tll-days{display:flex;gap:5px;flex-wrap:wrap;margin:4px 0}
.tll-day{display:inline-block;min-width:46px;text-align:center;padding:6px 8px;border-radius:7px;font-weight:700;font-size:13px;color:#fff!important;line-height:1.2}
.tll-day.on{background:#1fa971}
.tll-day.off{background:#c92a2a;position:relative}
/* off days blink with a ring around them (only the ring fades, so the day name stays easy to read, and the graphics card draws it) */
.tll-day.off::after{content:"";position:absolute;inset:-3px;border-radius:inherit;box-shadow:0 0 0 2px #e03131;pointer-events:none;animation:tlldb 1s ease-in-out infinite}
.tll-day.today{box-shadow:0 0 0 2px #fff,0 0 0 4px #1a2233}
@keyframes tlldb{0%,100%{opacity:1}50%{opacity:.3}}
.tll-daysw{margin:0 0 6px}
.tll-leg{font-size:12px;color:#3f4b5c;margin:0 0 14px}
.tll-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle;margin-right:2px}
.tll-leg i.g{background:#1fa971}.tll-leg i.r{background:#e03131}
.tll-c2d{margin-top:8px}.tll-c2d .tll-day{min-width:38px;padding:4px 5px;font-size:11px}
.tll-r .tll-days{margin-top:6px}.tll-r .tll-day{min-width:38px;padding:4px 5px;font-size:11px}
.tll-rt .tll-days{flex-wrap:nowrap}.tll-rt .tll-day{min-width:36px;padding:3px 4px;font-size:11px}

.tll h2.tll-h2,.tll-faq h2.tll-h2{margin:20px 0 10px;padding:0;font-size:22px;line-height:1.3;font-weight:800;color:#1a2233;text-transform:none;letter-spacing:0}
.tll-jbox h2.tll-h2{margin-top:2px}
.tll h3.tll-jh{margin:0 0 8px;padding:0;font-size:16px;line-height:1.3;font-weight:700;color:#1a2233;text-transform:none}
.tll-faq h2.tll-h2{margin-top:2px}

.tll-c2h b a.tll-tl{color:#1a2233;text-decoration:none}.tll-c2h b a.tll-tl:hover{color:var(--tlg,#006a4e);text-decoration:underline}
.tll-rtbox h2.tll-h2{margin:0 0 10px;padding:0;font-size:22px;line-height:1.3;font-weight:800;color:#1a2233}

.tll-r a.tll-track{display:inline-block;padding:9px 16px;border:1px solid var(--tlg,#006a4e);background:var(--tlg,#006a4e);color:#fff!important;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.tll-r a.tll-track:hover{background:#00553e}
.tll-rh b a.tll-tl{color:#1a2233;text-decoration:none}.tll-rh b a.tll-tl:hover{color:var(--tlg,#006a4e);text-decoration:underline}

.tll-gbox h2.tll-h2{margin:0 0 12px;padding:0;font-size:22px;line-height:1.3;font-weight:800;color:#1a2233}
.tll-gbox h3{margin:16px 0 8px;font-size:17px;color:#1a2233}
.tll-gbox p,.tll-gbox li{color:#2d3748;font-size:15px;line-height:1.65}
.tll-gbox ul,.tll-gbox ol{margin:0 0 12px 22px;padding:0}.tll-gbox li{margin:0 0 6px}
.tll-gbox code{background:var(--tlgl,#eaf2ee);color:#04603f;padding:2px 8px;border-radius:5px;font-weight:700}
.tll-gbox table{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 12px;background:#fff}
.tll-gbox table th{background:var(--tlg,#006a4e);color:#fff;text-align:left;padding:9px 10px}
.tll-gbox table td{padding:9px 10px;border-bottom:1px solid #e3e8ee;color:#1a2233}
.tll-gbox table tbody tr:nth-child(even) td{background:#f4f8f6}

.tll .tll-upd-btn{background:var(--tlg,#006a4e)!important;color:#fff!important;border:1px solid var(--tlg,#006a4e)!important;padding:11px 18px!important;font-size:15px;position:relative}
/* the button's pulse is a ring that only fades (drawn by the graphics card, so the phone stays smooth) */
.tll .tll-upd-btn::after{content:"";position:absolute;inset:-5px;border-radius:inherit;box-shadow:0 0 0 3px var(--tlg,#006a4e);opacity:0;pointer-events:none;animation:tllring 1.3s ease-out infinite}
@keyframes tllring{0%{opacity:.6;transform:scale(.98)}100%{opacity:0;transform:scale(1.04)}}
.tll .tll-upd-btn:hover,.tll .tll-upd-btn:focus{animation-play-state:paused}
@keyframes tllpulse{0%,100%{box-shadow:0 0 0 0 rgba(0,106,78,.65);opacity:1}50%{box-shadow:0 0 0 12px rgba(0,106,78,0);opacity:.5}}
@media (prefers-reduced-motion:reduce){.tll .tll-upd-btn{animation:none}}
.tll-jt td.j-next{color:var(--tlg,#006a4e)}

/* ===== Route block styles: 1 classic (default), 2 ticket (blue), 3 dark compact ===== */
.tll-rb{max-width:960px;margin:24px auto 0}
.tll-rb .tll-routebox{margin-top:0}.tll-rb .tll-rtbox{margin-top:12px}
.tll-routebox h2.tll-h2{margin:0 0 10px;padding:0;font-size:21px;line-height:1.3;font-weight:800;color:#1a2233}

/* style 2 - ticket cards */
.tll-rb-s2 .tll-routebox{background:transparent;box-shadow:none;padding:0;border-radius:14px;overflow:hidden}
.tll-rb-s2 .tll-routebox h2.tll-h2{margin:0;padding:15px 18px;background:linear-gradient(135deg,#0a4fc2,#2f8cff);color:#fff;border-radius:14px 14px 0 0}
.tll-rb-s2 .tll-routebox .tll-res{background:#eaf2ff;padding:12px;border-radius:0 0 14px 14px}
.tll-rb-s2 .tll-routebox .tll-msg{color:#0b3d91;font-weight:600;margin:0 0 10px}
.tll-rb-s2 .tll-routebox .tk{background:#fff;border:0;border-left:5px solid #0a4fc2;border-radius:14px;padding:0;margin-bottom:12px;box-shadow:0 3px 10px rgba(10,79,194,.16);overflow:hidden}
.tk-top{padding:13px 16px 0}.tk-top b{font-size:17px;color:#0b2a63}.tk-top a{color:#0b2a63;text-decoration:none}
.tk-mid{display:flex;align-items:center;gap:12px;padding:10px 16px 12px}
.tk-c{flex:0 0 auto;min-width:92px}.tk-c small{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#5b6b82}
.tk-c strong{display:block;font-size:24px;line-height:1.15;color:#0a4fc2;font-weight:800}.tk-c span{font-size:13px;color:#33415c}.tk-c.right{text-align:right}
.tk-line{flex:1;text-align:center;font-size:12px;color:#5b6b82;min-width:60px}
.tk-line i{display:block;margin:6px 0;border-top:2px dashed #9dbbf0}
.tk-bot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px 14px;background:#f5f9ff;border-top:2px dashed #cfe0fb}
.tk-bot .tll-days{margin:0}
.tll-rb-s2 .tll-routebox .tk a.tll-track,.tll-rb-s2 .tll-routebox .tk button.tll-track{background:#0a4fc2;border:1px solid #0a4fc2;color:#fff!important;border-radius:22px;padding:9px 20px;font-weight:700}
.tll-rb-s2 .tll-rtbox{border-top:5px solid #0a4fc2}
.tll-rb-s2 .tll-rt th{background:#0a4fc2}.tll-rb-s2 .tll-rt tbody tr:nth-child(even) td{background:#eef4ff}
.tll-rb-s2 .tll-rtbox h3{color:#0b2a63}
@media (max-width:430px){.tk-c strong{font-size:20px}.tk-c{min-width:78px}}

/* style 3 - dark compact list */
.tll-rb-s3 .tll-routebox,.tll-rb-s3 .tll-rtbox{background:#0f1b2d;color:#e8eef7;box-shadow:none;border-radius:14px}
.tll-rb-s3 .tll-routebox h2.tll-h2,.tll-rb-s3 .tll-rtbox h3{color:#ffb703}
.tll-rb-s3 .tll-routebox .tll-msg{color:#9fb3d1}
.tll-rb-s3 .tll-routebox .cp{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#16263d;border:1px solid #26405f;border-left:4px solid #ffb703;border-radius:10px;padding:11px 13px;margin-bottom:9px;color:#e8eef7}
.cp-main{flex:1;min-width:200px}.cp-main b{font-size:16px;color:#fff}.cp-main a{color:#fff;text-decoration:none}
.cp-t{font-size:17px;font-weight:800;color:#ffb703;margin:3px 0 1px}.cp-t em{font-style:normal;font-size:12px;font-weight:600;color:#9fb3d1;margin-left:6px}
.cp-s{font-size:12px;color:#9fb3d1;margin-bottom:2px}
.cp .tll-days{margin:6px 0 0}.cp .tll-day{min-width:34px;padding:3px 4px;font-size:10px}
.tll-rb-s3 .tll-routebox .cp a.tll-track,.tll-rb-s3 .tll-routebox .cp button.tll-track{background:#ffb703;border:1px solid #ffb703;color:#0f1b2d!important;font-weight:800;border-radius:8px;padding:9px 16px}
.tll-rb-s3 .tll-rt th{background:#16263d;color:#ffb703;border-bottom:2px solid #ffb703}
.tll-rb-s3 .tll-rt td{background:#0f1b2d;color:#e8eef7;border-bottom:1px solid #26405f}
.tll-rb-s3 .tll-rt tbody tr:nth-child(even) td{background:#13233a}.tll-rb-s3 .tll-rt small{color:#9fb3d1}

/* whole card is the link (works with a tap anywhere on every device) */
.tll-card2{position:relative}.tll-card2 a.tll-btn::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px}
.tll-r{position:relative}.tll-r a.tll-track::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0}
.tll-ns{margin:12px 0;padding-left:20px}.tll-ns a{font-weight:600}

/* style 4 - timeline (purple, minimal) */
.tll-rb-s4 .tll-routebox{background:#fff;box-shadow:none;border:1px solid #e6e0f7;border-radius:14px}
.tll-rb-s4 .tll-routebox h2.tll-h2{color:#4c1d95;border-bottom:3px solid #8b5cf6;padding-bottom:8px;display:inline-block}
.tll-rb-s4 .tll-routebox .tll-res{border-left:3px solid #ddd6fe;margin:8px 0 0 9px;padding-left:20px}
.tll-rb-s4 .tll-routebox .tll-msg{color:#6d28d9;font-weight:600;margin:0 0 12px}
.tll-rb-s4 .tll-routebox .tl{position:relative;border:0;background:transparent;padding:0 0 22px;margin:0;border-radius:0}
.tl-dot{position:absolute;left:-30px;top:4px;width:16px;height:16px;border-radius:50%;background:#8b5cf6;border:3px solid #fff;box-shadow:0 0 0 3px #ddd6fe}
.tl-h b{font-size:17px;color:#2e1065}.tl-h a{color:#2e1065;text-decoration:none}
.tl-times{margin:6px 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tl-p{background:#f3eefe;color:#5b21b6;font-weight:800;font-size:16px;padding:4px 12px;border-radius:20px}.tl-p small{font-size:11px;font-weight:700}
.tl-a{color:#8b5cf6;font-weight:800}
.tl-meta{font-size:13px;color:#5f5a73;margin-bottom:2px}
.tl-act{margin-top:8px}
.tll-rb-s4 .tll-routebox .tl a.tll-track,.tll-rb-s4 .tll-routebox .tl button.tll-track{background:transparent;border:2px solid #8b5cf6;color:#6d28d9!important;border-radius:20px;padding:6px 16px;font-weight:700}
.tll-rb-s4 .tll-rtbox{border:1px solid #e6e0f7;box-shadow:none;border-radius:14px}
.tll-rb-s4 .tll-rt th{background:#fff;color:#4c1d95;border-bottom:3px solid #8b5cf6}
.tll-rb-s4 .tll-rt tbody tr:nth-child(even) td{background:#faf7ff}.tll-rb-s4 .tll-rtbox h3{color:#4c1d95}

/* style 5 - tiles grid (teal) */
.tll-rb-s5 .tll-routebox{background:transparent;box-shadow:none;padding:0}
.tll-rb-s5 .tll-routebox h2.tll-h2{background:#0f766e;color:#fff;padding:13px 16px;border-radius:12px;margin:0 0 12px}
.tll-rb-s5 .tll-routebox .tll-res{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tll-rb-s5 .tll-routebox .tll-msg{grid-column:1/-1;margin:0;color:#0f766e;font-weight:700}
.tll-rb-s5 .tll-routebox .tt{background:#fff;border:1px solid #cdeae6;border-radius:14px;padding:0 0 12px;margin:0;box-shadow:0 2px 8px rgba(15,118,110,.12);overflow:hidden}
.tt-top{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;padding:11px 12px}
.tt-no{background:#fff;color:#0f766e;font-weight:800;border-radius:8px;padding:3px 9px;font-size:14px}.tt-top b{font-size:15px;line-height:1.25}.tt-top a{color:#fff;text-decoration:none}
.tt-body{display:flex;justify-content:space-between;gap:8px;padding:12px 12px 4px}
.tt-c small{display:block;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#64748b}.tt-c strong{display:block;font-size:20px;color:#0f766e;line-height:1.2}.tt-c span{font-size:12px;color:#475569}.tt-c.r{text-align:right}
.tt-foot{padding:0 12px 6px;font-size:12px;color:#64748b}
.tt .tll-days{margin:4px 12px}.tt .tll-day{min-width:34px;padding:3px 4px;font-size:10px}
.tll-rb-s5 .tll-routebox .tt a.tll-track,.tll-rb-s5 .tll-routebox .tt button.tll-track{display:block;margin:8px 12px 0;text-align:center;background:#f59e0b;border:1px solid #f59e0b;color:#1f2937!important;border-radius:10px;padding:9px;font-weight:800}
.tll-rb-s5 .tll-rtbox{border-top:5px solid #0f766e}.tll-rb-s5 .tll-rt th{background:#0f766e}.tll-rb-s5 .tll-rt tbody tr:nth-child(even) td{background:#effaf8}
@media (max-width:520px){.tll-rb-s5 .tll-routebox .tll-res{grid-template-columns:1fr}}

/* ===== Train PAGE styles 2-5 (style 1 = the default look). Scope: .tll-psN on the tracker, schedule, tickets, SMS and FAQ blocks ===== */
.tll-ps2{--p:#0a5fd8;--pd:#08419a;--pl:#e8f1ff;--bg:#f4f8ff;--cd:#ffffff;--tx:#13264d;--mu:#4b6089;--ln:#d3e2fb;--hd:#0b2a63;--r:16px;--sh:0 4px 16px rgba(10,95,216,.15);--th:#0a5fd8;--tht:#ffffff;--st:#eef4ff;--on:#ffffff}
.tll-ps3{--p:#ffb703;--pd:#e09a00;--pl:#1d2f4a;--bg:#0e1726;--cd:#162338;--tx:#e8eef7;--mu:#9fb3d1;--ln:#263a57;--hd:#ffb703;--r:14px;--sh:0 6px 20px rgba(0,0,0,.45);--th:#1d2f4a;--tht:#ffb703;--st:#12203a;--on:#0e1726}
.tll-ps4{--p:#6d28d9;--pd:#5b21b6;--pl:#f5f0ff;--bg:#ffffff;--cd:#ffffff;--tx:#1f2430;--mu:#6b7280;--ln:#e5e7eb;--hd:#2e1065;--r:8px;--sh:none;--th:#ffffff;--tht:#4c1d95;--st:#faf8ff;--on:#ffffff}
.tll-ps5{--p:#ea580c;--pd:#c2410c;--pl:#fff1e6;--bg:#fffaf5;--cd:#ffffff;--tx:#3b1d0c;--mu:#8a5a3b;--ln:#fdd5b5;--hd:#7c2d12;--r:22px;--sh:0 6px 18px rgba(234,88,12,.16);--th:#ea580c;--tht:#ffffff;--st:#fff4ea;--on:#ffffff}
.tll-ps2,.tll-ps3,.tll-ps4,.tll-ps5{background:var(--bg)!important;color:var(--tx);border-radius:var(--r);box-shadow:var(--sh)}
.tll-ps2 label,.tll-ps3 label,.tll-ps4 label,.tll-ps5 label{color:var(--tx)}
.tll-ps2 select,.tll-ps2 input[type=text],.tll-ps3 input[type=text],.tll-ps4 input[type=text],.tll-ps5 input[type=text],.tll-ps3 select,.tll-ps2 input[type=text],.tll-ps3 input[type=text],.tll-ps4 input[type=text],.tll-ps5 input[type=text],.tll-ps4 select,.tll-ps2 input[type=text],.tll-ps3 input[type=text],.tll-ps4 input[type=text],.tll-ps5 input[type=text],.tll-ps5 select,.tll-ps2 input[type=text],.tll-ps3 input[type=text],.tll-ps4 input[type=text],.tll-ps5 input[type=text]{background:var(--cd);color:var(--tx);border-color:var(--ln)}
.tll-ps2 button,.tll-ps3 button,.tll-ps4 button,.tll-ps5 button{background:var(--cd);color:var(--p);border-color:var(--p)}
.tll-ps2 button.on,.tll-ps3 button.on,.tll-ps4 button.on,.tll-ps5 button.on{background:var(--p);color:var(--on);border-color:var(--p)}
.tll-ps2 .tll-menu button:hover,.tll-ps3 .tll-menu button:hover,.tll-ps4 .tll-menu button:hover,.tll-ps5 .tll-menu button:hover{background:var(--pl)}
.tll-ps2 .tll-status,.tll-ps3 .tll-status,.tll-ps4 .tll-status,.tll-ps5 .tll-status{background:var(--pl);color:var(--tx);border-radius:var(--r)}
.tll-ps2 .tll-status b,.tll-ps3 .tll-status b,.tll-ps4 .tll-status b,.tll-ps5 .tll-status b{color:var(--p)}
.tll-ps2 .tll-sub,.tll-ps3 .tll-sub,.tll-ps4 .tll-sub,.tll-ps5 .tll-sub{color:var(--mu)}
.tll-ps2 .tll-simbox,.tll-ps3 .tll-simbox,.tll-ps4 .tll-simbox,.tll-ps5 .tll-simbox{background:var(--pl);border-radius:var(--r)}
.tll-ps2 .tll-simbox label,.tll-simbox b,.tll-ps3 .tll-simbox label,.tll-simbox b,.tll-ps4 .tll-simbox label,.tll-simbox b,.tll-ps5 .tll-simbox label,.tll-simbox b{color:var(--tx)}
.tll-ps2 .tll-jbox,.tll-ps3 .tll-jbox,.tll-ps4 .tll-jbox,.tll-ps5 .tll-jbox{background:var(--cd);border:1px solid var(--ln);border-radius:var(--r)}
.tll-ps2 h2.tll-h2,.tll-ps3 h2.tll-h2,.tll-ps4 h2.tll-h2,.tll-ps5 h2.tll-h2{color:var(--hd)}
.tll-ps2 h3.tll-jh,.tll-ps3 h3.tll-jh,.tll-ps4 h3.tll-jh,.tll-ps5 h3.tll-jh{color:var(--hd)}
.tll-ps2 .tll-jh span,.tll-pct,.tll-ps3 .tll-jh span,.tll-pct,.tll-ps4 .tll-jh span,.tll-pct,.tll-ps5 .tll-jh span,.tll-pct{color:var(--p)}
.tll-ps2 .tll-jt,.tll-ps3 .tll-jt,.tll-ps4 .tll-jt,.tll-ps5 .tll-jt{background:transparent}
.tll-ps2 .tll-jt th,.tll-ps3 .tll-jt th,.tll-ps4 .tll-jt th,.tll-ps5 .tll-jt th{background:var(--pl);color:var(--mu);border-bottom-color:var(--ln)}
.tll-ps2 .tll-jt td,.tll-ps3 .tll-jt td,.tll-ps4 .tll-jt td,.tll-ps5 .tll-jt td{color:var(--tx);border-bottom-color:var(--ln)}
.tll-ps2 .tll-jt td.j-next,.tll-ps3 .tll-jt td.j-next,.tll-ps4 .tll-jt td.j-next,.tll-ps5 .tll-jt td.j-next{color:var(--p)}
.tll-ps2 .tll-pb,.tll-ps3 .tll-pb,.tll-ps4 .tll-pb,.tll-ps5 .tll-pb{background:var(--ln)}
.tll-ps2 .tll-pf,.tll-ps3 .tll-pf,.tll-ps4 .tll-pf,.tll-ps5 .tll-pf{background:linear-gradient(90deg,var(--pd),var(--p))}
.tll-ps2 .tll-tk,.tll-ps3 .tll-tk,.tll-ps4 .tll-tk,.tll-ps5 .tll-tk{background:var(--cd);border-color:var(--mu)}
.tll-ps2 .tll-tk.done,.tll-ps3 .tll-tk.done,.tll-ps4 .tll-tk.done,.tll-ps5 .tll-tk.done{background:var(--p);border-color:var(--cd)}
.tll-ps2 .tll-pl,.tll-ps3 .tll-pl,.tll-ps4 .tll-pl,.tll-ps5 .tll-pl{color:var(--mu)}
.tll-ps2 .tll-pl .j-rem,.tll-ps3 .tll-pl .j-rem,.tll-ps4 .tll-pl .j-rem,.tll-ps5 .tll-pl .j-rem{color:var(--p)}
.tll-ps2 .tll-leg,.tll-ps3 .tll-leg,.tll-ps4 .tll-leg,.tll-ps5 .tll-leg{color:var(--mu)}
.tll-ps2 .tll-map,.tll-ps3 .tll-map,.tll-ps4 .tll-map,.tll-ps5 .tll-map{border:2px solid var(--ln);border-radius:var(--r)}
.tll-ps2 .tll-day.today,.tll-ps3 .tll-day.today,.tll-ps4 .tll-day.today,.tll-ps5 .tll-day.today{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--p)}
.tll-ps2 .tll-upd-btn{background:var(--p)!important;color:var(--on)!important;border:1px solid var(--p)!important;animation-name:tllpulse2}
@keyframes tllpulse2{0%,100%{box-shadow:0 0 0 0 rgba(10,95,216,.65);opacity:1}50%{box-shadow:0 0 0 12px rgba(10,95,216,0);opacity:.55}}
.tll-ps3 .tll-upd-btn{background:var(--p)!important;color:var(--on)!important;border:1px solid var(--p)!important;animation-name:tllpulse3}
@keyframes tllpulse3{0%,100%{box-shadow:0 0 0 0 rgba(255,183,3,.65);opacity:1}50%{box-shadow:0 0 0 12px rgba(255,183,3,0);opacity:.55}}
.tll-ps4 .tll-upd-btn{background:var(--p)!important;color:var(--on)!important;border:1px solid var(--p)!important;animation-name:tllpulse4}
@keyframes tllpulse4{0%,100%{box-shadow:0 0 0 0 rgba(109,40,217,.65);opacity:1}50%{box-shadow:0 0 0 12px rgba(109,40,217,0);opacity:.55}}
.tll-ps5 .tll-upd-btn{background:var(--p)!important;color:var(--on)!important;border:1px solid var(--p)!important;animation-name:tllpulse5}
@keyframes tllpulse5{0%,100%{box-shadow:0 0 0 0 rgba(234,88,12,.65);opacity:1}50%{box-shadow:0 0 0 12px rgba(234,88,12,0);opacity:.55}}
.tll-ps2 .tll-upm:not(.ok):not(.bad),.tll-ps3 .tll-upm:not(.ok):not(.bad),.tll-ps4 .tll-upm:not(.ok):not(.bad),.tll-ps5 .tll-upm:not(.ok):not(.bad){background:var(--pl);color:var(--tx)}
.tll-ps2 .tll-hint,.tll-ps3 .tll-hint,.tll-ps4 .tll-hint,.tll-ps5 .tll-hint{color:var(--mu)}
.tll-ps2 .tll-imgp,.tll-ps3 .tll-imgp,.tll-ps4 .tll-imgp,.tll-ps5 .tll-imgp{background:var(--pl);border-color:var(--ln)}
.tll-ps2 .tll-rt th,.tll-ps3 .tll-rt th,.tll-ps4 .tll-rt th,.tll-ps5 .tll-rt th{background:var(--th);color:var(--tht)}
.tll-ps2 .tll-rt td,.tll-ps3 .tll-rt td,.tll-ps4 .tll-rt td,.tll-ps5 .tll-rt td{color:var(--tx);border-bottom-color:var(--ln)}
.tll-ps2 .tll-rt tbody tr:nth-child(even) td,.tll-ps3 .tll-rt tbody tr:nth-child(even) td,.tll-ps4 .tll-rt tbody tr:nth-child(even) td,.tll-ps5 .tll-rt tbody tr:nth-child(even) td{background:var(--st)}
.tll-ps2 .tll-gbox p,.tll-gbox li,.tll-ps3 .tll-gbox p,.tll-gbox li,.tll-ps4 .tll-gbox p,.tll-gbox li,.tll-ps5 .tll-gbox p,.tll-gbox li{color:var(--tx)}
.tll-ps2 .tll-gbox h3,.tll-ps3 .tll-gbox h3,.tll-ps4 .tll-gbox h3,.tll-ps5 .tll-gbox h3{color:var(--hd)}
.tll-ps2 .tll-gbox code,.tll-ps3 .tll-gbox code,.tll-ps4 .tll-gbox code,.tll-ps5 .tll-gbox code{background:var(--pl);color:var(--p)}
.tll-ps2 .tll-gbox table th,.tll-ps3 .tll-gbox table th,.tll-ps4 .tll-gbox table th,.tll-ps5 .tll-gbox table th{background:var(--th);color:var(--tht)}
.tll-ps2 .tll-gbox table td,.tll-ps3 .tll-gbox table td,.tll-ps4 .tll-gbox table td,.tll-ps5 .tll-gbox table td{color:var(--tx);border-bottom-color:var(--ln)}
.tll-ps2 .tll-gbox table tbody tr:nth-child(even) td,.tll-ps3 .tll-gbox table tbody tr:nth-child(even) td,.tll-ps4 .tll-gbox table tbody tr:nth-child(even) td,.tll-ps5 .tll-gbox table tbody tr:nth-child(even) td{background:var(--st)}
.tll-ps2 .tll-faq,.tll-ps3 .tll-faq,.tll-ps4 .tll-faq,.tll-ps5 .tll-faq{border-top-color:var(--ln)}
.tll-ps2 .tll-fq,.tll-ps3 .tll-fq,.tll-ps4 .tll-fq,.tll-ps5 .tll-fq{background:var(--cd);border-color:var(--ln)}
.tll-ps2 .tll-fq summary,.tll-ps3 .tll-fq summary,.tll-ps4 .tll-fq summary,.tll-ps5 .tll-fq summary{color:var(--tx)}
.tll-ps2 .tll-fq summary:after,.tll-ps3 .tll-fq summary:after,.tll-ps4 .tll-fq summary:after,.tll-ps5 .tll-fq summary:after{color:var(--p)}
.tll-ps2 .tll-fq[open] summary,.tll-ps3 .tll-fq[open] summary,.tll-ps4 .tll-fq[open] summary,.tll-ps5 .tll-fq[open] summary{background:var(--pl)}
.tll-ps2 .tll-fa,.tll-ps3 .tll-fa,.tll-ps4 .tll-fa,.tll-ps5 .tll-fa{color:var(--mu)}

/* style 2 - Ocean blue: banner headings, stat tiles */
.tll-ps2 h2.tll-h2{background:linear-gradient(135deg,var(--p),#3b9cff);color:#fff;padding:12px 16px;border-radius:12px;font-size:19px}
.tll-ps2 .tll-status{background:linear-gradient(135deg,#0a5fd8,#3b9cff);color:#fff}.tll-ps2 .tll-status b{color:#fff}.tll-ps2 .tll-sub{color:#dbe9ff}
.tll-ps2 .tll-jt{display:block}.tll-ps2 .tll-jt tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tll-ps2 .tll-jt tr{display:block;background:var(--pl);border-radius:12px;padding:10px 12px}
.tll-ps2 .tll-jt th,.tll-ps2 .tll-jt td{display:block;border:0;padding:0;width:auto;background:transparent}
.tll-ps2 .tll-jt th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mu);margin-bottom:2px}.tll-ps2 .tll-jt td{font-size:15px;font-weight:800;color:var(--hd)}
.tll-ps2 .tll-pb{height:20px}.tll-ps2 .tll-pf{background:linear-gradient(90deg,#0a5fd8,#4cc3ff)}

/* style 3 - Midnight dark: amber accents, dark map */
.tll-ps3 .tll-status{border-left:6px solid var(--p);border-radius:12px}.tll-ps3 .tll-status b{color:var(--p)}
.tll-ps3 .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.92)}
.tll-ps3 .tll-jt th{background:#1d2f4a;color:#9fb3d1}.tll-ps3 .tll-jbox{border-color:var(--ln)}
.tll-ps3 .tll-pf{background:linear-gradient(90deg,#e09a00,#ffd166)}
.tll-ps3 .tll-fq[open] summary{color:var(--p)}
.tll-ps3 .tll-upm.ok{background:#12381f;color:#8ce6a8;border-color:#1f6b3a}.tll-ps3 .tll-upm.bad{background:#3f1717;color:#ffb4b4;border-color:#7a2a2a}

/* style 4 - Minimal purple: flat, thin lines, small caps labels */
.tll-ps4{border:1px solid var(--ln)}
.tll-ps4 h2.tll-h2{border-left:5px solid var(--p);padding-left:12px;font-size:20px}
.tll-ps4 .tll-status{background:transparent;border:1px solid var(--ln);border-left:5px solid var(--p);border-radius:8px}
.tll-ps4 .tll-jbox{border:0;background:transparent;padding:0}
.tll-ps4 .tll-jt th{background:transparent;text-transform:uppercase;font-size:11px;letter-spacing:.07em;color:var(--mu);width:38%}
.tll-ps4 .tll-jt td{font-weight:600}
.tll-ps4 .tll-pb{height:8px;margin:20px 4px 10px}.tll-ps4 .tll-pf{min-width:8px}.tll-ps4 .tll-pt{top:-24px}.tll-ps4 .tll-tk{width:7px;height:7px}
.tll-ps4 .tll-upd-btn{background:transparent!important;color:var(--p)!important;border:2px solid var(--p)!important;border-radius:30px!important}
.tll-ps4 .tll-day{border-radius:20px}.tll-ps4 .tll-fq{border-radius:6px}.tll-ps4 .tll-rt th{border-bottom:3px solid var(--p)}

/* style 5 - Sunrise orange: bold, rounded, list rows */
.tll-ps5 h2.tll-h2{font-size:23px;font-weight:900}
.tll-ps5 h2.tll-h2:after{content:'';display:block;width:58px;height:5px;margin-top:6px;border-radius:5px;background:linear-gradient(90deg,#ea580c,#fbbf24)}
.tll-ps5 .tll-status{text-align:center;font-size:17px;background:linear-gradient(135deg,#fff1e6,#ffe0c2);border:1px solid var(--ln)}
.tll-ps5 .tll-jt,.tll-ps5 .tll-jt tbody{display:block}
.tll-ps5 .tll-jt tr{display:block;background:var(--pl);border-left:6px solid var(--p);border-radius:14px;margin-bottom:7px;padding:2px 0}
.tll-ps5 .tll-jt th{display:inline-block;width:42%;vertical-align:middle;background:transparent;border:0}.tll-ps5 .tll-jt td{display:inline-block;width:56%;vertical-align:middle;border:0;font-weight:800}
.tll-ps5 .tll-pb{height:30px;border-radius:15px}.tll-ps5 .tll-pf{border-radius:15px;background:linear-gradient(90deg,#ea580c,#fbbf24)}
.tll-ps5 .tll-upd-btn{background:linear-gradient(90deg,#ea580c,#f59e0b)!important;border-radius:30px!important;font-size:16px;padding:14px 20px!important}
.tll-ps5 .tll button{border-radius:22px}.tll-ps5 .tll-day{border-radius:20px}


/* guide blocks (tickets, SMS): style class and .tll-gbox are on the SAME element */
.tll-ps2.tll-gbox p,.tll-ps2.tll-gbox li,.tll-ps3.tll-gbox p,.tll-ps3.tll-gbox li,.tll-ps4.tll-gbox p,.tll-ps4.tll-gbox li,.tll-ps5.tll-gbox p,.tll-ps5.tll-gbox li{color:var(--tx)}
.tll-ps2.tll-gbox h3,.tll-ps3.tll-gbox h3,.tll-ps4.tll-gbox h3,.tll-ps5.tll-gbox h3{color:var(--hd)}
.tll-ps2.tll-gbox code,.tll-ps3.tll-gbox code,.tll-ps4.tll-gbox code,.tll-ps5.tll-gbox code{background:var(--pl);color:var(--p)}
.tll-ps2.tll-gbox table,.tll-ps3.tll-gbox table,.tll-ps4.tll-gbox table,.tll-ps5.tll-gbox table{background:transparent}
.tll-ps2.tll-gbox table th,.tll-ps3.tll-gbox table th,.tll-ps4.tll-gbox table th,.tll-ps5.tll-gbox table th{background:var(--th);color:var(--tht)}
.tll-ps2.tll-gbox table td,.tll-ps3.tll-gbox table td,.tll-ps4.tll-gbox table td,.tll-ps5.tll-gbox table td{color:var(--tx);border-bottom-color:var(--ln);background:transparent}
.tll-ps2.tll-gbox table tbody tr:nth-child(even) td,.tll-ps3.tll-gbox table tbody tr:nth-child(even) td,.tll-ps4.tll-gbox table tbody tr:nth-child(even) td,.tll-ps5.tll-gbox table tbody tr:nth-child(even) td{background:var(--st)}
.tll-ps2.tll-gbox .tll-rt td,.tll-ps3.tll-gbox .tll-rt td,.tll-ps4.tll-gbox .tll-rt td,.tll-ps5.tll-gbox .tll-rt td{background:transparent}
.tll-ps2.tll-gbox .tll-rt tbody tr:nth-child(even) td,.tll-ps3.tll-gbox .tll-rt tbody tr:nth-child(even) td,.tll-ps4.tll-gbox .tll-rt tbody tr:nth-child(even) td,.tll-ps5.tll-gbox .tll-rt tbody tr:nth-child(even) td{background:var(--st)}

/* ===== [train_search] - 5 designs (.tll-sf1 ... .tll-sf5); results reuse route card styles 1-5 ===== */
.tll-search{--sp:var(--tlg,#006a4e);--spl:#e6f3ef;--sx:#1a2233}
.tll-search .sf-h{margin:0 0 4px;font-size:22px;line-height:1.3;color:var(--sx)}.tll-search .sf-sub{margin:0 0 12px;font-size:14px;color:#4a5568}
.tll-search .sf-tabs{display:flex;gap:6px;margin-bottom:12px}
.tll-search .sf-tabs button{flex:1;padding:10px 8px;border:1px solid var(--sp);background:#fff;color:var(--sp);border-radius:10px;font-weight:700;font-size:14px;cursor:pointer}
.tll-search .sf-tabs button.on{background:var(--sp);color:#fff}
.tll-search .sf-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.tll-search .sf-f{flex:1;min-width:150px}.tll-search .sf-f label{display:block;font-size:13px;font-weight:700;margin:0 0 4px;color:var(--sx)}
.tll-search .sf-box{position:relative}
.tll-search .sf-box input{width:100%;padding:13px 12px;border:1px solid #b9c2cc;border-radius:10px;font-size:16px;background:#fff;color:#1a2233}
.tll-search .sf-box input:focus{outline:0;border-color:var(--sp);box-shadow:0 0 0 3px var(--spl)}
.tll-search .sf-sg{display:none;position:absolute;left:0;right:0;top:100%;z-index:40;background:#fff;border:1px solid #cfd6df;border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.18);margin-top:4px;overflow:hidden}
.tll-search .sf-opt{display:block;width:100%;text-align:left;padding:12px 14px;border:0;border-bottom:1px solid #eef1f4;border-radius:0;background:#fff;color:#1a2233;font-size:15px;font-weight:500;cursor:pointer}
.tll-search .sf-opt:last-child{border-bottom:0}.tll-search .sf-opt.on,.tll-search .sf-opt:hover{background:var(--spl)}
.tll-search .sf-swap{padding:12px 13px;border:1px solid var(--sp);background:#fff;color:var(--sp);border-radius:10px;font-size:18px;font-weight:700;cursor:pointer}
.tll-search .sf-go,.tll-search .sf-go2{padding:13px 22px;border:1px solid var(--sp);background:var(--sp);color:#fff;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer}
.tll-search .sf-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.tll-search .sf-chips:empty{display:none}
.tll-search .sf-chips small{font-size:12px;font-weight:700;color:#4a5568;margin-right:2px}
.tll-search .sf-chip{padding:6px 12px;border:1px solid var(--sp);background:#fff;color:var(--sp);border-radius:20px;font-size:13px;font-weight:600;cursor:pointer}
.tll-search .sf-chip.rec{background:var(--spl)}
.tll-search .sf-opts{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:14px 0 0;font-size:14px;color:var(--sx)}
.tll-search .sf-opts select{padding:7px 10px;border:1px solid #b9c2cc;border-radius:8px;font-size:14px;background:#fff;color:#1a2233;width:auto}
.tll-search input[type=checkbox]{width:auto;margin-right:6px;accent-color:var(--sp)}
.tll-search .sf-out{margin-top:14px}.tll-search .sf-out .tll-rb{margin-top:0}
.tll-search .sf-empty{padding:16px;border-radius:12px;background:#f1f4f2;color:#1a2233;text-align:center}
@media (max-width:560px){.tll-search .sf-swap{order:3;width:100%}.tll-search .sf-go,.tll-search .sf-go2{width:100%}.tll-search .sf-f{min-width:100%}}

/* 2 - Hero blue */
.tll-sf2{--sp:#0a4fc2;--spl:#e3eeff;background:linear-gradient(135deg,#0a4fc2,#2f8cff)!important;color:#fff}
.tll-sf2 .sf-h,.tll-sf2 .sf-f label,.tll-sf2 .sf-opts{color:#fff}.tll-sf2 .sf-sub,.tll-sf2 .sf-chips small{color:#dbe9ff}
.tll-sf2 .sf-tabs button{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5);color:#fff}.tll-sf2 .sf-tabs button.on{background:#fff;color:#0a4fc2;border-color:#fff}
.tll-sf2 .sf-box input{border:0;border-radius:12px;padding:15px 14px;font-size:17px}
.tll-sf2 .sf-swap{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.6);color:#fff}
.tll-sf2 .sf-go,.tll-sf2 .sf-go2{background:#fff;color:#0a4fc2;border-color:#fff;border-radius:12px;padding:15px 24px;font-weight:800}
.tll-sf2 .sf-chip{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5);color:#fff}.tll-sf2 .sf-chip.rec{background:rgba(255,255,255,.3)}
.tll-sf2 .sf-opts select{border:0}.tll-sf2 .sf-out{background:#fff;border-radius:14px;padding:12px;color:#1a2233}
.tll-sf2 .sf-empty{background:#eef4ff}

/* 3 - Midnight dark */
.tll-sf3{--sp:#ffb703;--spl:#1d2f4a;background:#0f1b2d!important;color:#e8eef7}
.tll-sf3 .sf-h,.tll-sf3 .sf-f label,.tll-sf3 .sf-opts{color:#fff}.tll-sf3 .sf-h{color:#ffb703}.tll-sf3 .sf-sub,.tll-sf3 .sf-chips small{color:#9fb3d1}
.tll-sf3 .sf-tabs button{background:#16263d;border-color:#26405f;color:#9fb3d1}.tll-sf3 .sf-tabs button.on{background:#ffb703;color:#0f1b2d;border-color:#ffb703}
.tll-sf3 .sf-box input{background:#16263d;border-color:#26405f;color:#fff}.tll-sf3 .sf-box input::placeholder{color:#6f87aa}
.tll-sf3 .sf-sg{background:#16263d;border-color:#26405f}.tll-sf3 .sf-opt{background:#16263d;color:#e8eef7;border-bottom-color:#26405f}.tll-sf3 .sf-opt.on,.tll-sf3 .sf-opt:hover{background:#1d2f4a}
.tll-sf3 .sf-swap{background:#16263d;border-color:#26405f;color:#ffb703}
.tll-sf3 .sf-go,.tll-sf3 .sf-go2{background:#ffb703;color:#0f1b2d;border-color:#ffb703;font-weight:800}
.tll-sf3 .sf-chip{background:#16263d;border-color:#26405f;color:#ffb703}.tll-sf3 .sf-chip.rec{background:#1d2f4a}
.tll-sf3 .sf-opts select{background:#16263d;border-color:#26405f;color:#fff}.tll-sf3 .sf-empty{background:#16263d;color:#e8eef7}

/* 4 - Minimal purple */
.tll-sf4{--sp:#6d28d9;--spl:#f3eefe;box-shadow:none!important;border:1px solid #e6e0f7}
.tll-sf4 .sf-h{color:#2e1065}.tll-sf4 .sf-tabs{border-bottom:2px solid #eee9fb;gap:18px}
.tll-sf4 .sf-tabs button{flex:0 0 auto;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#6b7280;padding:8px 2px;margin-bottom:-2px}
.tll-sf4 .sf-tabs button.on{background:transparent;color:#6d28d9;border-bottom-color:#6d28d9}
.tll-sf4 .sf-box input{border:0;border-bottom:2px solid #d8d2ee;border-radius:0;padding:12px 2px;background:transparent}.tll-sf4 .sf-box input:focus{box-shadow:none;border-bottom-color:#6d28d9}
.tll-sf4 .sf-swap{border:0;background:transparent;font-size:22px}
.tll-sf4 .sf-go,.tll-sf4 .sf-go2{background:transparent;color:#6d28d9;border:2px solid #6d28d9;border-radius:30px;padding:11px 26px}
.tll-sf4 .sf-chip{border-radius:6px;border-color:#e6e0f7;background:#faf8ff}.tll-sf4 .sf-empty{background:#faf8ff}

/* 5 - Orange booking bar */
.tll-sf5{--sp:#ea580c;--spl:#fff1e6;background:#fff7ee!important;border:2px solid #fdd5b5;border-radius:26px!important;box-shadow:0 8px 24px rgba(234,88,12,.16)!important}
.tll-sf5 .sf-h{color:#7c2d12;font-weight:900}.tll-sf5 .sf-sub{color:#8a5a3b}
.tll-sf5 .sf-tabs button{border-radius:30px;border-color:#fdd5b5;color:#c2410c;background:#fff}.tll-sf5 .sf-tabs button.on{background:var(--sp);color:#fff;border-color:var(--sp)}
.tll-sf5 .sf-f label{color:#7c2d12}.tll-sf5 .sf-box input{border:2px solid #fdd5b5;border-radius:30px;padding:15px 18px;font-size:17px}
.tll-sf5 .sf-swap{border-radius:50%;width:46px;height:46px;padding:0;border-color:#fdd5b5}
.tll-sf5 .sf-go,.tll-sf5 .sf-go2{background:linear-gradient(90deg,#ea580c,#f59e0b);border:0;border-radius:30px;padding:16px 28px;font-weight:800}
.tll-sf5 .sf-chip{border-radius:30px;border-color:#fdd5b5;color:#c2410c}.tll-sf5 .sf-opts{color:#7c2d12}.tll-sf5 .sf-empty{background:#fff1e6;color:#7c2d12}
@media (min-width:700px){.tll-sf5 .sf-row{flex-wrap:nowrap}.tll-sf5 .sf-f{min-width:0}}

/* ===== live blog (train page) ===== */
.tll-lb{margin-top:6px}
.tll-lb h2.tll-h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tll-lbadge{display:inline-flex;align-items:center;gap:6px;background:#e03131;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;padding:3px 10px;border-radius:14px;line-height:1.4}
.tll-lbadge i{width:8px;height:8px;border-radius:50%;background:#fff;animation:tllb 1s infinite}
.tll-lbl{list-style:none;margin:6px 0 10px;padding:0 0 0 4px;border-left:3px solid var(--ln,#d5dde6);margin-left:6px}
.tll-lbl li{position:relative;display:flex;gap:12px;padding:8px 0 12px 20px;margin:0;color:var(--tx,#1a2233)}
.tll-lbl li:before{content:'';position:absolute;left:-10px;top:12px;width:13px;height:13px;border-radius:50%;background:var(--cd,#fff);border:3px solid var(--mu,#9aa5b1)}
.tll-lbl li.k-arr:before,.tll-lbl li.k-dep:before{border-color:var(--p,var(--tlg,#006a4e))}
.tll-lbl li.k-end:before{border-color:#2c4bb0;background:#2c4bb0}
.tll-lbl li.k-rep:before{border-color:#e8590c;background:#e8590c}
.tll-lbl li.now:before{background:var(--p,var(--tlg,#006a4e));border-color:var(--cd,#fff);box-shadow:0 0 0 3px var(--p,var(--tlg,#006a4e));animation:tllb 1.2s infinite}
.tll-lbl li.now.k-before:before,.tll-lbl li.now.k-end:before{animation:none}
.tll-lbl time{flex:0 0 74px;font-weight:800;font-size:13px;color:var(--p,var(--tlg,#006a4e));padding-top:1px}
.tll-lbl li div b{display:block;font-size:15px;line-height:1.35;color:var(--tx,#1a2233)}
.tll-lbl li div span{display:block;font-size:13px;color:var(--mu,#4a5568);margin-top:1px}
.tll-lbl li div span.lt{color:#b42318;font-weight:700}
.tll-lbl li.now div b{font-size:16px}
.tll-lbl li.k-rep div b{color:#c2410c}
.tll-lbmore{padding:8px 16px;border:1px solid var(--p,var(--tlg,#006a4e));background:transparent;color:var(--p,var(--tlg,#006a4e));border-radius:20px;font-weight:700;cursor:pointer}
.tll-lbnote{margin:10px 0 0;font-size:12px;color:var(--mu,#4a5568)}

/* ===== route block styles 6-8 ===== */
/* 6 - departure board */
.tll-rb-s6 .tll-routebox{background:#1f2937;box-shadow:none;border-radius:12px;padding:14px}
.tll-rb-s6 .tll-routebox h2.tll-h2{color:#34d399;font-family:"Courier New",monospace;letter-spacing:.02em;border-bottom:2px dashed #374151;padding-bottom:10px}
.tll-rb-s6 .tll-routebox .tll-msg{color:#9ca3af;font-family:"Courier New",monospace}
.tll-rb-s6 .tll-routebox .bd{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:#111827;border:1px solid #374151;border-radius:8px;padding:10px 12px;margin-bottom:8px;color:#e5e7eb}
.bd-no{flex:0 0 auto;min-width:48px;text-align:center;background:#fbbf24;color:#111827;font-family:"Courier New",monospace;font-weight:900;border-radius:6px;padding:6px 8px}
.bd-main{flex:1 1 170px;min-width:150px}.bd-main b{display:block;font-size:16px;color:#fff}.bd-main a{color:#fff;text-decoration:none}.bd-main span{font-size:12px;color:#9ca3af}
.bd-t{flex:0 0 auto;text-align:center;background:#000;border-radius:6px;padding:4px 10px;border:1px solid #374151}
.bd-t small{display:block;font-size:9px;letter-spacing:.12em;color:#6b7280;font-family:"Courier New",monospace}.bd-t strong{display:block;font-family:"Courier New",monospace;font-size:18px;color:#34d399;letter-spacing:.03em}
.bd-days{flex:1 0 100%}.bd .tll-days{margin:2px 0 0}.bd .tll-day{min-width:34px;padding:3px 4px;font-size:10px}
.tll-rb-s6 .tll-routebox .bd a.tll-track,.tll-rb-s6 .tll-routebox .bd button.tll-track{background:#34d399;border:1px solid #34d399;color:#111827!important;font-family:"Courier New",monospace;font-weight:900;border-radius:6px;padding:9px 14px}
.tll-rb-s6 .tll-rtbox{background:#1f2937;box-shadow:none;border-radius:12px}.tll-rb-s6 .tll-rtbox h3{color:#34d399;font-family:"Courier New",monospace}
.tll-rb-s6 .tll-rt th{background:#111827;color:#34d399;font-family:"Courier New",monospace;border-bottom:2px solid #34d399}
.tll-rb-s6 .tll-rt td{background:#1f2937;color:#e5e7eb;border-bottom:1px solid #374151}.tll-rb-s6 .tll-rt tbody tr:nth-child(even) td{background:#243042}.tll-rb-s6 .tll-rt small{color:#9ca3af}

/* 7 - editorial (cream + crimson, serif) */
.tll-rb-s7 .tll-routebox{background:#fffaf0;box-shadow:none;border:1px solid #ecdcc0;border-radius:4px;padding:18px 16px}
.tll-rb-s7 .tll-routebox h2.tll-h2{font-family:Georgia,"Times New Roman",serif;font-size:26px;color:#7f1d1d;border-bottom:3px double #b91c1c;padding-bottom:8px;margin-bottom:14px}
.tll-rb-s7 .tll-routebox .tll-msg{font-family:Georgia,serif;font-style:italic;color:#7c6a4d}
.tll-rb-s7 .tll-routebox .ed{display:flex;gap:16px;background:transparent;border:0;border-bottom:1px solid #ecdcc0;border-radius:0;padding:0 0 16px;margin:0 0 16px;box-shadow:none}
.ed-n{flex:0 0 auto;font-family:Georgia,serif;font-size:42px;font-weight:700;line-height:1;color:#f2c4c4;-webkit-text-stroke:1.5px #b91c1c;min-width:84px}
.ed-b{flex:1;min-width:0}.ed-h{margin:0;font-family:Georgia,serif;font-size:21px;line-height:1.25;color:#1c1917}.ed-h a{color:#1c1917;text-decoration:none}
.ed-r{font-family:Georgia,serif;font-style:italic;color:#b91c1c;margin:2px 0 6px}
.ed-t{margin:0 0 8px;font-family:Georgia,serif;font-size:15px;line-height:1.6;color:#44403c}
.ed .tll-days{margin:0 0 10px}
.tll-rb-s7 .tll-routebox .ed a.tll-track,.tll-rb-s7 .tll-routebox .ed button.tll-track{display:inline-block;background:transparent;border:0;border-bottom:2px solid #b91c1c;border-radius:0;color:#b91c1c!important;font-family:Georgia,serif;font-style:italic;font-weight:700;padding:2px 0}
.tll-rb-s7 .tll-rtbox{background:#fffaf0;border:1px solid #ecdcc0;box-shadow:none;border-radius:4px}.tll-rb-s7 .tll-rtbox h3{font-family:Georgia,serif;color:#7f1d1d}
.tll-rb-s7 .tll-rt th{background:#7f1d1d;color:#fff;font-family:Georgia,serif}.tll-rb-s7 .tll-rt td{border-bottom-color:#ecdcc0}.tll-rb-s7 .tll-rt tbody tr:nth-child(even) td{background:#fbf1de}
@media (max-width:480px){.ed-n{font-size:30px;min-width:58px}}

/* 8 - rose glass (pink + indigo) */
.tll-rb-s8 .tll-routebox{background:linear-gradient(135deg,#fdf2f8,#eef2ff);box-shadow:0 6px 20px rgba(192,38,211,.12);border:1px solid #f5d0fe;border-radius:22px;padding:16px}
.tll-rb-s8 .tll-routebox h2.tll-h2{color:#a21caf;font-size:23px}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.tll-rb-s8 .tll-routebox h2.tll-h2{background:linear-gradient(90deg,#c026d3,#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}}
.tll-rb-s8 .tll-routebox .tll-msg{color:#7e22ce;font-weight:700}
.tll-rb-s8 .tll-routebox .gl{background:rgba(255,255,255,.75);border:1px solid #f0d4fb;border-radius:20px;padding:14px;margin-bottom:12px;box-shadow:0 3px 10px rgba(99,102,241,.1)}
.gl-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.gl-top b{font-size:17px;color:#3b0764}.gl-top a{color:#3b0764;text-decoration:none}
.gl-no{background:#ede9fe;color:#6d28d9;font-weight:800;font-size:12px;border-radius:12px;padding:3px 10px}
.gl-times{display:flex;align-items:center;gap:10px;margin:10px 0 6px}
.gl-p{background:linear-gradient(135deg,#c026d3,#6366f1);color:#fff;font-weight:800;font-size:16px;border-radius:20px;padding:6px 14px}.gl-p small{font-size:10px}
.gl-l{flex:1;height:3px;border-radius:3px;background:linear-gradient(90deg,#c026d3,#6366f1);opacity:.35}
.gl-m{font-size:13px;color:#6b21a8;margin-bottom:2px}
.gl .tll-days{margin:8px 0}.gl .tll-day{border-radius:20px}
.tll-rb-s8 .tll-routebox .gl a.tll-track,.tll-rb-s8 .tll-routebox .gl button.tll-track{display:inline-block;background:#fff;border:2px solid #c026d3;color:#a21caf!important;border-radius:22px;padding:8px 20px;font-weight:800}
.tll-rb-s8 .tll-rtbox{background:linear-gradient(135deg,#fdf2f8,#eef2ff);border:1px solid #f5d0fe;box-shadow:none;border-radius:22px}.tll-rb-s8 .tll-rtbox h3{color:#6b21a8}
.tll-rb-s8 .tll-rt th{background:linear-gradient(90deg,#c026d3,#6366f1);color:#fff}.tll-rb-s8 .tll-rt td{border-bottom-color:#f0d4fb;background:rgba(255,255,255,.6)}.tll-rb-s8 .tll-rt tbody tr:nth-child(even) td{background:rgba(237,233,254,.7)}

/* ===================== train page: more attractive (hero, update button, polish) ===================== */
.tll{--ring:rgba(0,106,78,.55)}
.tll-ps2{--ring:rgba(10,95,216,.55)}.tll-ps3{--ring:rgba(255,183,3,.55)}.tll-ps4{--ring:rgba(109,40,217,.5)}.tll-ps5{--ring:rgba(234,88,12,.55)}

/* hero card */
.tll .tll-hero{--h1:var(--tlgd,#004d39);--h2:var(--tlg2,#0a9a74);--hac:#a7f3d0;position:relative;overflow:hidden;border-radius:20px;padding:18px 18px 16px;margin:0 0 14px;color:#fff;background:linear-gradient(135deg,var(--h1),var(--h2));box-shadow:0 10px 28px rgba(0,77,57,.28)}
.tll .tll-hero:empty{display:none}
.tll-hero:before{content:'';position:absolute;right:-44px;top:-44px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.08)}
.tll-hero:after{content:'';position:absolute;right:34px;bottom:-64px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.06)}
.tll-ps2 .tll-hero{--h1:#08419a;--h2:#3b9cff;--hac:#d3e6ff;box-shadow:0 10px 28px rgba(10,95,216,.3)}
.tll-ps3 .tll-hero{--h1:#0b1424;--h2:#223a5e;--hac:#ffb703;box-shadow:0 10px 28px rgba(0,0,0,.5)}
.tll-ps4 .tll-hero{--h1:#2e1065;--h2:#7c3aed;--hac:#ddd6fe;box-shadow:0 10px 28px rgba(109,40,217,.3)}
.tll-ps5 .tll-hero{--h1:#9a3412;--h2:#f59e0b;--hac:#fff3c4;box-shadow:0 10px 28px rgba(234,88,12,.32)}
.hero-top,.hero-name,.hero-route,.hero-chips,.hero-prog,.hero-ps{position:relative;z-index:1}
.hero-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.14em;color:#fff}
.hero-tag i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#94a3b8}
.hero-tag.on i{background:#ff5a5a;animation:tllb 1s infinite}
.hero-no{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.38);padding:3px 13px;border-radius:20px;font-weight:800;font-size:13px;color:#fff}
.hero-name{font-size:27px;font-weight:900;line-height:1.15;margin:12px 0 5px;letter-spacing:.01em;color:#fff;text-transform:uppercase}
.hero-route{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:17px;font-weight:700;color:var(--hac)}
.hero-arrow{display:inline-block;flex:0 0 40px;height:2px;background:var(--hac);position:relative;opacity:.85}
.hero-arrow:after{content:'';position:absolute;right:-1px;top:-4px;border-left:8px solid var(--hac);border-top:5px solid transparent;border-bottom:5px solid transparent}
.hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 13px}
.hero-chips span{display:inline-block;vertical-align:top;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:14px;padding:7px 12px;min-width:78px;color:#fff}
.hero-chips small{display:block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;opacity:.82}
.hero-chips b{font-size:15px;font-weight:800}
.hero-prog{height:9px;border-radius:9px;background:rgba(255,255,255,.24);overflow:hidden}
.hero-pf{height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--hac),#fff);transition:width .6s}
.hero-ps{margin-top:9px;font-size:13px;font-weight:600;color:#fff;opacity:.96}
@media (max-width:420px){.hero-name{font-size:23px}.hero-chips span{min-width:calc(50% - 4px)}}

/* time mode: small and quiet */
.tll .tll-bar{margin:0 0 10px;justify-content:flex-end}.tll .tll-bar>div{flex:0 0 auto;min-width:0}
.tll .tll-bar label{display:inline-block;margin:0 8px 0 0;font-size:12px;font-weight:600;color:var(--mu,#6b7280)}
.tll .tll-bar button{padding:5px 13px;font-size:12px;border-radius:16px}

/* live location update button */
.tll .tll-upd-btn{display:block!important;width:100%;text-align:left;padding:14px 16px!important;border:0!important;border-radius:18px!important;font-size:16px;color:var(--on,#fff)!important;
  background:linear-gradient(135deg,var(--p,var(--tlg,#006a4e)),var(--pd,var(--tlg2,#0a9a74)))!important;position:relative;overflow:hidden;cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.18),0 0 0 0 var(--ring);animation:tllglow 2.2s ease-in-out infinite}
.tll .tll-upd-btn .ub-row{display:flex;align-items:center;gap:14px;width:100%}
.tll .tll-upd-btn:hover{transform:translateY(-1px)}
.tll .tll-upd-btn:active{transform:scale(.99)}
@keyframes tllglow{0%,100%{box-shadow:0 8px 22px rgba(0,0,0,.18),0 0 0 0 var(--ring)}55%{box-shadow:0 8px 22px rgba(0,0,0,.18),0 0 0 13px transparent}}
.tll-upd-btn .ub-ic{position:relative;flex:0 0 50px;height:50px;border-radius:50%;background:rgba(255,255,255,.24);display:flex;align-items:center;justify-content:center;font-size:24px;color:inherit}
.tll-upd-btn .ub-ic i{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:50%;border:2px solid currentColor;opacity:0;animation:ubr 1.9s ease-out infinite}
.tll-upd-btn .ub-ic i+i{animation-delay:.95s}
@keyframes ubr{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.7);opacity:0}}
.tll-upd-btn .ub-tx{flex:1;min-width:0}
.tll-upd-btn .ub-tx b{display:block;font-size:17px;font-weight:800;line-height:1.25}
.tll-upd-btn .ub-tx small{display:block;font-size:12.5px;font-weight:500;line-height:1.35;margin-top:2px;opacity:.93}
.tll-upd-btn .ub-go{flex:0 0 auto;font-size:34px;line-height:1;font-weight:300;opacity:.9;transition:transform .2s}
.tll-upd-btn:hover .ub-go{transform:translateX(4px)}
.tll-ps2 .tll-upd-btn{background:linear-gradient(135deg,#0a5fd8,#3b9cff)!important}
.tll-ps3 .tll-upd-btn{background:linear-gradient(135deg,#ffb703,#ffd166)!important;color:#0e1726!important}
.tll-ps4 .tll-upd-btn{background:#fff!important;color:#6d28d9!important;border:2px solid #6d28d9!important;box-shadow:none}
.tll-ps4 .tll-upd-btn .ub-ic{background:#f3eefe}
.tll-ps5 .tll-upd-btn{background:linear-gradient(135deg,#ea580c,#f59e0b)!important;border-radius:32px!important}
@media (prefers-reduced-motion:reduce){.tll .tll-upd-btn,.tll-upd-btn .ub-ic i{animation:none}}
.tll .tll-upm{border-radius:14px;border-left:5px solid var(--p,var(--tlg,#006a4e))}
.tll .tll-upm.ok{border-left-color:#1fa971}.tll .tll-upm.bad{border-left-color:#e03131}
.tll .tll-ub button{padding:11px 18px;border-radius:12px;font-weight:700}
.tll .tll-img-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 16px;border-radius:14px!important;background:var(--cd,#fff)!important;color:var(--p,var(--tlg,#006a4e))!important;border:2px dashed var(--p,var(--tlg,#006a4e))!important;font-weight:800;font-size:15px}
.tll .tll-img-btn:before{content:'\1F4F8';font-size:20px}

/* intro paragraph */
.tll-ri{font-size:17px;line-height:1.75;color:#2a3342;border-left:4px solid var(--p,var(--tlg,#006a4e));padding:6px 0 6px 14px;margin:0 0 16px;background:linear-gradient(90deg,rgba(0,163,122,.09),transparent)}

/* style 1 (classic green): softer, rounder, with accents */
.tll-ps1{--p:var(--tlg,#006a4e);--pd:var(--tlg2,#0a9a74)}
.tll.tll-ps1{background:#f4faf7!important;border:1px solid #d6ebe2;border-radius:22px;box-shadow:0 10px 30px rgba(0,106,78,.1)}
.tll-ps1 h2.tll-h2{border-left:5px solid #00a37a;padding-left:12px;font-size:21px}
.tll-ps1 .tll-jbox{border-radius:18px;box-shadow:0 3px 12px rgba(0,106,78,.08);background:#fff}
.tll-ps1 .tll-status{background:linear-gradient(135deg,#e3f6ee,#f3fbf7);border:1px solid #c9eadc;border-radius:16px}
.tll-ps1 .tll-jt th{background:#ebf7f2}.tll-ps1 .tll-jt tr:nth-child(even) td{background:#fafdfc}
.tll-ps1 .tll-jt tr:last-child th,.tll-ps1 .tll-jt tr:last-child td{border-bottom:0}
.tll-ps1 .tll-pb{height:26px;border-radius:13px;background:#d4e7df}.tll-ps1 .tll-pf{border-radius:13px;box-shadow:0 3px 10px rgba(0,163,122,.45)}
.tll-ps1 .tll-map{border:2px solid #c9e6db;border-radius:18px}
.tll-rtbox.tll-ps1,.tll-faq-end.tll-ps1{background:#fff;border:1px solid #d6ebe2;border-radius:20px;box-shadow:0 6px 22px rgba(0,106,78,.08)}
.tll-ps1 .tll-rt th{background:linear-gradient(135deg,var(--tlg,#006a4e),var(--tlg2,#0a9a74))}
.tll-ps1 .tll-fq{border-radius:14px}.tll-ps1 .tll-fq[open] summary{background:#e9f7f1}
.tll-ps1 .tll-lbl{border-left-color:#bfe3d4}

/* ===================== train page styles 6-10 (different LAYOUTS, not only colours) ===================== */
.tll-ps6{--p:#0d9488;--pd:#0f766e;--pl:#e6f7f5;--bg:#f3f8f8;--cd:#ffffff;--tx:#12302e;--mu:#4b6b69;--ln:#cfe6e3;--hd:#0b4a46;--r:14px;--sh:0 4px 14px rgba(13,148,136,.14);--th:#0d9488;--tht:#ffffff;--st:#effaf9;--on:#ffffff;--ring:rgba(13,148,136,.55)}
.tll-ps7{--p:#0f2a4a;--pd:#1e4976;--pl:#eaf0f8;--bg:#e9eef5;--cd:#ffffff;--tx:#10243d;--mu:#51657e;--ln:#d3dce8;--hd:#0f2a4a;--r:16px;--sh:0 8px 22px rgba(15,42,74,.18);--th:#0f2a4a;--tht:#f5b301;--st:#f3f6fa;--on:#ffffff;--ring:rgba(245,179,1,.55)}
.tll-ps8{--p:#4f46e5;--pd:#3730a3;--pl:#eef0ff;--bg:#eef1f6;--cd:#ffffff;--tx:#1e2540;--mu:#5a6385;--ln:#dde1ee;--hd:#1e2540;--r:16px;--sh:0 4px 16px rgba(79,70,229,.12);--th:#4f46e5;--tht:#ffffff;--st:#f4f5ff;--on:#ffffff;--ring:rgba(79,70,229,.55)}
.tll-ps9{--p:#7c3aed;--pd:#4338ca;--pl:#f0e9ff;--bg:#f6f3ff;--cd:#ffffff;--tx:#241a47;--mu:#62588a;--ln:#e0d7fb;--hd:#2e1f66;--r:18px;--sh:0 6px 18px rgba(124,58,237,.14);--th:#7c3aed;--tht:#ffffff;--st:#f8f5ff;--on:#ffffff;--ring:rgba(124,58,237,.55)}
.tll-ps10{--p:#b91c1c;--pd:#7f1d1d;--pl:#f7ecd9;--bg:#faf6ef;--cd:#fffdf8;--tx:#1b1b1b;--mu:#6b5f4e;--ln:#d9ccb4;--hd:#1b1b1b;--r:0;--sh:none;--th:#1b1b1b;--tht:#faf6ef;--st:#f6efe0;--on:#ffffff;--ring:rgba(185,28,28,.55)}
.tll-ps6,.tll-ps7,.tll-ps8,.tll-ps9,.tll-ps10{background:var(--bg)!important;color:var(--tx);border-radius:var(--r);box-shadow:var(--sh)}
.tll-ps6 label,.tll-ps7 label,.tll-ps8 label,.tll-ps9 label,.tll-ps10 label{color:var(--tx)}
.tll-ps6 select,.tll-ps7 select,.tll-ps8 select,.tll-ps9 select,.tll-ps10 select{background:var(--cd);color:var(--tx);border-color:var(--ln)}
.tll-ps6 button,.tll-ps7 button,.tll-ps8 button,.tll-ps9 button,.tll-ps10 button{background:var(--cd);color:var(--p);border-color:var(--p)}
.tll-ps6 button.on,.tll-ps7 button.on,.tll-ps8 button.on,.tll-ps9 button.on,.tll-ps10 button.on{background:var(--p);color:var(--on);border-color:var(--p)}
.tll-ps6 .tll-status,.tll-ps7 .tll-status,.tll-ps8 .tll-status,.tll-ps9 .tll-status,.tll-ps10 .tll-status{background:var(--pl);color:var(--tx);border-radius:var(--r)}
.tll-ps6 .tll-status b,.tll-ps7 .tll-status b,.tll-ps8 .tll-status b,.tll-ps9 .tll-status b,.tll-ps10 .tll-status b{color:var(--p)}
.tll-ps6 .tll-sub,.tll-ps7 .tll-sub,.tll-ps8 .tll-sub,.tll-ps9 .tll-sub,.tll-ps10 .tll-sub{color:var(--mu)}
.tll-ps6 .tll-simbox,.tll-ps7 .tll-simbox,.tll-ps8 .tll-simbox,.tll-ps9 .tll-simbox,.tll-ps10 .tll-simbox{background:var(--pl);border-radius:var(--r)}
.tll-ps6 .tll-jbox,.tll-ps7 .tll-jbox,.tll-ps8 .tll-jbox,.tll-ps9 .tll-jbox,.tll-ps10 .tll-jbox{background:var(--cd);border:1px solid var(--ln);border-radius:var(--r)}
.tll-ps6 h2.tll-h2,.tll-ps7 h2.tll-h2,.tll-ps8 h2.tll-h2,.tll-ps9 h2.tll-h2,.tll-ps10 h2.tll-h2{color:var(--hd)}
.tll-ps6 h3.tll-jh,.tll-ps7 h3.tll-jh,.tll-ps8 h3.tll-jh,.tll-ps9 h3.tll-jh,.tll-ps10 h3.tll-jh{color:var(--hd)}
.tll-ps6 .tll-jh span,.tll-pct,.tll-ps7 .tll-jh span,.tll-pct,.tll-ps8 .tll-jh span,.tll-pct,.tll-ps9 .tll-jh span,.tll-pct,.tll-ps10 .tll-jh span,.tll-pct{color:var(--p)}
.tll-ps6 .tll-jt th,.tll-ps7 .tll-jt th,.tll-ps8 .tll-jt th,.tll-ps9 .tll-jt th,.tll-ps10 .tll-jt th{background:var(--pl);color:var(--mu);border-bottom-color:var(--ln)}
.tll-ps6 .tll-jt td,.tll-ps7 .tll-jt td,.tll-ps8 .tll-jt td,.tll-ps9 .tll-jt td,.tll-ps10 .tll-jt td{color:var(--tx);border-bottom-color:var(--ln)}
.tll-ps6 .tll-jt td.j-next,.tll-ps7 .tll-jt td.j-next,.tll-ps8 .tll-jt td.j-next,.tll-ps9 .tll-jt td.j-next,.tll-ps10 .tll-jt td.j-next{color:var(--p)}
.tll-ps6 .tll-pb,.tll-ps7 .tll-pb,.tll-ps8 .tll-pb,.tll-ps9 .tll-pb,.tll-ps10 .tll-pb{background:var(--ln)}
.tll-ps6 .tll-pf,.tll-ps7 .tll-pf,.tll-ps8 .tll-pf,.tll-ps9 .tll-pf,.tll-ps10 .tll-pf{background:linear-gradient(90deg,var(--pd),var(--p))}
.tll-ps6 .tll-tk,.tll-ps7 .tll-tk,.tll-ps8 .tll-tk,.tll-ps9 .tll-tk,.tll-ps10 .tll-tk{background:var(--cd);border-color:var(--mu)}
.tll-ps6 .tll-tk.done,.tll-ps7 .tll-tk.done,.tll-ps8 .tll-tk.done,.tll-ps9 .tll-tk.done,.tll-ps10 .tll-tk.done{background:var(--p);border-color:var(--cd)}
.tll-ps6 .tll-pl,.tll-ps7 .tll-pl,.tll-ps8 .tll-pl,.tll-ps9 .tll-pl,.tll-ps10 .tll-pl{color:var(--mu)}
.tll-ps6 .tll-pl .j-rem,.tll-ps7 .tll-pl .j-rem,.tll-ps8 .tll-pl .j-rem,.tll-ps9 .tll-pl .j-rem,.tll-ps10 .tll-pl .j-rem{color:var(--p)}
.tll-ps6 .tll-leg,.tll-ps7 .tll-leg,.tll-ps8 .tll-leg,.tll-ps9 .tll-leg,.tll-ps10 .tll-leg{color:var(--mu)}
.tll-ps6 .tll-map,.tll-ps7 .tll-map,.tll-ps8 .tll-map,.tll-ps9 .tll-map,.tll-ps10 .tll-map{border:2px solid var(--ln);border-radius:var(--r)}
.tll-ps6 .tll-day.today,.tll-ps7 .tll-day.today,.tll-ps8 .tll-day.today,.tll-ps9 .tll-day.today,.tll-ps10 .tll-day.today{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--p)}
.tll-ps6 .tll-upm:not(.ok):not(.bad),.tll-ps7 .tll-upm:not(.ok):not(.bad),.tll-ps8 .tll-upm:not(.ok):not(.bad),.tll-ps9 .tll-upm:not(.ok):not(.bad),.tll-ps10 .tll-upm:not(.ok):not(.bad){background:var(--pl);color:var(--tx)}
.tll-ps6 .tll-imgp,.tll-ps7 .tll-imgp,.tll-ps8 .tll-imgp,.tll-ps9 .tll-imgp,.tll-ps10 .tll-imgp{background:var(--pl);border-color:var(--ln)}
.tll-ps6 .tll-rt th,.tll-ps7 .tll-rt th,.tll-ps8 .tll-rt th,.tll-ps9 .tll-rt th,.tll-ps10 .tll-rt th{background:var(--th);color:var(--tht)}
.tll-ps6 .tll-rt td,.tll-ps7 .tll-rt td,.tll-ps8 .tll-rt td,.tll-ps9 .tll-rt td,.tll-ps10 .tll-rt td{color:var(--tx);border-bottom-color:var(--ln)}
.tll-ps6 .tll-rt tbody tr:nth-child(even) td,.tll-ps7 .tll-rt tbody tr:nth-child(even) td,.tll-ps8 .tll-rt tbody tr:nth-child(even) td,.tll-ps9 .tll-rt tbody tr:nth-child(even) td,.tll-ps10 .tll-rt tbody tr:nth-child(even) td{background:var(--st)}
.tll-ps6 .tll-faq,.tll-ps7 .tll-faq,.tll-ps8 .tll-faq,.tll-ps9 .tll-faq,.tll-ps10 .tll-faq{border-top-color:var(--ln)}
.tll-ps6 .tll-fq,.tll-ps7 .tll-fq,.tll-ps8 .tll-fq,.tll-ps9 .tll-fq,.tll-ps10 .tll-fq{background:var(--cd);border-color:var(--ln)}
.tll-ps6 .tll-fq summary,.tll-ps7 .tll-fq summary,.tll-ps8 .tll-fq summary,.tll-ps9 .tll-fq summary,.tll-ps10 .tll-fq summary{color:var(--tx)}
.tll-ps6 .tll-fq summary:after,.tll-ps7 .tll-fq summary:after,.tll-ps8 .tll-fq summary:after,.tll-ps9 .tll-fq summary:after,.tll-ps10 .tll-fq summary:after{color:var(--p)}
.tll-ps6 .tll-fq[open] summary,.tll-ps7 .tll-fq[open] summary,.tll-ps8 .tll-fq[open] summary,.tll-ps9 .tll-fq[open] summary,.tll-ps10 .tll-fq[open] summary{background:var(--pl)}
.tll-ps6 .tll-fa,.tll-ps7 .tll-fa,.tll-ps8 .tll-fa,.tll-ps9 .tll-fa,.tll-ps10 .tll-fa{color:var(--mu)}
.tll-ps6.tll-gbox p,.tll-ps6.tll-gbox li,.tll-ps7.tll-gbox p,.tll-ps7.tll-gbox li,.tll-ps8.tll-gbox p,.tll-ps8.tll-gbox li,.tll-ps9.tll-gbox p,.tll-ps9.tll-gbox li,.tll-ps10.tll-gbox p,.tll-ps10.tll-gbox li{color:var(--tx)}
.tll-ps6.tll-gbox h3,.tll-ps7.tll-gbox h3,.tll-ps8.tll-gbox h3,.tll-ps9.tll-gbox h3,.tll-ps10.tll-gbox h3{color:var(--hd)}
.tll-ps6.tll-gbox code,.tll-ps7.tll-gbox code,.tll-ps8.tll-gbox code,.tll-ps9.tll-gbox code,.tll-ps10.tll-gbox code{background:var(--pl);color:var(--p)}
.tll-ps6.tll-gbox table,.tll-ps7.tll-gbox table,.tll-ps8.tll-gbox table,.tll-ps9.tll-gbox table,.tll-ps10.tll-gbox table{background:transparent}
.tll-ps6.tll-gbox table th,.tll-ps7.tll-gbox table th,.tll-ps8.tll-gbox table th,.tll-ps9.tll-gbox table th,.tll-ps10.tll-gbox table th{background:var(--th);color:var(--tht)}
.tll-ps6.tll-gbox table td,.tll-ps7.tll-gbox table td,.tll-ps8.tll-gbox table td,.tll-ps9.tll-gbox table td,.tll-ps10.tll-gbox table td{color:var(--tx);border-bottom-color:var(--ln);background:transparent}
.tll-ps6.tll-gbox table tbody tr:nth-child(even) td,.tll-ps7.tll-gbox table tbody tr:nth-child(even) td,.tll-ps8.tll-gbox table tbody tr:nth-child(even) td,.tll-ps9.tll-gbox table tbody tr:nth-child(even) td,.tll-ps10.tll-gbox table tbody tr:nth-child(even) td{background:var(--st)}
.tll-ps6.tll-gbox .tll-rt td,.tll-ps7.tll-gbox .tll-rt td,.tll-ps8.tll-gbox .tll-rt td,.tll-ps9.tll-gbox .tll-rt td,.tll-ps10.tll-gbox .tll-rt td{background:transparent}
.tll-ps6.tll-gbox .tll-rt tbody tr:nth-child(even) td,.tll-ps7.tll-gbox .tll-rt tbody tr:nth-child(even) td,.tll-ps8.tll-gbox .tll-rt tbody tr:nth-child(even) td,.tll-ps9.tll-gbox .tll-rt tbody tr:nth-child(even) td,.tll-ps10.tll-gbox .tll-rt tbody tr:nth-child(even) td{background:var(--st)}

/* ---- shared: station line (styles 6 and 9) and the schedule timeline ---- */
.tll-steps:empty{display:none}
.tll-stl,.tll-sched-l{list-style:none;margin:8px 0 4px;padding:0}
.tll-stl li{position:relative;display:flex;gap:14px;padding:0 0 18px;margin:0}
.tll-stl li:before{content:'';position:absolute;left:11px;top:24px;bottom:-4px;width:4px;background:var(--ln,#d5dde6);border-radius:2px}
.tll-stl li:last-child:before{display:none}.tll-stl li.done:before{background:var(--p,#0d9488)}
.tll-stl .dot{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--cd,#fff);border:4px solid var(--ln,#c8d1dc);position:relative;z-index:1;box-sizing:border-box}
.tll-stl li.done .dot{background:var(--p,#0d9488);border-color:var(--p,#0d9488)}
.tll-stl li.next .dot{border-color:var(--p,#0d9488)}
.tll-stl li.cur .dot{background:#fff;border-color:#e11d48;animation:tllb 1.1s infinite}
.tll-stl .sn b{display:block;font-size:16px;line-height:1.3;color:var(--tx,#1a2233)}
.tll-stl .sn span{display:block;font-size:13px;color:var(--mu,#4a5568)}
.tll-stl li.done .sn b{color:var(--mu,#6b7280);font-weight:600}.tll-stl li.cur .sn b,.tll-stl li.next .sn b{color:var(--hd,#0b4a46);font-weight:800}
.trn{display:inline-block;margin-top:5px;background:#e11d48;color:#fff;font-style:normal;font-size:12px;font-weight:800;border-radius:12px;padding:2px 10px}
.tll-sched-l li{position:relative;display:flex;gap:14px;padding-bottom:14px;margin:0}
.tll-sched-l li:before{content:'';position:absolute;left:8px;top:20px;bottom:-2px;width:3px;background:var(--ln,#d5dde6)}.tll-sched-l li:last-child:before{display:none}
.tll-sched-l .dot{flex:0 0 19px;width:19px;height:19px;border-radius:50%;background:var(--p,#0d9488);border:3px solid var(--cd,#fff);box-shadow:0 0 0 2px var(--p,#0d9488);box-sizing:border-box;position:relative;z-index:1}
.tll-sched-l b{display:block;color:var(--tx,#1a2233)}.tll-sched-l span{font-size:13px;color:var(--mu,#4a5568)}

/* ---- 6 METRO LINE: header, then the station line is the main feature ---- */
.tll.tll-ps6{display:flex;flex-direction:column}
.tll-ps6>.tll-menu{order:0}.tll-ps6>.tll-hero{order:1}.tll-ps6>.tll-bar{order:2}.tll-ps6>.tll-simbox{order:3}.tll-ps6>.tll-steps{order:4}.tll-ps6>.tll-upw{order:5}.tll-ps6>.tll-status{order:6}.tll-ps6>.tll-jd{order:7}
.tll-ps6>.tll-maph{order:8}.tll-ps6>.tll-map{order:9}.tll-ps6>.tll-lb{order:10}.tll-ps6>.tll-imgw{order:11}.tll-ps6>.tll-faqw{order:12}
.tll-ps6 .tll-hero{--h1:#0f766e;--h2:#14b8a6;--hac:#ccfbf1;border-radius:14px;padding:14px 16px;box-shadow:0 8px 22px rgba(13,148,136,.25)}
.tll-ps6 .hero-name{font-size:23px;text-transform:none}
.tll-ps6 .tll-steps{background:var(--cd);border:1px solid var(--ln);border-radius:var(--r);padding:12px 16px 4px;margin-bottom:14px}
.tll-ps6 .tll-steps h2.tll-h2{margin-top:2px;font-size:20px}
.tll-ps6 .tll-jbox{border-left:6px solid #e11d48}

/* ---- 7 BOARDING PASS ---- */
.tll-ps7 .tll-hero{--h1:#0f2a4a;--h2:#1e4976;background:#fff;color:#10243d;border-radius:18px;padding:0;overflow:visible;box-shadow:0 10px 26px rgba(15,42,74,.2)}
.tll-ps7 .tll-hero:before,.tll-ps7 .tll-hero:after{display:none}
.tll-ps7 .pass-top{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0f2a4a,#1e4976);border-radius:18px 18px 0 0;padding:12px 18px}
.tll-ps7 .hero-no{background:#f5b301;color:#1a1200;border:0}.tll-ps7 .hero-tag{color:#f5b301}
.pass-name{padding:14px 18px 2px;font-size:25px;font-weight:900;text-transform:uppercase;color:#0f2a4a;letter-spacing:.02em;line-height:1.15}
.pass-row{display:flex;align-items:center;gap:8px;padding:8px 18px 10px}
.pass-c{flex:0 0 auto;max-width:38%}.pass-c small{display:block;font-size:10px;letter-spacing:.14em;color:#6b7c93}.pass-c b{display:block;font-size:20px;line-height:1.15;color:#0f2a4a}.pass-c em{font-style:normal;font-weight:800;color:#b7791f;font-size:15px}.pass-c.r{text-align:right}
.pass-mid{flex:1;text-align:center;min-width:60px}.pass-mid small{font-size:12px;color:#6b7c93;font-weight:700}
.pass-line{display:block;position:relative;height:0;margin:14px 6px 8px;border-top:2px dashed #9fb2c9}.pass-tr{position:absolute;top:-15px;left:0;transform:translateX(-50%);font-size:21px}
.pass-cut{position:relative;border-top:2px dashed #cbd5e1;margin:10px 0 14px}
.pass-cut:before,.pass-cut:after{content:'';position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:#e9eef5}.pass-cut:before{left:-11px}.pass-cut:after{right:-11px}
.pass-fields{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px}.pass-fields span{flex:1 1 70px}.pass-fields small{display:block;font-size:10px;letter-spacing:.12em;color:#6b7c93}.pass-fields b{font-size:16px;color:#0f2a4a}
.tll-ps7 .hero-prog{margin:14px 18px 0;background:#e3e9f1}.tll-ps7 .hero-pf{background:linear-gradient(90deg,#0f2a4a,#f5b301)}
.tll-ps7 .hero-ps{padding:8px 18px 2px;margin:0;color:#33495f;font-weight:600;opacity:1}
.pass-bar{height:40px;margin:10px 18px 18px;background:repeating-linear-gradient(90deg,#0f2a4a 0 2px,transparent 2px 5px,#0f2a4a 5px 6px,transparent 6px 9px,#0f2a4a 9px 12px,transparent 12px 14px)}
.tll-ps7 .tll-upd-btn{background:linear-gradient(135deg,#f5b301,#ffd24d)!important;color:#1a1200!important}
.tll-ps7 h2.tll-h2{border-bottom:3px solid #f5b301;padding-bottom:6px;display:inline-block}

/* ---- 8 DASHBOARD ---- */
.tll-ps8 .tll-hero{--h1:#312e81;--h2:#4f46e5;--hac:#c7d2fe;border-radius:18px;box-shadow:0 10px 26px rgba(79,70,229,.3)}
.dash-h{display:flex;justify-content:space-between;align-items:center;gap:14px;position:relative;z-index:1}
.dash-t{flex:1;min-width:0}.tll-ps8 .hero-name{font-size:24px;text-transform:none;margin:8px 0 4px}
.tll-ring{--pct:0;flex:0 0 96px;width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.3);background:conic-gradient(#a3e635 calc(var(--pct)*1%),rgba(255,255,255,.25) 0);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:#fff}
.tll-ring:before{content:'';position:absolute;left:9px;top:9px;right:9px;bottom:9px;border-radius:50%;background:#3730a3}
.tll-ring b,.tll-ring small{position:relative;z-index:1;line-height:1.1}.tll-ring b{font-size:21px;font-weight:900}.tll-ring small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.tll-ps8 .hero-prog{display:none}
.tll-ps8 .hero-chips{margin:14px 0 0}
.dash{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.dash-l,.dash-r{flex:1 1 320px;min-width:0}
@media (min-width:760px){.dash-l{flex:1.15 1 0}.dash-r{flex:1 1 0}}
.tll-ps8 .tll-jbox{border-top:4px solid var(--p)}.tll-ps8 .tll-status{border-top:4px solid #a3e635}

/* ---- 9 APP TABS ---- */
.tll-ps9 .tll-hero{--h1:#4338ca;--h2:#7c3aed;--hac:#e9d5ff;border-radius:0 0 24px 24px;padding-bottom:42px;margin-bottom:0}
.tll-tabs{position:sticky;top:0;z-index:20;display:flex;gap:4px;background:#fff;padding:5px;border-radius:30px;box-shadow:0 8px 20px rgba(124,58,237,.22);margin:-24px 8px 14px}
.tll-tabs button{flex:1;padding:10px 4px;border:0;border-radius:24px;background:transparent;color:#62588a;font-weight:800;font-size:13px;cursor:pointer}
.tll-tabs button.on{background:linear-gradient(135deg,#7c3aed,#4338ca);color:#fff}
.tab-p{display:none}.tab-p.on{display:block}
.tll-ps9 .tll-steps{background:var(--cd);border-radius:var(--r);padding:12px 16px 4px;border:1px solid var(--ln)}

/* ---- 10 MAGAZINE ---- */
.tll.tll-ps10{font-family:Georgia,"Times New Roman",serif;border:1px solid #d9ccb4;padding:22px 20px}
.tll-ps10 .tll-hero{background:transparent;color:#1b1b1b;border-radius:0;box-shadow:none;padding:0 0 14px;border-bottom:4px double #1b1b1b;margin-bottom:18px;overflow:visible}
.tll-ps10 .tll-hero:before,.tll-ps10 .tll-hero:after{display:none}
.mag-k{display:flex;justify-content:space-between;align-items:center;font-family:Arial,sans-serif;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid #d9ccb4;padding-bottom:8px}
.tll-ps10 .hero-tag{color:#b91c1c}.mag-no{color:#6b5f4e}
.tll-ps10 .hero-name{font-size:40px;font-weight:900;line-height:1.05;color:#1b1b1b;text-transform:none;margin:14px 0 4px;letter-spacing:-.01em}
.mag-dek{font-style:italic;font-size:19px;color:#6b5f4e;margin-bottom:14px}
.mag-facts{display:flex;flex-wrap:wrap;border-top:1px solid #1b1b1b;border-bottom:1px solid #1b1b1b}
.mag-facts div{flex:1 1 90px;padding:9px 10px;border-right:1px solid #d9ccb4}.mag-facts div:last-child{border-right:0}
.mag-facts small{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6b5f4e}.mag-facts b{font-size:17px;color:#1b1b1b}
.tll-ps10 .hero-prog{height:5px;background:#e6dcc8;border-radius:0;margin-top:12px}.tll-ps10 .hero-pf{background:#b91c1c;border-radius:0}
.tll-ps10 .hero-ps{color:#4b4235;opacity:1;font-style:italic;font-size:14px}
.tll-ps10 h2.tll-h2{font-size:24px;border-bottom:1px solid #1b1b1b;padding-bottom:6px;margin:22px 0 12px}
.tll-ps10 .tll-jbox{background:transparent;border:0;padding:0;box-shadow:none;border-radius:0}
.tll-ps10 .tll-jt th{background:transparent;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.tll-ps10 .tll-jt td{font-weight:700}
.tll-ps10 .tll-status{background:#f6efe0;border:0;border-left:5px solid #b91c1c;border-radius:0;font-style:italic}
.tll-ps10 .tll-pb{border-radius:0;height:10px}.tll-ps10 .tll-pf{border-radius:0;background:#b91c1c}
.tll-ps10 .tll-map{border:1px solid #1b1b1b;border-radius:0}
.tll-ps10 .tll-upd-btn{border-radius:0!important;background:#fffdf8!important;color:#b91c1c!important;border:2px solid #b91c1c!important;box-shadow:none;font-family:Georgia,serif}
.tll-ps10 .tll-day{border-radius:0}.tll-ps10 .tll-fq{border-radius:0}
.tll-ps10 .tll-rt th{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:480px){.tll-ps10 .hero-name{font-size:30px}}


/* ===== [train_list] styles 1-8 (Settings > Train list style, or [train_list style="N"]) ===== */
.tll-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.tll-chips button{border:1px solid #c9d2dc;background:#fff;color:#3f4b5c;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer;line-height:1.3}
.tll-chips button.on{background:var(--tlg,#006a4e);border-color:var(--tlg,#006a4e);color:#fff}
.tll-empty{padding:18px;text-align:center;color:#56606e}
.tll-list a[data-go]{cursor:pointer}
.tll-list sup{font-size:10px;font-weight:700;color:#d9480f;margin-left:2px}
.tll-grid.tll-rows{gap:0;grid-template-columns:minmax(0,1fr)!important}
@media(max-width:900px){.tll-grid:not(.tll-rows):not([style*="--c:1"]){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tll-grid{grid-template-columns:minmax(0,1fr)!important}}

/* 2 - Compact rows */
.tll-ls2 .tll-chips button.on{background:#334155;border-color:#334155}
.tll-ls2 .ls-hd,.tll-ls2 .ls-row{display:grid;grid-template-columns:minmax(0,2.4fr) 1fr 1fr 1fr 1.3fr auto;gap:10px;align-items:center}
.tll-ls2 .ls-hd{padding:8px 14px;background:#334155;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:8px 8px 0 0}
.tll-ls2 .tll-li2{border:1px solid #e2e8f0;border-top:0;border-radius:0;box-shadow:none;padding:10px 14px;background:#fff}
.tll-ls2 .tll-li2:nth-child(even){background:#f8fafc}
.tll-ls2 .tll-li2:last-child{border-radius:0 0 8px 8px}
.tll-ls2 .ls-n b{display:block;font-size:15px}.tll-ls2 .ls-n small{color:#64748b;font-size:12px}
.tll-ls2 .ls-t small{display:none;font-size:11px;color:#64748b}.tll-ls2 .ls-t b{font-size:14px;color:#0f172a}
.tll-ls2 .tll-btn,.tll-ls2 .tll-track2{background:#334155;border-color:#334155;padding:6px 12px;font-size:13px}
@media(max-width:700px){.tll-ls2 .ls-hd{display:none}.tll-ls2 .tll-li2:first-child{border-top:1px solid #e2e8f0;border-radius:8px 8px 0 0}
 .tll-ls2 .ls-row{grid-template-columns:repeat(3,minmax(0,1fr))}.tll-ls2 .ls-n,.tll-ls2 .ls-s{grid-column:1/-1}.tll-ls2 .ls-t small{display:block}.tll-ls2 .ls-a{grid-column:1/-1}}

/* 3 - Departure board */
.tll-ls3{background:#111418;padding:14px;border-radius:12px;color:#e9edf2}
.tll-ls3 .tll-lq{background:#1c2128;border-color:#30363d;color:#fff}.tll-ls3 .tll-lc{color:#9aa4b1}
.tll-ls3 .tll-chips button{background:#1c2128;border-color:#30363d;color:#c9d1d9}.tll-ls3 .tll-chips button.on{background:#f5b301;border-color:#f5b301;color:#111}
.tll-ls3 .bd-hd{display:flex;justify-content:space-between;align-items:center;padding:6px 4px 10px;font-family:ui-monospace,Menlo,Consolas,monospace;color:#f5b301;font-weight:700;letter-spacing:.12em}
.tll-ls3 .bd-clk{background:#000;padding:4px 10px;border-radius:6px;letter-spacing:.08em}
.tll-ls3 .bd-cols,.tll-ls3 .bd-row{display:grid;grid-template-columns:56px minmax(0,2.3fr) 80px 92px minmax(0,1.4fr) auto;gap:10px;align-items:center}
.tll-ls3 .bd-cols{padding:6px 12px;font-size:11px;color:#7d8590;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #30363d}
.tll-ls3 .tll-li3{background:transparent;border:0;border-bottom:1px solid #22272e;border-radius:0;box-shadow:none;padding:10px 12px;color:#e9edf2}
.tll-ls3 .tll-li3:hover{background:#161b22}
.tll-ls3 .bd-no,.tll-ls3 .bd-tm{font-family:ui-monospace,Menlo,Consolas,monospace;color:#f5b301;font-weight:700;font-size:15px}
.tll-ls3 .bd-nm a,.tll-ls3 .bd-nm{color:#fff;font-weight:700;text-decoration:none}.tll-ls3 .bd-nm small{display:block;color:#8b949e;font-weight:400;font-size:12px}
.tll-ls3 .tll-badge{background:#22272e;color:#c9d1d9}.tll-ls3 .tll-badge.run{background:#0f3d24;color:#3fe58a}.tll-ls3 .tll-badge.done{background:#1b2a4a;color:#8fb3ff}.tll-ls3 .tll-badge.off{background:#4a1515;color:#ff8a8a}
.tll-ls3 [data-s=run] .bd-tm:first-of-type{animation:none}
.tll-ls3 .tll-btn,.tll-ls3 .tll-track2{background:transparent;border-color:#f5b301;color:#f5b301!important;padding:5px 12px;font-size:13px}
.tll-ls3 .tll-empty{color:#8b949e}
@media(max-width:700px){.tll-ls3 .bd-cols{display:none}.tll-ls3 .bd-row{grid-template-columns:48px minmax(0,1fr) auto}.tll-ls3 .bd-tm{font-size:13px}.tll-ls3 .bd-st,.tll-ls3 .bd-a{grid-column:2/-1}}

/* 4 - Ticket cards */
.tll-ls4 .tll-chips button.on{background:#1e5bd8;border-color:#1e5bd8}
.tll-ls4 .tll-li4{padding:0;border:0;border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(30,91,216,.13);overflow:hidden}
.tll-ls4 .tk2-top{display:flex;justify-content:space-between;gap:8px;align-items:center;background:linear-gradient(90deg,#1e5bd8,#3b82f6);padding:12px 14px}
.tll-ls4 .tk2-top b,.tll-ls4 .tk2-top a{color:#fff;text-decoration:none;font-size:15px}
.tll-ls4 .tk2-top .tll-badge{background:rgba(255,255,255,.2);color:#fff}
.tll-ls4 .tk2-mid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:6px;align-items:center;padding:14px;border-bottom:2px dashed #dbe5f7;position:relative}
.tll-ls4 .tk2-mid strong{display:block;font-size:20px;color:#0b1f4d}.tll-ls4 .tk2-mid span{font-size:12px;color:#5b6b85}.tll-ls4 .tk2-mid .r{text-align:right}
.tll-ls4 .tk2-line{text-align:center;font-size:11px;color:#1e5bd8}.tll-ls4 .tk2-line i{display:block;height:2px;background:#1e5bd8;margin:4px 0;position:relative}
.tll-ls4 .tk2-line i:after{content:'\1F686';position:absolute;left:50%;top:-10px;transform:translateX(-50%);font-size:14px;font-style:normal;background:#fff;padding:0 4px}
.tll-ls4 .tk2-line em{display:block;font-style:normal}
.tll-ls4 .tk2-bot{padding:10px 14px 14px;display:flex;flex-direction:column;gap:8px}
.tll-ls4 .tll-btn,.tll-ls4 .tll-track2{background:#1e5bd8;border-color:#1e5bd8;border-radius:30px;text-align:center}
.tll-ls4 .tll-li4 .tll-slot{padding:0 12px}

/* 5 - Timeline */
.tll-ls5 .tll-chips button.on{background:#6d28d9;border-color:#6d28d9}
.tll-ls5 .tll-rows{border-left:3px solid #e9e1fb;margin-left:10px}
.tll-ls5 .tll-li5{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;border:0;box-shadow:none;background:transparent;border-radius:0;padding:12px 0 16px 18px;position:relative}
.tll-ls5 .tll-li5 .tll-slot{grid-column:1/-1}
.tll-ls5 .tl-dot{position:absolute;left:-9px;top:16px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid #c4b5fd}
.tll-ls5 [data-s=run] .tl-dot{background:#16a34a;border-color:#bbf7d0;animation:tlldb 1.2s ease-in-out infinite}
.tll-ls5 [data-s=done] .tl-dot{background:#6d28d9;border-color:#ddd6fe}.tll-ls5 [data-s=off] .tl-dot{background:#dc2626;border-color:#fecaca}
.tll-ls5 .tl-time{font-weight:800;color:#6d28d9;font-size:15px;padding-top:2px}
.tll-ls5 .tl-h{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tll-ls5 .tl-h b,.tll-ls5 .tl-h a{color:#1e1b4b;text-decoration:none;font-size:16px}
.tll-ls5 .tl-r{color:#6d28d9;font-weight:600;margin:4px 0 2px;font-size:14px}.tll-ls5 .tl-m{font-size:13px;color:#64748b;margin-bottom:6px}
.tll-ls5 .tll-btn,.tll-ls5 .tll-track2{background:transparent;border:0;padding:0;color:#6d28d9!important;font-size:14px}
.tll-ls5 .tll-card2 a.tll-btn::after{border-radius:0}

/* 6 - Number tiles */
.tll-ls6 .tll-chips button.on{background:#0f766e;border-color:#0f766e}
.tll-ls6 .tll-li6{padding:0;border:1px solid #cdeae6;border-radius:12px;overflow:hidden;box-shadow:none}
.tll-ls6 .ti-band{background:#0f766e;color:#fff;padding:12px 14px;display:flex;gap:12px;align-items:center}
.tll-ls6 .ti-no{font-size:26px;font-weight:900;line-height:1;background:rgba(255,255,255,.16);padding:6px 10px;border-radius:8px}
.tll-ls6 .ti-band b,.tll-ls6 .ti-band a{color:#fff;text-decoration:none;font-size:15px;line-height:1.3}
.tll-ls6 .ti-body{padding:12px 14px 14px}.tll-ls6 .ti-r{font-weight:700;color:#0f766e;margin-bottom:8px}
.tll-ls6 .ti-g{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.tll-ls6 .ti-g div{background:#f0fdfa;border-radius:8px;padding:6px 8px}.tll-ls6 .ti-g small{display:block;font-size:11px;color:#5f7d7a}.tll-ls6 .ti-g b{font-size:14px;color:#134e4a}
.tll-ls6 .ti-s{margin-bottom:6px}
.tll-ls6 .tll-btn,.tll-ls6 .tll-track2{display:block;text-align:center;margin-top:8px;background:#0f766e;border-color:#0f766e}
.tll-ls6 .tll-card2 a.tll-btn::after{border-radius:12px}

/* 7 - Editorial list */
.tll-ls7{font-family:Georgia,'Times New Roman',serif}
.tll-ls7 .tll-lq{font-family:inherit;border-radius:0;border-width:0 0 2px;border-color:#9f1239}
.tll-ls7 .tll-chips button{border-radius:0;font-family:inherit;border-width:0 0 2px;border-color:transparent;background:none}.tll-ls7 .tll-chips button.on{color:#9f1239;background:none;border-color:#9f1239}
.tll-ls7 .tll-li7{display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;border:0;border-top:1px solid #e7d9dc;border-radius:0;box-shadow:none;padding:18px 0;background:transparent}
.tll-ls7 .tll-li7 .tll-slot{grid-column:1/-1}
.tll-ls7 .ed-no{font-size:30px;font-weight:700;color:#9f1239;line-height:1}
.tll-ls7 h3{margin:0 0 4px;font-size:21px;line-height:1.25}.tll-ls7 h3 a{color:#1c1917;text-decoration:none}
.tll-ls7 .ed-r{margin:0 0 4px;font-style:italic;color:#57534e}.tll-ls7 .ed-m{margin:0 0 8px;font-size:14px;color:#44403c;font-family:system-ui,sans-serif}
.tll-ls7 .tll-badge{font-family:system-ui,sans-serif;margin-left:4px}
.tll-ls7 .tll-btn,.tll-ls7 .tll-track2{background:none;border:0;padding:0;color:#9f1239!important;font-family:inherit;font-style:italic;font-size:15px}
.tll-ls7 .tll-card2 a.tll-btn::after{border-radius:0}

/* 8 - Glass cards */
.tll-ls8{background:linear-gradient(135deg,#be185d 0%,#6d28d9 55%,#3730a3 100%);padding:16px;border-radius:16px;color:#fff}
.tll-ls8 .tll-lq{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.35);color:#fff}.tll-ls8 .tll-lq::placeholder{color:rgba(255,255,255,.75)}
.tll-ls8 .tll-lc{color:#fff}
.tll-ls8 .tll-chips button{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff}.tll-ls8 .tll-chips button.on{background:#fff;color:#6d28d9}
.tll-ls8 .tll-li8{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:16px;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tll-ls8 .gl-h{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.tll-ls8 .gl-h b,.tll-ls8 .gl-h a{color:#fff;text-decoration:none;font-size:15px}
.tll-ls8 .gl-t{display:flex;align-items:center;gap:8px;margin:12px 0 2px;font-size:22px;font-weight:800}
.tll-ls8 .gl-t i{flex:1;text-align:center;font-size:11px;font-style:normal;font-weight:600;border-top:1px dashed rgba(255,255,255,.6);padding-top:3px;opacity:.9}
.tll-ls8 .gl-r{display:flex;justify-content:space-between;font-size:12px;opacity:.85;margin-bottom:6px}
.tll-ls8 .tll-badge{background:rgba(255,255,255,.2);color:#fff}.tll-ls8 .tll-badge.run{background:#22c55e;color:#fff}.tll-ls8 .tll-badge.off{background:#ef4444;color:#fff}
.tll-ls8 sup{color:#fde68a}
.tll-ls8 .tll-btn,.tll-ls8 .tll-track2{display:block;text-align:center;margin-top:10px;background:#fff;border-color:#fff;color:#6d28d9!important;border-radius:30px}
.tll-ls8 .tll-card2 a.tll-btn::after{border-radius:16px}
.tll-ls8 .tll-empty{color:#fff}
.tll-ls3 .tll-slot .tll,.tll-ls8 .tll-slot .tll{color:#1a2233}
.tll-ls3 .bd-no{background:#f5b301!important;color:#111!important;text-align:center;border-radius:5px;padding:3px 0;font-size:14px}
@media(max-width:700px){.tll-ls3 .bd-row{grid-template-columns:48px minmax(0,1fr) 78px;row-gap:6px}
 .tll-ls3 .bd-no{grid-column:1;grid-row:1}.tll-ls3 .bd-nm{grid-column:2;grid-row:1}
 .tll-ls3 .bd-tm:nth-child(3){grid-column:3;grid-row:1;text-align:right}.tll-ls3 .bd-tm:nth-child(4){grid-column:3;grid-row:2;text-align:right;color:#c9a227}
 .tll-ls3 .bd-st{grid-column:2;grid-row:2}.tll-ls3 .bd-a{grid-column:2/-1;grid-row:3}.tll-ls3 .bd-tm{white-space:nowrap}}
.tll-ls4 .tk2-line i{margin:14px 0 6px}

/* ===== Live status under the intro (refreshes every 10 minutes) ===== */
.tll-livestat{margin:14px 0 18px;padding:12px 14px 12px 16px;border-radius:12px;background:linear-gradient(120deg,#f0fbf6,#f7fbff);border:1px solid #cdebdc;border-left:4px solid #1fa971;color:#1a2233;font-family:inherit}
.tll-livestat .ls-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;font-size:13px;line-height:1.3}
.tll-livestat .ls-h b{text-transform:uppercase;letter-spacing:.06em;color:#04724f;font-size:12.5px}
.tll-livestat .ls-dot{width:10px;height:10px;border-radius:50%;background:#e03131;box-shadow:0 0 0 0 rgba(224,49,49,.5);animation:tllpulse 1.6s infinite}
.tll-livestat .ls-time{margin-left:auto;color:#5b6b7d;font-size:12px}
.tll-livestat .ls-txt{margin:0;font-size:15.5px;line-height:1.6}
.tll-livestat.flash{animation:tllflash 1.2s ease}
@keyframes tllpulse{0%{box-shadow:0 0 0 0 rgba(224,49,49,.5)}70%{box-shadow:0 0 0 8px rgba(224,49,49,0)}100%{box-shadow:0 0 0 0 rgba(224,49,49,0)}}
@keyframes tllflash{0%{background:#fff7d6}100%{background:linear-gradient(120deg,#f0fbf6,#f7fbff)}}
[dir=rtl] .tll-livestat,.tll-livestat[dir=rtl]{border-left:1px solid #cdebdc;border-right:4px solid #1fa971}
[dir=rtl] .tll-livestat .ls-time{margin-left:0;margin-right:auto}

/* ===== Ad places ===== */
.tll-ad{clear:both;margin:22px auto;max-width:100%;min-height:100px;text-align:center;overflow:hidden}
.tll-ad-l{display:block;font:500 10.5px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8a94a3;margin-bottom:4px}
.tll-ad ins,.tll-ad iframe{max-width:100%}
.tll .tll-ad{margin:16px 0}

/* ===== Train post on phones and tablets ===== */
.tll-ri{overflow-wrap:anywhere}
@media (max-width:700px){
  .tll-rtbox{padding:12px;border-radius:12px}
  .tll-rtbox h2.tll-h2,.tll-rtbox h3{font-size:19px;line-height:1.3}
  .tll-rt-sched,.tll-rt-fare{min-width:0;font-size:13.5px}
  .tll-rt-sched th,.tll-rt-sched td,.tll-rt-fare th,.tll-rt-fare td{padding:8px 6px;white-space:normal}
  .tll-rt-sched td:first-child,.tll-rt-sched th:first-child{width:26px;text-align:center;color:#56606e}
  /* "All trains from A to B": one card per train */
  .tll-rtw:has(.tll-rt-route){overflow:visible}
  .tll-rt-route{min-width:0;border:0}
  .tll-rt-route thead{display:none}
  .tll-rt-route,.tll-rt-route tbody{display:block}
  .tll-rt-route tr{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;border:1px solid #dfe6ee;border-radius:12px;padding:12px 14px;margin:0 0 12px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.05)}
  .tll-rt-route tbody tr:nth-child(even) td,.tll-rt-route td{background:transparent!important;border:0!important;padding:5px 0!important}
  .tll-rt-route td:before{content:attr(data-label);display:block;font:600 11px/1.3 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#56606e;margin-bottom:2px}
  .tll-rt-route td.c-train{grid-column:1/-1;font-size:17px;border-bottom:1px solid #edf1f5!important;padding-bottom:9px!important;margin-bottom:4px}
  .tll-rt-route td.c-train:before{display:none}
  .tll-rt-route td.c-route,.tll-rt-route td.c-st,.tll-rt-route td.c-days{grid-column:1/-1}
  .tll-rt-route td.c-dep b,.tll-rt-route td.c-arr b{font-size:18px}
  .tll-rt-route td.c-st small{display:block;margin-top:2px;line-height:1.5}
  .tll-rt-route .tll-days{flex-wrap:wrap}
  .tll-rb-s3 .tll-rt-route tr,.tll-rb-s6 .tll-rt-route tr{background:#13233a;border-color:#26405f}
  .tll-rb-s3 .tll-rt-route td.c-train,.tll-rb-s6 .tll-rt-route td.c-train{border-bottom-color:#26405f!important}
  .tll-rb-s3 .tll-rt-route td:before,.tll-rb-s6 .tll-rt-route td:before{color:#9fb3d1}
}
@media (max-width:380px){.tll-rt-sched{font-size:12.5px}.tll-livestat .ls-time{margin-left:0;width:100%}}

/* =====================================================================
   TRAIN PAGE STYLES 11-15 (modern). Shared base .tll-psx + one block per style.
   ===================================================================== */
.tll.tll-psx,.tll-rtbox.tll-psx,.tll-faq-end.tll-psx{background:var(--bg)!important;color:var(--tx);border-radius:var(--r);box-shadow:var(--sh);font-family:var(--ff,inherit);border:var(--bd,0)}
.tll-psx label,.tll-psx .tll-hint,.tll-psx .tll-leg,.tll-psx .tll-pl{color:var(--mu)}
.tll-psx button{border-color:var(--p);color:var(--p);background:var(--cd);border-radius:var(--br,10px)}
.tll-psx button:hover{background:var(--pl)}
.tll-psx button.on{background:var(--p);color:var(--on);border-color:var(--p)}
.tll-psx select,.tll-psx input[type=text]{background:var(--cd);color:var(--tx);border-color:var(--ln);border-radius:var(--br,10px)}
.tll-psx .tll-simbox{background:var(--cd)}.tll-psx .tll-simbox label,.tll-psx .tll-simbox b{color:var(--tx)}
.tll-psx .tll-status{background:var(--cd);border:var(--cb,1px solid var(--ln));border-radius:var(--r);box-shadow:var(--csh,none);color:var(--tx)}
.tll-psx .tll-status b{color:var(--p)}.tll-psx .tll-sub{color:var(--mu)}
.tll-psx .tll-jbox{background:var(--cd);border:var(--cb,1px solid var(--ln));border-radius:var(--r);box-shadow:var(--csh,none);padding:16px 18px}
.tll-psx .tll-jt{background:transparent}
.tll-psx .tll-jt th{background:transparent;color:var(--mu);border-bottom-color:var(--ln);font-weight:600}
.tll-psx .tll-jt td{color:var(--tx);border-bottom-color:var(--ln)}
.tll-psx .tll-jt td.j-next{color:var(--p)}
.tll-psx h2.tll-h2,.tll-psx .tll-jh,.tll-psx.tll-gbox h3{color:var(--hd)}
.tll-psx .tll-jh span{color:var(--p)}
.tll-psx .tll-pb{background:var(--ln)}
.tll-psx .tll-pf{background:linear-gradient(90deg,var(--p),var(--p2,var(--p)));box-shadow:0 2px 10px var(--ring,transparent)}
.tll-psx .tll-tk{background:var(--cd);border-color:var(--mu)}.tll-psx .tll-tk.done{background:var(--p);border-color:var(--cd)}
.tll-psx .tll-pl .j-rem{color:var(--p)}
.tll-psx .tll-map{border-radius:var(--r);border:var(--cb,1px solid var(--ln))}
.tll-psx .tll-day.today{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--p)}
.tll-psx .tll-upd-btn{background:var(--p)!important;color:var(--on)!important;border:var(--cb,1px solid var(--p))!important;border-radius:var(--r)!important}
.tll-psx .tll-upm:not(.ok):not(.bad){background:var(--pl);color:var(--tx)}
.tll-psx .tll-imgp{background:var(--cd);border-color:var(--ln);border-radius:var(--r)}
.tll-psx .tll-faq{border-top-color:var(--ln)}
.tll-psx .tll-fq{background:var(--cd);border:var(--cb,1px solid var(--ln));border-radius:var(--br,12px);box-shadow:var(--csh,none);overflow:hidden}
.tll-psx .tll-fq summary{color:var(--tx)}.tll-psx .tll-fq summary:after{color:var(--p)}
.tll-psx .tll-fq[open] summary{background:var(--pl);border-radius:0}
.tll-psx .tll-fa{color:var(--mu)}
.tll-psx .tll-rt th,.tll-psx.tll-gbox table th{background:var(--th);color:var(--tht)}
.tll-psx .tll-rt td,.tll-psx.tll-gbox table td{color:var(--tx);border-bottom-color:var(--ln);background:transparent}
.tll-psx .tll-rt tbody tr:nth-child(even) td,.tll-psx.tll-gbox table tbody tr:nth-child(even) td{background:var(--st)}
.tll-psx.tll-gbox p,.tll-psx.tll-gbox li{color:var(--tx)}
.tll-psx.tll-gbox code{background:var(--pl);color:var(--p)}
.tll-psx.tll-gbox a,.tll-psx .tll-fa a{color:var(--p)}
.tll-psx .tll-lbadge{background:var(--p);color:var(--on)}
.tll-psx .tll-lbmore{border-color:var(--p);color:var(--p)}
/* journey details as tiles (11, 12, 15) */
.tll-ps11 .tll-jt tbody,.tll-ps12 .tll-jt tbody,.tll-ps15 .tll-jt tbody{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tll-ps11 .tll-jt tr,.tll-ps12 .tll-jt tr,.tll-ps15 .tll-jt tr{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-radius:var(--br,12px);background:var(--tile)}
.tll-ps11 .tll-jt th,.tll-ps11 .tll-jt td,.tll-ps12 .tll-jt th,.tll-ps12 .tll-jt td,.tll-ps15 .tll-jt th,.tll-ps15 .tll-jt td{display:block;width:auto;padding:0;border:0;background:transparent}
.tll-ps11 .tll-jt th,.tll-ps12 .tll-jt th,.tll-ps15 .tll-jt th{font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.tll-ps11 .tll-jt td,.tll-ps12 .tll-jt td,.tll-ps15 .tll-jt td{font-size:15px;line-height:1.35}
.tll-ps11 .tll-jt tr:nth-child(1),.tll-ps12 .tll-jt tr:nth-child(1),.tll-ps15 .tll-jt tr:nth-child(1),.tll-ps11 .tll-jt tr:nth-child(8),.tll-ps12 .tll-jt tr:nth-child(8),.tll-ps15 .tll-jt tr:nth-child(8),.tll-ps11 .tll-jt tr:nth-child(9),.tll-ps12 .tll-jt tr:nth-child(9),.tll-ps15 .tll-jt tr:nth-child(9){grid-column:span 3}
@media (max-width:600px){
  .tll-ps11 .tll-jt tbody,.tll-ps12 .tll-jt tbody,.tll-ps15 .tll-jt tbody{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tll-ps11 .tll-jt tr:nth-child(1),.tll-ps12 .tll-jt tr:nth-child(1),.tll-ps15 .tll-jt tr:nth-child(1),.tll-ps11 .tll-jt tr:nth-child(2),.tll-ps12 .tll-jt tr:nth-child(2),.tll-ps15 .tll-jt tr:nth-child(2),.tll-ps11 .tll-jt tr:nth-child(8),.tll-ps12 .tll-jt tr:nth-child(8),.tll-ps15 .tll-jt tr:nth-child(8),.tll-ps11 .tll-jt tr:nth-child(9),.tll-ps12 .tll-jt tr:nth-child(9),.tll-ps15 .tll-jt tr:nth-child(9){grid-column:span 2}
}

/* ---------- 11 Aurora glass (dark) ---------- */
.tll-ps11{--p:#7dd3fc;--p2:#c084fc;--pd:#38bdf8;--pl:rgba(125,211,252,.12);--bg:#070b1a;--cd:rgba(255,255,255,.05);--tx:#e8ecff;--mu:#9aa6c8;--ln:rgba(255,255,255,.1);--hd:#f1f5ff;--r:22px;--br:14px;--th:rgba(125,211,252,.12);--tht:#bae6fd;--st:rgba(255,255,255,.03);--on:#06101f;--ring:rgba(125,211,252,.35);--tile:rgba(255,255,255,.05);--cb:1px solid rgba(255,255,255,.1);--sh:0 30px 60px rgba(3,6,20,.45);--ff:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.tll.tll-ps11,.tll-rtbox.tll-ps11,.tll-faq-end.tll-ps11{background:radial-gradient(900px 420px at 0% 0%,rgba(56,189,248,.20),transparent 60%),radial-gradient(800px 480px at 100% 10%,rgba(192,132,252,.22),transparent 60%),radial-gradient(700px 500px at 50% 110%,rgba(45,212,191,.14),transparent 60%),#070b1a!important;padding:18px}
.tll-ps11 .tll-status,.tll-ps11 .tll-jbox,.tll-ps11 .tll-fq,.tll-ps11 .tll-imgp{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.tll-ps11 h2.tll-h2{background:linear-gradient(90deg,#e0f2fe,#7dd3fc 45%,#c084fc);-webkit-background-clip:text;background-clip:text;color:transparent!important;border:0!important;padding-left:0!important}
.tll-ps11 h2.tll-h2:before{display:none!important}
.tll.tll-ps11 .tll-hero{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 20px 50px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:26px;padding:20px 22px}
.tll-ps11 .tll-hero:before{background:radial-gradient(circle,rgba(192,132,252,.45),transparent 70%);width:260px;height:260px;right:-80px;top:-90px}
.tll-ps11 .tll-hero:after{background:radial-gradient(circle,rgba(56,189,248,.35),transparent 70%);width:220px;height:220px;left:-80px;bottom:-110px;right:auto}
.tll-ps11 .au-top,.tll-ps11 .au-route{position:relative;z-index:1}
.tll-ps11 .au-top{display:flex;justify-content:space-between;align-items:center}
.tll-ps11 .au-no{font-weight:800;font-size:13px;padding:4px 12px;border-radius:20px;background:rgba(125,211,252,.14);color:#bae6fd;border:1px solid rgba(125,211,252,.3)}
.tll-ps11 .hero-name{font-size:34px;letter-spacing:-.01em;text-transform:none;background:linear-gradient(90deg,#fff,#c7d2fe 60%,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent;margin:14px 0 16px}
.tll-ps11 .au-route{display:grid;grid-template-columns:1fr minmax(80px,1.3fr) 1fr;gap:12px;align-items:center;margin-bottom:16px}
.tll-ps11 .au-route small{display:block;font-size:10.5px;letter-spacing:.14em;color:#8fa0c8}
.tll-ps11 .au-route b{display:block;font-size:17px;color:#fff}
.tll-ps11 .au-route em{display:block;font-style:normal;font-size:22px;font-weight:800;color:#7dd3fc;margin-top:2px}
.tll-ps11 .au-route .r{text-align:right}.tll-ps11 .au-route .r em{color:#d8b4fe}
.tll-ps11 .au-line{position:relative;text-align:center}
.tll-ps11 .au-line i{display:block;height:2px;background:linear-gradient(90deg,#7dd3fc,#c084fc);border-radius:2px;box-shadow:0 0 12px rgba(125,211,252,.7)}
.tll-ps11 .au-line i:before,.tll-ps11 .au-line i:after{content:'';position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:#7dd3fc;box-shadow:0 0 10px #7dd3fc}
.tll-ps11 .au-line i:before{left:0}.tll-ps11 .au-line i:after{right:0;background:#c084fc;box-shadow:0 0 10px #c084fc}
.tll-ps11 .au-line span{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;color:#cbd5f5;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:3px 10px;border-radius:20px}
.tll-ps11 .hero-prog{background:rgba(255,255,255,.1)}.tll-ps11 .hero-pf{background:linear-gradient(90deg,#7dd3fc,#c084fc);box-shadow:0 0 14px rgba(125,211,252,.8)}
.tll-ps11 .hero-ps{color:#cbd5f5}
.tll-ps11 .leaflet-tile-pane{filter:invert(1) hue-rotate(195deg) brightness(.85) contrast(.95) saturate(.7)}
.tll-ps11 .tll-map{box-shadow:0 0 0 1px rgba(125,211,252,.25),0 20px 50px rgba(56,189,248,.12)}
.tll-ps11 .tll-day.on{background:rgba(52,211,153,.18);color:#6ee7b7!important;border:1px solid rgba(52,211,153,.35)}
.tll-ps11 .tll-day.off{background:rgba(248,113,113,.2);color:#fca5a5!important;border:1px solid rgba(248,113,113,.4)}
.tll-ps11 .tll-upd-btn{background:linear-gradient(120deg,#38bdf8,#a78bfa)!important;color:#06101f!important;border:0!important}
.tll-ps11 .tll-lbl li:before{background:#0b1226}

/* ---------- 12 Bento grid (light, Apple-like) ---------- */
.tll-ps12{--p:#0071e3;--p2:#5e5ce6;--pd:#0058b0;--pl:#eef5ff;--bg:#f5f5f7;--cd:#ffffff;--tx:#1d1d1f;--mu:#6e6e73;--ln:#e5e5ea;--hd:#1d1d1f;--r:26px;--br:16px;--th:#f5f5f7;--tht:#1d1d1f;--st:#fafafa;--on:#fff;--ring:rgba(0,113,227,.25);--tile:#f5f5f7;--cb:0;--csh:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06);--sh:none;--ff:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.tll.tll-ps12{padding:16px}
.tll-ps12 .bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"hero hero stat" "map map jd" "lb lb jd";gap:14px;margin-bottom:14px}
.tll-ps12 .b-tile{background:#fff;border-radius:26px;padding:16px;box-shadow:var(--csh);min-width:0}
.tll-ps12 .b-hero{grid-area:hero;padding:0;overflow:hidden}.tll-ps12 .b-stat{grid-area:stat;display:flex;flex-direction:column;gap:10px}
.tll-ps12 .b-jd{grid-area:jd}.tll-ps12 .b-map{grid-area:map}.tll-ps12 .b-lb{grid-area:lb}
.tll-ps12 .b-tile .tll-status,.tll-ps12 .b-tile .tll-jbox{background:transparent;box-shadow:none;border:0;padding:0;margin:0}
.tll-ps12 .b-stat .tll-status{flex:1;background:var(--tile);border-radius:18px;padding:14px}
.tll-ps12 .b-stat .tll-upw{margin:0}
.tll-ps12 .b-jd .tll-jt tbody{grid-template-columns:1fr 1fr}
.tll-ps12 .b-jd .tll-jt tr:nth-child(n){grid-column:auto}
.tll-ps12 .b-jd .tll-jt tr:nth-child(1),.tll-ps12 .b-jd .tll-jt tr:nth-child(2),.tll-ps12 .b-jd .tll-jt tr:nth-child(8),.tll-ps12 .b-jd .tll-jt tr:nth-child(9){grid-column:span 2}
.tll-ps12 .b-map h2.tll-h2{margin-top:2px}
.tll-ps12 .b-map .tll-map{height:430px;border:0;border-radius:18px}
.tll-ps12 h2.tll-h2{font-weight:700;letter-spacing:-.02em;font-size:22px;border:0!important;padding-left:0!important}
.tll-ps12 h2.tll-h2:before{display:none!important}
.tll.tll-ps12 .tll-hero{margin:0;border-radius:26px;background:linear-gradient(135deg,#0b0b0f 0%,#1c1c24 60%,#2a2a3a 100%);box-shadow:none;padding:22px}
.tll-ps12 .tll-hero:before{background:radial-gradient(circle,rgba(0,113,227,.55),transparent 70%);width:300px;height:300px;right:-90px;top:-120px}
.tll-ps12 .tll-hero:after{display:none}
.tll-ps12 .bn-h{display:flex;gap:16px;align-items:center;justify-content:space-between;position:relative;z-index:1}
.tll-ps12 .hero-name{text-transform:none;font-size:32px;letter-spacing:-.02em;font-weight:700}
.tll-ps12 .bn-no{font-size:16px;font-weight:600;color:#a1a1aa;vertical-align:middle}
.tll-ps12 .hero-route{color:#a5c8ff}
.tll-ps12 .tll-ring{position:relative;flex:0 0 104px;width:104px;height:104px;background:conic-gradient(#0a84ff calc(var(--pct)*1%),rgba(255,255,255,.12) 0);color:#fff}
.tll-ps12 .tll-ring:before{background:#16161d}
.tll-ps12 .hero-chips span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);border-radius:16px}
.tll-ps12 .tll-upd-btn{border-radius:18px!important;background:linear-gradient(135deg,#0071e3,#5e5ce6)!important}
.tll-ps12 .tll-day{border-radius:10px}
@media (max-width:860px){.tll-ps12 .bento{grid-template-columns:1fr;grid-template-areas:"hero" "stat" "jd" "map" "lb"}.tll-ps12 .b-map .tll-map{height:380px}}
@media (max-width:480px){.tll-ps12 .bn-h{flex-direction:column;align-items:flex-start}.tll-ps12 .tll-ring{position:absolute;right:0;top:0;width:76px;height:76px;flex-basis:76px}.tll-ps12 .tll-ring b{font-size:17px}.tll-ps12 .hero-name{font-size:26px;padding-right:84px}}

/* ---------- 13 Transit signage (black + yellow, metro line) ---------- */
.tll-ps13{--p:#111111;--p2:#111111;--pd:#000;--pl:#fff6c7;--bg:#ffffff;--cd:#ffffff;--tx:#111111;--mu:#555555;--ln:#111111;--hd:#111111;--r:0px;--br:0px;--th:#111111;--tht:#ffd60a;--st:#fffbea;--on:#ffd60a;--y:#ffd60a;--cb:3px solid #111;--sh:none;--ff:"Inter","Helvetica Neue",Arial,sans-serif}
.tll.tll-ps13{border:3px solid #111;padding:16px}
.tll-ps13 h2.tll-h2{display:flex;align-items:center;gap:10px;background:#111;color:#ffd60a!important;padding:10px 14px!important;border:0!important;font-size:19px;text-transform:uppercase;letter-spacing:.04em;font-weight:900}
.tll-ps13 h2.tll-h2:before{content:'';flex:0 0 14px;height:14px;border-radius:50%;background:#ffd60a;display:block!important;position:static!important}
.tll.tll-ps13 .tll-hero{background:#111;border-radius:0;box-shadow:none;padding:0;border:3px solid #111}
.tll-ps13 .tll-hero:before,.tll-ps13 .tll-hero:after{display:none}
.tll-ps13 .sg-band{display:flex;gap:0;align-items:stretch;position:relative;z-index:1}
.tll-ps13 .sg-no{flex:0 0 auto;min-width:110px;display:grid;place-items:center;background:#ffd60a;color:#111;font-size:44px;font-weight:900;letter-spacing:-.03em;padding:10px 16px}
.tll-ps13 .sg-t{padding:14px 18px;min-width:0}
.tll-ps13 .hero-tag{color:#ffd60a}
.tll-ps13 .hero-name{font-size:32px;letter-spacing:-.01em;margin:6px 0 2px;color:#fff;font-weight:900}
.tll-ps13 .sg-route{font-size:17px;font-weight:800;color:#ffd60a;text-transform:uppercase;letter-spacing:.04em}
.tll-ps13 .sg-route b{color:#fff}
.tll-ps13 .sg-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:3px solid #ffd60a;position:relative;z-index:1}
.tll-ps13 .sg-board div{padding:10px 14px;border-left:1px solid #333;color:#fff}.tll-ps13 .sg-board div:first-child{border-left:0}
.tll-ps13 .sg-board small{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#aaa}
.tll-ps13 .sg-board b{display:block;font-size:20px;font-weight:900;color:#ffd60a;font-variant-numeric:tabular-nums}
.tll-ps13 .hero-prog{height:8px;border-radius:0;background:#333;margin:0}.tll-ps13 .hero-pf{border-radius:0;background:#ffd60a}
.tll-ps13 .hero-ps{padding:8px 14px;color:#fff;margin:0;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.06em}
.tll-ps13 .tll-status{border-left:10px solid #ffd60a}
.tll-ps13 .tll-jt th{color:#111;background:#fffbea;border-bottom:2px solid #111;text-transform:uppercase;font-size:12px;letter-spacing:.05em}
.tll-ps13 .tll-jt td{border-bottom:2px solid #111;font-weight:800}
.tll-ps13 .tll-pb{border-radius:0;background:#e5e5e5;border:3px solid #111;height:26px}.tll-ps13 .tll-pf{border-radius:0;background:#ffd60a;box-shadow:none}
.tll-ps13 .tll-pf:after{background:repeating-linear-gradient(45deg,#111 0 8px,transparent 8px 16px);opacity:.15}
.tll-ps13 .tll-day{border-radius:0;font-weight:900}.tll-ps13 .tll-day.on{background:#111;color:#ffd60a!important}.tll-ps13 .tll-day.off{background:#e11d48}
.tll-ps13 .tll-upd-btn{background:#ffd60a!important;color:#111!important;border:3px solid #111!important;box-shadow:6px 6px 0 #111}
.tll-ps13 .tll-stl li:before{left:9px;width:8px;background:#d4d4d4;border-radius:0}.tll-ps13 .tll-stl li.done:before{background:#ffd60a}
.tll-ps13 .tll-stl .dot{border-radius:50%;border:5px solid #111;background:#fff}.tll-ps13 .tll-stl li.done .dot{background:#ffd60a}
.tll-ps13 .tll-stl li.cur .dot{background:#e11d48;box-shadow:0 0 0 4px #ffd60a}
.tll-ps13 .tll-stl .sn b{text-transform:uppercase;letter-spacing:.03em;font-weight:900}
.tll-ps13 .tll-fq summary{text-transform:none;font-weight:800}.tll-ps13 .tll-fq[open] summary{background:#ffd60a}
.tll-ps13 .tll-lbl{border-left:6px solid #111}.tll-ps13 .tll-lbl li:before{border:4px solid #111;border-radius:0;left:-12px}.tll-ps13 .tll-lbl li.now:before{background:#ffd60a;box-shadow:none}
.tll-ps13 .tll-map{border:3px solid #111}
.tll-ps13.tll-rtbox{border:3px solid #111}
@media (max-width:560px){.tll-ps13 .sg-band{flex-direction:column}.tll-ps13 .sg-no{min-width:0;justify-content:start;font-size:34px;padding:6px 14px}.tll-ps13 .sg-board{grid-template-columns:1fr 1fr}.tll-ps13 .sg-board div:nth-child(3){border-left:0;border-top:1px solid #333}.tll-ps13 .sg-board div:nth-child(4){border-top:1px solid #333}.tll-ps13 .hero-name{font-size:26px}}

/* ---------- 14 Split view (soft UI, sticky map) ---------- */
.tll-ps14{--p:#0f9d8a;--p2:#3b82f6;--pd:#0b7d6e;--pl:#e3f4f1;--bg:#eef2f7;--cd:#eef2f7;--tx:#1e293b;--mu:#64748b;--ln:#d5dde8;--hd:#0f172a;--r:22px;--br:14px;--th:#e3eaf3;--tht:#0f172a;--st:#f4f7fb;--on:#fff;--ring:rgba(15,157,138,.3);--cb:0;--csh:8px 8px 18px #d1d9e6,-8px -8px 18px #ffffff;--sh:none;--ff:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.tll.tll-ps14{max-width:1180px;padding:18px}
.tll-ps14 .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:22px;align-items:start}
.tll-ps14 .sp-r{position:sticky;top:16px}
.tll-ps14 .sp-r .tll-map{height:calc(100vh - 110px);min-height:420px;max-height:760px;box-shadow:var(--csh)}
.tll-ps14 .sp-r h2.tll-h2{margin-top:0}
.tll.tll-ps14 .tll-hero{background:linear-gradient(145deg,#12b39c,#0b7d6e 55%,#2563eb);box-shadow:var(--csh)}
.tll-ps14 .tll-hero:before{background:rgba(255,255,255,.1)}
.tll-ps14 .hero-name{text-transform:none;font-size:28px}
.tll-ps14 h2.tll-h2{font-size:20px;border:0!important;padding-left:0!important}
.tll-ps14 h2.tll-h2:before{display:none!important}
.tll-ps14 .tll-steps{background:var(--cd);border-radius:22px;box-shadow:var(--csh);padding:6px 18px 10px;margin:0 0 14px}
.tll-ps14 .tll-stl li.cur .dot{background:var(--p);border-color:#fff;box-shadow:0 0 0 4px var(--ring)}
.tll-ps14 .tll-lb{background:var(--cd);border-radius:22px;box-shadow:var(--csh);padding:6px 18px 12px}
.tll-ps14 .tll-upd-btn{background:linear-gradient(135deg,#0f9d8a,#2563eb)!important;box-shadow:var(--csh)}
.tll-ps14 .tll-day{border-radius:12px}
.tll-ps14 .tll-fq{box-shadow:var(--csh);border:0}
.tll-ps14.tll-rtbox,.tll-ps14.tll-faq-end{box-shadow:var(--csh)}
@media (max-width:900px){.tll-ps14 .split{display:flex;flex-direction:column;gap:0;align-items:stretch}.tll-ps14 .sp-l,.tll-ps14 .sp-r{display:contents}
  .tll-ps14 .tll-hero{order:1}.tll-ps14 .tll-status{order:2}.tll-ps14 .tll-upw{order:3}.tll-ps14 .tll-maph{order:4}.tll-ps14 .tll-map{order:5;height:380px!important;min-height:0;margin-bottom:14px}.tll-ps14 .tll-jd{order:6}.tll-ps14 .tll-steps{order:7}.tll-ps14 .tll-lb{order:8}}

/* ---------- 15 Neo-brutal (thick outlines, pastel blocks) ---------- */
.tll-ps15{--p:#111;--p2:#111;--pd:#000;--pl:#fff1a8;--bg:#fffdf3;--cd:#ffffff;--tx:#111;--mu:#3f3f46;--ln:#111;--hd:#111;--r:16px;--br:12px;--th:#c4f04b;--tht:#111;--st:#fffbe6;--on:#fff;--tile:#a5f3fc;--cb:3px solid #111;--csh:5px 5px 0 #111;--sh:none;--ff:"Space Grotesk","Inter","Helvetica Neue",Arial,sans-serif}
.tll.tll-ps15{border:3px solid #111;box-shadow:8px 8px 0 #111;padding:18px}
.tll-ps15.tll-rtbox,.tll-ps15.tll-faq-end{border:3px solid #111;box-shadow:8px 8px 0 #111}
.tll-ps15 h2.tll-h2{display:inline-block;background:#ff90e8;border:3px solid #111!important;box-shadow:4px 4px 0 #111;padding:6px 14px!important;border-radius:12px;font-weight:900;transform:rotate(-1deg)}
.tll-ps15 h2.tll-h2:before{display:none!important}
.tll.tll-ps15 .tll-hero{background:#c4f04b;color:#111;border:3px solid #111;box-shadow:6px 6px 0 #111;border-radius:18px}
.tll-ps15 .tll-hero:before{background:#ff90e8;border:3px solid #111;width:120px;height:120px;right:-30px;top:-30px}
.tll-ps15 .tll-hero:after{background:#a5f3fc;border:3px solid #111;width:80px;height:80px;right:90px;bottom:-40px}
.tll-ps15 .br-top,.tll-ps15 .br-route{position:relative;z-index:1}
.tll-ps15 .br-top{display:flex;gap:10px;align-items:center}
.tll-ps15 .br-no{background:#111;color:#c4f04b;font-weight:900;padding:4px 12px;border-radius:10px;font-size:15px}
.tll-ps15 .hero-tag{color:#111;background:#fff;border:2px solid #111;border-radius:20px;padding:3px 10px}
.tll-ps15 .hero-name{color:#111;font-size:34px;letter-spacing:-.02em;margin:12px 0 6px}
.tll-ps15 .br-route{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-weight:800;font-size:17px}
.tll-ps15 .br-route span{background:#fff;border:3px solid #111;border-radius:10px;padding:4px 10px}.tll-ps15 .br-route b{font-size:22px}
.tll-ps15 .hero-chips span{background:#fff;color:#111;border:3px solid #111;border-radius:12px;box-shadow:3px 3px 0 #111}
.tll-ps15 .hero-prog{background:#fff;border:3px solid #111;height:16px}.tll-ps15 .hero-pf{background:#111}
.tll-ps15 .hero-ps{color:#111;font-weight:800}
.tll-ps15 .tll-jt tr{border:3px solid #111;box-shadow:3px 3px 0 #111}
.tll-ps15 .tll-jt tr:nth-child(3n+2){background:#ffd6f1}.tll-ps15 .tll-jt tr:nth-child(3n){background:#fff1a8}
.tll-ps15 .tll-jt th{color:#111}.tll-ps15 .tll-jt td{font-weight:800}
.tll-ps15 .tll-status{background:#fff1a8}
.tll-ps15 .tll-pb{border:3px solid #111;background:#fff}.tll-ps15 .tll-pf{background:#ff90e8;border-right:3px solid #111}
.tll-ps15 .tll-day{border:2px solid #111;border-radius:10px;color:#111!important;font-weight:900}.tll-ps15 .tll-day.on{background:#c4f04b}.tll-ps15 .tll-day.off{background:#ff6b6b}
.tll-ps15 .tll-upd-btn{background:#ff90e8!important;color:#111!important}
.tll-ps15 .tll-upd-btn .ub-ic{background:#fff;border:2px solid #111}
.tll-ps15 button{border:2px solid #111;color:#111;box-shadow:3px 3px 0 #111;font-weight:800}.tll-ps15 button.on{background:#c4f04b;color:#111;border-color:#111}
.tll-ps15 .tll-fq[open] summary{background:#c4f04b}
.tll-ps15 .tll-map{box-shadow:5px 5px 0 #111}
.tll-ps15 .tll-lbl{border-left:4px solid #111}.tll-ps15 .tll-lbl li:before{border:3px solid #111;background:#fff}.tll-ps15 .tll-lbl li.now:before{background:#ff90e8;box-shadow:none}
.tll-ps15 .tll-lbadge{background:#ff6b6b;color:#111;border:2px solid #111}
@media (max-width:520px){.tll-psx .hero-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tll-psx .hero-chips span{min-width:0}}

@media (max-width:520px){.tll-ps15 .tll-hero:before{width:64px;height:64px;right:-22px;top:-22px}.tll-ps15 .tll-hero:after{display:none}.tll-ps15 .hero-name{font-size:28px;padding-right:30px}}

/* =====================================================================
   [train_list] STYLES 9-13 (modern)
   ===================================================================== */
.tll-ls9,.tll-ls10,.tll-ls11,.tll-ls12,.tll-ls13{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.tll-ls9 .tll-lq,.tll-ls10 .tll-lq,.tll-ls13 .tll-lq{border-radius:14px;border-color:#dfe3ea;padding:12px 14px;background:#fff}

/* 9 Status board: one column per status */
.tll-ls9 .tll-chips{display:none}
.tll-ls9 .tll-grid.kb{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.tll-ls9 .kb-col{background:#f3f5f9;border-radius:18px;padding:10px;min-height:120px}
.tll-ls9 .kb-ch{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#334155;padding:4px 6px 10px;text-transform:uppercase;letter-spacing:.05em}
.tll-ls9 .kb-ch i{width:10px;height:10px;border-radius:50%;background:#94a3b8}
.tll-ls9 .kb-col[data-col=run] .kb-ch i{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.18);animation:tllb 1.4s infinite}
.tll-ls9 .kb-col[data-col=done] .kb-ch i{background:#4f46e5}.tll-ls9 .kb-col[data-col=off] .kb-ch i{background:#e11d48}
.tll-ls9 .kb-ch em{margin-left:auto;font-style:normal;background:#fff;border-radius:20px;padding:1px 9px;color:#475569}
.tll-ls9 .kb-col.empty .kb-list:after{content:'—';display:block;text-align:center;color:#cbd5e1;padding:14px 0}
.tll-ls9 .kb-list{display:flex;flex-direction:column;gap:8px}
.tll-ls9 .tll-li9{background:#fff;border:0;border-radius:14px;padding:12px;box-shadow:0 1px 2px rgba(15,23,42,.06),0 4px 14px rgba(15,23,42,.05)}
.tll-ls9 .kb-col[data-col=run] .tll-li9{box-shadow:inset 3px 0 0 #16a34a,0 4px 14px rgba(15,23,42,.06)}
.tll-ls9 .kb-h{display:flex;gap:8px;align-items:center}
.tll-ls9 .kb-no{font-size:11px;font-weight:800;background:#eef2ff;color:#4338ca;border-radius:6px;padding:2px 6px}
.tll-ls9 .kb-h b,.tll-ls9 .kb-h a{font-size:14px;color:#0f172a;text-decoration:none;line-height:1.3}
.tll-ls9 .kb-r{font-size:12px;color:#64748b;margin:4px 0 8px}
.tll-ls9 .kb-t{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14px;color:#0f172a}
.tll-ls9 .kb-t i{flex:1;height:2px;background:repeating-linear-gradient(90deg,#cbd5e1 0 4px,transparent 4px 8px)}
.tll-ls9 .kb-f{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:10px}
.tll-ls9 .kb-f .tll-badge{white-space:normal;max-width:65%}
.tll-ls9 .tll-btn,.tll-ls9 .tll-track2{padding:5px 12px;font-size:12px;border-radius:20px;background:#0f172a;border-color:#0f172a}
.tll-ls9 .tll-card2.open{grid-column:auto}
@media (max-width:900px){.tll-ls9 .tll-grid.kb{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.tll-ls9 .tll-grid.kb{grid-template-columns:1fr}.tll-ls9 .kb-col.empty{display:none}}

/* 10 Next departure: featured card with countdown + grid */
.tll-ls10 .tll-chips button.on{background:#111827;border-color:#111827}
.tll-ls10 .tll-li10{border:1px solid #eceef3;border-radius:20px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:transform .15s,box-shadow .15s}
.tll-ls10 .tll-li10:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(17,24,39,.08)}
.tll-ls10 .nx-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tll-ls10 .nx-no{font-size:12px;font-weight:800;color:#6b7280;letter-spacing:.06em}
.tll-ls10 h3{margin:6px 0 2px;font-size:18px;line-height:1.25;letter-spacing:-.01em}.tll-ls10 h3 a{color:#111827;text-decoration:none}
.tll-ls10 .nx-r{font-size:13px;color:#6b7280}
.tll-ls10 .nx-times{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:12px 0 6px}
.tll-ls10 .nx-times small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af}
.tll-ls10 .nx-times b{font-size:18px;color:#111827}.tll-ls10 .nx-times .r{text-align:right}
.tll-ls10 .nx-mid{text-align:center;font-size:11px;color:#6b7280}.tll-ls10 .nx-mid i{display:block;height:2px;background:linear-gradient(90deg,#f97316,#ec4899);border-radius:2px;margin-bottom:4px}
.tll-ls10 .nx-cd{font-size:13px;font-weight:700;color:#ea580c;min-height:18px;margin-bottom:4px}
.tll-ls10 .tll-btn,.tll-ls10 .tll-track2{margin-top:10px;display:block;text-align:center;background:#111827;border-color:#111827;border-radius:12px}
.tll-ls10 .tll-li10.feat{order:-1;grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:4px 28px;align-items:center;padding:26px 28px;border:0;color:#fff;background:radial-gradient(600px 300px at 100% 0%,rgba(236,72,153,.45),transparent 60%),radial-gradient(500px 300px at 0% 100%,rgba(249,115,22,.5),transparent 60%),#111827;box-shadow:0 20px 50px rgba(17,24,39,.25)}
.tll-ls10 .tll-li10.feat:before{content:attr(data-nx);text-transform:uppercase;grid-column:1/-1;font-size:11px;font-weight:800;letter-spacing:.16em;color:#fdba74}
.tll-ls10 .feat h3{font-size:30px}.tll-ls10 .feat h3 a,.tll-ls10 .feat .nx-times b{color:#fff}
.tll-ls10 .feat .nx-r,.tll-ls10 .feat .nx-no,.tll-ls10 .feat .nx-mid{color:#d1d5db}
.tll-ls10 .feat .nx-times b{font-size:26px}
.tll-ls10 .feat .nx-cd{font-size:22px;color:#fdba74;grid-column:2;grid-row:2}
.tll-ls10 .feat .nx-top{grid-column:1}.tll-ls10 .feat h3,.tll-ls10 .feat .nx-r{grid-column:1}
.tll-ls10 .feat .nx-times{grid-column:2;grid-row:3/5}
.tll-ls10 .feat .tll-days{grid-column:1}
.tll-ls10 .feat .tll-btn,.tll-ls10 .feat .tll-track2{grid-column:2;background:#fff;color:#111827!important;border-color:#fff}
.tll-ls10 .feat .tll-slot{grid-column:1/-1}
@media (max-width:700px){.tll-ls10 .tll-li10.feat{grid-template-columns:1fr;padding:20px}.tll-ls10 .feat>*{grid-column:1!important;grid-row:auto!important}.tll-ls10 .feat h3{font-size:24px}}

/* 11 Neo-brutal */
.tll-ls11{font-family:"Space Grotesk","Inter",system-ui,sans-serif}
.tll-ls11 .tll-lq{border:3px solid #111;border-radius:12px;box-shadow:4px 4px 0 #111;padding:12px}
.tll-ls11 .tll-chips button{border:2px solid #111;color:#111;font-weight:800;box-shadow:2px 2px 0 #111;border-radius:10px}
.tll-ls11 .tll-chips button.on{background:#c4f04b;border-color:#111;color:#111}
.tll-ls11 .tll-grid{gap:18px}
.tll-ls11 .tll-li11{border:3px solid #111;border-radius:16px;box-shadow:6px 6px 0 #111;background:#fff;padding:16px;transition:transform .12s,box-shadow .12s}
.tll-ls11 .tll-li11:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #111}
.tll-ls11 .tll-li11:nth-child(4n+1){background:#fff1a8}.tll-ls11 .tll-li11:nth-child(4n+2){background:#ffd6f1}.tll-ls11 .tll-li11:nth-child(4n+3){background:#c9f7ff}.tll-ls11 .tll-li11:nth-child(4n){background:#dfffb0}
.tll-ls11 .nb-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.tll-ls11 .nb-no{background:#111;color:#fff;font-weight:900;padding:3px 10px;border-radius:8px}
.tll-ls11 .tll-badge{border:2px solid #111;background:#fff;color:#111}
.tll-ls11 h3{margin:10px 0 6px;font-size:21px;font-weight:900;line-height:1.15}.tll-ls11 h3 a{color:#111;text-decoration:none}
.tll-ls11 .nb-route{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:800;font-size:13px}
.tll-ls11 .nb-route span{background:#fff;border:2px solid #111;border-radius:8px;padding:2px 8px}
.tll-ls11 .nb-times{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0 8px}
.tll-ls11 .nb-times div{background:#fff;border:2px solid #111;border-radius:10px;padding:6px 8px}
.tll-ls11 .nb-times small{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.tll-ls11 .nb-times b{font-size:14px;font-weight:900}
.tll-ls11 .tll-day{border:2px solid #111;color:#111!important;border-radius:8px}.tll-ls11 .tll-day.on{background:#fff}.tll-ls11 .tll-day.off{background:#ff6b6b}
.tll-ls11 .tll-btn,.tll-ls11 .tll-track2{display:block;text-align:center;margin-top:12px;background:#111;color:#fff!important;border:3px solid #111;border-radius:12px;font-weight:900;box-shadow:3px 3px 0 #ff90e8}

/* 12 Aurora dark: glass cards with live journey bars */
.tll-ls12{background:radial-gradient(800px 380px at 0% 0%,rgba(56,189,248,.18),transparent 60%),radial-gradient(800px 420px at 100% 0%,rgba(192,132,252,.2),transparent 60%),#070b1a;padding:18px;border-radius:24px;color:#e8ecff}
.tll-ls12 .tll-lq{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:14px}.tll-ls12 .tll-lq::placeholder{color:#94a3c8}
.tll-ls12 .tll-lc{color:#cbd5f5}
.tll-ls12 .tll-chips button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#cbd5f5}.tll-ls12 .tll-chips button.on{background:linear-gradient(90deg,#38bdf8,#a78bfa);color:#06101f;border-color:transparent}
.tll-ls12 .tll-li12{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);border-radius:20px;color:#e8ecff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:none}
.tll-ls12 .tll-li12[data-s=run]{border-color:rgba(125,211,252,.45);box-shadow:0 0 0 1px rgba(125,211,252,.15),0 10px 40px rgba(56,189,248,.15)}
.tll-ls12 .ar-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.tll-ls12 .ar-top b,.tll-ls12 .ar-top a{color:#fff;text-decoration:none;font-size:15px}
.tll-ls12 .tll-badge{background:rgba(255,255,255,.08);color:#cbd5f5}.tll-ls12 .tll-badge.run{background:rgba(52,211,153,.18);color:#6ee7b7}.tll-ls12 .tll-badge.off{background:rgba(248,113,113,.18);color:#fca5a5}.tll-ls12 .tll-badge.done{background:rgba(167,139,250,.2);color:#ddd6fe}
.tll-ls12 .ar-times{display:flex;align-items:baseline;justify-content:space-between;margin:14px 0 2px}
.tll-ls12 .ar-times span{font-size:22px;font-weight:800;color:#fff}.tll-ls12 .ar-times em{font-style:normal;font-size:12px;color:#94a3c8}
.tll-ls12 .ar-st{display:flex;justify-content:space-between;font-size:12.5px;color:#94a3c8}
.tll-ls12 .ar-bar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);margin:12px 0 8px;overflow:hidden}
.tll-ls12 .ar-bar i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#38bdf8,#a78bfa);box-shadow:0 0 12px rgba(125,211,252,.8);transition:width .6s}
.tll-ls12 .ar-meta{font-size:12px;color:#94a3c8}
.tll-ls12 .tll-btn,.tll-ls12 .tll-track2{display:block;text-align:center;margin-top:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#e0f2fe!important;border-radius:12px}
.tll-ls12 .tll-li12[data-s=run] .tll-btn{background:linear-gradient(90deg,#38bdf8,#a78bfa);color:#06101f!important;border-color:transparent}
.tll-ls12 .tll-empty{color:#94a3c8}
.tll-ls12 .tll-slot .tll{color:#1a2233}

/* 13 Timeline: 24-hour chart, one bar per train */
.tll-ls13 .tll-chips button.on{background:#0f766e;border-color:#0f766e}
.tll-ls13 .gt-axis,.tll-ls13 .tll-li13{display:grid;grid-template-columns:minmax(170px,240px) minmax(0,1fr) 84px;gap:14px;align-items:center}
.tll-ls13 .gt-axis{padding:0 14px 6px;font-size:11px;color:#64748b;font-weight:700}
.tll-ls13 .gt-axis .gt-track{position:relative;height:16px}
.tll-ls13 .gt-axis .gt-track span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.tll-ls13 .gt-axis .gt-track span:first-child{transform:none}
.tll-ls13 .tll-grid.tll-rows{gap:6px!important}
.tll-ls13 .tll-li13{background:#fff;border:1px solid #e8edf3;border-radius:14px;padding:10px 14px;box-shadow:none}
.tll-ls13 .tll-li13:hover{border-color:#99d5cc}
.tll-ls13 .tll-li13 .tll-slot{grid-column:1/-1}
.tll-ls13 .gt-l{display:flex;gap:10px;align-items:center;min-width:0}
.tll-ls13 .gt-no{flex:0 0 auto;font-size:12px;font-weight:800;color:#0f766e;background:#e6f6f3;border-radius:8px;padding:4px 7px}
.tll-ls13 .gt-l b{display:block;font-size:14px;line-height:1.25}.tll-ls13 .gt-l b a{color:#0f172a;text-decoration:none}
.tll-ls13 .gt-l small{display:block;font-size:11.5px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tll-ls13 .gt-l .tll-badge{display:inline-block;margin-top:3px;font-size:10px;padding:1px 7px}
.tll-ls13 .gt-track{position:relative;height:30px;border-radius:8px;background:repeating-linear-gradient(90deg,#f1f5f9 0,#f1f5f9 calc(12.5% - 1px),#e2e8f0 calc(12.5% - 1px),#e2e8f0 12.5%)}
.tll-ls13 .gt-bar{position:absolute;top:5px;bottom:5px;border-radius:7px;background:linear-gradient(90deg,#14b8a6,#0ea5e9);display:flex;align-items:center;overflow:hidden;min-width:6px}
.tll-ls13 .gt-bar span{font-style:normal;font-size:10.5px;font-weight:800;color:#fff;padding:0 7px;white-space:nowrap}
.tll-ls13 .gt-bar.cont{border-top-left-radius:0;border-bottom-left-radius:0;opacity:.85}
.tll-ls13 [data-s=wait] .gt-bar{background:linear-gradient(90deg,#94a3b8,#cbd5e1)}
.tll-ls13 [data-s=off] .gt-bar{background:repeating-linear-gradient(45deg,#fecaca 0 6px,#fee2e2 6px 12px)}.tll-ls13 [data-s=off] .gt-bar span{color:#b91c1c}
.tll-ls13 [data-s=done] .gt-bar{background:linear-gradient(90deg,#6366f1,#8b5cf6)}
.tll-ls13 [data-s=run] .gt-bar{box-shadow:0 0 0 2px rgba(20,184,166,.25),0 4px 14px rgba(14,165,233,.35)}
.tll-ls13 .gt-now{position:absolute;top:-4px;bottom:-4px;width:2px;background:#ef4444;border-radius:2px;z-index:2}
.tll-ls13 .gt-now:before{content:'';position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:#ef4444}
.tll-ls13 .tll-btn,.tll-ls13 .tll-track2{padding:6px 12px;font-size:12px;border-radius:20px;background:#0f766e;border-color:#0f766e;text-align:center}
@media (max-width:760px){.tll-ls13 .gt-axis{display:none}.tll-ls13 .tll-li13{grid-template-columns:1fr auto;gap:8px 10px}.tll-ls13 .gt-track{grid-column:1/-1;grid-row:2}.tll-ls13 .gt-a{grid-row:1;grid-column:2}}
.tll-ls13 .gt-axis .gt-track{background:none}

/* =====================================================================
   [train_search] STYLES 6-10 (modern). Results: 6->route 9, 7->12, 8->13, 9->10, 10->11
   ===================================================================== */
.tll-sf6,.tll-sf7,.tll-sf8,.tll-sf9,.tll-sf10{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
/* 6 Pill search: one rounded bar */
.tll-search.tll-sf6{--sp:#1a73e8;--spl:#e8f0fe;background:#fff!important;box-shadow:none;padding:28px 18px}
.tll-sf6 .sf-top{text-align:center}.tll-sf6 .sf-h{font-size:32px;letter-spacing:-.02em;font-weight:800}.tll-sf6 .sf-sub{color:#5f6368}
.tll-sf6 .sf-tabs{justify-content:center;background:#f1f3f4;border-radius:999px;padding:4px;width:max-content;max-width:100%;margin:0 auto 16px}
.tll-sf6 .sf-tabs button{flex:0 0 auto;border:0;background:transparent;color:#5f6368;border-radius:999px;padding:8px 18px}
.tll-sf6 .sf-tabs button.on{background:#fff;color:#1a73e8;box-shadow:0 1px 3px rgba(60,64,67,.3)}
.tll-sf6 .sf-row{align-items:center;gap:0;background:#fff;border:1px solid #dfe1e5;border-radius:999px;padding:6px 6px 6px 18px;box-shadow:0 1px 6px rgba(32,33,36,.18);flex-wrap:nowrap}
.tll-sf6 .sf-row:focus-within{box-shadow:0 2px 12px rgba(32,33,36,.25)}
.tll-sf6 .sf-f label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#5f6368;margin:0}
.tll-sf6 .sf-box input{border:0;padding:2px 0 4px;font-size:17px;border-radius:0;box-shadow:none!important}
.tll-sf6 .sf-swap{border:0;border-radius:50%;width:40px;height:40px;padding:0;background:#f1f3f4;color:#1a73e8;margin:0 12px;flex:0 0 40px}
.tll-sf6 .sf-go,.tll-sf6 .sf-go2{border-radius:999px;background:#1a73e8;border-color:#1a73e8;padding:14px 26px;margin-left:8px}
.tll-sf6 .sf-chips{justify-content:center}.tll-sf6 .sf-chip{border-color:#dadce0;color:#3c4043;background:#fff}.tll-sf6 .sf-chip.rec{background:#f8f9fa}
.tll-sf6 .sf-opts{justify-content:center}
@media (max-width:640px){.tll-sf6 .sf-row{flex-wrap:wrap;border-radius:22px;padding:12px}.tll-sf6 .sf-f{min-width:100%}.tll-sf6 .sf-swap{order:0;width:40px;margin:4px auto}.tll-sf6 .sf-go,.tll-sf6 .sf-go2{width:100%;margin:8px 0 0}}
/* 7 Aurora glass */
.tll-search.tll-sf7{--sp:#7dd3fc;--spl:rgba(125,211,252,.15);--sx:#e8ecff;background:radial-gradient(700px 360px at 0% 0%,rgba(56,189,248,.28),transparent 60%),radial-gradient(700px 400px at 100% 100%,rgba(192,132,252,.3),transparent 60%),#070b1a!important;color:#e8ecff;border-radius:26px;padding:24px}
.tll-sf7 .sf-h{font-size:30px;font-weight:800;background:linear-gradient(90deg,#fff,#c7d2fe 50%,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}.tll-sf7 .sf-sub{color:#9aa6c8}
.tll-sf7 .sf-tabs button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#cbd5f5;border-radius:14px}
.tll-sf7 .sf-tabs button.on{background:linear-gradient(90deg,#38bdf8,#a78bfa);color:#06101f;border-color:transparent}
.tll-sf7 .sf-row{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.tll-sf7 .sf-f label,.tll-sf7 .sf-opts{color:#cbd5f5}
.tll-sf7 .sf-box input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:14px}.tll-sf7 .sf-box input::placeholder{color:#7c88ad}
.tll-sf7 .sf-swap{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#e0f2fe;border-radius:14px}
.tll-sf7 .sf-go,.tll-sf7 .sf-go2{background:linear-gradient(90deg,#38bdf8,#a78bfa);border:0;color:#06101f;border-radius:14px;box-shadow:0 8px 30px rgba(125,211,252,.35)}
.tll-sf7 .sf-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#e0f2fe}.tll-sf7 .sf-chips small{color:#9aa6c8}
.tll-sf7 .sf-opts select{background:#0f1730;color:#e8ecff;border-color:rgba(255,255,255,.2)}
.tll-sf7 .sf-sg{background:#0f1730;border-color:rgba(255,255,255,.15)}.tll-sf7 .sf-opt{background:#0f1730;color:#e8ecff;border-color:rgba(255,255,255,.06)}.tll-sf7 .sf-opt.on,.tll-sf7 .sf-opt:hover{background:#1b2547}
.tll-sf7 .sf-empty{background:rgba(255,255,255,.06);color:#e8ecff}
.tll-sf7 .tll-faq h2.tll-h2,.tll-sf7 .tll-fq summary{color:#e8ecff}.tll-sf7 .tll-fq{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}.tll-sf7 .tll-fq[open] summary{background:rgba(125,211,252,.12)}.tll-sf7 .tll-fa{color:#b8c2e0}.tll-sf7 .tll-faq{border-top-color:rgba(255,255,255,.12)}
/* 8 Split hero: headline panel + form */
.tll-search.tll-sf8{--sp:#4f46e5;--spl:#eef2ff;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:14px 26px;padding:0;overflow:hidden;border-radius:24px;box-shadow:0 20px 50px rgba(30,27,75,.12);background:#fff!important}
.tll-sf8 .sf-top{grid-column:1;grid-row:1/4;padding:28px 26px;color:#fff;background:radial-gradient(400px 260px at 100% 100%,rgba(244,114,182,.55),transparent 60%),linear-gradient(160deg,#4f46e5,#312e81);position:relative;overflow:hidden;min-height:220px}
.tll-sf8 .sf-top:after{content:'\1F686';position:absolute;right:16px;bottom:6px;font-size:84px;opacity:.9;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}
.tll-sf8 .sf-h{color:#fff;font-size:30px;font-weight:800;letter-spacing:-.02em}.tll-sf8 .sf-sub{color:#c7d2fe;font-size:15px}
.tll-sf8 .sf-tabs{grid-column:2;grid-row:1;margin:24px 26px 0 0;border-bottom:1px solid #e5e7eb;gap:0}
.tll-sf8 .sf-tabs button{flex:0 0 auto;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:#6b7280;padding:10px 16px}
.tll-sf8 .sf-tabs button.on{background:none;color:#4f46e5;border-bottom-color:#4f46e5}
.tll-sf8 .sf-pane{grid-column:2;grid-row:2;margin-right:26px}
.tll-sf8 .sf-opts{grid-column:2;grid-row:3;margin:0 26px 24px 0}
.tll-sf8 .sf-out,.tll-sf8 .tll-faqw{grid-column:1/-1;padding:0 18px 18px}
.tll-sf8 .sf-box input{border-color:#e5e7eb;background:#f9fafb;border-radius:12px}
.tll-sf8 .sf-swap{border-radius:12px;border-color:#e5e7eb;color:#4f46e5}.tll-sf8 .sf-go,.tll-sf8 .sf-go2{border-radius:12px;background:#4f46e5;border-color:#4f46e5}
.tll-sf8 .sf-chip{border-color:#c7d2fe;color:#4338ca}.tll-sf8 .sf-chip.rec{background:#eef2ff}
@media (max-width:760px){.tll-search.tll-sf8{grid-template-columns:1fr}.tll-sf8 .sf-top,.tll-sf8 .sf-tabs,.tll-sf8 .sf-pane,.tll-sf8 .sf-opts{grid-column:1;grid-row:auto;margin-left:18px;margin-right:18px}.tll-sf8 .sf-top{margin:0;min-height:0}.tll-sf8 .sf-top:after{font-size:54px}.tll-sf8 .sf-tabs{margin-top:4px}}
/* 9 Command palette */
.tll-search.tll-sf9{--sp:#a3e635;--spl:rgba(163,230,53,.12);--sx:#e5e7eb;background:#0b0d10!important;color:#e5e7eb;border:1px solid #23272f;border-radius:16px;box-shadow:0 30px 60px rgba(0,0,0,.4);padding:20px;font-family:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace}
.tll-sf9 .sf-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid #23272f;padding-bottom:12px;margin-bottom:12px}
.tll-sf9 .sf-h{font-size:18px;color:#e5e7eb;margin:0}.tll-sf9 .sf-h:before{content:'> ';color:#a3e635}.tll-sf9 .sf-sub{margin:0;color:#6b7280;font-size:12px}
.tll-sf9 .sf-tabs button{background:#14171c;border:1px solid #23272f;color:#9ca3af;border-radius:8px;font-family:inherit;font-size:12.5px}
.tll-sf9 .sf-tabs button.on{background:#a3e635;color:#0b0d10;border-color:#a3e635}
.tll-sf9 .sf-f label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.1em}
.tll-sf9 .sf-box input{background:#14171c;border:1px solid #23272f;color:#f3f4f6;border-radius:8px;font-family:inherit;font-size:15px;padding-right:58px}
.tll-sf9 .sf-box input:focus{border-color:#a3e635;box-shadow:0 0 0 3px rgba(163,230,53,.15)}
.tll-sf9 .sf-box:after{content:'\21B5 enter';position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;color:#6b7280;border:1px solid #2d323b;border-radius:5px;padding:2px 5px;pointer-events:none}
.tll-sf9 .sf-swap{background:#14171c;border-color:#23272f;color:#a3e635;border-radius:8px}
.tll-sf9 .sf-go,.tll-sf9 .sf-go2{background:#a3e635;border-color:#a3e635;color:#0b0d10;border-radius:8px;font-family:inherit}
.tll-sf9 .sf-chip{background:#14171c;border-color:#2d323b;color:#d1d5db;border-radius:6px;font-family:inherit;font-size:12px}.tll-sf9 .sf-chips small{color:#6b7280}
.tll-sf9 .sf-opts{color:#9ca3af;font-size:13px}.tll-sf9 .sf-opts select{background:#14171c;color:#e5e7eb;border-color:#2d323b;font-family:inherit}
.tll-sf9 .sf-sg{background:#14171c;border-color:#2d323b}.tll-sf9 .sf-opt{background:#14171c;color:#e5e7eb;border-color:#1f232a;font-family:inherit;font-size:14px}.tll-sf9 .sf-opt.on,.tll-sf9 .sf-opt:hover{background:#1f2933;color:#a3e635}
.tll-sf9 .sf-empty{background:#14171c;color:#e5e7eb}
.tll-sf9 .tll-faq h2.tll-h2,.tll-sf9 .tll-fq summary{color:#e5e7eb}.tll-sf9 .tll-fq{background:#14171c;border-color:#23272f}.tll-sf9 .tll-fq[open] summary{background:#1f2933}.tll-sf9 .tll-fa{color:#9ca3af}.tll-sf9 .tll-faq{border-top-color:#23272f}
.tll-sf9 .sf-out .tll-rb{font-family:"Inter",system-ui,sans-serif}
/* 10 Neo-brutal */
.tll-search.tll-sf10{--sp:#111;--spl:#fff1a8;background:#fffdf3!important;border:3px solid #111;box-shadow:8px 8px 0 #111;border-radius:18px;padding:22px;font-family:"Space Grotesk","Inter",system-ui,sans-serif}
.tll-sf10 .sf-h{display:inline-block;background:#c4f04b;border:3px solid #111;box-shadow:4px 4px 0 #111;border-radius:12px;padding:4px 12px;font-size:26px;font-weight:900;transform:rotate(-1deg)}
.tll-sf10 .sf-sub{font-weight:600;color:#3f3f46;margin-top:10px}
.tll-sf10 .sf-tabs button{border:3px solid #111;color:#111;background:#fff;border-radius:12px;font-weight:900;box-shadow:3px 3px 0 #111}
.tll-sf10 .sf-tabs button.on{background:#ff90e8;color:#111}
.tll-sf10 .sf-f label{font-weight:900;color:#111}
.tll-sf10 .sf-box input{border:3px solid #111;border-radius:12px;box-shadow:3px 3px 0 #111;font-weight:700}
.tll-sf10 .sf-box input:focus{box-shadow:5px 5px 0 #111;border-color:#111}
.tll-sf10 .sf-swap{border:3px solid #111;background:#a5f3fc;color:#111;border-radius:12px;box-shadow:3px 3px 0 #111}
.tll-sf10 .sf-go,.tll-sf10 .sf-go2{background:#111;border:3px solid #111;color:#fff;border-radius:12px;box-shadow:4px 4px 0 #ff90e8;font-weight:900}
.tll-sf10 .sf-chip{border:2px solid #111;color:#111;background:#fff1a8;font-weight:800;box-shadow:2px 2px 0 #111}
.tll-sf10 .sf-sg{border:3px solid #111;box-shadow:4px 4px 0 #111}
.tll-sf10 .sf-empty{background:#fff1a8;border:3px solid #111}

/* =====================================================================
   ROUTE BLOCK STYLES 9-13 (modern): cards + the "All trains" table
   ===================================================================== */
.tll-rb-s9,.tll-rb-s10,.tll-rb-s11,.tll-rb-s12,.tll-rb-s13{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.tll-rb-s9 .tll-routebox h2.tll-h2,.tll-rb-s10 .tll-routebox h2.tll-h2,.tll-rb-s13 .tll-routebox h2.tll-h2{font-size:24px;letter-spacing:-.01em}
.tll-rb-s9 .tll-routebox,.tll-rb-s10 .tll-routebox,.tll-rb-s13 .tll-routebox{border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(15,23,42,.06);padding:20px}
.tll-rb-s9 .tll-rtbox,.tll-rb-s10 .tll-rtbox,.tll-rb-s13 .tll-rtbox{border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(15,23,42,.06);padding:18px}
/* 9 Flight search rows */
.tll-rb-s9 .tll-r.fl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;border:1px solid #e5e7eb;border-radius:16px;padding:14px 18px;margin-bottom:10px;transition:box-shadow .15s,border-color .15s}
.tll-rb-s9 .tll-r.fl:hover{border-color:#bfdbfe;box-shadow:0 8px 24px rgba(37,99,235,.08)}
.tll-rb-s9 .fl .tll-slot{grid-column:1/-1}
.tll-rb-s9 .fl-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tll-rb-s9 .fl-name b,.tll-rb-s9 .fl-name a{font-size:15px;color:#111827;text-decoration:none}
.tll-rb-s9 .fl-bd{display:inline-flex;gap:5px}.tll-rb-s9 .fl-bd i{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}
.tll-rb-s9 .fl-bd .f{background:#dcfce7;color:#15803d}.tll-rb-s9 .fl-bd .e{background:#dbeafe;color:#1d4ed8}.tll-rb-s9 .fl-bd .l{background:#fae8ff;color:#a21caf}
.tll-rb-s9 .fl-row{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;gap:16px;align-items:center;margin:10px 0 6px}
.tll-rb-s9 .fl-t strong{display:block;font-size:22px;color:#111827;letter-spacing:-.01em}.tll-rb-s9 .fl-t strong sup{font-size:11px;color:#dc2626;margin-left:2px}
.tll-rb-s9 .fl-t span{font-size:12.5px;color:#6b7280}.tll-rb-s9 .fl-t.r{text-align:right}
.tll-rb-s9 .fl-mid{text-align:center;font-size:12px;color:#6b7280}
.tll-rb-s9 .fl-mid i{display:block;height:2px;background:#d1d5db;margin:5px 0;position:relative}
.tll-rb-s9 .fl-mid i:before,.tll-rb-s9 .fl-mid i:after{content:'';position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid #9ca3af}
.tll-rb-s9 .fl-mid i:before{left:-2px}.tll-rb-s9 .fl-mid i:after{right:-2px;background:#2563eb;border-color:#2563eb}
.tll-rb-s9 .tll-routebox .tll-r .tll-track{background:#2563eb;border:1px solid #2563eb;color:#fff!important;border-radius:999px;padding:10px 20px;font-weight:700;text-decoration:none;white-space:nowrap}
.tll-rb-s9 .tll-rt th{background:#f9fafb;color:#374151;border-bottom:1px solid #e5e7eb}.tll-rb-s9 .tll-rt tbody tr:nth-child(even) td{background:#fafafa}
@media (max-width:560px){.tll-rb-s9 .tll-r.fl{grid-template-columns:1fr}.tll-rb-s9 .tll-routebox .fl-act .tll-track{display:block;text-align:center}.tll-rb-s9 .fl-t strong{font-size:19px}}
/* 10 Timeline chart (shares the list timeline look) */
.tll-rb-s10 .gt-axis,.tll-rb-s10 .tll-r.gt{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr) 84px;gap:14px;align-items:center}
.tll-rb-s10 .gt-axis{padding:0 14px 6px;font-size:11px;color:#64748b;font-weight:700}
.tll-rb-s10 .gt-axis .gt-track{position:relative;height:16px;background:none}
.tll-rb-s10 .gt-axis .gt-track span{position:absolute;transform:translateX(-50%);white-space:nowrap}.tll-rb-s10 .gt-axis .gt-track span:first-child{transform:none}
.tll-rb-s10 .tll-r.gt{border:1px solid #e8edf3;border-radius:14px;padding:10px 14px;margin-bottom:6px}
.tll-rb-s10 .gt .tll-slot{grid-column:1/-1}
.tll-rb-s10 .gt-l{display:flex;gap:10px;align-items:center;min-width:0}
.tll-rb-s10 .gt-no{font-size:12px;font-weight:800;color:#0f766e;background:#e6f6f3;border-radius:8px;padding:4px 7px}
.tll-rb-s10 .gt-l b{display:block;font-size:14px}.tll-rb-s10 .gt-l b a{color:#0f172a;text-decoration:none}.tll-rb-s10 .gt-l small{display:block;font-size:11.5px;color:#64748b}
.tll-rb-s10 .gt-track{position:relative;height:30px;border-radius:8px;background:repeating-linear-gradient(90deg,#f1f5f9 0,#f1f5f9 calc(12.5% - 1px),#e2e8f0 calc(12.5% - 1px),#e2e8f0 12.5%)}
.tll-rb-s10 .gt-bar{position:absolute;top:5px;bottom:5px;border-radius:7px;background:linear-gradient(90deg,#14b8a6,#0ea5e9);display:flex;align-items:center;overflow:hidden;min-width:6px}
.tll-rb-s10 .gt-bar span{font-style:normal;font-size:10.5px;font-weight:800;color:#fff;padding:0 7px;white-space:nowrap}
.tll-rb-s10 .gt-bar.cont{border-top-left-radius:0;border-bottom-left-radius:0}
.tll-rb-s10 .gt-now{position:absolute;top:-4px;bottom:-4px;width:2px;background:#ef4444;z-index:2}
.tll-rb-s10 .tll-routebox .tll-r .tll-track{display:block;text-align:center;padding:6px 10px;font-size:12px;border-radius:20px;background:#0f766e;border:1px solid #0f766e;color:#fff!important;text-decoration:none;font-weight:700}
.tll-rb-s10 .tll-rt th{background:#0f766e}
@media (max-width:760px){.tll-rb-s10 .gt-axis{display:none}.tll-rb-s10 .tll-r.gt{grid-template-columns:1fr auto;gap:8px}.tll-rb-s10 .gt-track{grid-column:1/-1;grid-row:2}}
/* 11 Neo-brutal */
.tll-rb-s11 .tll-routebox,.tll-rb-s11 .tll-rtbox{background:#fffdf3;border:3px solid #111;box-shadow:8px 8px 0 #111;border-radius:18px;font-family:"Space Grotesk","Inter",system-ui,sans-serif}
.tll-rb-s11 .tll-routebox h2.tll-h2{display:inline-block;background:#ff90e8;border:3px solid #111;box-shadow:4px 4px 0 #111;border-radius:12px;padding:4px 12px;font-weight:900;transform:rotate(-1deg)}
.tll-rb-s11 .tll-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.tll-rb-s11 .tll-msg{grid-column:1/-1;margin:4px 0 0;font-weight:700}
.tll-rb-s11 .tll-r.nbc{margin:0;border:3px solid #111;border-radius:16px;box-shadow:5px 5px 0 #111;padding:14px}
.tll-rb-s11 .nbc:nth-of-type(4n+1){background:#fff1a8}.tll-rb-s11 .nbc:nth-of-type(4n+2){background:#ffd6f1}.tll-rb-s11 .nbc:nth-of-type(4n+3){background:#c9f7ff}.tll-rb-s11 .nbc:nth-of-type(4n){background:#dfffb0}
.tll-rb-s11 .nb-top{display:flex;justify-content:space-between;gap:8px}
.tll-rb-s11 .nb-no{background:#111;color:#fff;font-weight:900;padding:2px 9px;border-radius:8px}.tll-rb-s11 .nb-dur{font-weight:800;background:#fff;border:2px solid #111;border-radius:8px;padding:1px 8px;font-size:13px}
.tll-rb-s11 h3{margin:10px 0 8px;font-size:19px;font-weight:900}.tll-rb-s11 h3 a{color:#111;text-decoration:none}
.tll-rb-s11 .nb-times{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tll-rb-s11 .nb-times div{background:#fff;border:2px solid #111;border-radius:10px;padding:6px 8px}
.tll-rb-s11 .nb-times small{display:block;font-size:11px;font-weight:800}.tll-rb-s11 .nb-times b{font-size:17px;font-weight:900}.tll-rb-s11 sup{font-size:10px}
.tll-rb-s11 .nb-m{font-size:12.5px;font-weight:600;margin:8px 0}
.tll-rb-s11 .tll-routebox .tll-r .tll-track{display:block;text-align:center;background:#111;color:#fff!important;border:3px solid #111;border-radius:12px;padding:9px;font-weight:900;text-decoration:none;box-shadow:3px 3px 0 #ff90e8}
.tll-rb-s11 .nbc .tll-slot,.tll-rb-s11 .nbc.open{grid-column:1/-1}
.tll-rb-s11 .tll-rt th{background:#c4f04b;color:#111;border-bottom:3px solid #111}.tll-rb-s11 .tll-rt td{border-bottom:2px solid #111}
/* 12 Aurora dark */
.tll-rb-s12 .tll-routebox,.tll-rb-s12 .tll-rtbox{background:radial-gradient(700px 320px at 0% 0%,rgba(56,189,248,.18),transparent 60%),radial-gradient(700px 360px at 100% 0%,rgba(192,132,252,.2),transparent 60%),#070b1a;color:#e8ecff;border-radius:24px;box-shadow:none;padding:20px}
.tll-rb-s12 .tll-routebox h2.tll-h2,.tll-rb-s12 .tll-rtbox h3{background:linear-gradient(90deg,#fff,#c7d2fe 50%,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}
.tll-rb-s12 .tll-msg{color:#cbd5f5}
.tll-rb-s12 .tll-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.tll-rb-s12 .tll-msg{grid-column:1/-1;margin:0}
.tll-rb-s12 .tll-r.arc{margin:0;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:16px;color:#e8ecff}
.tll-rb-s12 .arc[data-s=run]{border-color:rgba(125,211,252,.45);box-shadow:0 10px 40px rgba(56,189,248,.15)}
.tll-rb-s12 .ar-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.tll-rb-s12 .ar-top b,.tll-rb-s12 .ar-top a{color:#fff;text-decoration:none;font-size:15px}
.tll-rb-s12 .tll-badge{background:rgba(255,255,255,.08);color:#cbd5f5}.tll-rb-s12 .tll-badge.run{background:rgba(52,211,153,.18);color:#6ee7b7}.tll-rb-s12 .tll-badge.off{background:rgba(248,113,113,.18);color:#fca5a5}.tll-rb-s12 .tll-badge.done{background:rgba(167,139,250,.2);color:#ddd6fe}
.tll-rb-s12 .ar-times{display:flex;align-items:baseline;justify-content:space-between;margin:14px 0 2px}.tll-rb-s12 .ar-times span{font-size:22px;font-weight:800;color:#fff}.tll-rb-s12 .ar-times em{font-style:normal;font-size:12px;color:#94a3c8}.tll-rb-s12 sup{font-size:10px;color:#fda4af}
.tll-rb-s12 .ar-st{display:flex;justify-content:space-between;font-size:12.5px;color:#94a3c8}
.tll-rb-s12 .ar-bar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);margin:12px 0 8px;overflow:hidden}.tll-rb-s12 .ar-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#38bdf8,#a78bfa);box-shadow:0 0 12px rgba(125,211,252,.8)}
.tll-rb-s12 .ar-meta{font-size:12px;color:#94a3c8}
.tll-rb-s12 .tll-routebox .tll-r .tll-track{display:block;text-align:center;margin-top:12px;padding:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#e0f2fe!important;border-radius:12px;text-decoration:none;font-weight:700}
.tll-rb-s12 .tll-routebox .tll-r.arc[data-s=run] .tll-track{background:linear-gradient(90deg,#38bdf8,#a78bfa);color:#06101f!important;border-color:transparent}
.tll-rb-s12 .arc .tll-slot,.tll-rb-s12 .arc.open{grid-column:1/-1}.tll-rb-s12 .arc .tll-slot .tll{color:#1a2233}
.tll-rb-s12 .tll-rt th{background:rgba(125,211,252,.12);color:#bae6fd}.tll-rb-s12 .tll-rt td{background:transparent!important;color:#e8ecff;border-bottom-color:rgba(255,255,255,.08)}.tll-rb-s12 .tll-rt small{color:#94a3c8}
@media (max-width:700px){.tll-rb-s12 .tll-rt-route tr{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.12)}.tll-rb-s12 .tll-rt-route td:before{color:#94a3c8}}
/* 13 Day planner */
.tll-rb-s13 .dp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tll-rb-s13 .dp-col{background:#f8fafc;border-radius:18px;padding:12px;min-width:0}
.tll-rb-s13 .dp-col h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:8px;color:#334155}
.tll-rb-s13 .dp-col h4:before{font-size:18px}
.tll-rb-s13 .dp-col:nth-child(1) h4:before{content:'\1F305'}.tll-rb-s13 .dp-col:nth-child(2) h4:before{content:'\2600\FE0F'}.tll-rb-s13 .dp-col:nth-child(3) h4:before{content:'\1F307'}.tll-rb-s13 .dp-col:nth-child(4) h4:before{content:'\1F319'}
.tll-rb-s13 .dp-col:nth-child(1){background:linear-gradient(180deg,#fff7ed,#fff)}.tll-rb-s13 .dp-col:nth-child(2){background:linear-gradient(180deg,#fefce8,#fff)}.tll-rb-s13 .dp-col:nth-child(3){background:linear-gradient(180deg,#fdf2f8,#fff)}.tll-rb-s13 .dp-col:nth-child(4){background:linear-gradient(180deg,#eef2ff,#fff)}
.tll-rb-s13 .dp-none{color:#cbd5e1;text-align:center;margin:10px 0}
.tll-rb-s13 .tll-r.dpc{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;background:#fff;border:1px solid #eef0f4;border-radius:14px;padding:10px;margin-bottom:8px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.tll-rb-s13 .dp-t{font-weight:900;font-size:16px;color:#0f172a;white-space:nowrap}
.tll-rb-s13 .dp-b b{display:block;font-size:13.5px;line-height:1.3}.tll-rb-s13 .dp-b b a{color:#0f172a;text-decoration:none}.tll-rb-s13 .dp-b b span{font-size:11px;color:#94a3b8;font-weight:600}
.tll-rb-s13 .dp-b small{display:block;font-size:12px;color:#64748b;margin:2px 0}
.tll-rb-s13 .dp-b .tll-day{min-width:0;padding:1px 4px;font-size:9.5px;border-radius:4px}
.tll-rb-s13 .tll-routebox .dpc .tll-track{grid-column:1/-1;text-align:center;padding:6px;font-size:12.5px;border-radius:10px;background:#0f172a;color:#fff!important;border:0;text-decoration:none;font-weight:700}
.tll-rb-s13 .dpc .tll-slot{grid-column:1/-1}
.tll-rb-s13 .tll-rt th{background:#334155}
@media (max-width:900px){.tll-rb-s13 .dp{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.tll-rb-s13 .dp{grid-template-columns:1fr}.tll-rb-s13 .dp-col.empty{display:none}}

.tll-rt-route td.c-st{min-width:200px}.tll-rt-route td.c-days .tll-days{flex-wrap:wrap;min-width:150px}
.tll-sf7 .sf-opts label{color:#cbd5f5}.tll-sf9 .sf-opts label{color:#9ca3af}
.tll-rb-s9 .fl-t strong{white-space:nowrap}

/* =====================================================================
   LIVE BLOG STYLES 1-6 (.tll-lb.lbs1 ... lbs6): one is picked per day, or fixed in the settings
   ===================================================================== */
.tll-lb{--lbd:#2563eb;--lba:#047857;--lbp:#64748b;--lbe:#7c3aed;--lbr:#ea580c;--lbl:#dc2626}
.tll-lbl .lb-ic{display:none;font-style:normal}
.tll-lbl .lb-lab{display:inline-block;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--lbc,var(--p,var(--tlg,#006a4e)));margin:0 0 2px}
.tll-lbl li{--lbc:var(--p,var(--tlg,#006a4e))}
.tll-lbl li.k-dep{--lbc:var(--lbd)}.tll-lbl li.k-arr{--lbc:var(--lba)}.tll-lbl li.pass{--lbc:var(--lbp)}.tll-lbl li.k-end{--lbc:var(--lbe)}.tll-lbl li.k-rep{--lbc:var(--lbr)}.tll-lbl li.k-rep.late{--lbc:var(--lbl)}
.tll-lbl li div b{display:block}
.tll-lbl .lb-d{margin:3px 0 0;font-size:13.5px;line-height:1.5;color:var(--mu,#4a5568)}
.tll-psx .tll-lb,.tll-ps3 .tll-lb{--lbd:#60a5fa;--lba:#34d399;--lbp:#94a3b8;--lbe:#c084fc;--lbr:#fb923c;--lbl:#f87171}
/* 1 Timeline: rail with dots, label above the title */
.tll-lb.lbs1 .tll-lbl li:before{border-color:var(--lbc)}
/* 2 Update cards */
.tll-lb.lbs2 .tll-lbl{border:0;margin:6px 0 10px;padding:0;display:grid;gap:10px}
.tll-lb.lbs2 .tll-lbl li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;border-radius:14px;background:var(--cd,#fff);border:1px solid var(--ln,#e5e7eb);border-left:4px solid var(--lbc);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.tll-lb.lbs2 .tll-lbl li:before{display:none}
.tll-lb.lbs2 .tll-lbl time{grid-column:2;grid-row:1;flex:none;font-size:12px;background:var(--pl,#eef2f7);color:var(--tx,#1a2233);border-radius:20px;padding:2px 10px;height:max-content}
.tll-lb.lbs2 .tll-lbl li>div{grid-column:1;grid-row:1}
.tll-lb.lbs2 .tll-lbl .lb-lab{background:color-mix(in srgb,var(--lbc) 12%,transparent);color:var(--lbc);border-radius:20px;padding:2px 9px;margin-bottom:5px}
.tll-lb.lbs2 .tll-lbl li.now{border-left-width:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--p,var(--tlg,#006a4e)) 8%,transparent),transparent)}
/* 3 News bulletin */
.tll-lb.lbs3 .tll-lbl{border:0;margin:6px 0 10px;padding:0}
.tll-lb.lbs3 .tll-lbl li{padding:14px 0;border-top:1px solid var(--ln,#e5e7eb);gap:16px}
.tll-lb.lbs3 .tll-lbl li:first-child{border-top:3px solid var(--lbl)}
.tll-lb.lbs3 .tll-lbl li:before{display:none}
.tll-lb.lbs3 .tll-lbl time{flex:0 0 auto;min-width:76px;text-align:center;align-self:flex-start;background:var(--lbc);color:#fff;font-size:13px;border-radius:4px;padding:5px 6px}
.tll-lb.lbs3 .tll-lbl li div b{font-size:17px;line-height:1.3;font-family:Georgia,"Times New Roman",serif}
.tll-lb.lbs3 .tll-lbl .lb-lab{color:var(--lbc);letter-spacing:.12em}
.tll-lb.lbs3 .tll-lbl li.now time{background:var(--lbl);animation:tllb 1.6s infinite}
/* 4 Chat messages */
.tll-lb.lbs4 .tll-lbl{border:0;margin:8px 0 10px;padding:0;display:flex;flex-direction:column;gap:12px}
.tll-lb.lbs4 .tll-lbl li{padding:0;gap:10px;align-items:flex-start}
.tll-lb.lbs4 .tll-lbl li:before{display:none}
.tll-lb.lbs4 .tll-lbl .lb-ic{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--lbc) 14%,var(--cd,#fff));font-size:18px;order:0}
.tll-lb.lbs4 .tll-lbl li>div{order:1;background:var(--cd,#fff);border:1px solid var(--ln,#e5e7eb);border-radius:4px 16px 16px 16px;padding:10px 13px;max-width:560px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tll-lb.lbs4 .tll-lbl time{order:2;flex:0 0 auto;align-self:flex-end;font-size:11.5px;font-weight:700;color:#4b5563}
.tll-lb.lbs4 .tll-lbl li.now>div{background:color-mix(in srgb,var(--p,var(--tlg,#006a4e)) 10%,var(--cd,#fff));border-color:color-mix(in srgb,var(--p,var(--tlg,#006a4e)) 30%,transparent)}
/* 5 Compact log */
.tll-lb.lbs5 .tll-lbl{border:1px solid var(--ln,#e5e7eb);border-radius:12px;margin:6px 0 10px;padding:0;overflow:hidden;font-family:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace}
.tll-lb.lbs5 .tll-lbl li{padding:9px 12px;gap:12px;border-top:1px solid var(--ln,#eef0f3)}
.tll-lb.lbs5 .tll-lbl li:first-child{border-top:0}
.tll-lb.lbs5 .tll-lbl li:nth-child(even){background:var(--st,#fafbfc)}
.tll-lb.lbs5 .tll-lbl li:before{display:none}
.tll-lb.lbs5 .tll-lbl time{flex:0 0 72px;font-size:12px;color:#4b5563}
.tll-lb.lbs5 .tll-lbl .lb-ic{display:block;flex:0 0 18px;font-size:14px;line-height:1.3}
.tll-lb.lbs5 .tll-lbl li div b{font-size:13.5px;display:inline}
.tll-lb.lbs5 .tll-lbl .lb-lab{display:inline;margin-right:8px;font-size:10px}
.tll-lb.lbs5 .tll-lbl .lb-d{font-size:12px;font-family:inherit}
.tll-lb.lbs5 .tll-lbl li.now{background:color-mix(in srgb,var(--p,var(--tlg,#006a4e)) 9%,transparent)}
/* 6 Magazine */
.tll-lb.lbs6 .tll-lbl{border:0;margin:8px 0 10px;padding:0}
.tll-lb.lbs6 .tll-lbl li{padding:16px 0;gap:18px;border-bottom:1px solid var(--ln,#e5e7eb)}
.tll-lb.lbs6 .tll-lbl li:before{display:none}
.tll-lb.lbs6 .tll-lbl time{flex:0 0 96px;font-size:24px;font-weight:300;line-height:1.1;color:var(--tx,#1a2233);letter-spacing:-.02em}
.tll-lb.lbs6 .tll-lbl li div b{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:700;line-height:1.3}
.tll-lb.lbs6 .tll-lbl .lb-lab{letter-spacing:.18em;font-size:10px}
.tll-lb.lbs6 .tll-lbl .lb-d{font-style:italic;font-size:14.5px}
.tll-lb.lbs6 .tll-lbl li.now time{color:var(--lbc)}
@media (max-width:520px){.tll-lb.lbs3 .tll-lbl time{min-width:64px}.tll-lb.lbs6 .tll-lbl time{flex-basis:72px;font-size:19px}.tll-lb.lbs5 .tll-lbl time{flex-basis:58px}.tll-lb.lbs4 .tll-lbl li{flex-wrap:wrap}.tll-lb.lbs4 .tll-lbl li>div{flex:1;min-width:0}.tll-lb.lbs4 .tll-lbl time{order:3;flex-basis:100%;padding-left:48px;align-self:auto}}

/* today = dark outline in every design (never the theme colour, which can look like an off day) */
.tll .tll-day.today,.tll-psx .tll-day.today,.tll-ps2 .tll-day.today,.tll-ps3 .tll-day.today,.tll-ps4 .tll-day.today,.tll-ps5 .tll-day.today,.tll-ps6 .tll-day.today,.tll-ps7 .tll-day.today,.tll-ps8 .tll-day.today,.tll-ps9 .tll-day.today,.tll-ps10 .tll-day.today{box-shadow:0 0 0 2px var(--bg,#fff),0 0 0 4px var(--tx,#1a2233)}
.tll-leg i.t{background:transparent;box-shadow:inset 0 0 0 2px var(--tx,#1a2233);border-radius:3px}

/* station drop-down: whole list scrolls, destinations show how many trains go there */
.tll-search .sf-sg{max-height:min(340px,60vh);overflow-y:auto;overscroll-behavior:contain}
.tll-search .sf-opt{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tll-search .sf-opt .sf-n{flex:0 0 auto;font-size:12px;font-weight:600;opacity:.6}
.tll-search .sf-rp{flex:0 0 auto;margin-left:8px;padding:1px 6px;border-radius:6px;font-size:11px;font-weight:700;background:#e3f4ea;color:#14633a}
.tll-search .sf-hd{position:sticky;top:0;z-index:1;padding:8px 14px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#5b6676;background:#f3f5f8;border-bottom:1px solid #e3e7ec}
.tll-sf3 .sf-hd{background:#1d2f4a;color:#9fb3d1;border-color:#26405f}.tll-sf7 .sf-hd{background:#172042;color:#cbd5f5;border-color:rgba(255,255,255,.12)}.tll-sf9 .sf-hd{background:#1b1f26;color:#9ca3af;border-color:#2d323b}
.tll-sf10 .sf-hd{background:#ffe14d;color:#111;border-bottom:3px solid #111}
[dir=rtl] .tll-search .sf-opt{text-align:right}

/* station code (AII, NDLS) and no-stop days */
.tll-code{display:inline-block;margin:0 0 0 5px;padding:0 5px;border-radius:4px;font-size:.72em;font-weight:700;letter-spacing:.04em;line-height:1.55;vertical-align:middle;background:rgba(127,127,127,.16);color:inherit;font-style:normal;white-space:nowrap}
.tll-soff,.tll-soffb,.tll-skipb{display:inline-block;margin:2px 0 0 6px;padding:1px 7px;border-radius:4px;font-size:11px;font-weight:600;font-style:normal;line-height:1.5;background:#fff3cd;color:#8a5a00;vertical-align:middle;white-space:nowrap}
.tll-skipb{background:#fde2e1;color:#b42318}
.tll-rt .tll-soff{display:table;margin:3px 0 0}.tll-sched-l .tll-soff{display:table;margin:3px 0 1px}
.tll-stl .sn .tll-soffb,.tll-stl .sn .tll-skipb{display:table;margin:3px 0 0}
.tll-stl li.skip .dot{opacity:.45}

/* =====================================================================
   SEARCH FORM 11-15 (each with its own layout) + small-screen fixes
   ===================================================================== */
/* fixes found by the responsive check (320-1366px) */
.tll-sf6 .sf-box input{padding:8px 0 9px}
.tll-rb-s9 .tll-r.fl>*{min-width:0}
@media (max-width:400px){.tll-rb-s9 .fl-row{grid-template-columns:auto minmax(40px,1fr) auto;gap:8px}.tll-rb-s9 .fl-t strong{font-size:17px}.tll-rb-s9 .tll-r.fl{padding:12px}
  .tk-mid{gap:6px;padding:8px 10px 10px}.tk-c{min-width:0}.tk-c strong{font-size:18px}.tk-line{min-width:24px}.tk-top,.tk-bot{padding-left:10px;padding-right:10px}}
.tll-sf11,.tll-sf13,.tll-sf14,.tll-sf15{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}

/* 11 Boarding pass: a ticket with a coloured stub, perforation and a round swap on the tear line */
.tll-search.tll-sf11{--sp:#0f766e;--spl:#ccfbf1;--sx:#0f172a;background:#f1f5f4!important;box-shadow:none;padding:22px}
.tll-sf11 .sf-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.tll-sf11 .sf-top:before{content:'\1F3AB';font-size:28px;line-height:1}
.tll-sf11 .sf-h{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0}.tll-sf11 .sf-sub{flex:1 0 100%;margin:0 0 6px;color:#475569}
.tll-sf11 .sf-tabs{gap:0;background:#fff;border-radius:12px;padding:4px;box-shadow:0 1px 2px rgba(0,0,0,.06);max-width:440px}
.tll-sf11 .sf-tabs button{border:0;border-radius:9px;background:transparent;color:#475569;padding:9px 8px}
.tll-sf11 .sf-tabs button.on{background:#0f766e;color:#fff}
.tll-sf11 .sf-pane .sf-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr) auto;gap:0;align-items:stretch;background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(15,23,42,.08);overflow:visible}
.tll-sf11 .sf-pane[data-p=train] .sf-row{grid-template-columns:minmax(0,1fr) auto}
.tll-sf11 .sf-f{min-width:0;padding:16px 20px 14px}
.tll-sf11 .sf-f label{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0f766e;margin-bottom:6px}
.tll-sf11 .sf-box input{border:0;padding:4px 0 6px;font-size:20px;font-weight:700;border-radius:0;background:transparent;color:#0f172a;box-shadow:none!important;border-bottom:2px solid transparent}
.tll-sf11 .sf-box input:focus{border-bottom-color:#0f766e}
.tll-sf11 .sf-swap{position:relative;z-index:2;align-self:center;width:44px;height:44px;margin:0 -22px;padding:0;border-radius:50%;border:2px solid #e2e8f0;background:#fff;color:#0f766e;font-size:18px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.tll-sf11 .sf-pane[data-p=route] .sf-f+.sf-swap+.sf-f{border-left:2px dashed #cbd5e1}
.tll-sf11 .sf-go,.tll-sf11 .sf-go2{position:relative;border:0;border-radius:0 18px 18px 0;background:linear-gradient(160deg,#f97316,#e11d48);color:#fff;padding:0 28px;font-size:16px;font-weight:800;letter-spacing:.02em;min-height:84px;border-left:2px dashed rgba(255,255,255,.7)}
.tll-sf11 .sf-go:before,.tll-sf11 .sf-go:after,.tll-sf11 .sf-go2:before,.tll-sf11 .sf-go2:after{content:'';position:absolute;left:-11px;width:20px;height:20px;border-radius:50%;background:#f1f5f4}
.tll-sf11 .sf-go:before,.tll-sf11 .sf-go2:before{top:-10px}.tll-sf11 .sf-go:after,.tll-sf11 .sf-go2:after{bottom:-10px}
.tll-sf11 .sf-chip{border:0;background:#fff;color:#0f766e;box-shadow:0 1px 2px rgba(0,0,0,.08)}.tll-sf11 .sf-chip.rec{background:#ccfbf1}
.tll-sf11 .sf-empty{background:#fff}
@media (max-width:700px){
  .tll-search.tll-sf11{padding:16px}
  .tll-sf11 .sf-pane .sf-row,.tll-sf11 .sf-pane[data-p=train] .sf-row{grid-template-columns:1fr}
  .tll-sf11 .sf-f{padding:14px 16px 12px}
  .tll-sf11 .sf-pane[data-p=route] .sf-f+.sf-swap+.sf-f{border-left:0;border-top:2px dashed #cbd5e1}
  .tll-sf11 .sf-swap{order:0;width:40px;height:40px;margin:-20px 16px -20px auto;justify-self:end}
  .tll-sf11 .sf-go,.tll-sf11 .sf-go2{width:100%;border-radius:0 0 18px 18px;border-left:0;border-top:2px dashed rgba(255,255,255,.7);min-height:54px;padding:14px}
  .tll-sf11 .sf-go:before,.tll-sf11 .sf-go2:before{top:-11px;left:-10px}.tll-sf11 .sf-go:after,.tll-sf11 .sf-go2:after{top:-11px;bottom:auto;left:auto;right:-10px}}

/* 12 Sentence: "From ____ to ____" written as one big line, editorial serif on cream */
.tll-search.tll-sf12{--sp:#9a3412;--spl:#ffedd5;--sx:#1c1917;background:#fdf8f0!important;box-shadow:none;border:1px solid #eadfcd;padding:30px 26px;font-family:Georgia,"Times New Roman",serif}
.tll-sf12 .sf-top{border-bottom:1px solid #1c1917;padding-bottom:10px;margin-bottom:14px}
.tll-sf12 .sf-h{font-size:34px;font-weight:400;font-style:italic;letter-spacing:-.01em;line-height:1.15}.tll-sf12 .sf-sub{font-size:15px;color:#57534e;margin:6px 0 0;font-family:-apple-system,"Segoe UI",Roboto,sans-serif}
.tll-sf12 .sf-tabs{gap:22px;font-family:-apple-system,"Segoe UI",Roboto,sans-serif}
.tll-sf12 .sf-tabs button{flex:0 0 auto;border:0;background:none;color:#78716c;padding:4px 0;border-radius:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid transparent}
.tll-sf12 .sf-tabs button.on{background:none;color:#9a3412;border-bottom-color:#9a3412}
.tll-sf12 .sf-row{align-items:baseline;gap:6px 14px}
.tll-sf12 .sf-f{display:flex;align-items:baseline;gap:12px;flex:1 1 260px;min-width:0}
.tll-sf12 .sf-f label{flex:0 0 auto;font-size:30px;font-weight:400;font-style:italic;color:#78716c;margin:0;letter-spacing:0;text-transform:none}
.tll-sf12 .sf-box{flex:1;min-width:0}
.tll-sf12 .sf-box input{border:0;border-bottom:2px solid #1c1917;border-radius:0;background:transparent;padding:4px 2px 6px;font-size:28px;font-family:inherit;color:#1c1917;box-shadow:none!important}
.tll-sf12 .sf-box input::placeholder{color:#c8bfb2;font-style:italic}
.tll-sf12 .sf-box input:focus{border-bottom-color:#9a3412}
.tll-sf12 .sf-swap{border:0;background:none;color:#9a3412;font-size:24px;padding:0 4px;align-self:center}
.tll-sf12 .sf-go,.tll-sf12 .sf-go2{flex:0 0 auto;align-self:center;width:58px;height:58px;padding:0;border-radius:50%;border:0;background:#1c1917;color:transparent;font-size:0;position:relative}
.tll-sf12 .sf-go:after,.tll-sf12 .sf-go2:after{content:'\2192';position:absolute;inset:0;display:grid;place-items:center;color:#fdf8f0;font-size:26px}
.tll-sf12 .sf-go:hover,.tll-sf12 .sf-go2:hover{background:#9a3412}
.tll-sf12 .sf-chips{font-family:-apple-system,"Segoe UI",Roboto,sans-serif}.tll-sf12 .sf-chip{border:0;border-bottom:1px solid #a8a29e;border-radius:0;background:none;color:#44403c;padding:4px 2px;margin-right:8px}
.tll-sf12 .sf-opts{font-family:-apple-system,"Segoe UI",Roboto,sans-serif}.tll-sf12 .sf-empty{background:#f5ede0}
.tll-sf12 .sf-sg{font-family:-apple-system,"Segoe UI",Roboto,sans-serif}
@media (max-width:640px){
  .tll-search.tll-sf12{padding:22px 16px}.tll-sf12 .sf-h{font-size:27px}
  .tll-sf12 .sf-f{flex:1 1 100%}.tll-sf12 .sf-f label{font-size:22px;min-width:46px}.tll-sf12 .sf-box input{font-size:22px}
  .tll-sf12 .sf-swap{order:0;width:auto;margin-left:auto}
  .tll-sf12 .sf-go,.tll-sf12 .sf-go2{width:100%;height:52px;border-radius:999px;margin-top:6px}}

/* 13 Route line: stacked fields joined by a line from a hollow start dot to a filled end dot; headline beside it on wide screens */
.tll-search.tll-sf13{--sp:#2563eb;--spl:#dbeafe;--sx:#0f172a;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6px 34px;align-items:start;background:linear-gradient(180deg,#eff6ff,#fff 70%)!important;box-shadow:0 1px 3px rgba(15,23,42,.08);border-radius:22px;padding:28px}
.tll-sf13 .sf-top{grid-column:1;grid-row:1}
.tll-sf13 .sf-h{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.tll-sf13 .sf-sub{color:#475569;font-size:15px}
.tll-sf13 .sf-tabs{grid-column:1;grid-row:2;flex-direction:column;gap:8px;align-self:start}
.tll-sf13 .sf-tabs button{flex:0 0 auto;text-align:left;border:1px solid #dbeafe;background:#fff;color:#334155;border-radius:12px;padding:12px 14px}
.tll-sf13 .sf-tabs button.on{background:#2563eb;color:#fff;border-color:#2563eb}
.tll-sf13 .sf-pane{grid-column:2;grid-row:1/4;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:20px 20px 18px;box-shadow:0 14px 40px rgba(37,99,235,.10)}
.tll-sf13 .sf-pane .sf-chips{margin-top:12px}
.tll-sf13 .sf-opts{grid-column:1;grid-row:3;align-self:end;flex-direction:column;align-items:flex-start;gap:10px}
.tll-sf13 .sf-out,.tll-sf13 .tll-faqw{grid-column:1/-1}
.tll-sf13 .sf-pane[data-p=route] .sf-row{position:relative;flex-direction:column;align-items:stretch;gap:12px;padding-left:30px}
.tll-sf13 .sf-pane[data-p=route] .sf-row:before{content:'';position:absolute;left:9px;top:50px;height:80px;border-left:2px dashed #93c5fd}
.tll-sf13 .sf-pane[data-p=route] .sf-f{position:relative;min-width:0}
.tll-sf13 .sf-pane[data-p=route] .sf-f:before{content:'';position:absolute;left:-28px;bottom:16px;width:14px;height:14px;border-radius:50%;border:3px solid #2563eb;background:#fff}
.tll-sf13 .sf-pane[data-p=route] .sf-swap+.sf-f:before{background:#2563eb}
.tll-sf13 .sf-f label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.08em}
.tll-sf13 .sf-box input{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:14px;font-size:16px;font-weight:600}
.tll-sf13 .sf-pane[data-p=route] .sf-box input{padding-right:58px}
.tll-sf13 .sf-box input:focus{background:#fff}
.tll-sf13 .sf-pane[data-p=route] .sf-swap{position:absolute;right:12px;top:58px;z-index:3;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid #bfdbfe;background:#fff;color:#2563eb;transform:rotate(90deg);font-size:17px;box-shadow:0 2px 6px rgba(37,99,235,.15)}
.tll-sf13 .sf-go,.tll-sf13 .sf-go2{border:0;border-radius:12px;background:#2563eb;color:#fff;padding:15px;font-size:16px}
.tll-sf13 .sf-pane[data-p=route] .sf-go{margin-left:-30px}
.tll-sf13 .sf-chip{border-color:#bfdbfe;color:#1d4ed8;background:#fff}.tll-sf13 .sf-chip.rec{background:#eff6ff}
@media (max-width:800px){
  .tll-search.tll-sf13{grid-template-columns:1fr;padding:18px}
  .tll-sf13 .sf-top,.tll-sf13 .sf-tabs,.tll-sf13 .sf-pane,.tll-sf13 .sf-opts{grid-column:1;grid-row:auto}
  .tll-sf13 .sf-tabs{flex-direction:row}.tll-sf13 .sf-tabs button{flex:1;text-align:center;padding:10px 6px}
  .tll-sf13 .sf-pane{padding:16px 14px}.tll-sf13 .sf-opts{flex-direction:row;flex-wrap:wrap}
  .tll-sf13 .sf-h{font-size:25px}
  .tll-sf13 .sf-pane[data-p=route] .sf-swap{width:38px;margin:0;order:initial}}

/* 14 Soft: neumorphic light grey, fields pressed in, raised buttons, three-column row */
.tll-search.tll-sf14{--sp:#475569;--spl:#e2e8f0;--sx:#334155;background:#e8edf2!important;border-radius:28px;padding:28px;box-shadow:12px 12px 28px #c9d0d8,-12px -12px 28px #ffffff}
.tll-sf14 .sf-top{text-align:center}.tll-sf14 .sf-h{font-size:28px;font-weight:800;color:#334155}.tll-sf14 .sf-sub{color:#64748b}
.tll-sf14 .sf-tabs{max-width:420px;margin:0 auto 18px;padding:6px;border-radius:18px;background:#e8edf2;box-shadow:inset 5px 5px 10px #c9d0d8,inset -5px -5px 10px #fff;gap:6px}
.tll-sf14 .sf-tabs button{border:0;border-radius:13px;background:transparent;color:#64748b;padding:10px}
.tll-sf14 .sf-tabs button.on{background:#e8edf2;color:#0f172a;box-shadow:4px 4px 9px #c9d0d8,-4px -4px 9px #fff}
.tll-sf14 .sf-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px 16px;align-items:end}
.tll-sf14 .sf-pane[data-p=train] .sf-row{grid-template-columns:minmax(0,1fr) auto}
.tll-sf14 .sf-f{min-width:0}.tll-sf14 .sf-f label{padding-left:8px;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.tll-sf14 .sf-box input{border:0;border-radius:16px;background:#e8edf2;padding:16px 18px;font-size:17px;color:#0f172a;box-shadow:inset 6px 6px 12px #c9d0d8,inset -6px -6px 12px #fff}
.tll-sf14 .sf-box input:focus{box-shadow:inset 6px 6px 12px #c3cbd4,inset -6px -6px 12px #fff,0 0 0 2px #94a3b8}
.tll-sf14 .sf-swap{width:54px;height:54px;padding:0;border:0;border-radius:50%;background:#e8edf2;color:#475569;font-size:20px;box-shadow:6px 6px 12px #c9d0d8,-6px -6px 12px #fff}
.tll-sf14 .sf-swap:active,.tll-sf14 .sf-go:active,.tll-sf14 .sf-go2:active{box-shadow:inset 4px 4px 8px #c9d0d8,inset -4px -4px 8px #fff}
.tll-sf14 .sf-pane[data-p=route] .sf-go{grid-column:1/-1}
.tll-sf14 .sf-go,.tll-sf14 .sf-go2{border:0;border-radius:18px;background:#e8edf2;color:#0f172a;padding:17px 26px;font-size:17px;font-weight:800;box-shadow:7px 7px 14px #c9d0d8,-7px -7px 14px #fff}
.tll-sf14 .sf-chips{justify-content:center}.tll-sf14 .sf-chip{border:0;background:#e8edf2;color:#334155;box-shadow:3px 3px 7px #c9d0d8,-3px -3px 7px #fff}
.tll-sf14 .sf-opts{justify-content:center;color:#475569}.tll-sf14 .sf-opts select{border:0;background:#e8edf2;box-shadow:inset 3px 3px 6px #c9d0d8,inset -3px -3px 6px #fff}
.tll-sf14 .sf-sg{border:0;border-radius:16px;box-shadow:10px 10px 24px #c3cbd4}
.tll-sf14 .sf-empty{background:#e8edf2;box-shadow:inset 4px 4px 9px #c9d0d8,inset -4px -4px 9px #fff}
@media (max-width:640px){
  .tll-search.tll-sf14{padding:20px 14px;border-radius:22px}
  .tll-sf14 .sf-row,.tll-sf14 .sf-pane[data-p=train] .sf-row{grid-template-columns:1fr;gap:12px}
  .tll-sf14 .sf-swap{justify-self:center;width:48px;height:48px;margin:-4px 0;order:initial}
  .tll-sf14 .sf-go,.tll-sf14 .sf-go2{width:100%}}

/* 15 Bento: separate tiles - big headline tile, From and To tiles with icons, a tall gradient Search tile */
.tll-search.tll-sf15{--sp:#db2777;--spl:#fce7f3;--sx:#111827;background:#fff7ed!important;box-shadow:none;border-radius:24px;padding:14px}
.tll-sf15 .sf-top{background:#111827;color:#fff;border-radius:18px;padding:22px 22px 18px;margin-bottom:12px;position:relative;overflow:hidden}
.tll-sf15 .sf-top:after{content:'';position:absolute;right:-40px;top:-40px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,#f97316,#db2777 60%,transparent 70%);opacity:.85}
.tll-sf15 .sf-h{position:relative;z-index:1;color:#fff;font-size:30px;font-weight:900;letter-spacing:-.02em;max-width:75%}.tll-sf15 .sf-sub{position:relative;z-index:1;color:#d1d5db;max-width:75%}
.tll-sf15 .sf-tabs{gap:10px;margin-bottom:12px}
.tll-sf15 .sf-tabs button{border:0;border-radius:14px;background:#fff;color:#374151;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.tll-sf15 .sf-tabs button.on{background:#fde68a;color:#111827}
.tll-sf15 .sf-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(120px,.45fr);gap:12px;align-items:stretch}
.tll-sf15 .sf-pane[data-p=train] .sf-row{grid-template-columns:minmax(0,1fr) minmax(120px,.3fr)}
.tll-sf15 .sf-f{min-width:0;background:#fff;border-radius:18px;padding:14px 16px 12px;box-shadow:0 1px 2px rgba(0,0,0,.06);position:relative}
.tll-sf15 .sf-f label{font-size:12px;font-weight:800;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;padding-left:30px;line-height:22px;margin-bottom:2px}
.tll-sf15 .sf-f:before{content:'\1F689';position:absolute;left:14px;top:13px;font-size:18px;line-height:22px}
.tll-sf15 .sf-pane[data-p=route] .sf-swap+.sf-f:before{content:'\1F4CD'}
.tll-sf15 .sf-pane[data-p=train] .sf-f:before{content:'\1F50E'}
.tll-sf15 .sf-box input{border:0;padding:6px 0 4px;font-size:19px;font-weight:700;background:transparent;border-radius:0;box-shadow:none!important;color:#111827}
.tll-sf15 .sf-swap{align-self:center;width:46px;height:46px;padding:0;border:0;border-radius:14px;background:#fde68a;color:#111827;font-size:18px}
.tll-sf15 .sf-go,.tll-sf15 .sf-go2{border:0;border-radius:18px;background:linear-gradient(140deg,#f97316,#db2777);color:#fff;font-size:17px;font-weight:900;padding:16px;box-shadow:0 10px 24px rgba(219,39,119,.28)}
.tll-sf15 .sf-chips{background:#fff;border-radius:16px;padding:10px 12px}.tll-sf15 .sf-chip{border:0;background:#fff7ed;color:#9a3412}.tll-sf15 .sf-chip.rec{background:#fce7f3;color:#9d174d}
.tll-sf15 .sf-opts{background:#fff;border-radius:16px;padding:10px 14px;margin-top:12px}
.tll-sf15 .sf-empty{background:#fff}
@media (max-width:760px){
  .tll-sf15 .sf-row{grid-template-columns:minmax(0,1fr) auto}
  .tll-sf15 .sf-pane[data-p=route] .sf-f{grid-column:1/-1}
  .tll-sf15 .sf-pane[data-p=route] .sf-swap{grid-column:1/-1;justify-self:center;margin:-8px 0;width:46px;order:initial;position:relative;z-index:2}
  .tll-sf15 .sf-pane[data-p=route] .sf-go{grid-column:1/-1;width:100%}
  .tll-sf15 .sf-pane[data-p=train] .sf-row{grid-template-columns:1fr}.tll-sf15 .sf-go2{width:100%}
  .tll-sf15 .sf-h{font-size:25px;max-width:100%}.tll-sf15 .sf-sub{max-width:100%}}
.tll-sf15 .sf-box input{padding:9px 0 7px}
.tll-sf12 .sf-tabs{flex-wrap:wrap;gap:8px 20px}
.tll-sf13 .sf-pane[data-p=route] .sf-go{width:calc(100% + 30px);max-width:none}

/* ===== author box on train and route posts ===== */
.tll-author{margin:22px 0;padding:20px;border:1px solid var(--ln,#e3e8ee);border-radius:var(--r,16px);background:var(--cd,#fff);color:var(--tx,#1a2233);box-shadow:var(--sh,0 1px 3px rgba(15,23,42,.06));font-family:inherit}
.tll-author *{box-sizing:border-box}
.tll-author .ta-in{display:flex;gap:18px;align-items:flex-start}
.tll-author .ta-img{flex:0 0 84px;width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid var(--pl,#e6f3ef);margin:0}
.tll-author .ta-body{flex:1;min-width:0}
.tll-author .ta-k{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mu,#5b6676);margin-bottom:2px}
.tll-author .ta-n{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap}
.tll-author .ta-n a{display:inline-flex;align-items:center;min-height:28px;line-height:1.3;font-size:19px;font-weight:800;color:var(--hd,var(--tx,#1a2233));text-decoration:none}.tll-author .ta-n a:hover{text-decoration:underline}
.tll-author .ta-job{font-size:13px;font-weight:600;color:var(--p,var(--tlg,#006a4e))}
.tll-author .ta-bio{margin-top:6px;font-size:14.5px;line-height:1.6;color:var(--tx,#334155)}.tll-author .ta-bio p{margin:0 0 6px}.tll-author .ta-bio p:last-child{margin:0}
.tll-author .ta-foot{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--ln,#e3e8ee)}
.tll-author .ta-links{display:flex;gap:6px;flex-wrap:wrap}
.tll-author .ta-s{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pl,#eef2f6);color:var(--p,var(--tlg,#006a4e));font-size:13px;font-weight:800;text-decoration:none;font-family:Arial,sans-serif;line-height:1}
.tll-author .ta-s:hover{background:var(--p,var(--tlg,#006a4e));color:#fff}
.tll-author .ta-meta{font-size:12.5px;color:var(--mu,#5b6676)}
@media (max-width:520px){.tll-author{padding:16px}.tll-author .ta-in{flex-direction:column;align-items:center;text-align:center}.tll-author .ta-n,.tll-author .ta-foot,.tll-author .ta-links{justify-content:center}.tll-author .ta-img{flex-basis:auto}}
/* live blog: boarding countdown before the journey */
.tll-lb{--lbb:#b45309}.tll-psx .tll-lb,.tll-ps3 .tll-lb{--lbb:#fbbf24}
.tll-lbl li.k-pre{--lbc:var(--lbb)}
.tll-lbl li.k-pre:before{border-color:#d97706;background:#fff}
.tll-lbl li.now.k-pre:before{border-color:#d97706;background:#d97706}

/* ===== 3D map (MapLibre GL) ===== */
.tll-map{position:relative}
.tll-m3{position:absolute;inset:0;z-index:850;background:linear-gradient(#cfe6f7,#eef4f8);border-radius:inherit;overflow:hidden}
.tll-m3 .maplibregl-canvas{outline:0}
.tll-m3 .m3-load{position:absolute;inset:0;display:grid;place-items:center;font:600 14px/1.4 system-ui,sans-serif;color:#334155}
.tll-m3b{position:absolute;top:10px;right:10px;z-index:1001;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tll-m3b button{appearance:none;border:0;border-radius:999px;padding:8px 14px;background:rgba(255,255,255,.95);color:#0f172a;font:700 13px/1 system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.18);cursor:pointer;min-height:34px}
.tll-m3b button:hover{background:#fff}
.tll-m3b .m3-t:before{content:'\25B2';font-size:10px;margin-right:6px;color:var(--tlg,#006a4e)}
.tll-m3b .m3-t.on:before{content:'\25A0'}
.tll-m3b .m3-f.on{background:var(--tlg,#006a4e);color:#fff}
.tll-m3train{position:relative;width:44px;height:44px;display:grid;place-items:center;pointer-events:none}
.tll-m3train span{position:relative;z-index:1;font-size:26px;line-height:1;filter:drop-shadow(0 3px 4px rgba(0,0,0,.45))}
.tll-m3train i{position:absolute;inset:4px;border-radius:50%;background:rgba(220,38,38,.35);animation:tllm3p 1.6s ease-out infinite}
@keyframes tllm3p{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.6);opacity:0}}
@media (max-width:520px){.tll-m3b{top:8px;right:8px}.tll-m3b button{padding:7px 11px;font-size:12px}}
.tll-m3 .m3-c{position:absolute!important;inset:0;width:100%;height:100%}
.tll-map.m3on>.leaflet-control-container{display:none}

/* ===== map: railway track line, train pin, info card ===== */
.tll-pin{background:none;border:0}
.tll-pin svg{position:relative;z-index:1;display:block;filter:drop-shadow(0 4px 6px rgba(15,23,42,.35))}
.tll-pin .pin-h{position:absolute;left:50%;bottom:-6px;width:26px;height:12px;margin-left:-13px;border-radius:50%;background:rgba(37,99,235,.35);animation:tllpinh 1.8s ease-out infinite}
@keyframes tllpinh{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.8);opacity:0}}
.tll-m3pin{width:38px;height:48px;position:relative}
.tll-minfo{background:#fff;color:#0f172a;border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.18);padding:9px 12px;min-width:190px;font:500 12px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;margin:0 10px 22px 0!important}
.tll-minfo:empty{display:none}
.tll-minfo b{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700}
.tll-minfo b i{width:10px;height:10px;border-radius:50%;background:#94a3b8;flex:0 0 10px}.tll-minfo b i.on{background:var(--tlg,#006a4e);box-shadow:0 0 0 3px rgba(0,106,78,.18)}
.tll-minfo b small{margin-left:auto;font-weight:600;color:#64748b;font-size:11px}
.tll-minfo span{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;color:#475569}
.tll-minfo em{font-style:normal}.tll-minfo em.late{color:#dc2626;font-weight:700}
.tll-map.m3on .tll-minfo{display:none}

/* ===== Journey progress (before the live blog) ===== */
.tll-jp{--rc:#3b82f6;--ru:#cbd5e1;margin:18px 0;border:1px solid var(--ln,#e2e8f0);border-radius:var(--r,16px);background:var(--cd,#fff);color:var(--tx,#0f172a);overflow:hidden;font-family:inherit}
.tll-jp:empty{display:none}
.tll-jp *{box-sizing:border-box}
.jp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 6px}
.jp-top small{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mu,#55637a);margin-right:8px}
.jp-top b{font-size:22px;font-weight:800;margin-right:8px}.jp-top span{font-size:13px;color:var(--mu,#55637a)}
.jp-jump{flex:0 0 auto;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:10px;padding:8px 12px;font-weight:700;font-size:13px;cursor:pointer}
.jp-bar{display:grid;grid-template-columns:auto minmax(60px,1fr) auto;align-items:center;gap:10px;padding:4px 16px 10px;font-size:12.5px;color:var(--mu,#475569)}
.jp-bar b{color:var(--tx,#0f172a)}.jp-bar s{opacity:.6}.jp-bar em{font-style:normal;font-size:10.5px;background:var(--pl,#eef2f7);padding:1px 5px;border-radius:4px}
.jp-pb{height:6px;border-radius:6px;background:var(--ln,#e2e8f0);overflow:hidden}.jp-pb i{display:block;height:100%;background:#2563eb;border-radius:6px}
.jp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 16px 14px}
.jp-stats div{background:var(--pl,#f1f5f9);border-radius:10px;padding:8px 10px}.jp-stats div.late{background:#fff1e6}
.jp-stats small{display:block;font-size:11px;color:var(--mu,#55637a)}.jp-stats b{font-size:17px;font-weight:800}.jp-stats div.late b{color:#c2410c}
.jp-list{list-style:none;margin:0;padding:6px 0;border-top:1px solid var(--ln,#e2e8f0);max-height:620px;overflow-y:auto;position:relative;scroll-behavior:auto}
.jp-list li{display:grid;grid-template-columns:64px 108px minmax(0,1fr) auto;align-items:center;gap:0 12px;min-height:56px;padding:0 14px;margin:0}
.jp-list time{text-align:right;font-size:12px;line-height:1.25;color:var(--mu,#55637a)}.jp-list time b{display:block;font-weight:600;color:var(--tx,#334155)}.jp-list time s{display:block;opacity:.6}.jp-list time b.lt{color:#b45309;font-weight:800}
.jp-trk{position:relative;align-self:stretch;display:grid;place-items:center}
.jp-trk:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:20px;margin-left:-10px;z-index:0;
  background:linear-gradient(90deg,transparent 3px,var(--rr) 3px 6px,transparent 6px 14px,var(--rr) 14px 17px,transparent 17px),repeating-linear-gradient(180deg,var(--rt) 0 3px,transparent 3px 9px)}
.jp-list li{--rr:var(--ru);--rt:#e2e8f0}.jp-list li.done,.jp-list li.cur{--rr:var(--rc);--rt:#bfdbfe}
.jp-list li:first-child .jp-trk:before{top:50%}.jp-list li:last-child .jp-trk:before{bottom:50%}
.jp-board{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:104px;padding:3px 7px;background:#ffd21f;border:2px solid #3f3300;border-radius:4px;box-shadow:0 2px 0 rgba(0,0,0,.18);text-align:center;color:#1f1a00}
.jp-board b{font-size:11px;font-weight:800;line-height:1.15}.jp-board small{font-size:9.5px;font-weight:700;letter-spacing:.05em;opacity:.8}
.jp-list li.up .jp-board{filter:saturate(.75)}.jp-list li.nx .jp-board{outline:3px solid rgba(37,99,235,.35)}
.jp-list li.skip .jp-board{background:#e5e7eb;border-color:#9ca3af;color:#6b7280}
.jp-tx{min-width:0;padding:6px 0}.jp-tx b{display:block;font-size:14px;font-weight:700}.jp-tx span{display:block;font-size:12px;color:var(--mu,#55637a)}
.jp-list li.cur .jp-tx b{color:#1d4ed8}.jp-list li.skip .jp-tx b{color:#b91c1c}
.jp-list time .jp-dn{display:block;font-size:10.5px;font-weight:600;color:#4b5563;margin-top:1px;white-space:nowrap}
.jp-next{font-style:normal;font-size:11px;font-weight:700;background:#dbeafe;color:#1d4ed8;padding:1px 7px;border-radius:5px;margin-left:4px}
.jp-late{font-size:11.5px;font-weight:700;color:#b91c1c;background:#fef2f2;border-radius:7px;padding:3px 8px;white-space:nowrap}
.jp-pin{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-62%) scale(.78)}.jp-pin svg{display:block;filter:drop-shadow(0 3px 4px rgba(15,23,42,.35))}
.jp-list li.jp-now{min-height:84px}.jp-list li.jp-now time{font-weight:800;color:#1d4ed8}
.jp-list li.jp-now .jp-trk:before{background:linear-gradient(180deg,transparent 0,transparent 0),linear-gradient(90deg,transparent 3px,var(--rc) 3px 6px,transparent 6px 14px,var(--ru) 14px 17px,transparent 17px),repeating-linear-gradient(180deg,#bfdbfe 0 3px,transparent 3px 9px)}
.jp-card{grid-column:3/-1;display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:4px 14px;align-items:end;border:1px solid #bfdbfe;background:#f5f9ff;border-radius:12px;padding:9px 12px;color:#0f172a}
.jp-card>b{grid-column:1/-1;font-size:13.5px}.jp-card span{font-size:13px;font-weight:700}.jp-card small{display:block;font-size:10.5px;font-weight:500;color:#64748b}
.jp-cb{grid-column:1/-1;display:block;height:5px;border-radius:5px;background:#dbeafe;overflow:hidden}.jp-cb i{display:block;height:100%;background:#2563eb}
.jp-note{margin:0;padding:8px 16px 12px;font-size:11.5px;color:var(--mu,#55637a);border-top:1px solid var(--ln,#e2e8f0)}
@media (max-width:560px){
  .jp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jp-list li{grid-template-columns:50px 86px minmax(0,1fr);gap:0 8px;padding:0 10px}
  .jp-board{max-width:84px;padding:2px 5px}.jp-board b{font-size:10px}
  .jp-late{grid-column:3;justify-self:start;margin:-4px 0 6px}
  .jp-card{grid-column:3;grid-template-columns:repeat(2,auto)}
  .jp-top{flex-wrap:wrap}.jp-top b{font-size:19px}}
.tll-psx .tll-jp,.tll-ps3 .tll-jp{--ru:#475569}
.tll-ps6>.tll-jp{order:10}.tll-ps14 .tll-jp{order:8}
.jp-list li>time,.jp-list li>.jp-trk{grid-row:1/span 2}
/* the live tracker stays invisible (keeping its place) until it is completely drawn */
.tll.tll-wait{visibility:hidden;min-height:1100px}
.tll-runs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 2px}.tll-runs[hidden]{display:none}.tll-runs small{font-size:12px;font-weight:600;color:#374151;margin-right:2px}
.tll-runs button{min-height:30px;padding:3px 12px;border-radius:16px;border:1.5px solid var(--tlg,#006a4e);background:#fff;color:var(--tlg,#006a4e);font:600 13px/1.2 inherit;cursor:pointer}
.tll-runs button.on{background:var(--tlg,#006a4e);color:#fff}
.tll-list:empty{display:block;min-height:1500px}
@media (prefers-reduced-motion:reduce){.tll *,.tll *::before,.tll *::after,.tll-list *,.tll-rb *,.tll-days *{animation:none!important}}
/* parts of the tracker far down the page are laid out only when they come near the screen (faster start on phones) */
.tll :is(.tll-lb,.tll-jp,.tll-steps){content-visibility:auto;contain-intrinsic-size:auto 640px}

/* ---------- [train_running] [train_offday] [train_routes]: the text above the list, and the route directory ---------- */
.tll-intro{margin:0 0 18px;line-height:1.7}.tll-intro p{margin:0 0 12px}.tll-intro b[data-tlln]{color:var(--tlg,#006a4e);font-variant-numeric:tabular-nums}
.tll-rf{margin:0 0 22px}
.tll-rdir{margin:18px 0}.tll-rdir .rd-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.tll-rdir .rd-q{flex:1 1 240px;min-height:44px;padding:8px 14px;border:1.5px solid #cfd8d3;border-radius:10px;font:inherit;background:#fff;color:#16201c}
.tll-rdir .rd-q:focus{outline:2px solid var(--tlg,#006a4e);outline-offset:1px;border-color:var(--tlg,#006a4e)}
.tll-rdir .rd-n{font-size:14px;color:#4b5563;font-weight:600}
.tll-rdir .rd-az{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.tll-rdir .rd-az a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;border-radius:8px;background:#eaf2ee;color:var(--tlgd,#004d39);font-weight:700;text-decoration:none}
.tll-rdir .rd-az a:hover{background:var(--tlg,#006a4e);color:#fff}
.tll-rdir .rd-l{scroll-margin-top:90px;content-visibility:auto;contain-intrinsic-size:auto 400px}
.tll-rdir .rd-l>h3{margin:18px 0 8px;font-size:22px;border-bottom:2px solid #eaf2ee;padding-bottom:4px}
.tll-rdir .rd-g{margin:0 0 14px}.tll-rdir .rd-g h4{margin:0 0 6px;font-size:16px}.tll-rdir .rd-g h4 small{font-weight:500;color:#4b5563;font-size:13px}
.tll-rdir .rd-g ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px}
.tll-rdir .rd-g li a{display:block;padding:8px 10px;border:1px solid #e3ebe7;border-radius:8px;text-decoration:none;color:var(--tlgd,#004d39);background:#fff;line-height:1.35}
.tll-rdir .rd-g li a:hover{border-color:var(--tlg,#006a4e);background:#f3f9f6}
