.tool-header{text-align:center;margin-bottom:40px}.header-badge{display:flex;justify-content:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}.badge{background:linear-gradient(135deg, #667eea 0, #764ba2 100%);color:white;padding:6px 18px;border-radius:40px;font-size:0.75rem;font-weight:500;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.tool-header h1{font-size:2.2rem;font-weight:800;background:linear-gradient(135deg, #1e293b, #3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px}.tool-header p{color:var(--gray-500);font-size:1rem}.speed-dashboard{background:linear-gradient(135deg, #fff, #f8fafc);border-radius:32px;padding:32px;margin-bottom:24px;display:grid;grid-template-columns:280px 1fr;gap:32px;box-shadow:0 10px 40px rgba(0,0,0,0.05);border:1px solid rgba(0,0,0,0.03)}.speed-gauge{text-align:center}.gauge-container{position:relative;width:200px;height:200px;margin:0 auto}.gauge-value{position:absolute;top:60%;left:50%;transform:translate(-50%, -50%);text-align:center}.speed-number{font-size:30px;font-weight:800;color:var(--primary-color);display:block;line-height:1}.speed-unit{font-size:0.8rem;color:var(--gray-500)}.speed-status{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:0.9rem;color:var(--gray-600)}.speed-status i{font-size:1.2rem}.speed-stats{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px}.stat-card{background:white;border-radius:20px;padding:20px;display:flex;align-items:center;gap:16px;border:1px solid var(--gray-200);transition:all 0.3s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,0.08)}.stat-icon{width:56px;height:56px;background:linear-gradient(135deg, #e0e7ff, #f0f4ff);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--primary-color)}.stat-info{flex:1}.stat-label{display:block;font-size:0.7rem;color:var(--gray-500);margin-bottom:4px}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--gray-800);line-height:1}.stat-unit{font-size:0.7rem;color:var(--gray-400);margin-left:4px}.speed-controls{text-align:center;margin:24px 0}.test-btn{background:linear-gradient(135deg, #10b981, #059669);padding:14px 48px;font-size:1.1rem;border-radius:60px;box-shadow:0 4px 15px rgba(16,185,129,0.3)}.test-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(16,185,129,0.4)}.test-progress{margin:20px 0;padding:16px;background:var(--gray-50);border-radius:60px}.progress-bar{background:var(--gray-200);border-radius:30px;height:8px;overflow:hidden}.progress-fill{width:0%;height:100%;background:linear-gradient(90deg, #10b981, #3b82f6);border-radius:30px;transition:width 0.3s ease}.progress-text{text-align:center;margin-top:8px;font-size:0.7rem;color:var(--gray-500)}.result-panel{background:white;border-radius:28px;padding:24px;margin-top:24px;border:1px solid var(--gray-200);animation:fadeIn 0.4s ease}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.result-title{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:600}.result-time{font-size:0.7rem;color:var(--gray-400)}.chart-container{height:250px;margin-bottom:24px}.quality-section{margin-bottom:24px}.quality-section h4{margin-bottom:16px;font-size:0.9rem;display:flex;align-items:center;gap:8px}.quality-cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:16px}.quality-card{background:var(--gray-50);border-radius:20px;padding:16px;display:flex;align-items:center;gap:14px}.quality-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.quality-icon.excellent{background:#d1fae5;color:#10b981}.quality-icon.good{background:#dbeafe;color:#3b82f6}.quality-icon.fair{background:#fef3c7;color:#f59e0b}.quality-icon.poor{background:#fee2e2;color:#ef4444}.quality-info{flex:1}.quality-label{display:block;font-size:0.7rem;color:var(--gray-500);margin-bottom:4px}.quality-value{display:block;font-size:1rem;font-weight:600}.recommend-section{background:linear-gradient(135deg, #e0e7ff, #f0f4ff);border-radius:20px;padding:16px 20px}.recommend-section h4{margin-bottom:12px;font-size:0.9rem;display:flex;align-items:center;gap:8px;color:var(--gray-700)}.recommend-content{display:flex;flex-wrap:wrap;gap:12px}.recommend-tag{background:white;padding:6px 16px;border-radius:40px;font-size:0.75rem;color:var(--gray-700);display:inline-flex;align-items:center;gap:6px}.history-section{margin-top:24px}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--gray-200)}.history-header span{font-weight:600;display:flex;align-items:center;gap:8px}.clear-btn{background:transparent;border:none;color:var(--gray-500);cursor:pointer;font-size:0.7rem;padding:4px 12px;border-radius:20px}.clear-btn:hover{background:#fee2e2;color:#dc2626}.history-list{max-height:200px;overflow-y:auto}.history-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--gray-50);border-radius:16px;margin-bottom:8px;transition:all 0.2s}.history-item:hover{background:var(--gray-100)}.history-date{font-size:0.7rem;color:var(--gray-500);display:flex;align-items:center;gap:6px}.history-speed{display:flex;gap:16px}.history-speed span{font-size:0.8rem}.history-download{color:#10b981}.history-upload{color:#3b82f6}.history-ping{color:#f59e0b}.info-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:16px;padding:16px}.info-item{display:flex;align-items:center;gap:8px;font-size:0.8rem;color:var(--gray-600)}.info-item i{color:var(--success-color)}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:0.8}}@media (max-width:900px){.speed-dashboard{grid-template-columns:1fr}.quality-cards{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2, 1fr)}.speed-stats{grid-template-columns:1fr}}@media (max-width:480px){.info-grid{grid-template-columns:1fr}.history-speed{flex-direction:column;gap:4px}.history-item{flex-direction:column;align-items:flex-start;gap:8px}}