:root{--bg:#0b0d10;--panel:#151a20;--line:#262e38;--text:#f2f5f8;--muted:#8d99a8;--good:#3ddc84;--fair:#ffd23f;--poor:#ff9f43;--error:#ff5c5c;--accent:#4da3ff;--sim:#c77dff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.top{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.title{font-size:18px;font-weight:700}.title small{color:var(--muted);margin-left:4px;font-size:13px;font-weight:400}.badge{border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.badge.real{color:var(--good);background:#123a24}.badge.simulated{color:var(--sim);background:#3a1f4f}.sim-banner{background:var(--sim);color:#1a0b26;text-align:center;padding:8px 12px;font-size:14px;font-weight:700}main{max-width:640px;margin:0 auto;padding:0 16px 32px}.speed-card{text-align:center;padding:16px 0 8px}.status{background:var(--panel);border-radius:8px;padding:6px 14px;font-size:17px;font-weight:700;display:inline-block}.status.good{color:var(--good)}.status.fair{color:var(--fair)}.status.poor,.status.warn{color:var(--poor)}.status.error{color:var(--error)}.status.wait{color:var(--accent)}.status.idle{color:var(--muted)}.speed{justify-content:center;align-items:baseline;gap:8px;margin:8px 0 4px;display:flex}#speed-value{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:min(34vw,180px);font-weight:800;line-height:1}#speed-value.dim{color:var(--muted);opacity:.5;font-weight:300}.unit{color:var(--muted);font-size:22px}.speed-source{color:var(--muted);min-height:1.4em;font-size:15px}.speed-source.estimated{color:var(--fair)}.notice{border-left:4px solid var(--accent);background:#1c2836;border-radius:10px;margin:12px 0;padding:12px 14px;font-size:15px;line-height:1.5}.notice.warn{border-color:var(--poor);background:#33270f}.notice.error{border-color:var(--error);background:#3a1616}.notice strong{margin-bottom:4px;display:block}.controls{gap:10px;margin:16px 0;display:flex}button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:12px;min-height:52px;padding:14px 16px;font-size:17px;font-weight:700}button:disabled{opacity:.4}.controls button{flex:1}button.primary{background:var(--accent);border-color:var(--accent);color:#04121f}button.danger{border-color:var(--error);color:var(--error);background:#2a1414}button.subtle,.sessions button{border-radius:8px;min-height:40px;padding:8px 12px;font-size:14px}.settings{background:var(--panel);border-radius:12px;gap:10px;padding:12px 14px;display:grid}.settings label{justify-content:space-between;align-items:center;gap:12px;font-size:15px;display:flex}.settings label.check{justify-content:flex-start}select{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;max-width:60%;padding:8px;font-size:15px}input[type=checkbox]{width:20px;height:20px}.panel{background:var(--panel);border-radius:12px;margin-top:16px;padding:12px 14px}.panel h2{color:var(--muted);margin:0 0 8px;font-size:15px}.kv{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;font-variant-numeric:tabular-nums;word-break:break-all;margin:0}.kv dd.bad{color:var(--error)}.kv dd.warn{color:var(--poor)}.kv dd.ok{color:var(--good)}.events{max-height:260px;margin:0;padding:0;font-size:13px;list-style:none;overflow-y:auto}.events li{border-bottom:1px solid var(--line);gap:8px;padding:4px 0;display:flex}.events time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.events li.warn span{color:var(--poor)}.events li.error span{color:var(--error)}.hint{color:var(--muted);margin:0 0 10px;font-size:13px;line-height:1.5}.sessions{margin:0 0 12px;padding:0;list-style:none}.sessions li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 0;font-size:14px;display:flex}.sessions .info{flex:1;min-width:0}.sessions .meta{color:var(--muted);font-size:12px}.tag{border-radius:4px;margin-right:4px;padding:2px 6px;font-size:11px;font-weight:700}.tag.real{color:var(--good);background:#123a24}.tag.simulated{color:var(--sim);background:#3a1f4f}.tag.interrupted{color:var(--poor);background:#33270f}.export-confirm{background:#1c2836;border-radius:10px;margin-bottom:12px;padding:12px;font-size:14px;line-height:1.5}.export-confirm p{margin:0 0 10px}.row{flex-wrap:wrap;gap:8px;display:flex}.row button{min-height:44px;padding:10px 14px;font-size:15px}.footer{color:var(--muted);text-align:center;margin-top:24px;font-size:12px;line-height:1.6}
