:root{--bg-dark:#050510;--card:#ffffff0a;--input-bg:#0d0d1f;--text-main:#fff;--text-dim:#88a;--text-muted:#666;--border:#ffffff0f;--cyan:#22d3ee;--purple:#a855f7;--accent:var(--calc-color-tools);--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace}body{background:var(--calc-bg-page);color:var(--calc-text-primary);font-family:var(--font-body)}.dashboard-container{max-width:900px;margin:0 auto;padding:120px 1.5rem 2rem}.content-nav{top:112px}.page-title{text-align:center;background:linear-gradient(135deg,#22d3ee,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.25rem;font-size:2rem;font-weight:800}.page-subtitle{text-align:center;color:var(--calc-text-dim);max-width:600px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:.95rem}.breadcrumb{color:var(--calc-text-muted);margin-bottom:1.5rem;font-size:.8rem}.breadcrumb a{color:var(--calc-text-dim);text-decoration:none}.breadcrumb a:hover{color:var(--calc-cyan)}.breadcrumb .sep{opacity:.5;margin:0 6px}.speed-gauge-section{flex-direction:column;align-items:center;margin-bottom:2rem;display:flex}.gauge-wrapper{flex-direction:column;align-items:center;width:280px;height:200px;display:flex;position:relative}.speed-gauge{width:280px;height:180px}.gauge-track{opacity:1}.gauge-fill{filter:drop-shadow(0 0 8px #22d3ee66);transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.gauge-label{font-family:var(--font-mono);fill:var(--calc-text-muted);font-size:11px}.gauge-value-wrap{text-align:center;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.gauge-value{font-family:var(--font-mono);color:var(--calc-cyan);text-shadow:0 0 20px #22d3ee66;font-size:3rem;font-weight:800;line-height:1;display:block}.gauge-unit{font-family:var(--font-mono);color:var(--calc-text-dim);margin-top:2px;font-size:.85rem;display:block}.gauge-phase{font-family:var(--font-mono);color:var(--calc-text-dim);text-align:center;min-height:1.2em;margin-top:4px;font-size:.8rem}.start-btn{color:var(--calc-cyan);font-family:var(--font-body);cursor:pointer;background:linear-gradient(135deg,#22d3ee26,#a855f726);border:2px solid #22d3ee66;border-radius:60px;justify-content:center;align-items:center;gap:10px;margin-top:16px;padding:16px 48px;font-size:1.15rem;font-weight:700;transition:transform .25s,opacity .25s,color .2s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.start-btn:hover{border-color:var(--calc-cyan);background:linear-gradient(135deg,#22d3ee40,#a855f740);transform:translateY(-2px);box-shadow:0 0 30px #22d3ee40,0 0 60px #a855f726}.start-btn:active{transform:translateY(0)}.start-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.start-btn__icon{width:20px;height:20px}.start-btn.testing{border-color:var(--purple);animation:1.5s ease-in-out infinite pulseBtn}@keyframes pulseBtn{0%,to{box-shadow:0 0 20px #a855f733}50%{box-shadow:0 0 40px #a855f766}}.results-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:1.5rem;display:grid}.result-card{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);text-align:center;border-radius:14px;padding:20px 16px;transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.result-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.result-card--download:before{background:var(--calc-cyan)}.result-card--upload:before{background:var(--purple)}.result-card--ping:before{background:#f59e0b}.result-card--jitter:before{background:#10b981}.result-card--download.active{border-color:#22d3ee4d;box-shadow:0 0 20px #22d3ee1a}.result-card--upload.active{border-color:#a855f74d;box-shadow:0 0 20px #a855f71a}.result-card--ping.active{border-color:#f59e0b4d;box-shadow:0 0 20px #f59e0b1a}.result-card--jitter.active{border-color:#10b9814d;box-shadow:0 0 20px #10b9811a}.result-card__icon{width:28px;height:28px;color:var(--calc-text-dim);margin:0 auto 8px}.result-card--download .result-card__icon{color:var(--calc-cyan)}.result-card--upload .result-card__icon{color:var(--purple)}.result-card--ping .result-card__icon{color:#f59e0b}.result-card--jitter .result-card__icon{color:#10b981}.result-card__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--calc-text-dim);margin-bottom:6px;font-size:.7rem}.result-card__value{font-family:var(--font-mono);color:var(--calc-text-primary);font-size:1.6rem;font-weight:800;line-height:1.2}.result-card__unit{font-family:var(--font-mono);color:var(--calc-text-muted);margin-top:2px;font-size:.7rem}.action-bar{justify-content:center;gap:12px;margin-bottom:1.5rem;display:flex}.action-btn{color:var(--calc-text-dim);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:6px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:transform .25s,opacity .25s,color .2s,box-shadow .25s;display:flex}.action-btn svg{width:16px;height:16px}.action-btn:hover{border-color:var(--calc-cyan);color:var(--calc-cyan);background:#22d3ee0f}.speed-rating{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:14px;margin-bottom:2rem;padding:16px 20px;display:flex}.speed-rating__badge{font-family:var(--font-mono);white-space:nowrap;border-radius:20px;flex-shrink:0;padding:6px 16px;font-size:.8rem;font-weight:700}.speed-rating__badge.excellent{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.speed-rating__badge.good{color:#22d3ee;background:#22d3ee1f;border:1px solid #22d3ee4d}.speed-rating__badge.fair{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.speed-rating__badge.poor{color:#f87171;background:#f871711f;border:1px solid #f871714d}.speed-rating__text{color:var(--calc-text-dim);font-size:.85rem;line-height:1.5}.history-section{margin-bottom:2rem}.section-title{color:var(--calc-text-primary);margin-bottom:1rem;font-size:1.2rem;font-weight:700}.history-list{flex-direction:column;gap:8px;display:flex}.history-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;grid-template-columns:1fr repeat(4,auto);align-items:center;gap:16px;padding:12px 16px;font-size:.82rem;transition:background .2s;display:grid}.history-item:hover{background:#ffffff0f}.history-item__time{color:var(--calc-text-dim);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:5px;font-size:.75rem;display:flex}.history-item__stat{text-align:center;min-width:70px}.history-item__stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--calc-text-muted);font-size:.65rem}.history-item__stat-value{font-family:var(--font-mono);color:var(--calc-text-primary);font-size:.85rem;font-weight:700}.clear-history-btn{color:#f87171;cursor:pointer;background:0 0;border:1px solid #f871714d;border-radius:8px;margin-top:10px;padding:8px 16px;font-size:.8rem;font-weight:600;transition:transform .25s,opacity .25s,color .2s,box-shadow .25s}.clear-history-btn:hover{background:#f871711a;border-color:#f87171}.toast{z-index:9999;border-radius:10px;max-width:340px;padding:12px 20px;font-size:.85rem;animation:.3s toastIn;position:fixed;bottom:24px;right:24px}.toast-success{color:#10b981;background:#10b98133;border:1px solid #10b98166}.toast-warn{color:#f59e0b;background:#f59e0b33;border:1px solid #f59e0b66}.toast-error{color:#f87171;background:#f8717133;border:1px solid #f8717166}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.how-section{margin-bottom:2.5rem}.how-steps{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.how-step{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);text-align:center;border-radius:14px;padding:24px 20px}.how-step__num{width:36px;height:36px;color:var(--calc-cyan);font-family:var(--font-mono);background:#22d3ee1f;border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-size:.95rem;font-weight:800;display:inline-flex}.how-step__title{color:var(--calc-text-primary);margin-bottom:8px;font-size:.95rem;font-weight:700}.how-step__desc{color:var(--calc-text-dim);font-size:.82rem;line-height:1.6}.faq-section{margin-bottom:2rem}.faq-list{flex-direction:column;display:flex}.faq-item-enhanced{border-bottom:1px solid #ffffff0f}.faq-item__question{cursor:pointer;color:var(--calc-text-primary);user-select:none;justify-content:space-between;align-items:center;padding:14px 4px;font-size:.9rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"+";font-family:var(--font-mono);color:var(--calc-text-dim);flex-shrink:0;margin-left:16px;font-size:1.1rem;transition:color .2s}.faq-item-enhanced[open] .faq-item__question:after{content:"−";color:var(--accent)}.faq-item__question:hover{color:var(--calc-cyan)}.faq-item__answer{color:var(--calc-text-dim);padding:0 4px 14px;font-size:.85rem;line-height:1.75}@media (width<=700px){.results-grid{grid-template-columns:repeat(2,1fr)}.how-steps{grid-template-columns:minmax(0,1fr);overflow:hidden}.history-item{grid-template-columns:1fr 1fr;gap:8px}.history-item__time{grid-column:1/-1}.gauge-wrapper{width:240px;height:180px}.speed-gauge{width:240px}.gauge-value{font-size:2.4rem}.page-title{font-size:1.5rem}.start-btn{padding:14px 36px;font-size:1rem}.speed-rating{text-align:center;flex-direction:column}}@media (width<=400px){.results-grid{grid-template-columns:1fr 1fr;gap:8px}.result-card{padding:14px 10px}.result-card__value{font-size:1.3rem}}[data-theme=light]{--bg-dark:#e8edf5;--card:#fffffff2;--input-bg:#e8eef4;--text-main:#0f172a;--text-dim:#475569;--text-muted:#64748b;--border:#0000001a;--cyan:#0891b2;--purple:#7c3aed;--accent:var(--calc-color-tools)}[data-theme=light] body{color:#0f172a;background:#e8edf5}[data-theme=light] .page-title{background:linear-gradient(135deg,#0891b2,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .page-subtitle,[data-theme=light] .breadcrumb a{color:#475569}[data-theme=light] .breadcrumb a:hover{color:#0891b2}[data-theme=light] .gauge-label{fill:#64748b}[data-theme=light] .gauge-track{stroke:#00000014}[data-theme=light] .gauge-fill{filter:none}[data-theme=light] .gauge-value{color:#0891b2;text-shadow:none}[data-theme=light] .gauge-unit,[data-theme=light] .gauge-phase{color:#64748b}[data-theme=light] .start-btn{color:#0891b2;background:linear-gradient(135deg,#0891b21a,#7c3aed1a);border-color:#0891b266}[data-theme=light] .start-btn:hover{background:linear-gradient(135deg,#0891b22e,#7c3aed2e);border-color:#0891b2;box-shadow:0 4px 20px #0891b226}[data-theme=light] .start-btn.testing{border-color:#7c3aed}[data-theme=light] .result-card{background:#fff;border:1px solid #0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .result-card--download:before{background:#0891b2}[data-theme=light] .result-card--upload:before{background:#7c3aed}[data-theme=light] .result-card--ping:before{background:#0891b2}[data-theme=light] .result-card--jitter:before{background:#059669}[data-theme=light] .result-card--download.active{border-color:#0891b266;box-shadow:0 2px 12px #0891b21f}[data-theme=light] .result-card--upload.active{border-color:#7c3aed66;box-shadow:0 2px 12px #7c3aed1f}[data-theme=light] .result-card--ping.active{border-color:#0891b266;box-shadow:0 2px 12px #0891b21f}[data-theme=light] .result-card--jitter.active{border-color:#05966966;box-shadow:0 2px 12px #0596691f}[data-theme=light] .result-card__icon{color:#64748b}[data-theme=light] .result-card--download .result-card__icon{color:#0891b2}[data-theme=light] .result-card--upload .result-card__icon{color:#7c3aed}[data-theme=light] .result-card--ping .result-card__icon{color:#0891b2}[data-theme=light] .result-card--jitter .result-card__icon{color:#059669}[data-theme=light] .result-card__label{color:#64748b}[data-theme=light] .result-card__value{color:#0f172a}[data-theme=light] .result-card__unit{color:#94a3b8}[data-theme=light] .action-btn{color:#475569;background:#fff;border:1px solid #0000001f;box-shadow:0 1px 3px #0000000d}[data-theme=light] .action-btn:hover{color:#0891b2;background:#eff9fb;border-color:#0891b2}[data-theme=light] .speed-rating{background:#fff;border:1px solid #0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .speed-rating__badge.excellent{color:#059669;background:#f0fdf4;border-color:#0596694d}[data-theme=light] .speed-rating__badge.good{color:#0891b2;background:#eff9fb;border-color:#0891b24d}[data-theme=light] .speed-rating__badge.fair{color:#0891b2;background:#fffbeb;border-color:#0891b24d}[data-theme=light] .speed-rating__badge.poor{color:#dc2626;background:#fff1f2;border-color:#dc26264d}[data-theme=light] .speed-rating__text{color:#475569}[data-theme=light] .section-title{color:#0f172a}[data-theme=light] .history-item{background:#fff;border:1px solid #0000001a;box-shadow:0 1px 3px #0000000a}[data-theme=light] .history-item:hover{background:#f8fafc}[data-theme=light] .history-item__time{color:#64748b}[data-theme=light] .history-item__stat-label{color:#94a3b8}[data-theme=light] .history-item__stat-value{color:#0f172a}[data-theme=light] .clear-history-btn{color:#dc2626;border-color:#dc26264d}[data-theme=light] .clear-history-btn:hover{background:#fff1f2;border-color:#dc2626}[data-theme=light] .how-step{background:#fff;border:1px solid #0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .how-step__num{color:#0891b2;background:#0891b21a}[data-theme=light] .how-step__title{color:#0f172a}[data-theme=light] .how-step__desc{color:#475569}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item-enhanced{background:#fff;border:1px solid #0000001a;border-radius:10px;transition:box-shadow .2s,border-color .2s;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item-enhanced:hover{border-color:#0891b259;box-shadow:0 2px 10px #0891b214}[data-theme=light] .faq-item-enhanced[open]{border-color:#0891b266 #0891b266 #0891b266 #0891b2;border-left-style:solid;border-left-width:3px;box-shadow:0 2px 12px #0891b21a}[data-theme=light] .faq-item__question{color:#0f172a;padding:14px 16px}[data-theme=light] .faq-item__question:after{color:#64748b}[data-theme=light] .faq-item-enhanced[open] .faq-item__question:after,[data-theme=light] .faq-item__question:hover{color:#0891b2}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}[data-theme=light] .toast-success{color:#059669;background:#f0fdf4;border-color:#0596694d}[data-theme=light] .toast-warn{color:#0891b2;background:#fffbeb;border-color:#0891b24d}[data-theme=light] .toast-error{color:#dc2626;background:#fff1f2;border-color:#dc26264d}[data-theme=light] .tool-privacy-note{color:#475569;background:#fff;border-color:#0000001a}.isp-card{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:1.5rem;display:grid}.isp-cell{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:12px;padding:12px 14px;transition:background .2s}.isp-cell--ip{cursor:pointer}.isp-cell--ip:hover{background:#22d3ee0d}.isp-cell__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--calc-text-muted);margin-bottom:5px;font-size:.62rem}.isp-reveal-hint{opacity:.6;font-size:.55rem}.isp-cell__value{color:var(--calc-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}@media (width<=600px){.isp-card{grid-template-columns:1fr 1fr}}.test-config{flex-direction:column;align-items:center;gap:8px;margin:14px 0 4px;display:flex}.test-config__row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.test-config__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--calc-text-muted);white-space:nowrap;text-align:right;min-width:76px;font-size:.7rem}.test-config .tool-chip{color:var(--calc-text-dim);cursor:pointer;font-size:.76rem;font-weight:600;font-family:var(--font-body);background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;padding:5px 12px;transition:transform .25s,opacity .25s,color .2s,box-shadow .25s}.test-config .tool-chip:hover{color:var(--calc-cyan);border-color:#22d3ee4d}.test-config .tool-chip.active{color:var(--calc-cyan);background:#22d3ee1f;border-color:#22d3ee66}.test-config .tool-chip:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.chip-hint{opacity:.65;margin-left:2px;font-size:.64rem}.progress-strip{align-items:flex-start;width:100%;max-width:480px;margin:8px auto 20px;display:flex}.progress-step{flex-direction:column;flex:none;align-items:center;display:flex}.progress-step__circle{width:32px;height:32px;font-family:var(--font-mono);color:var(--calc-text-muted);background:0 0;border:2px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:transform .25s,opacity .25s,color .2s,box-shadow .25s;display:flex}.progress-step.active .progress-step__circle{border-color:var(--calc-cyan);color:var(--calc-cyan);animation:1.5s ease-in-out infinite pulseBtn;box-shadow:0 0 10px #22d3ee40}.progress-step.done .progress-step__circle{background:var(--calc-cyan);border-color:var(--calc-cyan);color:#000}.progress-step__label{color:var(--calc-text-muted);text-align:center;white-space:nowrap;margin-top:5px;font-size:.6rem}.progress-step.active .progress-step__label,.progress-step.done .progress-step__label{color:var(--calc-text-dim)}.progress-connector{background:#ffffff14;flex:1;height:2px;margin:15px 4px 0;transition:background .4s}.progress-connector.done{background:var(--calc-cyan)}#speedChartWrap{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:14px;margin-bottom:1.5rem;padding:16px 16px 10px}.chart-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--calc-text-muted);margin-bottom:10px;font-size:.68rem}.ping-stats-panel{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:14px;margin-bottom:1.5rem;padding:16px}.ping-stats-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.ping-stats-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--calc-text-dim);font-size:.75rem;font-weight:700}.ping-stats-row{gap:8px;margin-bottom:14px;display:flex}.ping-stat-cell{text-align:center;background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;flex:1;padding:8px 4px}.ping-stat-cell__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--calc-text-muted);margin-bottom:4px;font-size:.6rem}.ping-stat-cell__value{font-family:var(--font-mono);color:var(--calc-text-primary);font-size:.92rem;font-weight:700}.ping-spark{align-items:flex-end;gap:3px;height:44px;margin-bottom:10px;display:flex}.ping-spark__bar{border-radius:2px 2px 0 0;flex:1;min-width:4px;transition:height .3s}.ping-stability-badge{font-family:var(--font-mono);border-radius:20px;padding:4px 12px;font-size:.7rem;font-weight:700;display:inline-block}.ping-stability-badge.stable{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.ping-stability-badge.variable{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.ping-stability-badge.unstable{color:#f87171;background:#f871711f;border:1px solid #f871714d}.quality-score-wrap{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:14px;align-items:center;gap:20px;margin-bottom:1rem;padding:18px 22px;display:flex}.quality-ring-svg{flex-shrink:0;width:80px;height:80px}.quality-ring-fill{transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}.quality-score-info{flex:1}.quality-score-num{font-family:var(--font-mono);color:var(--calc-cyan);font-size:2.2rem;font-weight:800;line-height:1}.quality-score-label{color:var(--calc-text-primary);margin-top:2px;font-size:1rem;font-weight:700}.quality-score-desc{color:var(--calc-text-dim);margin-top:4px;font-size:.8rem;line-height:1.4}#activityGridWrap{margin-bottom:1.5rem}.activity-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.activity-card{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);text-align:center;border-radius:12px;padding:14px 10px 12px;transition:border-color .2s,box-shadow .2s}.activity-card.ok{border-color:#10b98133}.activity-card.warn{border-color:#f59e0b33}.activity-card.fail{border-color:#f8717133}.activity-card__icon{margin-bottom:6px;font-size:1.5rem;line-height:1}.activity-card__name{color:var(--calc-text-primary);margin-bottom:6px;font-size:.72rem;font-weight:700;line-height:1.2}.activity-card__status{font-size:1.1rem;font-weight:800;line-height:1}.activity-card__status--ok{color:#10b981}.activity-card__status--warn{color:#f59e0b}.activity-card__status--fail{color:#f87171}.activity-card__desc{color:var(--calc-text-muted);margin-top:5px;font-size:.62rem;line-height:1.3}@media (width<=700px){.activity-grid{grid-template-columns:repeat(2,1fr)}}.history-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.history-header .section-title{margin-bottom:0}.export-csv-btn{color:var(--calc-cyan);cursor:pointer;background:0 0;border:1px solid #22d3ee40;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:transform .25s,opacity .25s,color .2s,box-shadow .25s;display:flex}.export-csv-btn:hover{border-color:var(--calc-cyan);background:#22d3ee14}.history-item__badge{font-family:var(--font-mono);border-radius:10px;padding:2px 8px;font-size:.6rem;font-weight:700}.history-item__badge--excellent{color:#10b981;background:#10b9811f}.history-item__badge--good{color:#22d3ee;background:#22d3ee1a}.history-item__badge--fair{color:#f59e0b;background:#f59e0b1a}.history-item__badge--poor{color:#f87171;background:#f871711a}.trend-up{color:#10b981;font-size:.8rem}.trend-down{color:#f87171;font-size:.8rem}.trend-flat{color:var(--calc-text-muted);font-size:.8rem}.speed-ref-section{margin-bottom:2.5rem}.section-intro{color:var(--calc-text-dim);margin-bottom:1rem;font-size:.85rem}.speed-ref-table-wrap{border:1px solid var(--calc-border-default);border-radius:12px;overflow:hidden}.speed-ref-table{border-collapse:collapse;width:100%;font-size:.82rem}.speed-ref-table th{color:var(--calc-text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid var(--calc-border-default);white-space:nowrap;background:#ffffff0a;padding:10px 14px;font-size:.68rem}.speed-ref-table td{color:var(--calc-text-dim);border-bottom:1px solid #ffffff08;padding:10px 14px}.speed-ref-table tr:last-child td{border-bottom:none}.speed-ref-table tbody tr:hover td{background:#ffffff05}.speed-ref-badge{font-family:var(--font-mono);border-radius:10px;padding:2px 9px;font-size:.66rem;font-weight:700;display:inline-block}.speed-ref-badge--basic{color:#10b981;background:#10b9811f}.speed-ref-badge--standard{color:#22d3ee;background:#22d3ee1a}.speed-ref-badge--fast{color:#a855f7;background:#a855f71a}.speed-ref-badge--ultra{color:#f87171;background:#f871711a}@media (width<=600px){.speed-ref-table th:nth-child(3),.speed-ref-table td:nth-child(3),.speed-ref-table th:nth-child(4),.speed-ref-table td:nth-child(4){display:none}}[data-theme=light] .isp-cell{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .isp-cell--ip:hover{background:#eff9fb}[data-theme=light] .isp-cell__label{color:#94a3b8}[data-theme=light] .isp-cell__value{color:#0f172a}[data-theme=light] .test-config .tool-chip{color:#475569;background:#fff;border-color:#0000001f}[data-theme=light] .test-config .tool-chip:hover{color:#0891b2;border-color:#0891b2}[data-theme=light] .test-config .tool-chip.active{color:#0891b2;background:#0891b21a;border-color:#0891b266}[data-theme=light] .test-config__label{color:#94a3b8}[data-theme=light] .progress-step__circle{color:#94a3b8;border-color:#00000026}[data-theme=light] .progress-step.active .progress-step__circle{color:#0891b2;border-color:#0891b2;box-shadow:0 0 10px #0891b233}[data-theme=light] .progress-step.done .progress-step__circle{color:#fff;background:#0891b2;border-color:#0891b2}[data-theme=light] .progress-step__label{color:#94a3b8}[data-theme=light] .progress-step.active .progress-step__label,[data-theme=light] .progress-step.done .progress-step__label{color:#475569}[data-theme=light] .progress-connector{background:#0000001a}[data-theme=light] .progress-connector.done{background:#0891b2}[data-theme=light] #speedChartWrap{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .chart-title{color:#94a3b8}[data-theme=light] .ping-stats-panel{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .ping-stats-title{color:#475569}[data-theme=light] .ping-stat-cell{background:#f0f4f9;border-color:#00000014}[data-theme=light] .ping-stat-cell__label{color:#94a3b8}[data-theme=light] .ping-stat-cell__value{color:#0f172a}[data-theme=light] .ping-stability-badge.stable{color:#059669;background:#f0fdf4;border-color:#0596694d}[data-theme=light] .ping-stability-badge.variable{color:#0891b2;background:#fffbeb;border-color:#0891b24d}[data-theme=light] .ping-stability-badge.unstable{color:#dc2626;background:#fff1f2;border-color:#dc26264d}[data-theme=light] .quality-score-wrap{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .quality-ring-track{stroke:#00000014}[data-theme=light] #qualityRing{stroke:#0891b2}[data-theme=light] .quality-score-num{color:#0891b2}[data-theme=light] .quality-score-label{color:#0f172a}[data-theme=light] .quality-score-desc{color:#475569}[data-theme=light] .activity-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .activity-card.ok{border-color:#0596694d}[data-theme=light] .activity-card.warn{border-color:#0891b24d}[data-theme=light] .activity-card.fail{border-color:#dc26264d}[data-theme=light] .activity-card__name{color:#0f172a}[data-theme=light] .activity-card__desc{color:#64748b}[data-theme=light] .export-csv-btn{color:#0891b2;border-color:#0891b24d}[data-theme=light] .export-csv-btn:hover{background:#eff9fb;border-color:#0891b2}[data-theme=light] .history-item__badge--excellent{color:#059669;background:#f0fdf4}[data-theme=light] .history-item__badge--good{color:#0891b2;background:#eff9fb}[data-theme=light] .history-item__badge--fair{color:#0891b2;background:#fffbeb}[data-theme=light] .history-item__badge--poor{color:#dc2626;background:#fff1f2}[data-theme=light] .speed-ref-table-wrap{background:#fff;border-color:#0000001a}[data-theme=light] .speed-ref-table th{color:#64748b;background:#f0f4f9;border-bottom-color:#00000014}[data-theme=light] .speed-ref-table td{color:#475569;border-bottom-color:#0000000a}[data-theme=light] .speed-ref-table tbody tr:hover td{background:#f8fafc}[data-theme=light] .speed-ref-badge--basic{color:#059669;background:#f0fdf4}[data-theme=light] .speed-ref-badge--standard{color:#0891b2;background:#eff9fb}[data-theme=light] .speed-ref-badge--fast{color:#7c3aed;background:#7c3aed14}[data-theme=light] .speed-ref-badge--ultra{color:#dc2626;background:#fff1f2}[data-theme=light] .section-intro{color:#475569}[data-theme=light] .activity-card__status--ok{color:#047857}[data-theme=light] .activity-card__status--warn{color:#b45309}[data-theme=light] .activity-card__status--fail{color:#b91c1c}[data-theme=light] .trend-up{color:#047857}[data-theme=light] .trend-down{color:#b91c1c}