/* WDOIS — public domain and network utilities.
   This presentation layer follows page styles; it never controls result visibility. */
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/space-grotesk-400-ycayU3L.woff2") format('woff2'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/space-grotesk-500-Vs0YnDR.woff2") format('woff2'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/space-grotesk-600-DyjX2Gv.woff2") format('woff2'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/space-grotesk-700-OHn2ZHO.woff2") format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400 600; font-display: swap; src: url("../fonts/ibm-plex-mono-400-loqHWjX.woff2") format('woff2'); }
html { --header-height: 72px; --sidebar-width: 252px; }
body.wdois-workspace { font-family: var(--font-ui); line-height: 1.5; -webkit-font-smoothing: antialiased; }
.wdois-workspace button, .wdois-workspace input, .wdois-workspace select, .wdois-workspace textarea { font-family: inherit; }
.wdois-workspace :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.wdois-workspace input:focus-visible, .wdois-workspace textarea:focus-visible { outline-offset: 2px; }
.wdois-workspace ::selection { color: var(--ink-strong); background: var(--selected); }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; padding: 12px 20px; background: var(--surface); color: var(--brand); border: 1px solid var(--brand); border-radius: 6px; }
.skip-link:focus { top: 10px; }
.wdois-workspace .site-header { height: var(--header-height); padding: 0 24px; gap: 0; background: var(--header); }
.wdois-workspace .sidebar-toggle { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 7px; margin-right: 15px; }
.wdois-workspace .sidebar-toggle:hover { background: var(--hover); }
.wdois-workspace .brand-row { gap: 11px; }
/* The bar only exists as a box on phones (see the 560px block); above that its children sit in the header row as before. */
.site-header__bar { display: contents; }
.wdois-workspace .site-header .sidebar-toggle { order: 0; }
.wdois-workspace .site-header .site-title-link { order: 1; }
.wdois-workspace .site-header .universal-search { order: 2; }
.wdois-workspace .site-header .header-right { order: 3; }
.brand-symbol { width: 34px; height: 34px; color: var(--brand); flex-shrink: 0; }
.brand-symbol circle { fill: var(--surface); stroke: var(--brand); stroke-width: 2; }
.wdois-workspace .site-title { font-size: 23px; font-weight: 700; letter-spacing: -.9px; }
.wdois-workspace .site-title .brand-wdois { color: var(--brand-w); }
.brand-domain { color: var(--brand-dot); font-weight: 500; }
.wdois-workspace .brand-divider, .wdois-workspace .site-subtitle { display: none; }
.wdois-workspace .header-right { display: flex; align-items: center; margin-left: 20px; }
.wdois-workspace .theme-toggle__btn { width: 38px; height: 38px; border-radius: 8px; }
.universal-search { position: relative; margin-left: auto; width: min(410px, 42vw); }
.wdois-workspace .sidebar-search { position: relative; margin: 0; height: 39px; padding: 0; background: var(--surface-subtle); border: 1px solid var(--line); border-radius: 7px; }
.wdois-workspace .sidebar-search:focus-within { border-color: var(--focus); box-shadow: 0 0 0 3px var(--brand-soft); }
/* The input fills the whole visible field, so any click inside it focuses the input; the icon and the submit button sit on
   top of the input's padding, which keeps the space they used to take (12px + 16px icon + gap left, gap + 28px + 8px right). */
