/* Material Design 3: semantic color pairs, type scale, shape, elevation and state layers.
   Shared application theme; no runtime stylesheet or font requests to third parties. */
:root{color-scheme:light;--md-sys-color-primary:#6750a4;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#eaddff;--md-sys-color-on-primary-container:#21005d;--md-sys-color-secondary:#625b71;--md-sys-color-secondary-container:#e8def8;--md-sys-color-on-secondary-container:#1d192b;--md-sys-color-surface:#fef7ff;--md-sys-color-surface-container-low:#f7f2fa;--md-sys-color-surface-container:#f3edf7;--md-sys-color-surface-container-high:#ece6f0;--md-sys-color-surface-container-highest:#e6e0e9;--md-sys-color-on-surface:#1d1b20;--md-sys-color-on-surface-variant:#49454f;--md-sys-color-outline:#79747e;--md-sys-color-outline-variant:#cac4d0;--md-sys-color-error:#b3261e;--md-sys-color-error-container:#f9dedc;--md-sys-color-on-error-container:#410e0b;--md-sys-color-inverse-surface:#322f35;--md-sys-color-inverse-on-surface:#f5eff7;--status-good:#17633c;--status-good-container:#d6f3df;--status-warning:#714f00;--status-warning-container:#ffedbe;--md-sys-shape-small:8px;--md-sys-shape-medium:12px;--md-sys-shape-large:16px;--md-sys-shape-extra-large:28px;--md-sys-shape-full:999px;--md-sys-elevation-1:0 1px 2px #00000030,0 1px 3px 1px #00000015;--md-sys-motion-duration-short:150ms;--md-sys-motion-easing-standard:cubic-bezier(.2,0,0,1);--md-sys-typescale-body-large:400 1rem/1.5 system-ui,sans-serif;--md-sys-typescale-body-medium:400 .875rem/1.43 system-ui,sans-serif;--md-sys-typescale-label-large:500 .875rem/1.43 system-ui,sans-serif;--md-sys-typescale-title-medium:500 1rem/1.5 system-ui,sans-serif;--md-sys-typescale-headline-large:400 2rem/1.25 system-ui,sans-serif;--md-sys-typescale-display-small:400 2.25rem/1.22 system-ui,sans-serif}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--md-sys-color-primary:#d0bcff;--md-sys-color-on-primary:#381e72;--md-sys-color-primary-container:#4f378b;--md-sys-color-on-primary-container:#eaddff;--md-sys-color-secondary:#ccc2dc;--md-sys-color-secondary-container:#4a4458;--md-sys-color-on-secondary-container:#e8def8;--md-sys-color-surface:#141218;--md-sys-color-surface-container-low:#1d1b20;--md-sys-color-surface-container:#211f26;--md-sys-color-surface-container-high:#2b2930;--md-sys-color-surface-container-highest:#36343b;--md-sys-color-on-surface:#e6e0e9;--md-sys-color-on-surface-variant:#cac4d0;--md-sys-color-outline:#938f99;--md-sys-color-outline-variant:#49454f;--md-sys-color-error:#f2b8b5;--md-sys-color-error-container:#8c1d18;--md-sys-color-on-error-container:#f9dedc;--md-sys-color-inverse-surface:#e6e0e9;--md-sys-color-inverse-on-surface:#322f35;--status-good:#a1d7b4;--status-good-container:#103b25;--status-warning:#e9c46a;--status-warning-container:#493700}}
:root[data-theme=dark]{color-scheme:dark;--md-sys-color-primary:#d0bcff;--md-sys-color-on-primary:#381e72;--md-sys-color-primary-container:#4f378b;--md-sys-color-on-primary-container:#eaddff;--md-sys-color-secondary:#ccc2dc;--md-sys-color-secondary-container:#4a4458;--md-sys-color-on-secondary-container:#e8def8;--md-sys-color-surface:#141218;--md-sys-color-surface-container-low:#1d1b20;--md-sys-color-surface-container:#211f26;--md-sys-color-surface-container-high:#2b2930;--md-sys-color-surface-container-highest:#36343b;--md-sys-color-on-surface:#e6e0e9;--md-sys-color-on-surface-variant:#cac4d0;--md-sys-color-outline:#938f99;--md-sys-color-outline-variant:#49454f;--md-sys-color-error:#f2b8b5;--md-sys-color-error-container:#8c1d18;--md-sys-color-on-error-container:#f9dedc;--md-sys-color-inverse-surface:#e6e0e9;--md-sys-color-inverse-on-surface:#322f35;--status-good:#a1d7b4;--status-good-container:#103b25;--status-warning:#e9c46a;--status-warning-container:#493700}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font:var(--md-sys-typescale-body-large)}h1,h2,h3,h4,p{margin-top:0}h1{font:var(--md-sys-typescale-display-small);margin-bottom:16px}h2{font:var(--md-sys-typescale-headline-large)}h3{font:var(--md-sys-typescale-title-medium)}p{margin-bottom:12px}a{color:var(--md-sys-color-primary);text-underline-offset:3px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{position:relative;cursor:pointer;min-height:48px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-full);padding:10px 24px;background:transparent;color:var(--md-sys-color-primary);font:var(--md-sys-typescale-label-large);transition:background var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard)}button:hover,summary:hover{background-image:linear-gradient(#6750a414,#6750a414)}button:active{background-image:linear-gradient(#6750a429,#6750a429)}button:disabled{opacity:.38;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:3px}.primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:transparent}.primary:hover{box-shadow:var(--md-sys-elevation-1)}.text-button,.quiet{border-color:transparent;background:none;padding:10px 12px}.tonal-button{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:transparent}input,select{min-height:48px;border:1px solid var(--md-sys-color-outline);background:transparent;color:var(--md-sys-color-on-surface);border-radius:4px;padding:12px 16px;min-width:0}select{cursor:pointer;font:var(--md-sys-typescale-label-large)}select option{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted,.lead{color:var(--md-sys-color-on-surface-variant)}.topbar{min-height:80px;padding:16px max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--md-sys-color-surface-container-low)}.brand{font-size:1.5rem;font-weight:550;text-decoration:none;color:var(--md-sys-color-on-surface);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.module-label{font:var(--md-sys-typescale-label-large);background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:8px;padding:5px 12px}.version{font:var(--md-sys-typescale-body-medium);color:var(--md-sys-color-on-surface-variant)}.preferences{display:flex;gap:12px;align-items:center}.preferences select{border-radius:var(--md-sys-shape-full)}main{max-width:1240px;margin:auto;padding:48px 24px;min-height:calc(100vh - 164px)}.search-area{max-width:920px;margin:0 auto 40px}.eyebrow{display:block;font:var(--md-sys-typescale-label-large);letter-spacing:.06em;color:var(--md-sys-color-primary);margin-bottom:16px}.lead{margin-bottom:28px;max-width:760px}.search-row{position:relative;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-row .field-label{position:absolute;top:-10px;left:16px;background:var(--md-sys-color-surface);padding:0 5px;color:var(--md-sys-color-primary);font-size:.75rem}.search-row input{flex:1;min-width:160px;min-height:56px;padding:16px}.search-row .primary{min-height:48px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.feature-grid article,.module-card{border-radius:12px;background:var(--md-sys-color-surface-container-low);padding:24px}.feature-grid h2{font-size:1.375rem;line-height:1.3}.feature-grid p,.module-card p{color:var(--md-sys-color-on-surface-variant)}.feature-code{font:var(--md-sys-typescale-label-large);color:var(--md-sys-color-primary);display:block;margin-bottom:24px}.welcome-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.module-grid{max-width:920px;margin:auto}.module-card{max-width:600px}.module-card h2{font-size:1.5rem}.module-card a{display:inline-flex;align-items:center;min-height:48px;font-weight:500}.empty-note{display:flex;gap:12px;justify-content:center;margin-top:24px;color:var(--md-sys-color-on-surface-variant);font-size:.875rem}.home-privacy{max-width:920px;margin:32px auto;color:var(--md-sys-color-on-surface-variant);font-size:.875rem}footer{padding:24px max(24px,calc((100vw - 1192px)/2));font:var(--md-sys-typescale-body-medium);color:var(--md-sys-color-on-surface-variant);display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--md-sys-color-outline-variant)}
/* Input chips: compact content with 48px touch targets. */
.recent-history{margin:16px 0 24px;width:100%;min-width:0}.history-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.history-heading h2{font:var(--md-sys-typescale-title-medium);margin:0}.history-note{font:var(--md-sys-typescale-body-medium);color:var(--md-sys-color-on-surface-variant);margin:0 0 8px}.history-list{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.history-chip{display:flex;align-items:center;max-width:100%;border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;background:var(--md-sys-color-surface-container-low);overflow:hidden}.history-chip button{border:0;border-radius:0;padding:8px 12px}.history-run{text-align:left;color:var(--md-sys-color-on-surface);min-width:0;display:flex;flex-direction:column}.history-domain{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.history-age{font-size:.75rem;line-height:1.4;color:var(--md-sys-color-on-surface-variant)}.history-score{font-variant-numeric:tabular-nums;min-width:48px;font-weight:650}.history-score.good{color:var(--status-good);background:var(--status-good-container)}.history-score.warning{color:var(--status-warning);background:var(--status-warning-container)}.history-score.bad{color:var(--md-sys-color-on-error-container);background:var(--md-sys-color-error-container)}.history-score.neutral{color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container-highest)}.history-remove{min-width:48px;font-size:20px}.history-score-detail{margin:12px 0;padding:12px 16px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:12px;font-size:.875rem;overflow-wrap:anywhere}
@media(max-width:720px){.topbar{padding:16px;flex-wrap:wrap}.brand{font-size:1.25rem}.preferences{gap:8px}.preferences select{padding:10px}.version{font-size:.75rem}main{padding:32px 16px}.search-row{gap:12px}.search-row .primary{padding:12px 16px}h1{font-size:2rem}.welcome-heading{flex-wrap:wrap}footer{padding:20px 16px;flex-direction:column}.history-domain{max-width:170px}.history-heading .text-button{padding:8px}.history-chip{flex:0 1 auto}.history-run{flex:1}.module-card{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Compact tool directory and shared module shell. */
.home-main{max-width:1000px;padding-top:56px}.home-search{max-width:760px;margin:0 auto 48px}.home-search h1{max-width:650px}.global-search{display:flex;align-items:center;gap:12px;min-height:64px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-extra-large);padding:6px 16px;background:var(--md-sys-color-surface-container-low);box-shadow:var(--md-sys-elevation-1)}.global-search:focus-within{outline:3px solid var(--md-sys-color-primary);outline-offset:2px}.global-search svg,.icon-button svg,.brand-mark{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--md-sys-color-on-surface-variant);flex:none}.global-search input{border:0;outline:0!important;box-shadow:none!important;flex:1;min-height:48px;background:transparent;padding:8px 4px}.global-search kbd{white-space:nowrap;padding:4px 8px;border:1px solid var(--md-sys-color-outline-variant);border-radius:6px;color:var(--md-sys-color-on-surface-variant);font:var(--md-sys-typescale-body-medium)}.search-hint{font-size:.8125rem;color:var(--md-sys-color-on-surface-variant);margin:8px 12px}.home-section{margin:0 0 40px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-heading h2{font:var(--md-sys-typescale-title-medium);margin:0}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-card{display:flex;align-items:stretch;min-width:0;min-height:110px;border-radius:16px;background:var(--md-sys-color-surface-container-low);transition:background var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard)}.tool-card:hover{background:var(--md-sys-color-surface-container-high)}.tool-link{display:flex;align-items:center;gap:14px;flex:1;min-width:0;padding:18px 4px 18px 18px;color:var(--md-sys-color-on-surface);text-decoration:none;border-radius:16px}.tool-glyph{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:14px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.tool-glyph svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tool-card-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.tool-module{color:var(--md-sys-color-primary);font-size:.75rem;line-height:1.2;letter-spacing:.04em}.tool-card-copy strong{font:var(--md-sys-typescale-title-medium);line-height:1.35}.tool-description{font:var(--md-sys-typescale-body-medium);color:var(--md-sys-color-on-surface-variant);line-height:1.35}.favorite-toggle:hover{background:var(--md-sys-color-secondary-container)}.empty-state{margin:0;padding:16px;border-radius:12px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant);font:var(--md-sys-typescale-body-medium)}.ip-card{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:52px 0 8px;padding:24px 28px;border-radius:20px;background:var(--md-sys-color-surface-container)}.ip-copy{min-width:0}.ip-copy .eyebrow{margin-bottom:4px}.ip-card h2{font:var(--md-sys-typescale-title-medium);margin:0 0 4px}.ip-value-row{display:flex;align-items:center;gap:10px;min-width:0;margin:8px 0}.ip-value-row code{font:600 1.15rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.ip-family{border-radius:999px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);padding:4px 9px;font-size:.75rem}.ip-card .muted{font-size:.8125rem;margin:8px 0 0}.icon-button{display:grid;place-items:center;min-width:48px;width:48px;height:48px;padding:0;border:0;color:var(--md-sys-color-on-surface-variant)}.icon-button svg{color:inherit}.ip-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;max-width:350px}.ip-actions a{display:inline-flex;align-items:center;min-height:48px;padding:6px 12px;border-radius:999px;color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-high);font:var(--md-sys-typescale-label-large);text-decoration:none}.ip-actions a:hover{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.brand img{display:block;object-fit:contain}.noscript-note{padding:16px;text-align:center}.home-main footer{margin-top:24px}
.tool-main{max-width:1000px;padding-top:32px}.back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;text-decoration:none}.tool-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.tool-heading h1{margin-bottom:8px}.tool-heading .lead{margin-bottom:0}.module-lower{text-transform:lowercase}.tool-heading>.favorite-toggle{margin-top:12px}.tool-nav{display:flex;gap:8px;overflow:auto;padding:4px 0 16px;margin-bottom:8px;border-bottom:1px solid var(--md-sys-color-outline-variant);scrollbar-width:thin}.tool-nav a{display:inline-flex;align-items:center;white-space:nowrap;min-height:42px;padding:8px 14px;border-radius:999px;color:var(--md-sys-color-on-surface-variant);text-decoration:none;font:var(--md-sys-typescale-label-large)}.tool-nav a:hover,.tool-nav a.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.tool-panel{margin:20px 0;padding:28px;border-radius:24px;background:var(--md-sys-color-surface-container-low)}.tool-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.tool-panel-heading h2{font:var(--md-sys-typescale-title-medium);margin:0 0 4px}.tool-panel-heading p{color:var(--md-sys-color-on-surface-variant);font:var(--md-sys-typescale-body-medium);margin:0}.origin-icon{display:grid;place-items:center;min-width:48px;width:48px;height:48px;padding:0;border:0;border-radius:50%;color:var(--md-sys-color-on-surface-variant);position:relative}.origin-icon::after{content:attr(title);position:absolute;z-index:5;top:50%;right:calc(100% + 8px);transform:translateY(-50%);width:max-content;max-width:240px;padding:8px 12px;border-radius:8px;background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);font:var(--md-sys-typescale-body-medium);opacity:0;pointer-events:none;transition:opacity 120ms}.origin-icon:hover::after,.origin-icon:focus-visible::after{opacity:1}.tool-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:24px 0 8px}.form-field{display:flex;flex:1 1 250px;flex-direction:column;gap:6px;min-width:160px}.form-field label{font:var(--md-sys-typescale-label-large);color:var(--md-sys-color-on-surface-variant)}.form-field input,.form-field select{width:100%;min-height:56px}.tool-form>.primary{min-width:145px}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--md-sys-color-primary)}.status-dot.good{background:var(--status-good)}.status-dot.bad{background:var(--md-sys-color-error)}.result-tabs{display:flex;gap:4px;padding:0 12px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.result-tabs button{min-height:48px;border:0;border-radius:8px 8px 0 0;padding:8px 14px;color:var(--md-sys-color-on-surface-variant)}.result-tabs button[aria-selected=true]{color:var(--md-sys-color-primary);box-shadow:inset 0 -2px var(--md-sys-color-primary)}.result-content p{margin:0;white-space:pre-line}.privacy-page{max-width:800px}.privacy-page h1{margin-bottom:10px}.privacy-section{padding:20px 0;border-bottom:1px solid var(--md-sys-color-outline-variant)}.privacy-section h2{font:var(--md-sys-typescale-title-medium);margin-bottom:8px}.privacy-section p{color:var(--md-sys-color-on-surface-variant);margin:0}
@media(max-width:760px){.home-main{padding:36px 16px}.home-search{margin-bottom:36px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-card{align-items:flex-start;flex-direction:column;gap:16px;padding:20px}.ip-actions{justify-content:flex-start;max-width:none}.tool-main{padding:28px 16px}.tool-panel{padding:20px}.tool-form>.primary{width:100%}}
@media(max-width:520px){.tool-grid{grid-template-columns:1fr}.tool-card{min-height:96px}.tool-description{max-width:38ch}.global-search{gap:8px;padding:6px 12px}.global-search kbd{font-size:.75rem}.home-search h1{font-size:1.9rem}.tool-heading{gap:8px}.tool-heading h1{font-size:1.8rem}.tool-nav a{padding:7px 11px}.result-tabs{padding:0 6px}.result-tabs button{padding:8px 10px;font-size:.8125rem}.tool-panel{padding:16px}.ip-value-row code{font-size:1rem}}
/* Shared shell and compact, tool-specific result surfaces. */
.topbar .brand img{width:34px;height:38px;flex-shrink:0}.header-context{display:flex;align-items:center;gap:12px;min-width:0}.header-context h1{font:var(--md-sys-typescale-title-medium);margin:0}.header-context .module-label{text-transform:lowercase;color:var(--md-sys-color-on-surface-variant);text-decoration:none}.topbar .preferences{margin-left:auto}.tool-heading{align-items:center}.tool-heading .lead{margin:0;flex:1}.tool-panel-heading{align-items:center}.tool-panel-heading h2{font:var(--md-sys-typescale-title-medium)}#favorites-section{padding:20px;border-radius:var(--md-sys-shape-extra-large);background:var(--md-sys-color-secondary-container)}#favorites-section .tool-card{background:var(--md-sys-color-surface)}.presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.presets button{border:1px solid var(--md-sys-color-outline);border-radius:8px;background:transparent;color:var(--md-sys-color-on-surface);padding:8px 12px;cursor:pointer}.presets button:hover{background:var(--md-sys-color-surface-container-high)}.table-scroll{overflow:auto}.records-table{border-collapse:collapse;width:100%;text-align:left}.records-table th,.records-table td{padding:12px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.records-table td:last-child{overflow-wrap:anywhere}.tool-result details{margin-top:16px}.tool-result summary{cursor:pointer;padding:10px 0}.search-selected{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}#live-status{margin-left:auto;font-size:.875rem;color:var(--md-sys-color-on-surface-variant)}
@media(max-width:650px){.topbar{flex-wrap:wrap;gap:12px}.header-context{order:3;flex-basis:100%}.header-context h1{font-size:1rem}.topbar .preferences{gap:6px}.topbar .brand{font-size:1.25rem}#favorites-section{padding:16px}.tool-panel{padding:18px}}
/* Shared tool surfaces and diagnostic components. */
.tool-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.tool-heading .lead{margin-bottom:20px}.tool-nav a[aria-current=page]{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.search-area.tool-panel{max-width:none;margin:20px 0}.tool-panel .form-field input{background:var(--md-sys-color-surface)}.port-presets{margin-top:20px}.port-presets button{min-height:48px}.port-presets button[aria-pressed=true]{background:var(--md-sys-color-secondary-container);border-color:var(--md-sys-color-primary)}.port-presets span{font-variant-numeric:tabular-nums;color:var(--md-sys-color-on-surface-variant)}.port-help{font-size:.8125rem;margin-top:12px}.country-table small{display:block;color:var(--md-sys-color-on-surface-variant);font-weight:400;font-size:.75rem;margin-top:4px}.country-flag{font-size:1.6rem;vertical-align:middle}.country-table td,.country-table th{min-width:140px}.speed-dashboard{max-width:640px;margin:16px auto;text-align:center}.speed-meter{position:relative;max-width:360px;margin:28px auto 0}.speed-meter svg{display:block;width:100%;overflow:visible}.meter-track,.meter-arc{fill:none;stroke-width:16;stroke-linecap:round}.meter-track{stroke:var(--md-sys-color-surface-container-highest)}.meter-arc{stroke:var(--md-sys-color-primary);transition:stroke-dashoffset .15s ease-out}.speed-meter text{fill:var(--md-sys-color-on-surface-variant);text-anchor:middle;font:12px system-ui}.meter-value{position:absolute;inset:44% 0 auto;display:flex;flex-direction:column;align-items:center}.meter-value strong{font-size:3.4rem;line-height:1.1;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.meter-value span{color:var(--md-sys-color-on-surface-variant);font-size:.875rem;margin-top:8px}.speed-state{font-weight:500;margin:20px 0}.speed-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.speed-stats div{padding:16px 8px;border-radius:16px;background:var(--md-sys-color-surface-container)}.speed-stats span{display:block;font-size:.75rem;color:var(--md-sys-color-on-surface-variant);margin-bottom:6px}.speed-stats strong{font-weight:500;font-variant-numeric:tabular-nums}.speed-dashboard>.muted{font-size:.8125rem;max-width:520px;margin:20px auto}.speed-history{margin:28px 0}.speed-history h2{font:var(--md-sys-typescale-title-medium);margin:0}.speed-history .result-heading{justify-content:space-between;align-items:center}body[data-tool=test] .tool-form{justify-content:center}body[data-tool=test] .tool-form .primary{min-width:220px}.speed-history .records-table{font-size:.8125rem}@media(prefers-reduced-motion:reduce){.meter-arc{transition:none}}
.advanced-options{margin-top:16px;border-top:1px solid var(--md-sys-color-outline-variant);padding-top:8px}.advanced-options>summary{cursor:pointer;padding:12px 0;color:var(--md-sys-color-primary);font:var(--md-sys-typescale-label-large)}.captcha-dialog h2{margin-bottom:12px}.captcha-description{color:var(--md-sys-color-on-surface-variant);font:var(--md-sys-typescale-body-medium);margin-bottom:24px}.captcha-dialog .cf-turnstile{width:300px;min-height:65px;margin:0 auto}.captcha-dialog .cf-turnstile[data-size=compact]{width:150px;min-height:140px}.captcha-dialog .dialog-actions{margin-top:20px}.speed-provider{font-size:.8125rem;color:var(--md-sys-color-on-surface-variant)}

/* Shared M3 components: app bar, primary tabs, outlined fields and dialogs. */
.topbar { min-height:72px; padding:12px max(24px,calc((100vw - 1052px)/2)); gap:24px; flex-wrap:nowrap; }
.brand { flex-wrap:nowrap; gap:10px; font-size:1.25rem; }
.header-context { order:0; flex:1; gap:12px; }
.header-context h1 { font-size:1rem; line-height:1.4; }
.header-context .module-label { background:none; padding:0 12px 0 0; border-right:1px solid var(--md-sys-color-outline-variant); border-radius:0; }
.preferences-trigger { margin-left:auto; width:48px; height:48px; flex:none; background:var(--md-sys-color-surface-container-high); }
.md-dialog { width:min(420px,calc(100vw - 32px)); padding:28px; border:0; border-radius:28px; background:var(--md-sys-color-surface-container-high); color:var(--md-sys-color-on-surface); box-shadow:0 12px 48px #0004; }
.md-dialog::backdrop { background:#0006; }
.md-dialog h2 { font-size:1.5rem; margin-bottom:24px; }
.md-dialog .preferences { display:grid; gap:24px; --field-surface:var(--md-sys-color-surface-container-high); }
.dialog-actions { display:flex; justify-content:flex-end; margin:28px 0 0; }
.home-main,.tool-main { max-width:1100px; }
.home-main { padding-top:40px; }
.home-search { max-width:none; margin-bottom:32px; }
.home-search h1 { font-size:2rem; margin-bottom:8px; }
.home-search .lead { margin-bottom:24px; }
.global-search { background:var(--md-sys-color-surface-container-high); box-shadow:none; border-color:transparent; border-radius:28px; }
.global-search:focus-within { outline-width:2px; }
.home-section { margin-bottom:32px; }
#favorites-section { padding:20px; background:var(--md-sys-color-surface-container); border:1px solid var(--md-sys-color-outline-variant); border-radius:20px; }
#favorites-section .tool-card { background:var(--md-sys-color-secondary-container); }
#favorites-section .empty-state { background:none; padding:0; }
.tool-card { min-height:104px; border:1px solid transparent; }
.tool-card:focus-within { border-color:var(--md-sys-color-primary); }
#search-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#search-grid .tool-card { min-height:88px; }
#search-grid .tool-link { padding:14px 16px; }
#search-grid .tool-description { font-size:.8125rem; }
.ip-card { margin-top:32px; padding:24px; }
.ip-search-button { min-width:0; padding:8px 0; text-align:left; border:0; border-radius:4px; color:var(--md-sys-color-primary); }
.ip-search-button:hover { text-decoration:underline; text-underline-offset:5px; }
.snackbar { position:fixed; z-index:20; bottom:24px; left:50%; transform:translateX(-50%); max-width:calc(100vw - 32px); border-radius:8px; padding:14px 20px; background:var(--md-sys-color-inverse-surface); color:var(--md-sys-color-inverse-on-surface); box-shadow:var(--md-sys-elevation-1); }
.tool-main { padding-top:20px; }
.tool-toolbar { display:flex; align-items:center; gap:16px; border-bottom:1px solid var(--md-sys-color-outline-variant); }
.tool-nav { flex:1; min-width:0; margin:0; padding:0; gap:4px; border:0; scrollbar-width:thin; }
.tool-nav a { position:relative; min-height:56px; border-radius:8px 8px 0 0; padding:12px 16px; background:none; }
.tool-nav a[aria-current=page],.tool-nav a.active { color:var(--md-sys-color-primary); background:none; }
.tool-nav a[aria-current=page]::after { content:""; position:absolute; bottom:0; left:16px; right:16px; height:3px; border-radius:3px 3px 0 0; background:var(--md-sys-color-primary); }
.tool-nav a:hover { background:var(--md-sys-color-surface-container-high); }
.tool-actions { display:flex; align-items:center; gap:0; flex:none; }
.origin-icon,.tool-actions .favorite-toggle { width:48px; min-width:48px; height:48px; margin:0; }
.tool-intro { margin:16px 0 20px; color:var(--md-sys-color-on-surface-variant); font:var(--md-sys-typescale-body-medium); }
.tool-panel,.search-area.tool-panel { --field-surface:var(--md-sys-color-surface-container-low); margin:0 0 24px; padding:24px; border-radius:20px; background:var(--field-surface); }
.tool-form { margin:8px 0 0; gap:16px; align-items:center; }
.form-field { position:relative; min-width:0; flex:1 1 200px; gap:0; --field-label:var(--md-sys-color-on-surface-variant); }
.form-field label { position:absolute; z-index:1; left:12px; top:-9px; padding:0 4px; max-width:calc(100% - 24px); background:var(--field-surface,var(--md-sys-color-surface)); font-size:.75rem; line-height:18px; color:var(--field-label); }
.form-field:focus-within { --field-label:var(--md-sys-color-primary); }
.form-field input,.form-field select,.tool-panel .form-field input { min-height:56px; width:100%; padding:14px 16px; border-radius:4px; background-color:transparent; border:1px solid var(--md-sys-color-outline); outline-offset:0; }
.form-field input:focus,.form-field select:focus { outline:2px solid var(--md-sys-color-primary); outline-offset:-2px; }
.form-field select { appearance:none; padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23868190' d='m7 10 5 5 5-5z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }
.tool-form>.primary { min-height:48px; min-width:128px; }
.advanced-options { margin-top:20px; padding-top:8px; }
.advanced-options>summary { display:flex; align-items:center; gap:10px; padding:8px 12px; min-height:48px; width:fit-content; border-radius:24px; list-style:none; }
.advanced-options>summary::-webkit-details-marker { display:none; }
.advanced-options>summary::before { content:"+"; font-size:20px; line-height:1; }
.advanced-options[open]>summary::before { content:"−"; }
.advanced-options .search-options { display:flex; gap:20px; align-items:center; margin-top:20px; }
.advanced-options .search-options input { width:100%; }
.advanced-options .search-hint { margin:0; }
.operation-progress { margin-top:20px; color:var(--md-sys-color-on-surface-variant); font-size:.875rem; }
.md-progress { display:block; appearance:none; overflow:hidden; border:0; border-radius:4px; width:100%; height:4px; background:var(--md-sys-color-secondary-container); accent-color:var(--md-sys-color-primary); }
.md-progress::-webkit-progress-bar { background:var(--md-sys-color-secondary-container); border-radius:4px; }
.md-progress::-webkit-progress-value { background:var(--md-sys-color-primary); border-radius:4px; }
.md-progress::-moz-progress-bar { background:var(--md-sys-color-primary); }
@keyframes progress-slide { from { background-position:-70% 0; } to { background-position:170% 0; } }
.loading-panel { padding:24px; margin:24px 0; border-radius:20px; background:var(--md-sys-color-surface-container-low); text-align:left; }
.loading-heading { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.loading-heading h2 { font:var(--md-sys-typescale-title-medium); margin:0; flex:1; }
.loading-heading #elapsed { font-size:.8125rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
.loading-panel p { margin:16px 0 0; font-size:.875rem; color:var(--md-sys-color-on-surface-variant); }
.loading-panel progress { height:4px; margin:0; }
.tool-result .result-heading { border-bottom:1px solid var(--md-sys-color-outline-variant); }
.presets { gap:8px; }
.presets button { border-radius:8px; min-height:48px; font-size:.8125rem; }
.port-presets button[aria-pressed=true] { background:var(--md-sys-color-secondary-container); color:var(--md-sys-color-on-secondary-container); border-color:transparent; }
.port-presets button[aria-pressed=true]::before { content:"✓ "; }
.action-menu { position:relative; }
.action-menu>summary { min-height:48px; padding:12px 18px; border-radius:24px; background:var(--md-sys-color-secondary-container); color:var(--md-sys-color-on-secondary-container); cursor:pointer; list-style:none; font:var(--md-sys-typescale-label-large); }
.action-menu>summary::after { content:" ▾"; }
.action-menu>summary::-webkit-details-marker { display:none; }
.action-menu-items { position:absolute; z-index:10; top:calc(100% + 8px); right:0; min-width:180px; padding:8px; border-radius:12px; background:var(--md-sys-color-surface-container-high); box-shadow:var(--md-sys-elevation-1); }
.action-menu-items button { display:block; width:100%; text-align:left; border:0; border-radius:8px; color:var(--md-sys-color-on-surface); }
.segmented-control { display:inline-flex; gap:0; padding:0; border:1px solid var(--md-sys-color-outline); border-radius:24px; overflow:hidden; }
.segmented-control button { border:0; border-radius:0; margin:0; min-height:48px; padding:10px 16px; }
.segmented-control button+button { border-left:1px solid var(--md-sys-color-outline); }
.segmented-control button.active { background:var(--md-sys-color-secondary-container); color:var(--md-sys-color-on-secondary-container); }
.segmented-control button.active::before { content:"✓ "; }
@media(max-width:720px) {
 .topbar { padding:12px 16px; gap:12px; }
 .topbar .brand { font-size:1.125rem; }
 .header-context { order:0; flex-basis:auto; gap:8px; }
 .header-context h1 { font-size:.875rem; }
 .header-context .module-label { padding-right:8px; font-size:.75rem; }
 
 .home-main,.tool-main { padding:24px 16px; }
 .home-search h1 { font-size:1.75rem; }
 .tool-toolbar { gap:4px; }
 .tool-nav a { padding:12px; }
 .tool-actions .favorite-toggle,.origin-icon { width:48px; min-width:48px; }
 .tool-panel,.search-area.tool-panel { padding:20px 16px; }
 .tool-form { gap:20px 12px; }
 .tool-form>.primary { width:auto; flex:0 0 auto; min-width:104px; }
 .tool-form .form-field { flex-basis:180px; }
 .loading-panel { padding:16px; }
 .loading-heading { flex-wrap:wrap; }
 .loading-heading h2 { min-width:140px; }
 .ip-card { padding:20px; }
 #search-grid { grid-template-columns:1fr; }
 .global-search kbd { display:none; }
}
@media(max-width:420px) {
 .tool-form>.primary { width:100%; }
 .tool-form .form-field { flex-basis:100%; }
 .brand img { width:34px; height:38px; }
 .header-context .module-label { display:none; }
 .md-dialog { padding:24px; }
}
.port-more { margin-top:12px; }
.port-more summary { color:var(--md-sys-color-primary); cursor:pointer; padding:10px 0; font:var(--md-sys-typescale-label-large); }
.port-more .presets { margin-top:8px; }

/* Common icons have one SVG and one 48px target, without text glyphs. */
.favorite-toggle { display:grid; place-items:center; align-self:center; flex:none; width:48px; min-width:48px; height:48px; margin:0; padding:0; border:0; border-radius:50%; background:transparent; color:var(--md-sys-color-primary); }
.favorite-icon,.origin-icon svg { display:block; width:24px; height:24px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.favorite-toggle[aria-pressed=true] .favorite-icon { fill:currentColor; }
@media(forced-colors:active) { .favorite-toggle[aria-pressed=true] { outline:2px solid Highlight; outline-offset:-4px; } }

/* Body text shares the UI typeface; only literal technical output is monospace. */
:root { --app-monospace:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace; }
pre,code,kbd { font-family:var(--app-monospace); }
.tool-result { overflow:hidden; margin-top:24px; border:1px solid var(--md-sys-color-outline-variant); border-radius:16px; background:var(--md-sys-color-surface-container); }
.result-heading { display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--md-sys-color-outline-variant); }
.result-heading h2 { margin:0; font:var(--md-sys-typescale-title-medium); }
.result-content { padding:20px; font:var(--md-sys-typescale-body-medium); }
.result-content>:first-child { margin-top:0; }
.result-content>:last-child { margin-bottom:0; }
.result-summary { white-space:pre-line; color:var(--md-sys-color-on-surface); font:var(--md-sys-typescale-body-medium); }
.tool-result pre { margin:0 0 16px; padding:0; max-height:440px; overflow:auto; border-radius:0; background:transparent; color:var(--md-sys-color-on-surface); font:400 .875rem/1.6 var(--app-monospace); tab-size:4; white-space:pre-wrap; overflow-wrap:anywhere; }
.error-message { display:flex; align-items:flex-start; gap:12px; width:100%; max-width:none; margin:20px 0 0; padding:16px 20px; border-radius:12px; background:var(--md-sys-color-error-container); color:var(--md-sys-color-on-error-container); font:var(--md-sys-typescale-body-medium); overflow-wrap:anywhere; }
.error-message::before { content:""; display:block; flex:0 0 20px; height:20px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M12 8v5m0 3v1'/%3E%3Ccircle fill='none' stroke='black' stroke-width='2' cx='12' cy='12' r='9'/%3E%3C/svg%3E") center/contain no-repeat; }
.status-message { margin:20px 0 0; padding:16px 20px; border-radius:12px; background:var(--md-sys-color-surface-container); font:var(--md-sys-typescale-body-medium); }
.operation-progress { margin-top:20px; }
.operation-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; margin-bottom:8px; font:var(--md-sys-typescale-body-medium); }
.operation-progress>span { display:block; margin-bottom:12px; font:var(--md-sys-typescale-body-medium); }
.md-linear { display:block; position:relative; overflow:hidden; width:100%; height:4px; border-radius:2px; background:var(--md-sys-color-surface-container-highest); }
.md-linear-bar { position:absolute; inset:0; display:block; background:var(--md-sys-color-primary); transform-origin:left center; animation:linear-primary 1.8s cubic-bezier(.4,0,.2,1) infinite; }
.md-linear-bar+ .md-linear-bar { animation-name:linear-secondary; }
@keyframes linear-primary { 0% { transform:translateX(-45%) scaleX(.45); } 50% { transform:translateX(30%) scaleX(.65); } 100% { transform:translateX(110%) scaleX(.1); } }
@keyframes linear-secondary { 0%,35% { transform:translateX(-100%) scaleX(.3); } 80% { transform:translateX(25%) scaleX(.4); } 100% { transform:translateX(100%) scaleX(.4); } }
.tool-form[aria-busy=true]>.primary,form[aria-busy=true] .tool-form>.primary { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.tool-form[aria-busy=true]>.primary::before,form[aria-busy=true] .tool-form>.primary::before { content:""; flex:none; width:16px; height:16px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:busy-rotate .8s linear infinite; }
.tool-form[aria-busy=true]>.primary:disabled,form[aria-busy=true] .tool-form>.primary:disabled { opacity:1; cursor:progress; background:var(--md-sys-color-secondary-container); color:var(--md-sys-color-on-secondary-container); }
@keyframes busy-rotate { to { transform:rotate(360deg); } }
@keyframes surface-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
.tool-result:not([hidden]),.error-message:not([hidden]),.status-message:not([hidden]),.operation-progress:not([hidden]),#report:not([hidden]),.loading-panel:not([hidden]) { animation:surface-enter 180ms var(--md-sys-motion-easing-standard); }
@media(max-width:720px) { .result-heading { padding:16px; } .result-content { padding:16px; } .error-message,.status-message { padding:16px; } }
@media(prefers-reduced-motion:reduce) { .md-linear-bar { animation:none; transform:translateX(25%) scaleX(.5); } .md-linear-bar+ .md-linear-bar { display:none; } }

/* One wordmark reveal after ten seconds; expand only while it is visible. */
.brand-wordmark { display:grid; align-items:center; white-space:nowrap; font-size:1.125rem; letter-spacing:-.035em; }
.brand-wordmark>span { grid-area:1/1; }
.brand-expanded { max-width:0; overflow:hidden; font-size:clamp(.75rem,2.7vw,1.125rem); opacity:0; transform:translateY(4px); pointer-events:none; }
.brand-accent { color:var(--md-sys-color-primary); }
.brand-short { animation:brand-short 4s 10s cubic-bezier(.2,0,0,1) both; }
.brand-expanded { animation:brand-expanded 4s 10s cubic-bezier(.2,0,0,1) both; }
@keyframes brand-short { 0%,100% {opacity:1;transform:translateY(0)} 10%,90% {opacity:0;transform:translateY(-4px)} }
@keyframes brand-expanded { 0%,100% {max-width:0;opacity:0;transform:translateY(4px)} 10%,90% {max-width:24em;opacity:1;transform:translateY(0)} }
@media(max-width:850px) {
 .topbar { flex-wrap:wrap; gap:12px; }
 .header-context { order:3; flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .brand-short,.brand-expanded { animation:none; }
}

/* Visitor details stay within the shared tool surfaces. */
.visitor-facts { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin:12px 0; font-size:.875rem; }
.visitor-facts a { color:var(--md-sys-color-primary); text-underline-offset:3px; }
.visitor-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:8px 0 16px; }
.visitor-summary code { font-size:1.125rem; overflow-wrap:anywhere; }
.info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin:16px 0; }
.info-grid>div { padding:14px 0; border-bottom:1px solid var(--md-sys-color-outline-variant); min-width:0; }
.info-grid dt { color:var(--md-sys-color-on-surface-variant); font-size:.8125rem; margin-bottom:6px; }
.info-grid dd { margin:0; overflow-wrap:anywhere; }
.info-grid .detected { color:var(--md-sys-color-primary); }
.browser-raw,.connection-evidence { margin:20px 0; }
.browser-raw summary,.connection-evidence summary { cursor:pointer; padding:12px 0; }
.browser-raw pre { white-space:pre-wrap; overflow-wrap:anywhere; padding:16px; background:var(--md-sys-color-surface-container-high); border-radius:12px; font-size:.875rem; }
#connection-form { margin-top:20px; }
#connection-form .primary { min-height:48px; }
@media(max-width:520px) { .info-grid { grid-template-columns:1fr; } .visitor-facts { line-height:1.6; } }
.speed-chart{display:block;width:100%;height:100px;color:var(--md-sys-color-primary);margin-block:16px}.source-detail{display:block;margin-block:4px}.speed-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.tool-nav{min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}.info-grid dd{overflow-wrap:anywhere}

/* Connection summary and direct actions lead the homepage. */
.home-main .connection-card{display:block;margin:0 0 24px;padding:20px;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:24px}
.connection-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.connection-card .section-heading h2{margin:0}
.connection-card .ip-value-row{flex-wrap:wrap;gap:8px;margin:4px 0}
.connection-card .ip-search-button{flex:0 1 auto;max-width:100%}
.connection-card .ip-value-row code{font-size:1.25rem;font-weight:500}
.connection-hint{margin:0;color:var(--md-sys-color-on-surface-variant);font:var(--md-sys-typescale-body-medium)}
.connection-links{display:grid;gap:4px;min-width:0}
.connection-link{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px;border-radius:12px;text-decoration:none;color:var(--md-sys-color-on-surface)}
.connection-link:hover{background:var(--md-sys-color-surface-container-high)}
.connection-link>svg{width:24px;height:24px;flex:none;fill:none;stroke:var(--md-sys-color-primary);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.connection-link>span:not(.connection-chevron){display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.connection-link strong{font:var(--md-sys-typescale-label-large)}
.connection-link span span{font:var(--md-sys-typescale-body-medium);color:var(--md-sys-color-on-surface-variant)}
.connection-chevron{margin-left:auto;color:var(--md-sys-color-on-surface-variant);font-size:24px}
.connection-card .ip-actions{justify-content:flex-start;max-width:none;margin-top:20px;padding-top:16px;border-top:1px solid var(--md-sys-color-outline-variant);gap:8px}
.connection-card .ip-actions a{min-height:40px;border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;background:transparent;padding:8px 16px}
.connection-card .ip-actions a:hover{background:var(--md-sys-color-secondary-container)}
.home-main .home-search{max-width:none;margin-bottom:32px}
@media(max-width:680px){.connection-overview{grid-template-columns:minmax(0,1fr);gap:16px}.home-main .connection-card{padding:20px}.connection-links{border-top:1px solid var(--md-sys-color-outline-variant);padding-top:12px}.connection-link{padding:8px 0}.connection-card .ip-value-row code{font-size:1.125rem}}

/* Homepage catalog uses the existing tool cards and search. */
.catalog-group{margin-top:24px}.catalog-group+.catalog-group{border-top:1px solid var(--md-sys-color-outline-variant);padding-top:24px}.catalog-group .section-heading h3{font:var(--md-sys-typescale-title-medium);margin:0;color:var(--md-sys-color-on-surface-variant)}

.catalog-switch{display:inline-flex;max-width:100%;border:1px solid var(--md-sys-color-outline);border-radius:24px;overflow:hidden;margin-bottom:20px}.catalog-switch button{min-height:48px;padding:10px 20px;border:0;border-radius:0;background:transparent;font:var(--md-sys-typescale-label-large);color:var(--md-sys-color-on-surface);transition:background-color 160ms,color 160ms}.catalog-switch button+button{border-left:1px solid var(--md-sys-color-outline)}.catalog-switch button[aria-pressed=true]{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.catalog-switch button:hover{background:var(--md-sys-color-surface-container-high)}.catalog-switch button[aria-pressed=true]:hover{background:var(--md-sys-color-secondary-container)}#catalog-groups[hidden],#popular-panel[hidden]{display:none}@media(prefers-reduced-motion:reduce){.catalog-switch button{transition:none}}
