:root{--t-brand:#01f3b3;--t-text:#0f172a;--t-black:#000000;--t-muted:#475569;--t-card:#f9fafb;--t-border:#e5e7eb;--t-shadow:0 10px 25px rgba(2,6,23,.08);--t-shadow-hover:0 16px 40px rgba(2,6,23,.12)}.t-container{max-width:1040px;margin:0 auto;padding:24px 18px}.t-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;justify-items:stretch;align-items:stretch}.t-grid>.t-card--route,.t-grid>a.t-card--route{grid-column:span 2}.t-grid>.t-card--route:nth-child(4),.t-grid>a.t-card--route:nth-child(4){grid-column:2 / span 2}.t-grid>.t-card--route:nth-child(5),.t-grid>a.t-card--route:nth-child(5){grid-column:4 / span 2}@media(max-width:900px){.t-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.t-grid>.t-card--route,.t-grid>a.t-card--route{grid-column:auto / span 1!important}}@media(max-width:600px){.t-grid{grid-template-columns:1fr}}.t-hero{position:relative;text-align:center;margin:4px 0 26px}.t-hero:before{content:"";position:absolute;inset:-20px 10%;background:radial-gradient(60% 60% at 50% 0%,rgba(1,243,179,.16),transparent 60%);filter:blur(24px);z-index:-1}.t-hero-wrap{display:inline-block;max-width:min(90vw,1000px)}.t-train{position:relative;width:100%;height:90px;margin:0 auto 8px;overflow:hidden;border-radius:8px}.t-train-track{position:absolute;left:0;right:0;bottom:12px;height:3px;border-radius:2px;background:linear-gradient(90deg,#01f3b3e6,#01f3b359);box-shadow:0 6px 16px #01f3b333}.t-train-svg{position:absolute;bottom:0;height:100%;width:260px;left:-30%;animation:t-train-run 5s linear infinite;pointer-events:none;backface-visibility:hidden}.t-wheel{animation:t-wheel-spin 1.2s linear infinite;transform-origin:center;transform-box:fill-box}@media(prefers-reduced-motion:reduce){.t-train-svg,.t-wheel{animation:none!important}}.t-title{margin-top:8px;font-size:32px;line-height:1.15;font-weight:800;color:var(--t-black);opacity:0;transform:translateY(18px)}.t-title--visible{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}.t-subtitle{margin-top:6px;color:var(--t-muted);font-size:14px}.t-card{background:var(--t-card);border:1px solid var(--t-border);border-radius:14px;padding:16px;box-shadow:var(--t-shadow)}.t-card--route{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:28px 16px;border-radius:14px;text-decoration:none;color:inherit;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}.t-card--route:hover,.t-card--route:focus-visible{transform:translateY(-4px);box-shadow:var(--t-shadow-hover);border-color:#01f3b38c;background:#fff}.t-pill{position:absolute;left:0;top:0;width:6px;height:100%;background:linear-gradient(180deg,#01f3b3e6,#01f3b359)}.t-card__body{text-align:center}.t-route__title{font-size:18px;font-weight:800;color:#0b1220;margin-bottom:0}.t-cta{display:flex;align-items:center;justify-content:center;width:80%;max-width:200px;height:38px;font-size:14px;font-weight:700;color:#000;background-color:var(--t-brand);border-radius:10px;box-shadow:0 6px 14px #01f3b340;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.t-card--route:hover .t-cta{transform:translateY(-1px);background-color:#00d39e}@keyframes t-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.t-fade-up{opacity:0;animation:t-fadeUp .52s cubic-bezier(.2,.7,.2,1) forwards}@keyframes t-train-run{0%{left:-30%}to{left:110%}}@keyframes t-wheel-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--color-base: #01f3b3;--bg: #ffffff;--text: #0f172a;--muted: #475569;--card: #f9fafb;--border: #e5e7eb;--shadow: 0 10px 25px rgba(2, 6, 23, .08);--shadow-hover: 0 16px 40px rgba(2, 6, 23, .12)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg);color:var(--text)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;line-height:1.4}.container{max-width:1040px;margin:0 auto;padding:24px 18px}.grid{display:grid;gap:16px}.hero{text-align:center;margin:6px 0 26px;position:relative}.hero:before{content:"";position:absolute;inset:-20px 10%;background:radial-gradient(60% 60% at 50% 0%,rgba(1,243,179,.16),transparent 60%);filter:blur(24px);z-index:-1}.hero-icon{font-size:34px;display:inline-block;animation:float 3.2s ease-in-out infinite}.hero-title{margin-top:8px;font-size:30px;font-weight:800;color:#000;opacity:0;transform:translateY(20px);transition:all .6s ease-out}.hero-title.animate-title{opacity:1;transform:translateY(0)}.hero-subtitle{margin-top:6px;color:var(--muted);font-size:14px}.route-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:18px 16px 16px;border-radius:14px;background:var(--card);color:inherit;text-decoration:none;border:1px solid var(--border);box-shadow:var(--shadow);transform:translateY(2px);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;overflow:hidden}.route-card:hover,.route-card:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#01f3b38c;background:#fff}.route-pill{position:absolute;left:0;top:0;width:6px;height:100%;background:linear-gradient(180deg,#01f3b3e6,#01f3b359)}.route-body{padding-left:8px}.route-title{font-size:18px;font-weight:800;color:#0b1220}.route-sub{font-size:13px;color:var(--muted)}.route-cta-btn{display:flex;align-items:center;justify-content:center;margin-top:12px;font-size:13px;font-weight:600;color:#fff;background-color:var(--color-base);border-radius:8px;padding:8px 0;transition:background-color .25s ease,transform .25s ease}.route-cta-btn:hover{background-color:#00d39e;transform:scale(1.03)}.back-button{background:#01f3b3;color:#111827;border:none;font-size:15px;font-weight:700;padding:6px 14px;border-radius:8px;cursor:pointer;box-shadow:0 2px 4px #00000026;transition:all .2s ease;display:flex;align-items:center;gap:8px;text-decoration:none}.back-button:hover{background:#00d19d;transform:translateY(-1px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.fade-up{opacity:0;animation-name:fadeUp;animation-duration:.52s;animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-fill-mode:forwards}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.muted{color:var(--muted);font-size:14px}
