:root{color-scheme:light;--purple:#83589b;--purple-dark:#6f4888;--ink:#303141;--muted:#898496;--line:#d7ccdf;--fast:#10bb74;--slow:#f19b38;--failed:#d8757d;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f9f8fc;color:var(--ink);overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:wait}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #9273af;outline-offset:5px}button[aria-selected=true]:focus-visible{outline-offset:3px}[hidden]{display:none!important}
.ambient{position:fixed;pointer-events:none;border-radius:38%;background:#b695c5;opacity:.5;filter:blur(9px);z-index:-1;transform:rotate(-16deg)}.ambient-one{width:80px;height:87px;top:100px;left:calc(50% + 126px)}.ambient-two{width:82px;height:96px;top:349px;left:calc(50% - 262px);opacity:.44}.ambient-three{width:57px;height:57px;top:738px;left:calc(50% + 106px);opacity:.26}.hub{width:min(100% - 40px,470px);margin:0 auto;padding:42px 0 24px}.masthead{display:flex;align-items:center;justify-content:center;margin-bottom:30px}.heading h1{margin:0}.heading button{border:0;font-family:inherit;font-size:30px;line-height:1.2;font-weight:650;letter-spacing:1px;margin:0;background:linear-gradient(120deg,#72478d,#a47db6);color:white;border-radius:12px;padding:12px 18px;box-shadow:0 3px 13px #81559c42}
.app-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ddd3e6;border-radius:999px;background:#ffffffa6;padding:5px;margin:0 0 26px;gap:5px;box-shadow:0 3px 12px #74558b08}.app-tabs button{border:0;border-radius:999px;background:transparent;color:#897593;min-height:45px;font-size:17px;font-weight:600;transition:background .18s,color .18s,box-shadow .18s}.app-tabs button[aria-selected=true]{background:linear-gradient(115deg,#795293,#a37bb6);color:#fff;box-shadow:0 3px 9px #8e6aa22f}.list-caption{display:flex;justify-content:space-between;align-items:baseline;margin:0 5px 10px}.list-caption h2{font-size:14px;font-weight:500;margin:0;color:#796987}.list-caption>span{color:#a291ad;font-size:12px}.load-status{font-size:12px;min-height:18px;line-height:1.6;margin:0 5px 12px;color:#958b9d}.load-status.error{color:#b05d6e}.route-list{display:grid;gap:16px}.route{display:flex;align-items:center;min-height:84px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(105deg,#fff,#ffffffdc);box-shadow:0 2px 5px #7b5d8910;gap:17px;padding:14px 17px;transition:box-shadow .18s,transform .18s,border-color .18s}.route:hover{transform:translateY(-2px);border-color:#ab88bd;box-shadow:0 6px 15px #916fa01a}.route:active{transform:translateY(0)}.status-dot{width:18px;height:18px;border-radius:50%;background:#c5c1cb;box-shadow:0 0 0 6px #ece9f0;flex-shrink:0;margin:0 5px 0 7px}.route[data-state=checking] .status-dot{animation:breathe 1.5s infinite}.route[data-state=fast] .status-dot{background:var(--fast);box-shadow:0 0 0 6px #c4f0db,0 0 17px #32d38a22}.route[data-state=slow] .status-dot,.route[data-state=responded] .status-dot{background:var(--slow);box-shadow:0 0 0 6px #fff0da}.route[data-state=failed] .status-dot{background:var(--failed);box-shadow:0 0 0 6px #f9e5e7}.route-copy{flex:1;min-width:0}.route-title{display:block;font-size:19px;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-status{font-size:12px;white-space:nowrap;color:#a295ac}.route[data-state=fast] .route-status{color:#329b71}.route[data-state=slow] .route-status,.route[data-state=responded] .route-status{color:#cf8635}.route[data-state=failed] .route-status{color:#bb747c}.empty-state{text-align:center;background:#ffffffc2;border:1px dashed #d8ccdf;border-radius:18px;padding:30px 16px}.empty-symbol{font-size:30px;font-weight:300;color:#b6a3c3}.empty-state h3{font-size:16px;font-weight:500}.empty-state p{font-size:13px;color:var(--muted)}
.actions{display:flex;gap:14px;justify-content:center;margin:29px 0 32px}.action{display:flex;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:0 23px;border-radius:999px;font-size:17px;font-weight:600;white-space:nowrap}.action-primary{color:#fff;border:0;background:linear-gradient(110deg,#795294,#ab84ba);box-shadow:0 4px 12px #7751903d}.action-primary:hover{box-shadow:0 6px 18px #77519048}.action-secondary{background:#fff9;border:1px solid #b9a9c5;color:#8b6b9d;box-shadow:0 3px 7px #79548c0a}.action-secondary[aria-disabled=true]{opacity:.52;cursor:default}.tips{padding:22px 21px 20px;border:1px solid #e1dce6;background:#ffffffdf;border-radius:20px}.tips h2{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 19px;color:#80558f;font-size:19px;font-weight:600}.tips ul{list-style:none;padding:0;margin:0;display:grid;gap:13px}.tips li{font-size:14px;line-height:1.6;color:#6e6878;display:flex;align-items:baseline;gap:11px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#c6c3cc;flex-shrink:0}.legend-dot.fast{background:var(--fast)}.legend-dot.slow{background:var(--slow)}.legend-dot.failed{background:var(--failed)}.tips>p{font-size:12px;line-height:1.9;color:#9c94a4;text-align:center;margin:22px 0 0}@keyframes breathe{50%{opacity:.4}}@keyframes rotate{to{transform:rotate(360deg)}}@media(min-width:900px){.hub{padding-top:54px}.masthead{margin-bottom:34px}.route-list{gap:17px}}@media(max-width:360px){.hub{width:calc(100% - 28px);padding-top:28px}.masthead{gap:18px}.heading button{font-size:26px}.action{padding:0 17px;font-size:15px}.route{padding:14px 12px;gap:12px}.route-title{font-size:17px}.tips{padding:21px 16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