.wdois-workspace .sidebar-search__input { align-self: stretch; padding: 0 calc(0.6rem + 36px) 0 calc(28px + 0.6rem); font-size: 12px; font-family: var(--font-data); }
.wdois-workspace .sidebar-search__input:focus-visible { outline: none; } /* the field's :focus-within ring shows focus */
.wdois-workspace .sidebar-search__icon { position: absolute; left: 12px; top: calc(50% - 8px); pointer-events: none; }
.wdois-workspace .sidebar-search .universal-search-submit { position: absolute; right: 8px; top: calc(50% - 13px); }
.universal-search-submit { color: var(--ink-muted); background: var(--surface); border: 1px solid var(--line); width: 28px; height: 26px; border-radius: 4px; cursor: pointer; }
.universal-search-submit:hover { color: var(--brand); border-color: var(--brand); }
.wdois-workspace .sidebar-search-status { position: absolute; top: 46px; left: 0; margin: 0; height: auto; padding: 9px 12px; width: 100%; background: var(--surface-elevated); box-shadow: var(--elevation); border: 1px solid var(--line); border-radius: 6px; }
.wdois-workspace .sidebar { width: var(--sidebar-width); padding: 24px 13px 16px; background: var(--sidebar); }
.wdois-workspace .sidebar-nav { padding: 16px 0; }
.wdois-workspace .sidebar-section-label { font-family: var(--font-ui); color: var(--ink-muted); font-size: 13px; letter-spacing: 0; text-transform: none; font-weight: 500; margin: 10px; }
.sidebar-section-label > span { letter-spacing: 0; }
.wdois-workspace .nav-menu__link { position: relative; font-size: 13px; font-weight: 500; gap: 10px; padding: 10px; min-height: 42px; border: 1px solid transparent; border-radius: 6px; margin: 2px 0; white-space: normal; }
.wdois-workspace .nav-menu__link:hover { color: var(--ink-strong); background: var(--hover); }
.wdois-workspace .nav-menu__link[aria-current="page"] { color: var(--brand); border-color: var(--line); background: var(--selected); }
.wdois-workspace .nav-menu__link[aria-current="page"]::before { content: ''; position: absolute; left: -14px; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0; background: var(--brand); }
.wdois-workspace .nav-menu__icon { width: 20px; height: 20px; }
.nav-menu__icon > svg { width: 20px; height: 20px; }
.tool-glyph { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; color: var(--brand); }
.tool-glyph img, .tool-glyph svg { display: block; width: 100%; height: 100%; }
.nav-menu__icon .tool-glyph { width: 19px; height: 19px; }
.wdois-workspace .sidebar-section + .sidebar-section { margin-top: 15px; padding-top: 10px; }
.wdois-workspace .app-main { min-width: 0; }
.wdois-workspace .app-main:focus { outline: none; }
@media (min-width: 769px) { html.sidebar-open .app-main { margin-left: var(--sidebar-width); } }
.workspace-trail { min-height: 46px; padding: 12px 36px; border-bottom: 1px solid var(--line); display: flex; gap: 12px; align-items: center; color: var(--ink-muted); font-family: var(--font-ui); font-size: 13px; }
.workspace-trail > a { color: var(--ink-muted); }
.workspace-trail > span[aria-current="page"] { color: var(--brand); }
.wdois-workspace .page-wrapper { padding: 36px 36px 32px; }
.wdois-workspace .page-wrapper > .container { max-width: 1100px; width: 100%; min-width: 0; }
.wdois-workspace .home-workspace { padding-top: 0; }
.home-workspace .page-content { width: 100%; max-width: 1280px; }
.workspace-intro { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 40px; align-items: center; padding: 32px 0 26px; }
.wdois-workspace .workspace-intro h1 { font-size: 34px; letter-spacing: -1px; line-height: 1.2; font-weight: 500; text-align: left; color: var(--ink-strong); margin: 0 0 12px; }
.intro-description { max-width: 620px; color: var(--ink-muted); font-size: 14px; line-height: 1.75; }
.resolution-map { width: 100%; padding: 0 12px; color: var(--ink-muted); }
.map-root { font-family: var(--font-data); font-size: 13px; color: var(--brand); margin-bottom: 6px; }
.map-branches { margin-left: 5px; padding-left: 18px; position: relative; }
.map-branches::before { content: ''; width: 1px; background: var(--line-strong); position: absolute; left: 0; top: 0; bottom: 14px; }
.map-record { position: relative; padding: 3px 5px; font-size: 13px; line-height: 1.6; }
.map-record::before { content: ''; position: absolute; height: 1px; width: 18px; top: 50%; right: 100%; background: var(--line-strong); }
.wdois-workspace .dqc-entry { position: relative; width: 100%; max-width: none; text-align: left; padding: 23px 26px 20px; margin: 0 0 34px; background: var(--surface); border: 1px solid var(--line); border-radius: 9px; box-shadow: var(--elevation); }
.lookup-heading { margin-bottom: 6px; }
.wdois-workspace .dqc-entry h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-weight: 600; letter-spacing: -.4px; font-size: 17px; }
.wdois-workspace .dqc-entry .dqc-sub { display: block; color: var(--ink-muted); font-size: 13px; margin-bottom: 16px; }
.wdois-workspace .dqc-entry .search-form { padding: 0; margin: 0; background: transparent; border: none; box-shadow: none; }
.wdois-workspace .dqc-entry .search-form input { background: var(--surface-subtle); height: 50px; font-family: var(--font-data); font-size: 13px; }
.wdois-workspace .dqc-entry .search-form button { min-width: 136px; font-size: 13px; }
.directory-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 0 0 19px; }
.directory-heading h2 { display: flex; align-items: center; gap: 12px; color: var(--ink-strong); font-size: 21px; font-weight: 500; letter-spacing: -.7px; }
.wdois-workspace .tools-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: none; }
.wdois-workspace .tool-card { position: relative; min-width: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; padding: 20px; display: flex; flex-direction: column; color: var(--ink); text-decoration: none; transition: border-color 150ms, box-shadow 150ms; }
.wdois-workspace .tool-card:hover { border-color: var(--brand); box-shadow: var(--elevation); }
.tool-card__top { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.tool-card .icon { display: flex; width: 32px; height: 32px; align-items: center; justify-content: center; background: var(--brand-soft); border-radius: 6px; flex-shrink: 0; }
.tool-card .tool-glyph { width: 21px; height: 21px; }
.tool-arrow { color: var(--ink-faint); font-size: 16px; margin-left: auto; transition: color 150ms, transform 150ms; }
.tool-card:hover .tool-arrow { color: var(--brand); }
.wdois-workspace .tool-card .card-title { font-size: 16px; font-weight: 600; letter-spacing: -.25px; margin-bottom: 7px; color: var(--ink-strong); }
.wdois-workspace .tool-card .card-desc { color: var(--ink-muted); font-size: 13px; line-height: 1.7; flex: 1; margin-bottom: 0; }
/* Tool pages: a query surface followed by stacked, scan-friendly record panels. */
.wdois-workspace .container > h1 { font-family: var(--font-ui); color: var(--ink-strong); font-weight: 500; text-align: left; font-size: 32px; letter-spacing: -1.2px; line-height: 1.25; margin-bottom: 10px; }
.wdois-workspace .container > h1 img { width: 30px !important; height: 30px !important; vertical-align: -4px; margin-right: 5px; }
.wdois-workspace .container > .subtitle { text-align: left; font-size: 13px; line-height: 1.7; margin-bottom: 26px; color: var(--ink-muted); }
.wdois-workspace .container > .search-form { padding: 17px; border: 1px solid var(--line); border-top: 2px solid var(--brand); border-radius: 8px; background: var(--surface); box-shadow: var(--elevation); gap: 10px; margin-bottom: 20px; }
.wdois-workspace .search-form input[type="text"], .wdois-workspace .search-form input[type="url"], .wdois-workspace .search-form select { border: 1px solid var(--line-strong); border-radius: 5px; background: var(--field); color: var(--ink-strong); padding: 12px 14px; min-width: 0; font-family: var(--font-data); font-size: 13px; }
.wdois-workspace .search-form input::placeholder { color: var(--placeholder); }
.wdois-workspace .search-form :is(input, select):focus { border-color: var(--focus); }
.wdois-workspace .search-form button, .wdois-workspace .submit-btn, .wdois-workspace .btn-primary { border: 1px solid transparent; background: var(--brand-fill); color: #fff; border-radius: 5px; font-weight: 500; font-size: 13px; padding: 12px 22px; transition: background 150ms, box-shadow 150ms; }
.wdois-workspace .search-form button:hover:not(:disabled), .wdois-workspace .submit-btn:hover:not(:disabled), .wdois-workspace .btn-primary:hover:not(:disabled) { background: var(--brand-fill-hover); color: #fff; box-shadow: var(--elevation); }
.wdois-workspace :is(button, input):disabled { cursor: not-allowed; opacity: .65; }
.wdois-workspace .search-form .input-error, .wdois-workspace [aria-invalid="true"] { border-color: var(--danger-ink); }
.wdois-workspace .search-form .spinner, .wdois-workspace .dqc-spinner { border-color: #ffffff55; border-top-color: #fff; }
.wdois-workspace .results-card, .wdois-workspace .spf-panel { background: var(--surface); border: 1px solid var(--line); border-radius: 7px; box-shadow: var(--elevation); }
.wdois-workspace :is(.results-header, .spf-panel-header, .card-header) { background: var(--surface-subtle); border-color: var(--line); padding: 14px 18px; gap: 12px; flex-wrap: wrap; }
.wdois-workspace .results-table { font-size: 12px; }
.wdois-workspace .results-table th { font-family: var(--font-ui); color: var(--ink-muted); text-transform: none; font-size: 12px; font-weight: 500; letter-spacing: 0; background: var(--surface-subtle); }
.wdois-workspace .results-table :is(td, th) { border-color: var(--line); padding: 12px 18px; }
.wdois-workspace .results-table tr:nth-child(odd), .wdois-workspace .results-table tr:nth-child(even) { background: transparent; }
.wdois-workspace .results-table tr + tr { border-top: 1px solid var(--line); }
.wdois-workspace .results-table tr:hover { background: var(--surface-subtle); }
.wdois-workspace :is(.domain-badge, .domain-name, .ns-entry, .ssl-value, .geo-value, .raw-whois, .spf-raw, .query-meta, .chip, .tag, .type-badge, .record-type, code, pre) { font-family: var(--font-data); }
.wdois-workspace :is(.ssl-value, .geo-value) { font-size: 12px; }
.wdois-workspace :is(.ssl-rows, .geo-rows) > li { border-color: var(--line); padding: 12px 18px; }
.wdois-workspace :is(.ssl-label, .geo-label) { color: var(--ink-muted); font-size: 12px; }
.wdois-workspace :is(.raw-whois, .spf-raw, pre) { background: var(--surface-inset); color: var(--ink); font-size: 12px; line-height: 1.8; }
.wdois-workspace :is(.section-label, .spf-section-label, .at-label) { font-family: var(--font-ui); font-weight: 500; font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--ink-muted); text-align: left; }
.wdois-workspace .chip { font-size: 11px; border-radius: 4px; padding: 6px 10px; }
.wdois-workspace .chip--active { background: var(--selected); color: var(--brand); border-color: var(--brand); }
.wdois-workspace :is(.status-badge, .ssl-status-badge, .spf-status-badge, .status-tag, .type-badge, .record-type) { border-radius: 4px; font-size: 11px; }
.wdois-workspace :is(.alert, .result-banner, .info-notice, .fallback-notice) { border-radius: 6px; font-size: 12px; line-height: 1.65; }
.wdois-workspace :is(.alert-error, .banner-error) { border-left: 3px solid var(--danger-ink); }
.wdois-workspace .banner-success { border-left: 3px solid var(--success-ink); }
.wdois-workspace .banner-warn { border-left: 3px solid var(--warning-ink); }
.wdois-workspace .at-section { margin-top: 28px; text-align: left; padding: 22px 0; border-color: var(--line); }
.wdois-workspace .at-links { justify-content: flex-start; gap: 8px; }
.wdois-workspace .at-btn { background: var(--surface); border-color: var(--line); font-size: 12px; padding: 8px 12px; }
.wdois-workspace .at-btn:hover { border-color: var(--brand); color: var(--brand); }
.wdois-workspace .site-footer { justify-content: space-between; text-align: left; font-size: 12px; padding: 16px 36px; gap: 12px; }
.footer-pages { display: flex; flex-wrap: wrap; gap: 12px; }
.wdois-workspace .footer-pages__link, .wdois-workspace .footer-ip { color: var(--ink-faint); font-size: 12px; }
.wdois-workspace .footer-ip__addr { font-family: var(--font-data); font-size: 11px; }
.wdois-workspace .footer-ip__copy { min-width: 28px; min-height: 28px; }
@media (min-width: 1600px) { .wdois-workspace .page-wrapper { padding-left: 60px; padding-right: 60px; } .workspace-intro { padding-top: 40px; padding-bottom: 32px; } }
@media (max-width: 1199px) {
    .wdois-workspace .page-wrapper { padding-left: 25px; padding-right: 25px; }
    .workspace-trail { padding-left: 25px; padding-right: 25px; }
    .workspace-intro { gap: 24px; }
    .wdois-workspace .tool-card { padding-left: 15px; padding-right: 15px; }
    .tool-card__top { gap: 7px; }
    html.sidebar-open .tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 950px) {
    html.sidebar-open .workspace-intro { grid-template-columns: 1fr; }
    html.sidebar-open .resolution-map { display: none; }
    .wdois-workspace .workspace-intro h1 { font-size: 30px; letter-spacing: -.7px; }
}
@media (max-width: 768px) {
    html { --header-height: 66px; --mobile-header-height: 66px; }
    /* Drawer and backdrop are fixed to the viewport just below the sticky header row, whatever the scroll position. */
    .wdois-workspace .sidebar {
        position: fixed; top: var(--mobile-header-height); bottom: auto; left: 0;
        height: calc(100vh - var(--mobile-header-height));
        height: calc(100dvh - var(--mobile-header-height));
        overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    }
    .wdois-workspace .sidebar-backdrop { position: fixed; inset: var(--mobile-header-height) 0 0 0; touch-action: none; }
    /* Background scroll is locked while the drawer is open; assets/sidebar-scroll.js also restores the position on close. */
    html.sidebar-open, html.sidebar-open body { overflow: hidden; overscroll-behavior: none; }
    .wdois-workspace .site-header { padding: 0 16px; }
    .wdois-workspace .sidebar { padding-top: 20px; box-shadow: var(--elevation-high); }
    .wdois-workspace .sidebar-toggle { margin-right: 10px; }
    .wdois-workspace .site-title { font-size: 21px; }
    .brand-symbol { width: 28px; height: 28px; }
    .wdois-workspace .brand-row { gap: 8px; }
    .wdois-workspace .header-right { margin-left: 12px; }
    .universal-search { width: min(290px, 39vw); }
    .wdois-workspace .sidebar-search__input { font-size: 11px; }
    .wdois-workspace .page-wrapper { padding: 26px 20px; }
    .wdois-workspace .home-workspace { padding-top: 0; }
    .workspace-trail { padding: 11px 20px; }
    .workspace-intro, html.sidebar-open .workspace-intro { grid-template-columns: 1.2fr 1fr; padding: 30px 0; gap: 18px; }
    .wdois-workspace .workspace-intro h1 { font-size: 30px; letter-spacing: -.7px; }
    .intro-description { font-size: 14px; }
    .resolution-map, html.sidebar-open .resolution-map { display: block; padding: 14px; }
    .map-record { font-size: 12px; }
    .wdois-workspace .dqc-entry { padding: 20px; margin-bottom: 28px; }
    .wdois-workspace .dqc-entry .search-form { flex-direction: row; }
    .wdois-workspace .dqc-entry .search-form input { flex: 1; width: auto; }
    .wdois-workspace .dqc-entry .search-form button { min-width: 105px; width: auto; }
    .wdois-workspace .tools-grid, html.sidebar-open .tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
    .wdois-workspace .tool-card .card-title { font-size: 14px; }
    .wdois-workspace .container > h1 { font-size: 28px; }
    .wdois-workspace .container > .search-form { padding: 14px; }
    .wdois-workspace .results-card { overflow-x: auto; }
    .wdois-workspace .site-footer { padding: 16px 20px; flex-direction: row; align-items: center; }
    .wdois-workspace .footer-ip { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 560px) {
    html { --header-height: 60px; --mobile-header-height: 60px; }
    /* The header box dissolves, so the bar's sticky range is the whole page (a sticky child cannot outlive its parent). */
    .wdois-workspace .site-header { display: contents; }
    .wdois-workspace .site-header__bar {
        display: flex; align-items: center; position: sticky; top: 0; z-index: 100;
        height: var(--mobile-header-height); padding: 0 16px; background: var(--header); border-bottom: 1px solid var(--line);
    }
    .wdois-workspace .site-header .header-right { margin-left: auto; }
    .wdois-workspace .site-header .universal-search { order: 0; width: 100%; padding: 10px 16px; background: var(--header); border-bottom: 1px solid var(--line); }
    .wdois-workspace .sidebar-search { height: 34px; }
    .wdois-workspace .sidebar-search-status { top: 37px; }
    .wdois-workspace .sidebar-search__input { font-size: 12px; }
    .wdois-workspace .page-wrapper { padding-left: 16px; padding-right: 16px; }
    .workspace-trail { padding-left: 16px; padding-right: 16px; min-height: 40px; font-size: 12px; }
    .workspace-intro, html.sidebar-open .workspace-intro { grid-template-columns: 1fr; padding: 30px 0 25px; }
    .wdois-workspace .workspace-intro h1 { font-size: 28px; letter-spacing: -.6px; margin-bottom: 12px; }
    .intro-description { font-size: 14px; }
    .resolution-map, html.sidebar-open .resolution-map { display: none; }
    .wdois-workspace .dqc-entry { padding: 18px 16px; }
    .wdois-workspace .dqc-entry .search-form { flex-direction: column; gap: 9px; }
    .wdois-workspace .dqc-entry .search-form input { width: 100%; flex: auto; font-size: 12px; }
    .wdois-workspace .dqc-entry .search-form button { width: 100%; min-height: 44px; }
    .directory-heading h2 { font-size: 20px; }
    .wdois-workspace .tools-grid, html.sidebar-open .tools-grid { grid-template-columns: 1fr !important; gap: 10px; }
    .wdois-workspace .tool-card { padding: 18px; }
    .tool-card__top { margin-bottom: 12px; }
    .wdois-workspace .tool-card .card-title { font-size: 16px; }
    .wdois-workspace .tool-card .card-desc { font-size: 13px; }
    .wdois-workspace .container > h1 { font-size: 26px; }
    .wdois-workspace .container > .subtitle { font-size: 12px; }
    .wdois-workspace .search-form input[type="text"], .wdois-workspace .search-form input[type="url"], .wdois-workspace .search-form select { font-size: 16px; }
    .wdois-workspace .site-footer { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .wdois-workspace *, .wdois-workspace *::before, .wdois-workspace *::after { transition-duration: 0s !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
/* The homepage component has local styles in the body; keep its palette explicit. */
.wdois-workspace .dqc-entry .search-form button { background: var(--brand-fill); color: #fff; border: 1px solid transparent; }
.wdois-workspace .dqc-entry .search-form button:hover:not(:disabled) { background: var(--brand-fill-hover); }
.wdois-workspace .dqc-entry .search-form input[type="text"] { background: var(--surface-subtle); }
.wdois-workspace .dqc-entry .dqc-spinner { border-color: #ffffff55; border-top-color: #fff; }
.wdois-workspace .tool-card .card-desc { font-size: 13px; }
/* Standalone related-tool sections also align to the workspace content column. */
.wdois-workspace .page-body > .at-section { margin: 0 36px 24px; padding: 22px 0 0; }
.wdois-workspace .result-banner .icon { font-size: 0; display: inline-flex; width: 22px; height: 22px; flex-shrink: 0; align-items: center; justify-content: center; }
.wdois-workspace .result-banner .icon::before { content: '!'; font: 600 14px/20px var(--font-ui); text-align: center; width: 20px; height: 20px; border: 1.5px solid currentColor; border-radius: 50%; }
.wdois-workspace .banner-success .icon::before { content: '✓'; }
.wdois-workspace .banner-error .icon::before { content: '×'; }
@media (max-width: 1199px) { .wdois-workspace .page-body > .at-section { margin-left: 25px; margin-right: 25px; } }
@media (max-width: 768px) { .wdois-workspace .page-body > .at-section { margin-left: 20px; margin-right: 20px; } }
@media (max-width: 560px) { .wdois-workspace .page-body > .at-section { margin-left: 16px; margin-right: 16px; } }

/* Shared tool entry surfaces. Result layout and visibility stay with each tool. */
.workspace-trail { flex-wrap: wrap; gap: 4px 10px; overflow-wrap: anywhere; }
.workspace-trail > a { padding: 3px 0; text-underline-offset: 3px; }
.workspace-trail > a:hover { color: var(--brand); text-decoration: underline; }
.workspace-trail > [aria-current="page"] { min-width: 0; }
.wdois-workspace .tool-heading { margin-bottom: 24px; }
.wdois-workspace .tool-heading h1 { display: flex; align-items: center; gap: 12px; color: var(--ink-strong); font-family: var(--font-ui); font-size: 32px; font-weight: 500; line-height: 1.25; letter-spacing: -1px; text-align: left; margin: 0 0 10px; overflow-wrap: anywhere; }
.tool-heading .tool-glyph { width: 30px; height: 30px; flex-shrink: 0; }
.wdois-workspace .tool-heading .subtitle { color: var(--ink-muted); font-size: 13px; line-height: 1.7; text-align: left; margin: 0; max-width: 760px; }
.wdois-workspace .tool-panel { padding: 18px; margin: 0 0 20px; border: 1px solid var(--line); border-top: 2px solid var(--brand); border-radius: 8px; background: var(--surface); box-shadow: var(--elevation); }
.wdois-workspace .tool-form.search-form { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px; }
.wdois-workspace .tool-form .tool-field { display: flex; flex-direction: column; gap: 6px; flex: 1 1 220px; min-width: 0; }
.wdois-workspace .tool-form .dkim-selector-wrap { flex-basis: 240px; }
.wdois-workspace .tool-form :is(.tool-label, .textarea-label) { display: block; font-family: var(--font-ui); font-size: 13px; font-weight: 500; color: var(--ink); line-height: 1.5; }
.wdois-workspace .tool-form .tool-label { margin: 0; }
.wdois-workspace .tool-form :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea),
.wdois-workspace .tool-page .search-filter { width: 100%; min-width: 0; padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: 5px; background: var(--field); color: var(--ink-strong); font-family: var(--font-data); font-size: 13px; line-height: 1.5; box-shadow: none; }
.wdois-workspace .tool-form select { max-width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid var(--line-strong); border-radius: 5px; background: var(--field); color: var(--ink-strong); font-family: var(--font-ui); font-size: 13px; }
.wdois-workspace .tool-form textarea { display: block; min-height: 190px; resize: vertical; }
.wdois-workspace .tool-form :is(input, textarea)::placeholder { color: var(--placeholder); font-family: var(--font-data); font-size: inherit; opacity: 1; }
.wdois-workspace .tool-form :is(input, textarea, select):focus { border-color: var(--focus); outline: 2px solid var(--focus); outline-offset: 2px; }
.wdois-workspace .tool-form :is(input, textarea, select).input-error,
.wdois-workspace .tool-form [aria-invalid="true"] { border-color: var(--danger-ink); }
.wdois-workspace .tool-form :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--brand-fill); width: 18px; height: 18px; flex-shrink: 0; }
.wdois-workspace .tool-form :is(.dedup-label, .tool-help) { color: var(--ink-muted); font-family: var(--font-ui); font-size: 12px; line-height: 1.6; }
.wdois-workspace .tool-form .dedup-label { min-height: 36px; gap: 8px; }
.wdois-workspace .tool-form button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; line-height: 1.5; cursor: pointer; }
.wdois-workspace .tool-form.search-form > button[type="submit"] { margin-top: 25.5px; }
.wdois-workspace .tool-form :is(.form-actions, .form-footer, .btn-group) { display: flex; gap: 10px; flex-wrap: wrap; }
.wdois-workspace .tool-form .form-card { padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.wdois-workspace .tool-form :is(.btn-secondary, .clear-btn),
.wdois-workspace .tool-page .perm-btn { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--line-strong); border-radius: 5px; background: var(--surface); color: var(--ink); font-family: var(--font-ui); font-size: 13px; line-height: 1.5; text-decoration: none; cursor: pointer; }
.wdois-workspace .tool-form :is(.btn-secondary, .clear-btn):hover,
.wdois-workspace .tool-page .perm-btn:hover:not(:disabled) { color: var(--brand); border-color: var(--brand); background: var(--brand-soft); }
.wdois-workspace .tool-page :is(button, input, textarea, select):disabled { cursor: not-allowed; opacity: .65; }
.wdois-workspace .tool-page .tool-options-label { color: var(--ink); font-size: 13px; font-weight: 500; margin-bottom: 8px; }
.wdois-workspace .tool-page .type-chips { justify-content: flex-start; flex-wrap: wrap; gap: 8px; }
.wdois-workspace .tool-page .chip { min-width: 40px; min-height: 36px; }
.wdois-workspace .tool-page :is(.alert, #validation-error, #client-error) { font-family: var(--font-ui); }
.wdois-workspace .tool-page :is(#validation-error, #client-error) { color: var(--danger-ink); overflow-wrap: anywhere; }
.wdois-workspace .tool-page :is(.loading-spinner) { border-color: var(--info-line); border-top-color: var(--brand); }
.wdois-workspace .tool-form :is(.spinner, .hdr-spinner) { border-color: #ffffff55; border-top-color: #fff; }
.wdois-workspace .tool-page .info-blurb { background: var(--surface-subtle); border-color: var(--line); color: var(--ink-muted); font-size: 13px; }
@media (min-width: 1600px) { .workspace-trail { padding-left: 60px; padding-right: 60px; } }
@media (max-width: 950px) {
    html.sidebar-open .tool-form .tool-field { flex-basis: 100%; }
    html.sidebar-open .tool-form.search-form > button[type="submit"] { margin-top: 0; }
}
@media (max-width: 768px) {
    .wdois-workspace .tool-heading h1 { font-size: 28px; letter-spacing: -.7px; }
    .wdois-workspace .tool-form.search-form { flex-direction: column; }
    .wdois-workspace .tool-form .tool-field { flex: none; width: 100%; }
    .wdois-workspace .tool-form.search-form > button[type="submit"] { margin-top: 0; width: 100%; }
    .wdois-workspace .tool-form :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), textarea, select) { font-size: 16px; }
}
@media (max-width: 560px) {
    .wdois-workspace .tool-panel { padding: 14px; }
    .wdois-workspace .tool-heading h1 { font-size: 26px; align-items: flex-start; }
    .wdois-workspace .tool-form :is(.form-footer, .form-actions) { align-items: stretch; flex-direction: column; }
    .wdois-workspace .tool-form .btn-group { width: 100%; }
    .wdois-workspace .tool-form .btn-group > button { flex: 1; }
}
.wdois-workspace .tool-form.decode-form { display: flex; flex-direction: column; gap: 10px; }
.wdois-workspace .tool-form .textarea-label { margin-bottom: 8px; }
.wdois-workspace .tool-form .form-footer { justify-content: space-between; align-items: center; margin-top: 12px; }
.wdois-workspace .tool-form .dedup-label { display: flex; align-items: center; cursor: pointer; }
html[data-theme="light"] .wdois-workspace :is(.nav-menu__link[aria-current="page"], .chip--active) { color: var(--brand-hover); }
.wdois-workspace .tool-page .loading-cell { color: var(--ink-muted); }
.wdois-workspace .tool-page .badge--yellow { background: var(--warning-surface); border-color: var(--warning-line); color: var(--warning-ink); }
