.availability-main { max-width: 1160px; margin: 0 auto; padding: 24px 0 44px; }
.availability-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 32px; margin-bottom: 26px; }
.availability-intro h1 { margin: 8px 0 12px; font-size: clamp(2.4rem,5vw,4rem); line-height: 1.08; }
.availability-intro p { color: #b0c2d9; font-size: 1rem; line-height: 1.7; }
.availability-intro img { width: 100%; height: auto; border-radius: 18px; }
.availability-form, .availability-result, .availability-watch { border: 1px solid #23456a; border-radius: 20px; background: #071227; padding: clamp(20px,3vw,32px); margin-bottom: 22px; }
.availability-fields { display: grid; grid-template-columns: minmax(0,1fr) 240px 145px; gap: 18px; align-items: end; }
.availability-fields label { display: grid; gap: 10px; font-size: 0.9rem; font-weight: 600; }
.availability-fields input, .availability-fields select { min-width: 0; width: 100%; color: #eef7ff; background: #030b1b; border: 1px solid #355579; border-radius: 10px; padding: 14px; font: inherit; }
.availability-fields button, .availability-watch a { background: #52e7ff; color: #041521; border: 0; border-radius: 10px; padding: 15px 20px; font: inherit; font-weight: 750; text-decoration: none; text-align: center; }
.availability-fields button:disabled { opacity: .6; cursor: wait; }
.availability-form :focus-visible, .availability-watch a:focus-visible { outline: 3px solid #d291ff; outline-offset: 4px; }
.availability-form .captcha-panel { margin-top: 24px; }
.availability-note, [data-availability-message] { font-size: .9rem; color: #aebed4; line-height: 1.65; }
.availability-result h2 { font-size: clamp(1.6rem,4vw,2.5rem); margin: 12px 0; }
.availability-result[data-state=up] { border-color: #34d9ae; }
.availability-result[data-state=warning] { border-color: #ffc56e; }
.availability-result[data-state=down] { border-color: #ff668d; }
.availability-result[data-state=up] h2 { color: #78f5c9; }
.availability-result[data-state=warning] h2 { color: #ffd394; }
.availability-result[data-state=down] h2 { color: #ff92b1; }
.availability-target { overflow-wrap: anywhere; color: #b7eafa; }
.availability-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 26px 0; }
.availability-stat { display: grid; gap: 10px; padding: 18px; background: #0c1c35; border-radius: 12px; }
.availability-stat span { color: #9db5cf; font-size: .9rem; }
.availability-stat strong { font-size: 1rem; }
.availability-evidence { list-style: none; padding: 0; }
.availability-evidence-row { display: grid; grid-template-columns: 180px 1fr 90px; gap: 12px; padding: 15px 0; border-bottom: 1px solid #21334b; font-size: .9rem; overflow-wrap: anywhere; }
.availability-watch { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.availability-watch h2 { font-size: 1.35rem; margin: 0 0 8px; }
.availability-watch p { max-width: 650px; margin: 0; }
.availability-watch a { flex-shrink: 0; }
@media(max-width:800px) { .availability-fields { grid-template-columns: 1fr; } .availability-intro { grid-template-columns: 1fr; } .availability-intro img { max-width: 560px; } .availability-stats { grid-template-columns: 1fr; } .availability-evidence-row { grid-template-columns: 1fr; } .availability-watch { align-items: stretch; flex-direction: column; } }
.report-options {margin:1.5rem 0;display:grid;gap:1rem}
.report-options > label:first-child {display:grid;gap:.5rem;max-width:32rem}
.report-options input[type=email] {min-width:0;width:100%;color:#eef7ff;background:#030b1b;border:1px solid #355579;border-radius:10px;padding:14px;font:inherit;box-sizing:border-box}
.report-copy {display:flex;align-items:center;gap:.7rem}
.report-copy input[type=checkbox] {width:1.15rem;height:1.15rem;flex:0 0 auto}
.report-actions {margin-top:2rem;padding-top:1.5rem;border-top:1px solid #315476}
.report-actions a {display:inline-block;padding:.85rem 1.3rem;background:#52e7ff;color:#071227;border-radius:.5rem;font-weight:700;text-decoration:none}
.report-toolbox-toggle {padding:26px 24px;gap:20px;border-radius:24px;background:#1b2b43;border-color:#344f72}
.report-toolbox-toggle b {font-size:1.05rem}
.report-toolbox-toggle small {font-size:.9rem;color:#94accb;margin-top:7px}
.report-toolbox-toggle .blacklist-toggle-control {width:62px;height:36px}
.report-toolbox-toggle .blacklist-toggle-control::after {width:24px;height:24px;top:5px;left:6px}
.report-toolbox-toggle input:checked + .blacklist-toggle-control::after {left:31px}
.hop-heatmap {list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;padding:0;margin:24px 0}
.hop-cell {display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid #516078;border-radius:15px;background:#172237;overflow-wrap:anywhere}
.hop-cell strong {font-size:1.5rem;font-variant-numeric:tabular-nums}
.hop-cell small {line-height:1.6;color:#c5d5e7}
.hop-cell[data-heat=cool] {background:linear-gradient(145deg,#143e35,#10242b);border-color:#40ca9e}
.hop-cell[data-heat=warm] {background:linear-gradient(145deg,#49391d,#241e19);border-color:#e8bd58}
.hop-cell[data-heat=hot] {background:linear-gradient(145deg,#50242f,#281623);border-color:#f77b8c}
.availability-main .availability-intro {grid-template-columns:1fr 1.2fr}
.availability-visual {margin:0;min-width:0;align-self:center}
@media(max-width:800px){.availability-main .availability-intro{grid-template-columns:1fr}.report-toolbox-toggle{padding:20px 16px;gap:14px}.report-toolbox-toggle b{font-size:.95rem}}
.availability-form .test-feedback {display:grid;gap:8px;margin:20px 0;padding:20px 22px;border:2px solid #e9b657;border-left-width:6px;border-radius:12px;background:#392b16;color:#ffe5ab;font-size:1rem;line-height:1.55;scroll-margin-top:150px}
.test-feedback strong {font-size:1.1rem;color:inherit}
.test-feedback:focus {outline:3px solid #ffe5ab;outline-offset:4px}
.availability-form .test-feedback[data-kind=working] {background:#102c44;border-color:#52e7ff;color:#c9f7ff}
.availability-form .test-feedback[data-kind=success] {background:#11382f;border-color:#4adba9;color:#c3ffe9}
