.allnetmx-speed-tester { border: 1px solid #d4d8de; border-radius: 14px; padding: 10px; background: linear-gradient(140deg, #ffffff 0%, #f5f8ff 100%); box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08); color: #1b2533; } .allnetmx-speed-tester__form label { display: block; margin-bottom: 8px; font-weight: 700; } .allnetmx-speed-tester__row { display: flex; gap: 10px; flex-wrap: wrap; } .allnetmx-speed-tester__row input { flex: 1 1 260px !important; min-height: 46px !important; border: 1px solid #b6bfcc !important; border-radius: 8px !important; padding: 0 12px !important; margin-bottom: 0px !important; } .allnetmx-speed-tester__row button { min-height: 32px !important; padding: 0px 16px !important; border: 0 !important; border-radius: 8px !important; background: #0d4f8b !important; color: #ffffff !important; font-weight: 400 !important; cursor: pointer !important; } .allnetmx-speed-tester__row button:hover { background: #0a3f70; } .allnetmx-speed-tester__hint { margin: 10px 0 0; color: #556272; font-size: 14px; } .allnetmx-speed-tester__recaptcha { margin-top: 12px; display: flex; flex-direction: column; align-items: center; text-align: center; } .allnetmx-speed-tester__recaptcha [data-speed-recaptcha] { display: flex; justify-content: center; width: 100%; } .allnetmx-speed-tester__recaptcha .g-recaptcha { margin: 0 auto; } .allnetmx-speed-tester__status { margin-top: 14px; padding: 10px 12px; border-radius: 8px; display: none; } .allnetmx-speed-tester__status.is-loading, .allnetmx-speed-tester__status.is-error, .allnetmx-speed-tester__status.is-success { display: block; } .allnetmx-speed-tester__status.is-loading { background: #edf5ff; color: #114a89; } .allnetmx-speed-tester__status.is-error { background: #ffeceb; color: #a73d36; } .allnetmx-speed-tester__status.is-success { background: #ebf8f0; color: #1e6f45; } .allnetmx-speed-tester__progress { margin-top: 12px; padding: 12px; border: 1px solid #d9e4f5; border-radius: 10px; background: #f8fbff; } .allnetmx-speed-tester__progress-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; font-size: 14px; } .allnetmx-speed-tester__progress-track { width: 100%; height: 10px; border-radius: 999px; background: #dbe8fb; overflow: hidden; } .allnetmx-speed-tester__progress-fill { height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, #0c5a9c 0%, #1f8cdb 100%); transition: width 0.45s ease; } body.allnetmx-speed-tester-modal-open { overflow: hidden; } .allnetmx-speed-tester__lightbox { position: fixed; inset: 0; z-index: var(--allnetmx-speed-lightbox-z, 2147483647) !important; display: flex; align-items: center; justify-content: center; padding: 12px; } .allnetmx-speed-tester__lightbox[hidden] { display: none !important; } .allnetmx-speed-tester__lightbox-backdrop { position: absolute; inset: 0; background: rgba(8, 13, 22, 0.72); } .allnetmx-speed-tester__lightbox-dialog { position: relative; width: min(var(--allnetmx-speed-lightbox-width, 800px), calc(100vw - 24px)); height: min(var(--allnetmx-speed-lightbox-height, 600px), calc(100vh - 24px)); margin: 0; background: #ffffff; border-radius: 12px; overflow: hidden; box-shadow: 0 18px 50px rgba(2, 6, 23, 0.35); padding: 14px; display: flex; flex-direction: column; } .allnetmx-speed-tester__lightbox-close { position: sticky; top: 0; margin-left: auto; display: block; width: 34px; height: 34px; border: 0; border-radius: 8px; background: #eef3fb; color: #23334a; font-size: 24px; line-height: 1; cursor: pointer; } .allnetmx-speed-tester__lightbox-preview iframe { width: 100%; min-height: 260px; border: 1px solid #d3dceb; border-radius: 10px; } .allnetmx-speed-tester__cache-line { margin: 8px 0 0; padding: 8px 12px; border-radius: 8px; font-weight: 700; border: 1px solid transparent; } .allnetmx-speed-tester__cache-line.is-hit { color: #1f7a44; background: #e7f8ec; border-color: #b8e4c8; } .allnetmx-speed-tester__cache-line.is-stale { color: #8b6300; background: #fff6df; border-color: #f4deb2; } .allnetmx-speed-tester__cache-line.is-miss { color: #a43d35; background: #ffebea; border-color: #f2c2bf; } .allnetmx-speed-tester__lightbox-result { margin-top: 12px; overflow: auto; } .allnetmx-speed-tester__lightbox-loading { position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; justify-content: center; background: rgba(16, 25, 40, 0.28); backdrop-filter: blur(3px); } .allnetmx-speed-tester__lightbox-loading[hidden] { display: none !important; } .allnetmx-speed-tester__lightbox-loading-card { min-width: 220px; padding: 14px 16px; border-radius: 12px; background: rgba(255, 255, 255, 0.94); border: 1px solid #d7e1ef; text-align: center; box-shadow: 0 10px 28px rgba(4, 10, 20, 0.22); } .allnetmx-speed-tester__lightbox-legend { margin: 0; color: #2b3f57; font-weight: 700; } .allnetmx-speed-tester__lightbox-percent { margin: 6px 0 0; font-size: 28px; font-weight: 800; color: #0c5a9c; } .allnetmx-speed-tester__lightbox.is-loading .allnetmx-speed-tester__lightbox-preview, .allnetmx-speed-tester__lightbox.is-loading .allnetmx-speed-tester__lightbox-result, .allnetmx-speed-tester__lightbox.is-loading .allnetmx-speed-tester__lightbox-close { filter: blur(3px); pointer-events: none; } .allnetmx-speed-tester__preview { margin-top: 12px; border: 1px solid #d9e0eb; border-radius: 10px; overflow: hidden; background: #ffffff; } .allnetmx-speed-tester__preview-title { margin: 0; padding: 10px 12px; background: #f3f6fb; border-bottom: 1px solid #d9e0eb; font-weight: 700; font-size: 14px; } .allnetmx-speed-tester__preview iframe { width: 100%; min-height: 320px; border: 0; background: #eef2f8; } .allnetmx-speed-tester__preview img { width: 100%; min-height: 320px; object-fit: cover; border: 0; background: #eef2f8; display: block; transition: filter 0.35s ease, transform 0.35s ease, opacity 0.35s ease; } .allnetmx-speed-tester__preview img.is-loading-blur { filter: blur(10px) saturate(0.9); transform: scale(1.015); opacity: 0.9; animation: allnetmxPreviewPulse 1.15s ease-in-out infinite; } .allnetmx-speed-tester__preview img.is-ready { filter: none; transform: none; opacity: 1; animation: none; } @keyframes allnetmxPreviewPulse { 0% { opacity: 0.82; } 50% { opacity: 0.96; } 100% { opacity: 0.82; } } .allnetmx-speed-tester__preview-note { margin: 0; padding: 8px 12px; border-top: 1px solid #d9e0eb; font-size: 13px; color: #546273; } .allnetmx-speed-tester__preview-note.is-ok { color: #2f6b8b; } .allnetmx-speed-tester__preview-note.is-warning { color: #8d4f2d; } .allnetmx-speed-tester__summary { margin-top: 16px; padding: 14px; border: 1px solid #dbe3ef; border-radius: 10px; background: #ffffff; } .allnetmx-speed-tester__summary h3 { margin: 0 0 6px; font-size: 18px; } .allnetmx-speed-tester__summary p { margin: 0; } .allnetmx-speed-tester__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; } .allnetmx-speed-tester__card { border: 1px solid #d6deea; border-radius: 10px; padding: 14px; background: #ffffff; } .allnetmx-speed-tester__card h4 { margin: 0 0 8px; font-size: 17px; } .allnetmx-speed-tester__heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; } .allnetmx-speed-tester__heading h4 { margin: 0; } .allnetmx-speed-tester__cache-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 82px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.2; border: 1px solid transparent; } .allnetmx-speed-tester__cache-badge.is-hit { background: #e7f8ec; color: #1f7a44; border-color: #b8e4c8; } .allnetmx-speed-tester__cache-badge.is-stale { background: #fff6df; color: #8b6300; border-color: #f4deb2; } .allnetmx-speed-tester__cache-badge.is-miss { background: #ffebea; color: #a43d35; border-color: #f2c2bf; } .allnetmx-speed-tester__cards--single { grid-template-columns: 1fr; } .allnetmx-speed-tester__engine { margin: 0 0 10px; font-size: 13px; color: #4e5f72; } .allnetmx-speed-tester__breakdown { margin-top: 10px; padding-top: 10px; border-top: 1px solid #e7edf6; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; font-size: 14px; } .allnetmx-speed-tester__stamp { margin: 12px 0 0; color: #546273; font-size: 12px; } .allnetmx-speed-tester__warning { margin: 6px 0 0; color: #8d4f2d; } .allnetmx-speed-tester__card.is-warning-card { border-color: #f2d3b9; background: #fff8f1; } .allnetmx-speed-tester__score { font-size: 36px; font-weight: 800; line-height: 1; } .allnetmx-speed-tester__card ul { margin: 10px 0 0; padding: 0; list-style: none; } .allnetmx-speed-tester__card li { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid #e7edf6; padding: 8px 0; } .allnetmx-speed-tester__card li:first-child { border-top: 0; padding-top: 0; } .allnetmx-speed-tester__card.is-good .allnetmx-speed-tester__score { color: #1f8c4b; } .allnetmx-speed-tester__card.is-mid .allnetmx-speed-tester__score { color: #b37d00; } .allnetmx-speed-tester__card.is-bad .allnetmx-speed-tester__score { color: #b5332a; } @media (max-width: 720px) { .allnetmx-speed-tester__lightbox-dialog { width: calc(100vw - 12px); margin: 0; height: calc(100vh - 12px); padding: 10px; } .allnetmx-speed-tester__lightbox-preview iframe { min-height: 220px; } .allnetmx-speed-tester__preview iframe { min-height: 240px; } .allnetmx-speed-tester__preview img { min-height: 240px; } .allnetmx-speed-tester__cards { grid-template-columns: 1fr; } }