/* Workbench is deliberately dark, independent of the OS theme. */
:root{color-scheme:dark;--bg:#0e141e;--panel:#151e2b;--ink:#dce6f2;--muted:#91a1b7;--border:#2a374a;--dns:#76a8ff;--web:#55d6a0;--mail:#bc97ef;--utilities:#efab68;--tint:color-mix(in srgb,var(--accent) 9%,var(--panel));background:var(--bg)}
button{background:#1b2636;color:var(--ink)}
.panel{background:linear-gradient(145deg,#192333,#141d2a);box-shadow:0 2px 3px #0003,0 12px 28px #0002,inset 0 1px 0 #ffffff06}
.brand-mark{background:#273c59}.brand strong>span{color:var(--dns)}
.topbar nav a.active,.topbar nav a:hover{background:color-mix(in srgb,var(--color,var(--dns)) 12%,var(--panel))}
.toolnav a{color:#a0afc2}.toolnav a:hover,.toolnav a.selected{background:color-mix(in srgb,var(--color) 12%,var(--panel))}
textarea{background:#101925;border-color:#304158;color:var(--ink);box-shadow:inset 0 1px 5px #0002}textarea::placeholder{color:#667b94}
.settings input:not([type=checkbox]),.settings select{background:#111a27;color:var(--ink);border-color:#304158}
.primary{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 70%,#153257),color-mix(in srgb,var(--accent) 52%,#132438));color:#fff}.primary:hover{background:color-mix(in srgb,var(--accent) 70%,#153257)}
.toolbox-card{background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--color) 4%,var(--panel)));box-shadow:0 2px 3px #0002,0 8px 20px #0002}
.toolbox-card a{background:linear-gradient(140deg,#1b2636,color-mix(in srgb,var(--color) 3%,#192332));border-color:#2b3a50;color:#c0cddd}.toolbox-card a.selected,.toolbox-card a:hover{background:color-mix(in srgb,var(--color) 10%,var(--panel));color:var(--color)}
.toolbox-card h2 small,footer{color:#8b9db4}.empty-state{color:#8193aa}.empty-state strong{color:#a5b5c9}
.table-wrap{border-color:#2b3a4f}th{background:#1a2637;color:#a7b7cb}th,td{border-bottom-color:#2b394c}td{color:#d0dceb}.result-body p{color:#9dacc0}
.progress-track{background:#29384c}.page-panel{background:var(--panel)}.source-code{background:#101925}.source-line.highlight{background:#66521f;color:#fff3c4}.source-line:before{color:#8495ad;border-right-color:#334257}
.input-heading-actions{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.input-heading-actions button{font-size:16px;line-height:1;padding:2px 5px;color:var(--muted)}
.job-list{margin-bottom:7px}.job-row td:first-child{width:40%;vertical-align:middle}.job-row td:first-child .status-dot{display:inline-block;margin-right:8px}.job-row .result-status{max-width:none;display:block;text-align:left}.job-row .result-progress{padding:5px 0 0;display:flex;flex-direction:column;align-items:stretch}.job-row[data-state=running] .status-dot{width:11px;height:11px;background:transparent;border:1.5px solid #30435e;border-top-color:var(--accent);animation:spin .8s linear infinite}.job-row[data-state=error] .status-dot{background:#f27982}.job-row[data-state=error] .result-status{color:#f3949b}
.merged-section h3{margin-top:12px}.merged-section:first-child h3{margin-top:0}.combined-output{padding-top:0}.combined-output:empty{display:none}
.resource-badge{display:inline-block;border:1px solid #3b4b63;border-radius:4px;font:10px/1.5 "Segoe UI",sans-serif;padding:1px 6px;white-space:nowrap;color:#a6bbd6;background:#1b2a3d}.internal{color:#79d9b0;border-color:#285c4c;background:#18372e}.external{color:#e5b777;border-color:#665137;background:#372c20}.resource-type{color:#9cbeff;border-color:#3a5178;background:#1d2d48}
.load-graph{display:block;background:#223249;height:7px;border-radius:3px;width:120px;overflow:hidden;margin:3px 0}.load-bar{display:block;height:100%;background:linear-gradient(90deg,#4a987c,var(--web));border-radius:3px}.load-label{font-size:10px;white-space:nowrap}.result-warning{color:#e8bc7b!important;margin:7px 0!important}
.trace-result,.text-result{margin:8px 0;border:1px solid #2b3a4f;border-radius:6px;padding:9px 11px}.trace-result>summary,.text-result>summary{cursor:pointer;color:var(--accent);font:12px Consolas,monospace;overflow-wrap:anywhere}.text-result pre{margin-top:9px;color:#b6c7dc}
.trace-tree,.trace-tree ul{list-style:none;margin:9px 0 0;padding-left:18px}.trace-tree{padding-left:0}.trace-tree ul{border-left:1px solid #3b4d67;margin:4px 0 7px 7px}.trace-tree li{position:relative}.trace-tree ul>li:before{content:"";position:absolute;top:12px;left:-18px;width:12px;border-top:1px solid #3b4d67}.trace-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:25px}.trace-name{font:12px Consolas,monospace;overflow-wrap:anywhere}.trace-note{font-size:10px;color:#8ea2bc}.rdns-valid{color:#62dba0;font-weight:700}.rdns-invalid{color:#ff7f8b;font-weight:700}.htpasswd-output{background:#101925;padding:14px;border:1px solid #2b3a4f;border-radius:5px;user-select:all}
.country-map{display:block;width:100%;height:auto;max-height:none;aspect-ratio:2711.3/1193.7}.country-map path,.country-map circle{fill:#32465d;stroke:#111c29;stroke-width:1.4}.country-map .ocean{fill:#111c29;stroke:none}.country-map .highlight,.country-map .highlight path,.country-map .highlight circle{fill:var(--accent)}.country-map .circlexx{fill:none;stroke:#61758f;stroke-width:1}.country-map .circlexx.highlight{fill:var(--accent);stroke:var(--accent)}.map-container>a{font-size:9px;color:var(--muted)}
.settings:has(>label[hidden]:only-child){display:none}
.resource-table td:nth-child(n+4){white-space:nowrap;overflow-wrap:normal}.resource-table th:nth-child(n+4){min-width:52px}.resource-table td:last-child{min-width:130px}
:root{--domains:#62cce3}
body[data-group=domains]{--accent:var(--domains)}[data-color=domains],[data-group-link=domains]{--color:var(--domains)}
.topbar nav button{background:transparent;font-size:12px;padding:7px 12px;border:1px solid transparent;border-radius:6px;color:var(--muted);transition:background .2s,color .2s}
.topbar nav button:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--color);margin-right:7px}
.topbar nav button:hover,.topbar nav button[aria-pressed=true]{color:var(--color);background:color-mix(in srgb,var(--color) 12%,var(--bg));border-color:color-mix(in srgb,var(--color) 35%,var(--border))}
.access-badge{margin-left:auto;white-space:nowrap}.toolnav{gap:10px;align-items:stretch;padding:12px 0}
.toolnav-group{display:flex;align-items:center;flex-wrap:wrap;gap:3px 5px;border:1px solid color-mix(in srgb,var(--color) 30%,var(--border));background:color-mix(in srgb,var(--color) 5%,var(--bg));padding:5px 8px;border-radius:7px;transition:box-shadow .25s,background .25s,opacity .25s,border-color .25s}
.toolnav-group.spotlight{border-color:var(--color);background:color-mix(in srgb,var(--color) 15%,var(--bg));box-shadow:0 0 22px color-mix(in srgb,var(--color) 22%,transparent),inset 0 0 15px color-mix(in srgb,var(--color) 7%,transparent)}
.toolnav-group.spotlight a{color:var(--color);font-weight:600}.toolnav-group.subdued{opacity:.45}.toolnav-group.subdued:hover,.toolnav-group.subdued:focus-within{opacity:1}
.input-toolbar{position:sticky;top:0;z-index:2;background:#192333;padding:7px 0 11px;gap:10px}.input-toolbar .primary{min-width:85px;min-height:33px;padding:6px 12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 70%,#153257),color-mix(in srgb,var(--accent) 52%,#132438));color:#fff}
.input-heading-actions button svg{display:block}.input-heading-actions #resolver-toggle{padding:6px;border:1px solid #3d5069;border-radius:5px;color:#b7cbe7;background:#213149}.input-heading-actions #resolver-toggle:hover{border-color:var(--accent);color:var(--accent)}
#quota{font-size:10px;color:var(--muted)}.toolbox{grid-template-columns:repeat(5,minmax(0,1fr))}
.result-link{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:3px}.result-link:hover{color:#fff;text-decoration-color:var(--accent)}
.check-status{display:inline-flex;align-items:center;gap:7px;font-weight:600}.check-status.ok{color:#68dba6}.check-status.warning{color:#efbf73}.check-status.error,.mechanism-count.error{color:#ff7f8b}.check-icon{font-size:16px}
.dnssec-check,.spf-result{padding:14px;border:1px solid #30425b;border-radius:7px;background:#111b29;margin:8px 0}.dnssec-chain{border-left:2px solid var(--dns);padding-left:23px;margin:12px 0 0;font:11px/1.8 Consolas,monospace}
.spf-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-weight:600}.mechanism-count{font:11px Consolas,monospace;color:#a4b9d4}.spf-root-policy{padding:12px;margin:12px 0;background:color-mix(in srgb,var(--mail) 9%,#111b29);border-left:3px solid var(--mail);border-radius:4px;color:#e4d5fb;font-size:12px}
.spf-flat{display:flex;flex-wrap:wrap;gap:5px}.spf-caption{width:100%;font-size:10px;color:var(--muted);margin-bottom:3px}.spf-term{font:11px Consolas,monospace;padding:3px 6px;background:#21314a;border:1px solid #354965;border-radius:4px;color:#b8d1f5}.spf-expansion{margin-top:13px}.spf-expansion summary,.spf-branch summary{cursor:pointer;color:var(--mail);font-size:11px}.spf-policy{font-size:11px;color:#b8c9df;margin:5px 0}.spf-branch{margin:6px 0}
.syntax-tag{color:#7ec8ff}.syntax-attribute{color:#c4a2f7}.syntax-string{color:#9bd7a5}.syntax-comment{color:#71869d;font-style:italic}.syntax-entity,.syntax-number{color:#efbe7f}.syntax-keyword{color:#e59acb}.source-line.highlight .syntax-comment{color:#c8ba91}
.results-panel:fullscreen,.results-panel.map-expanded{background:var(--bg);padding:24px;overflow:auto}.results-panel:fullscreen .country-map,.map-expanded .country-map{height:min(75vh,900px);width:100%;object-fit:contain}.results-panel.map-expanded{position:fixed;inset:0;z-index:1000;border:0;border-radius:0}
@media(max-width:1000px){.toolbox{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{flex-wrap:wrap}.toolnav-group{gap:3px;padding:4px 6px}.topbar nav button{padding:6px 8px}}
@media(max-width:560px){.toolbox{grid-template-columns:repeat(2,minmax(0,1fr))}.access-badge{display:block;font-size:9px}.topbar nav{order:3;display:flex;flex-wrap:wrap}.toolnav{gap:7px}.toolnav-group{width:100%}.toolnav-group a{font-size:11px}.input-heading-actions{gap:7px}.input-toolbar .primary{min-width:75px}.spf-heading{align-items:flex-start}.results-panel:fullscreen,.results-panel.map-expanded{padding:12px}}
@media(prefers-reduced-motion:reduce){.toolnav-group,.topbar nav button{transition:none}}

/* Keep the controls inside the pane at intermediate widths. */
.input-toolbar{padding:8px;flex-wrap:wrap;gap:8px;border-radius:6px}
.input-toolbar h2{min-width:0;margin:0 4px;font-size:13px}
.input-heading-actions{flex-wrap:wrap;min-width:0;margin-left:auto;max-width:100%}
.input-panel #run{min-width:156px;min-height:46px;padding:11px 18px;color:#fff;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#218653,#176b43);border:1px solid #39a46f;box-shadow:0 3px 12px #123f2b55;max-width:100%;box-sizing:border-box}
.input-panel #run:hover{background:linear-gradient(135deg,#289960,#1e7d50)}
.input-panel #run svg{flex-shrink:0}
.input-panel input#query-input{width:100%;min-width:0;box-sizing:border-box;height:48px;flex:none;padding:12px;font:13px Consolas,monospace;color:var(--ink);background:#101925aa;border:1px solid #304158;border-radius:6px;box-shadow:inset 0 1px 5px #0002}
.input-panel input#query-input:focus{outline:2px solid var(--accent);outline-offset:2px}
.results-panel{container-type:inline-size}
.resource-table{table-layout:auto}
.resource-table th:first-child,.resource-table td:first-child{min-width:260px;width:50%;overflow-wrap:anywhere;white-space:normal}
@container(max-width:800px){.resource-table th:nth-child(3),.resource-table td:nth-child(3){display:none}}
@container(max-width:680px){.resource-table th:nth-child(2),.resource-table td:nth-child(2){display:none}}
@container(max-width:560px){.resource-table th:nth-child(4),.resource-table td:nth-child(4){display:none}}

/* Fill the viewport without a second tool menu. */
.tool-view .workspace{min-height:100dvh;display:flex;flex-direction:column;max-width:none}
.tool-view main{flex:1;display:flex;flex-direction:column;min-height:0}
.tool-view .workbench{flex:1;align-items:stretch;min-height:360px}
.input-panel{display:flex;flex-direction:column}.input-panel textarea{flex:1;max-height:none;min-height:110px}.input-panel .panel-heading{flex-shrink:0}
.input-heading-actions #run{min-width:156px;min-height:46px;padding:11px 18px;color:#fff;font-size:14px;gap:18px;background:linear-gradient(135deg,#218653,#176b43);border:1px solid #39a46f;box-shadow:0 3px 12px #123f2b55}
.input-heading-actions #run:hover{background:linear-gradient(135deg,#289960,#1e7d50);border-color:#65c48d}
.input-heading-actions #run:focus-visible{outline:2px solid #8ae0ad;outline-offset:3px}
.input-heading-actions #run svg{flex-shrink:0}
@media(max-width:560px){.input-heading-actions #run{min-width:128px}}
.tool-view footer{margin-top:12px;padding:10px 0}
.spf-result{padding:0;margin:0;border-radius:0;border-width:0 0 1px;background:transparent}
.spf-result>summary{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;padding:10px 4px;cursor:pointer;list-style:none}
.spf-result>summary:before{content:'›';color:var(--mail)}.spf-result[open]>summary:before{transform:rotate(90deg)}
.spf-result>summary::-webkit-details-marker{display:none}.spf-heading>a{flex:0 0 125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spf-inline-policy{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:11px Consolas,monospace;color:#dfcff3}.mechanism-count{flex-shrink:0}
.spf-result[open]{padding-bottom:10px}.spf-result[open] .spf-root-policy{margin-top:0}.result-section:has(>.spf-result){margin:0}
@media(min-width:741px){.tool-view .workspace{height:100dvh}.tool-view .workbench{min-height:0}.input-panel,.results-panel{min-height:0;overflow:auto}.results-panel{display:flex;flex-direction:column}.results-panel>.panel-heading{flex-shrink:0}#results{overflow:auto;flex:1;min-height:0}.source-code{max-height:none}.input-panel textarea{flex-basis:83px;min-height:83px}.input-panel .settings{flex-shrink:0}}
@media(max-width:740px){.tool-view .workbench{min-height:65vh}.spf-heading>a{flex-basis:95px}.mechanism-count{font-size:9px}}

/* Shared photo and glass surfaces; workbench columns retain their geometry. */
body{background:linear-gradient(180deg,#0e141ed9 0%,#0e141e66 35%,#0e141e77 75%,#0e141ee6 100%),url('/_assets/bg-frontpage.jpg') center center/cover fixed no-repeat}
.panel{background:linear-gradient(145deg,#192333b8,#142133b0);border-color:#c6d8f433;backdrop-filter:blur(10px) saturate(110%);box-shadow:0 12px 36px #0003,inset 0 1px 0 #ffffff12}
.input-toolbar{background:#19233391;backdrop-filter:blur(8px);border-radius:5px}
.toolnav-group{background:color-mix(in srgb,var(--color) 5%,#0e141ec2);backdrop-filter:blur(8px)}
textarea,.settings input:not([type=checkbox]),.settings select{background:#101925bf}
.topbar,.toolnav,footer{border-color:#c6d8f433}
#reset-page{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;background:#152030b8;border:1px solid #c6d8f433;border-radius:6px;padding:7px 11px;color:var(--ink);font-size:11px;backdrop-filter:blur(8px)}
#reset-page:hover{background:#253650d9;border-color:#a9bed766}
#reset-page span{font-size:17px;line-height:1}
.results-panel:fullscreen,.results-panel.map-expanded{background:var(--bg)}

body[data-group=all]{--accent:var(--dns)}
.home-view .workbench{display:flex;flex-direction:column;gap:18px;overflow:auto}
.home-view .input-panel{width:100%;flex-shrink:0;overflow:visible}
.home-view .input-panel textarea{flex:none;height:85px!important;min-height:85px;max-height:300px}
.home-view .results-panel{overflow:visible;flex-shrink:0;min-height:0}
.home-view #results{overflow:visible;flex:none}
.home-view.home-idle main{justify-content:center}
.home-view.home-idle .workbench{flex:none;justify-content:center;align-items:center;min-height:420px;overflow:visible}
.home-view.home-idle .input-panel{max-width:790px;padding:28px}
.home-view.home-idle .input-panel textarea{height:140px!important;font-size:16px;line-height:26px;min-height:140px}
.home-view.home-idle .input-panel h2{font-size:17px;font-weight:500}
.home-view.home-idle .results-panel,.home-view.home-idle .workbench-heading,.home-view.home-idle footer{display:none}
.home-view.home-idle .settings{display:none}
.home-view.home-idle #resolver-toggle{display:none}
.home-view .input-panel{transform-origin:top left}
.overview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 10px}
.overview-heading h2{font:14px Consolas,monospace;color:var(--ink)}.overview-tally{font-size:11px;color:var(--muted)}
.overview-card{margin:0 0 22px}.overview-row{display:grid;grid-template-columns:20px 130px minmax(0,1fr) 20px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #c6d8f426}
.overview-label{font-size:12px}.overview-value{font:12px Consolas,monospace;min-width:0;overflow-wrap:anywhere}.overview-item{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:3px 0}.overview-ip{color:var(--dns);font-size:11px;background:#10192599;border-radius:4px;padding:3px 6px}
.country-flag{width:24px;height:17px;object-fit:fill;border-radius:2px}.overview-note{margin:0 0 4px 160px;font-size:10px;color:var(--muted)}.overview-note p{margin:8px 0}.overview-note summary{cursor:pointer}.overview-inspect{color:var(--dns)}
.ssl-result{padding:12px 0;border-bottom:1px solid var(--border)}.ssl-result>summary,.ssl-certificate>summary{cursor:pointer;font-size:12px}.ssl-result .table-wrap{margin-top:12px}.ssl-certificate{margin-top:14px}
@media(max-width:650px){.home-view.home-idle .input-panel{padding:18px}.home-view.home-idle .input-toolbar{flex-wrap:wrap}.home-view.home-idle .input-panel h2{font-size:14px}.overview-row{grid-template-columns:20px minmax(0,1fr) 20px}.overview-value{grid-row:2;grid-column:2/-1}.overview-note{margin-left:30px}.home-view .workbench{overflow:visible}}

.home-view.home-idle main{justify-content:flex-start}
.home-view.home-idle .workbench{min-height:0;margin-top:max(20px,calc(30dvh - 210px))}
.home-view.home-idle .input-panel>#run{width:100%;margin-top:12px;justify-content:center;gap:12px}
.home-view.home-idle .input-heading-actions{display:none}
.input-panel,.results-panel{min-width:0}
.technology-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 12px;border:1px solid #55d6a040;border-radius:6px;background:#17352b55;margin:8px 0;font-size:12px}
.tool-icon{display:inline-block;width:17px;height:17px;flex:none;vertical-align:middle;color:currentColor}
.toolnav a{display:inline-flex;align-items:center;gap:6px}.toolnav a .tool-icon{width:14px;height:14px;color:var(--color)}
.workbench-heading h1{display:flex;align-items:center;gap:9px}.workbench-heading h1 .tool-icon{width:23px;height:23px;color:var(--accent)}
.overview-label{display:flex;align-items:center;gap:7px}.overview-label .tool-icon{color:var(--accent);width:17px;height:17px}
.cms-icon{width:23px;height:23px}.technology-summary .result-link{display:inline-flex;align-items:center;gap:8px}
td>.cms-icon{margin-right:8px}
.toolnav a{font-size:11px;padding:5px 7px}.toolnav a .tool-icon{width:16px;height:16px}
.topbar #reset-page{margin-left:auto}.access-badge{margin-left:0;font-size:10px;flex:none}
.tool-info{font-size:12px;cursor:help;color:var(--muted);padding:2px;line-height:1;flex:none}.tool-info:hover{color:var(--accent,var(--color))}
.toolnav-group .tool-info{margin-left:-7px;margin-right:3px;font-size:10px}
.pending-results #run:not(:disabled){animation:run-glow 2.2s ease-in-out infinite;box-shadow:0 0 18px #2dcd7566}
@keyframes run-glow{0%,100%{box-shadow:0 0 0 0 #5ee69d33,0 0 12px #2dcd7544}50%{box-shadow:0 0 0 5px #5ee69d11,0 0 25px #2dcd7580;border-color:#8bebb5}}
.feedback-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:1000;border:1px solid #55d6a0;padding:11px 22px;border-radius:8px;background:#16372f;color:#e3fff1;box-shadow:0 8px 28px #0006}
.export-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:0 0 10px}.export-actions button,.export-actions select{font-size:11px;color:var(--ink);background:#132335;border:1px solid #35475d;border-radius:5px;padding:5px 8px;max-width:100%}
.ip-result{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;margin:2px 3px 2px 0}.ip-flag{display:inline-flex;align-items:center;color:var(--muted)}.ip-flag .country-flag{width:20px;height:14px}
.san-links{display:flex;flex-direction:column;gap:4px}.redirect-icon{color:var(--web);font-size:17px;font-weight:bold}
.per-domain-result{margin-bottom:16px}.per-domain-result h3{margin:8px 0}
@media(prefers-reduced-motion:reduce){.pending-results #run{animation:none}}
.home-view.home-idle footer{display:flex}
.tool-help{position:relative;display:inline-flex;align-items:center;font-weight:400;letter-spacing:normal}
.tool-info{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;cursor:help;border:0;background:transparent!important;border-radius:50%;padding:3px;color:var(--muted)}
.tool-info:hover,.tool-info:focus-visible{color:var(--accent);background:#ffffff0a!important}
.help-tooltip{position:absolute;z-index:30;top:calc(100% + 10px);left:-15px;width:280px;max-width:70vw;padding:13px 15px;border:1px solid color-mix(in srgb,var(--accent) 40%,#304158);border-radius:9px;background:#132132;color:var(--ink);box-shadow:0 12px 32px #0006;font:12px/1.65 "Segoe UI",sans-serif;visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity .15s,transform .15s;pointer-events:none}
.tool-help:hover .help-tooltip,.tool-help:focus-within .help-tooltip{visibility:visible;opacity:1;transform:translateY(0)}
@media(max-width:560px){.workbench-heading{position:relative}.tool-help{position:static}.help-tooltip{left:0;right:auto;top:calc(100% + 4px);max-width:calc(100vw - 32px)}}
@media(max-width:900px){.results-panel{min-height:calc(100dvh - 80px);scroll-margin-top:14px}}
.input-panel{transform-origin:top left;position:relative;z-index:2}.results-panel{transform-origin:top left;position:relative;z-index:1}
.cms-name{color:var(--ink);text-decoration:none;cursor:default}
.input-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto}
.input-toolbar>.input-heading-actions{flex-wrap:nowrap}
.input-panel>#run{width:100%;min-width:0;flex:none;margin-bottom:12px}
.input-panel .input-toolbar{padding:4px 0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;border-radius:0}
.input-panel .input-toolbar h2{margin:0}
.home-view .input-panel .input-toolbar h2{font-size:clamp(18px,2.2vw,26px);font-weight:600;text-align:center;line-height:1.3}
.home-view .input-toolbar{grid-template-columns:minmax(0,1fr)}
.home-view .input-heading-actions{justify-self:end}
.home-view .input-heading-actions{position:absolute;right:0;top:0}
.home-view .input-heading-actions:has(#stop[hidden]){display:none}
.home-view .all-intro{grid-column:1/-1;max-width:600px;justify-self:center;margin:2px auto 8px;font-size:12px;font-weight:400;line-height:1.65;color:var(--muted);text-align:center}
.home-view:not(.home-idle) .all-intro{display:none}
.delegation-card{border:1px solid var(--border);border-radius:8px;padding:10px;margin-bottom:16px;background:#12203288}
.delegation-card>summary{cursor:pointer;font-size:12px;font-weight:600}
.delegation-toolbar{display:flex;align-items:center;gap:6px;margin:12px 0 8px}.delegation-toolbar button{font-size:11px;padding:3px 9px}.delegation-toolbar>span{font-size:10px;color:var(--muted);margin-left:5px}
.delegation-viewport{overflow:auto;max-height:340px;background:#101a2899;border-radius:6px;overscroll-behavior:contain}
.delegation-viewport svg{display:block;max-width:none;min-width:0}
.delegation-node rect{fill:#233449;stroke:#5c7189;stroke-width:1.3}.delegation-node.ok rect{stroke:#4fc390}.delegation-node.warning rect{stroke:#d8ad63}.delegation-node.error rect{stroke:#e3767e;fill:#492b38}
.delegation-node text{font:12px Consolas,monospace;fill:#eef5ff}.delegation-node .delegation-caption{font:10px 'Segoe UI',sans-serif;fill:#b1c0d0}.delegation-node:hover rect{fill:#314c66}
.delegation-edge{stroke:#70b9f3;stroke-width:1.6;fill:none}.delegation-edge.error{stroke:#e3767e}.delegation-edge.warning{stroke:#d8ad63}.delegation-arrow{fill:#70b9f3}
.delegation-network{border:1px solid #344d68;border-radius:10px;padding:13px;margin-bottom:20px;background:linear-gradient(145deg,#172a40d9,#111e31c9);box-shadow:inset 0 1px #ffffff06,0 8px 24px #0002}
.network-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.network-heading h3{font-size:13px;margin:0}.network-heading>span{font-size:10px;color:var(--muted)}
.network-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:11px 0}.network-controls button,.network-controls select{font-size:11px;padding:5px 9px;background:#20334b;border:1px solid #3b526e;border-radius:5px;color:var(--ink)}.network-controls select{min-width:0;max-width:220px;margin-left:auto}
.network-viewport{height:clamp(340px,52dvh,470px);position:relative;overflow:hidden;border-radius:7px;border:1px solid #2b415c;background:radial-gradient(ellipse at 48% 38%,#142e4c,#0c1728 80%)}
.network-viewport:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:radial-gradient(#7da2d2 1px,transparent 1px);background-size:22px 22px}
.network-viewport>svg{width:100%;height:100%;display:block;position:relative;touch-action:none;cursor:grab}.network-viewport.is-panning>svg{cursor:grabbing}
.network-node{color:#80c6ef;cursor:pointer;transition:opacity .25s}.network-node .network-disc{fill:#172c44;stroke:currentColor;stroke-width:1.6;filter:drop-shadow(0 0 7px #5ca8ff22)}
.network-node.root{color:#8dc2ff}.network-node.zone{color:#b0a3f2}.network-node.domain{color:#65d5e8}.network-node.server{color:#71d7b0}
.network-node.warning .network-disc{stroke:#e2b86d}.network-node.error .network-disc{stroke:#f47c8b;fill:#412334}.network-node.pending .network-disc{stroke-dasharray:4 4;opacity:.6}
.network-node .network-halo{fill:none;stroke:currentColor;stroke-width:.7;opacity:.1;transform-origin:0 0;animation:network-breathe 4s ease-in-out infinite}
.network-node.domain .network-halo{animation-delay:-1s}.network-node.server .network-halo{animation-delay:-2s}
.network-node:hover .network-disc,.network-selected .network-disc{stroke-width:3;filter:drop-shadow(0 0 10px #8bc4ff77)}
.network-node .network-label{fill:#edf4ff;font:12px Consolas,monospace;paint-order:stroke;stroke:#0c1728;stroke-width:4;stroke-linejoin:round}
.network-node .network-caption{fill:#96aac3;font:10px 'Segoe UI',sans-serif;paint-order:stroke;stroke:#0c1728;stroke-width:3}
.network-link{fill:none;stroke:#77b3f1;stroke-width:1.35;opacity:.72;stroke-dasharray:5 8;animation:network-flow 2.6s linear infinite;transition:opacity .25s}
.network-link.ok{stroke:#64c4b5}.network-link.warning{stroke:#d9ae66}.network-link.error{stroke:#ef7d90}.network-link.pending-edge{opacity:.22;stroke-dasharray:2 10}
.network-arrow{fill:#77b3f1}.network-arrow.ok{fill:#64c4b5}.network-arrow.warning{fill:#d9ae66}.network-arrow.error{fill:#ef7d90}
.network-link.network-muted,.network-node.network-muted{opacity:.12}
.network-help{margin:9px 0 0;font-size:10px;color:var(--muted)}.network-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:10px;color:var(--muted);margin-top:8px}.network-legend span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#8dc2ff}.network-legend .zone:before{background:#b0a3f2}.network-legend .domain:before{background:#65d5e8}.network-legend .server:before{background:#71d7b0}
.network-inspector{position:absolute;right:10px;top:10px;max-width:270px;max-height:calc(100% - 20px);overflow:auto;padding:14px;border:1px solid #527ba2;border-radius:8px;background:#14253bf2;backdrop-filter:blur(12px);box-shadow:0 8px 28px #0005;font-size:11px;z-index:2}.network-inspector strong{display:block;padding-right:20px;overflow-wrap:anywhere}.network-inspector p{margin:7px 0;color:#b3c4d8;font-size:10px}.network-close{position:absolute;right:5px;top:5px;border:0;background:transparent;font-size:16px;padding:0 5px}.network-addresses{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:8px 0}
.delegation-network.network-expanded{display:flex;flex-direction:column;position:fixed;inset:0;z-index:3000;margin:0;border:0;border-radius:0;width:100%;height:100dvh;padding:22px;background:#0d192b}.delegation-network.network-expanded .network-viewport{flex:1;height:auto;min-height:0}.delegation-network.network-expanded .network-heading h3{font-size:17px}
@keyframes network-flow{to{stroke-dashoffset:-52}}
@keyframes network-breathe{0%,100%{opacity:.08;transform:scale(.94)}50%{opacity:.28;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.network-link,.network-halo{animation:none}}
@media(max-width:560px){.network-heading{align-items:flex-start;flex-direction:column;gap:4px}.network-controls select{max-width:160px}.network-inspector{max-width:220px}.network-viewport{height:370px}}
.bind-export{display:inline-flex;align-items:stretch;gap:0;border:1px solid #35475d;border-radius:6px;overflow:hidden;max-width:100%}
.bind-export select,.bind-export button{border:0;border-radius:0;margin:0}
.bind-export button{border-left:1px solid #35475d;flex-shrink:0}
.bind-export select{min-width:0;flex:1}
.http-screenshot{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;border:1px solid var(--border);border-radius:7px;background:#101925}
.screenshot-note{font-size:10px;color:var(--muted);margin:6px 0 12px}
.input-toolbar{padding:8px;flex-wrap:wrap}
.input-heading-actions{flex-wrap:wrap;max-width:100%}
@media(max-width:900px){
  .tool-view .workspace{height:auto;min-height:100dvh}
  .tool-view .workbench{grid-template-columns:minmax(0,1fr);min-height:0}
  .input-panel,.results-panel{overflow:visible}
  .input-panel textarea{flex:none;min-height:150px;max-height:40dvh}
  .results-panel #results{overflow:visible;flex:none}
  .source-code{max-height:65dvh}
  .home-view .input-panel textarea{min-height:85px}
}
