:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#202733;background:#f5f6fa;font-synthesis:none;--blue:#1675f8;--green:#18784b;--amber:#a36209;--muted:#777f8d}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,summary{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #93c0ff;outline-offset:3px}svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}
.phone-shell{max-width:500px;margin:0 auto;padding:16px 20px max(24px,env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;height:44px}.brand{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:650;letter-spacing:-.3px}.brand img{border-radius:8px}.help-button{display:flex;align-items:center;justify-content:flex-end;gap:5px;border:0;background:transparent;font-size:13px;color:#727c8c;min-width:64px;min-height:44px}.help-button svg{width:16px;height:16px}
.hero{padding:21px 0 23px}h1{font-size:26px;font-weight:700;letter-spacing:-.8px;line-height:1.35;margin:0 0 8px}.hero>p{font-size:14px;color:#727c8c;line-height:1.5;margin:0 0 19px;min-height:21px}.hero.all-reachable h1{color:var(--green)}.scan-button{width:100%;height:50px;border:0;border-radius:14px;color:white;background:var(--blue);font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 3px 7px #1877f51a;transition:background .15s}.scan-button:active{background:#0964dc;transform:scale(.99)}.scan-button svg{width:18px;height:18px}.scan-button.running{background:#e7effb;color:#336dc0;box-shadow:none}.scan-progress{display:flex;align-items:center;gap:11px;margin-top:11px;font-size:11px;color:#7d8da4;font-variant-numeric:tabular-nums}.progress-track{flex:1;height:4px;background:#e4e9f1;border-radius:4px;overflow:hidden}#progress-fill{height:100%;width:0;background:#418af6;border-radius:4px;transition:width .2s}#progress-text{min-width:35px}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.section-heading h2{font-size:14px;font-weight:600;margin:0}.section-heading>span{font-size:11px;color:#8c95a3}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-card{width:100%;min-width:0;text-align:left;border:1px solid #e9ecf2;border-radius:15px;background:white;padding:13px 14px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;column-gap:8px;row-gap:11px;min-height:91px;transition:background .2s,border-color .2s;position:relative}.service-card:active{transform:scale(.98)}.service-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:var(--tint,#73849a);color:white;flex-shrink:0}.service-icon svg{width:18px;height:18px;stroke-width:1.7}.service-name{font-size:13px;line-height:1.4;font-weight:550;min-width:0}.card-status{grid-column:1/-1}.result{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:650;line-height:1.2;color:#9aa2ae;white-space:nowrap;letter-spacing:-.2px}.result-symbol{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;font-weight:650;font-size:13px;background:#eef1f5;color:#a1a9b5}.result.responsive{color:var(--green)}.result.responsive .result-symbol{background:#19804f;color:#fff;font-size:11px}.result.uncertain{color:var(--amber)}.result.uncertain .result-symbol{background:#d28a24;color:#fff}.result.running{color:#377cdb}.result.running .result-symbol{background:transparent}.service-card.responsive{background:#f2faf5;border-color:#d6eadf}.service-card.uncertain{background:#fffbf1;border-color:#f2e3c4}.service-card.running{border-color:#b7d3fb;background:#f7faff}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid #cedff9;border-top-color:#327ddd;animation:spin .8s linear infinite}.more-services{margin-top:18px;border:1px solid #e5e9f0;border-radius:14px;background:white;overflow:hidden}.more-services>summary{list-style:none;min-height:53px;display:flex;align-items:center;gap:9px;padding:0 15px;font-size:14px;font-weight:550}.more-services>summary::-webkit-details-marker{display:none}.more-count{font-weight:400;color:#8c96a5;font-size:12px;margin-left:4px}.chevron{margin-left:auto;color:#98a3b3}.chevron svg{width:17px;height:17px;transition:transform .2s}.more-services[open]>summary .chevron{transform:rotate(180deg)}.more-status{font-size:11px;font-weight:500;color:var(--amber);margin-left:auto}.more-status:empty{display:none}.more-status:not(:empty)+.chevron{margin-left:0}.more-content{padding:0 13px 12px}.search{display:flex;align-items:center;gap:8px;height:44px;border-radius:10px;background:#f4f6f9;padding:0 12px;margin:4px 0 20px}.search svg{width:16px;height:16px;color:#8f9aab}.search input{width:100%;min-width:0;background:none;border:0;outline:none;font-size:16px;color:#33425b}.search input::placeholder{color:#9ca6b4;font-size:13px}.more-group h3{font-size:11px;letter-spacing:.4px;color:#929caa;font-weight:500;margin:21px 3px 6px}.compact.service-card{grid-template-columns:27px minmax(0,1fr) auto;gap:9px;min-height:57px;border:0;border-radius:9px;margin:4px 0;padding:9px 8px}.compact .service-name{font-size:12px}.compact .card-status{grid-column:3}.compact .result{font-size:12px;font-weight:500;gap:4px}.compact .result-symbol{width:14px;height:14px;font-size:9px}.compact .service-icon{width:25px;height:25px}.empty-state{font-size:13px;text-align:center;color:#8995a6;padding:20px 0}.page-footer{padding-top:22px;display:flex;align-items:center;flex-direction:column;gap:12px;font-size:11px;color:#9ca4b0}.page-footer>a{color:#748aa8;display:flex;align-items:center;min-height:28px}
.blue{--tint:#438ef5}.cyan{--tint:#3caaca}.green{--tint:#48aa81}.coral{--tint:#ef6a7e}.violet{--tint:#9c77d7}.slate{--tint:#8592a5}.orange{--tint:#ee9b4a}.yellow{--tint:#dfb849}.dark{--tint:#313943}.rainbow{--tint:#b29bd8}.rainbow.service-icon{background:conic-gradient(#ef8da1,#e8c467,#86cba2,#82b4eb,#b29bd8,#ef8da1)}
dialog{position:fixed;inset:auto 0 0;width:min(500px,100%);max-height:88dvh;border:0;border-radius:22px 22px 0 0;margin:0 auto;background:#fff;color:#293246;padding:0 0 env(safe-area-inset-bottom);box-shadow:0 -8px 70px #182d4820;overscroll-behavior:contain}dialog::backdrop{background:#16233666;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:19px 22px 12px}.dialog-heading h2{font-size:18px;margin:0;font-weight:650;line-height:1.5}.detail-heading{display:flex;gap:10px;align-items:center;min-width:0}.detail-heading-copy{min-width:0}.detail-subtitle{font-size:11px;font-weight:400;line-height:1.5;color:#8290a2;margin:4px 0 0}.detail-heading .service-icon{width:32px;height:32px;border-radius:9px}.close-button{flex-shrink:0;min-width:44px;min-height:44px;background:#f3f5f8;border:0;border-radius:50%;font-size:24px;color:#8290a2}.dialog-body{padding:0 22px 12px}.detail-status{margin:16px 0}.detail-status .result{font-size:24px;gap:10px}.detail-status .result-symbol{width:23px;height:23px;font-size:15px}.detail-reason{font-size:15px;line-height:1.8;color:#536177;margin:0 0 15px}.dialog-footer{padding:16px 22px 22px;display:flex;gap:10px}.primary-button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:12px;min-height:47px;font-size:14px;font-weight:550;padding:0 16px;flex:1}.primary-button{background:var(--blue);color:white}.secondary-button{background:#eff3f9;color:#536e96}.advanced{border-top:1px solid #edf0f5;margin-top:20px}.advanced summary{min-height:50px;display:flex;align-items:center;font-size:13px;color:#74849c;list-style:none}.advanced summary:after{content:'+';font-size:18px;margin-left:auto;color:#929fb1}.advanced[open] summary:after{content:'\2212'}.advanced summary::-webkit-details-marker{display:none}.advanced code{font-size:11px;overflow-wrap:anywhere;background:#f5f7fa;border-radius:5px;display:block;padding:9px;color:#5b7090}.help-copy{font-size:12px;color:#7c8b9f;line-height:1.85;margin:8px 0 14px}.source-link{display:inline-block;font-size:12px;min-height:40px;padding-top:8px;color:#467eb9}.help-legend p{display:grid;grid-template-columns:10px 92px 1fr;gap:10px;align-items:center;font-size:12px;line-height:1.5;margin:13px 0}.help-legend strong{font-size:13px;font-weight:550}.help-legend span{color:#7e8c9e}.legend-dot{width:8px;height:8px;border-radius:50%;background:#8f9cac}.legend-dot.green{background:#238655}.legend-dot.amber{background:#d49533}.setting-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;min-height:54px;color:#60718a}.setting-row select{font-size:16px;color:#45648c;min-height:42px;border-radius:8px;border:1px solid #e1e8f2;background:#f8faff;padding:0 9px}#settings-form .secondary-button{width:100%;margin:12px 0}.text-button{border:0;background:none;color:#427fca;min-height:46px;font-size:13px;padding:0 5px}.toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);border-radius:12px;padding:13px 20px;background:#25334a;color:#fff;z-index:100;font-size:13px;max-width:90vw;white-space:nowrap;box-shadow:0 4px 20px #13273f20}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}body:has(dialog[open]){overflow:hidden}
@keyframes spin{to{transform:rotate(360deg)}}
.card-status{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap}.domain-count{font-size:10px;color:#8b94a3;white-space:nowrap;font-variant-numeric:tabular-nums}.service-card:not(.compact) .result{font-size:16px}.domain-list{padding:0;margin:18px 0;list-style:none}.domain-list:empty{display:none}.domain-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:13px 0;border-top:1px solid #edf0f5;align-items:center}.domain-purpose{display:block;font-size:11px;line-height:1.5;color:#8190a3;margin-top:5px}.domain-row code{display:block;overflow-wrap:anywhere;font-family:inherit;font-size:13px;font-weight:550;line-height:1.5;color:#425773}.domain-row .result{font-size:12px;font-weight:500;gap:5px}.domain-row .result-symbol{width:14px;height:14px;font-size:9px}.domain-evidence{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#929bab;font-size:10px}.domain-evidence a{color:#527da9;min-height:30px;display:inline-flex;align-items:center}.compact .card-status{flex-direction:column;align-items:flex-end;gap:4px;flex-wrap:nowrap}.compact .domain-count{font-size:10px}
@media(min-width:700px){.phone-shell{padding:28px 25px 32px;margin:25px auto;max-width:510px}.hero{padding-top:30px}dialog{inset:0;margin:auto;border-radius:22px;max-width:460px;max-height:85dvh;height:fit-content}.service-card{min-height:98px}.page-footer{padding-top:26px}}
@media(max-width:360px){.phone-shell{padding-left:15px;padding-right:15px}.service-card{padding:12px 10px;column-gap:6px}.service-name{font-size:12px}.result{font-size:16px}h1{font-size:24px}.section-heading>span{font-size:10px}.compact.service-card{gap:7px;padding-left:5px;padding-right:5px}.compact .service-name{font-size:11px}.compact .result{font-size:11px}.dialog-heading,.dialog-body{padding-left:18px;padding-right:18px}.help-legend p{gap:7px;grid-template-columns:8px 88px 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
