/* Hallmark · theme: brand/Cobalt · genre: modern-minimal · Eviduct Trust Firewall product UI · v1.0 */
html,body{overflow-x:clip}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}
.fw-main{min-width:0}
.fw-kicker{display:inline-block;font:600 11px/1.4 var(--font-mono);letter-spacing:0;color:var(--color-accent);text-transform:none}
.fw-hero{padding-block:92px 96px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:8%;align-items:center}
.fw-hero h1{font-size:clamp(47px,5.3vw,77px);line-height:1.02;letter-spacing:-.055em;margin-top:22px;max-width:800px}
.fw-hero h1 em,.fw-hero h1 .fw-heading-accent{font-style:normal;color:var(--color-accent)}
.fw-hero p{margin-top:26px;font-size:19px;line-height:1.6;max-width:52ch}
.fw-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.fw-diagram{padding:26px;border:1px solid var(--color-rule-strong);border-radius:14px;box-shadow:0 12px 50px var(--color-shadow);background:var(--color-paper)}
.fw-diagram-title{display:flex;align-items:center;gap:9px;font:600 11px var(--font-mono);letter-spacing:0;color:var(--color-muted);margin:0 0 24px}
.fw-led{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--color-success)}
.fw-node{display:grid;gap:5px;border:1px solid var(--color-rule);padding:19px 22px;border-radius:8px;background:var(--color-paper-soft)}
.fw-node b{font:600 14px var(--font-mono);letter-spacing:.01em;color:var(--color-ink)}
.fw-node small{font:400 12px/1.5 var(--font-body);color:var(--color-muted)}
.fw-node.fw-secure{border:1px solid var(--color-accent);background:var(--color-accent-soft)}
.fw-node.fw-secure b{color:var(--color-accent-hover)}
.fw-node.fw-danger{border:1px dashed var(--color-rule-strong);background:var(--color-paper)}
.fw-connector{height:22px;width:1px;background:var(--color-rule-strong);margin:auto;position:relative}
.fw-connector:after{content:"";position:absolute;bottom:0;left:-3px;width:7px;height:7px;border-bottom:1px solid var(--color-muted);border-right:1px solid var(--color-muted);transform:rotate(45deg)}
.fw-diagram-footer{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--color-rule);padding-top:20px;margin-top:24px;font:500 10px var(--font-mono);color:var(--color-muted)}
.fw-strip{background:var(--color-graphite);color:var(--color-on-graphite)}
.fw-strip-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:30px;gap:30px}
.fw-strip-inner>div{display:grid;gap:5px;padding:0 22px;border-left:1px solid var(--color-rule-strong)}
.fw-strip-inner strong{font:600 18px var(--font-display)}
.fw-strip-inner span:last-child{font-size:12px;color:var(--color-graphite-muted);line-height:1.5}
.fw-num{font:600 11px var(--font-mono);color:var(--color-code)}
.fw-section{padding-top:104px;padding-bottom:104px}
.fw-section-head{max-width:800px;margin-bottom:34px}
.fw-section-head h2{font-size:clamp(34px,3.7vw,53px);margin-top:14px;letter-spacing:-.045em}
.fw-section-head p{font-size:16px;line-height:1.6;margin-top:19px;max-width:750px}
.fw-proof-wrap{border:1px solid var(--color-rule);border-radius:13px;overflow:hidden;background:var(--color-paper)}
.fw-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.fw-proof-pane:first-child{border-right:1px solid var(--color-rule)}
.fw-pane-head{display:flex;align-items:center;gap:9px;padding:17px 22px;border-bottom:1px solid var(--color-rule);color:var(--color-ink);font:600 11px var(--font-mono);letter-spacing:.015em}
.fw-pane-head small{margin-left:auto;color:var(--color-muted);font:400 11px var(--font-body);letter-spacing:0}
.fw-mark{display:inline-block;width:8px;height:8px;border-radius:50%}
.fw-raw{background:var(--color-warning)}.fw-safe{background:var(--color-success)}
.fw-code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-height:240px;max-height:420px;overflow:auto;font:400 12px/1.75 var(--font-mono);color:var(--color-ink-secondary);margin:0;padding:20px 24px;background:var(--color-paper)}
.fw-proof-summary{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 24px;background:var(--color-paper-soft);border-top:1px solid var(--color-rule)}
.fw-proof-summary>div{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.fw-proof-summary strong{font:600 30px var(--font-display);color:var(--color-ink);letter-spacing:-.04em}
.fw-proof-summary span:last-child{font-size:12px;color:var(--color-muted)}
.fw-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.fw-case{padding:18px 24px;border-top:1px solid var(--color-rule);display:flex;align-items:start;gap:14px;min-width:0}
.fw-case:nth-child(2n){border-left:1px solid var(--color-rule)}
.fw-case .fw-icon{font:700 14px var(--font-mono);color:var(--color-success)}
.fw-case.fail .fw-icon{color:var(--color-error)}
.fw-case b{display:block;font:600 13px var(--font-body)}
.fw-case small{display:block;font:400 12px/1.6 var(--font-body);color:var(--color-muted);margin-top:5px}
.fw-note{margin-top:20px;padding:21px 23px;border-left:3px solid var(--color-accent);background:var(--color-paper-soft);font-size:13px;line-height:1.8;color:var(--color-ink-secondary)}
.fw-note b{color:var(--color-ink)}
.fw-config{background:var(--color-paper-soft);border-block:1px solid var(--color-rule)}
.fw-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:31px;gap:12px}
.fw-steps>div{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;background:var(--color-paper);border:1px solid var(--color-rule);padding:19px;border-radius:9px}
.fw-steps>div>span{grid-row:span 2;font:600 16px var(--font-mono);color:var(--color-accent)}
.fw-steps b{font:600 15px var(--font-body)}.fw-steps small{color:var(--color-muted);line-height:1.5}
.fw-manager{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.85fr);gap:0;border:1px solid var(--color-rule-strong);background:var(--color-paper);border-radius:10px;overflow:hidden}
.fw-manager-main{padding:32px}
.fw-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.fw-manager-heading h3{font-size:23px}
.fw-manager-heading.fw-divider{border-top:1px solid var(--color-rule);margin-top:32px;padding-top:27px}
.fw-private-pill{border:1px solid var(--color-rule);border-radius:4px;font:500 10px var(--font-mono);color:var(--color-muted);padding:6px 9px}
.fw-field{margin-bottom:20px;display:grid;gap:8px}
.fw-field label{font:600 12px var(--font-body);color:var(--color-ink)}
.fw-field input,.fw-field textarea,.fw-field select,.fw-issued input{min-width:0;width:100%;padding:12px 14px;background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule-strong);border-radius:6px;font:400 13px/1.5 var(--font-mono)}
.fw-field textarea{resize:vertical;min-height:90px}
.fw-field small,.fw-aside-copy{font:400 12px/1.65 var(--font-body);color:var(--color-muted)}
.fw-inline{display:flex;gap:9px;align-items:stretch;min-width:0}
.fw-inline input{flex:1;min-width:0}.fw-inline .btn{white-space:nowrap}
.fw-message{padding:13px 16px;margin:8px 0 21px;border:1px solid var(--color-rule);font-size:12px;line-height:1.6;color:var(--color-ink-secondary);background:var(--color-paper-soft)}
.fw-message.error{border-color:var(--color-error);color:var(--color-error)}.fw-message.success{border-color:var(--color-success);color:var(--color-success)}
.fw-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.fw-check-label{display:flex;align-items:start;gap:12px;font:400 12px/1.55 var(--font-body);color:var(--color-ink-secondary);margin:19px 0}
.fw-check-label input{flex-shrink:0;margin-top:4px}
.fw-manager-aside{background:var(--color-graphite);color:var(--color-on-graphite);padding:36px 25px;min-width:0}
.fw-manager-aside h3{font-size:28px;margin-top:14px;line-height:1.2}
.fw-manager-aside .fw-kicker{color:var(--color-code)}
.fw-manager-aside .fw-aside-copy{color:var(--color-graphite-muted);margin-top:16px}
.fw-code-card{background:var(--color-graphite-raised);border:1px solid var(--color-rule-strong);border-radius:8px;margin-top:25px;overflow:hidden}
.fw-code-card>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--color-rule-strong);padding:12px 14px;color:var(--color-graphite-muted);font:500 11px var(--font-mono)}
.fw-code-card pre{font:400 11px/1.8 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-on-graphite);padding:14px;margin:0}
.fw-text-button{border:0;padding:6px 2px;background:none;color:var(--color-accent);font:600 12px var(--font-body)}
.fw-code-card .fw-text-button{color:var(--color-code)}
.fw-empty{font-size:12px;color:var(--color-muted);padding:14px 0;line-height:1.6}
.fw-issued{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:17px;background:var(--color-success-soft);border-radius:7px}
.fw-issued b{width:100%;font-size:12px;color:var(--color-success)}
.fw-issued input{flex:1}
.fw-route,.fw-client,.fw-breakdown{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:12px 2px;border-bottom:1px solid var(--color-rule);font-size:12px}
.fw-route b,.fw-client b{display:block;font:600 13px var(--font-body);color:var(--color-ink)}
.fw-route small,.fw-client small{display:block;color:var(--color-muted);margin-top:5px;overflow-wrap:anywhere}
.fw-route button,.fw-client button{color:var(--color-error)}
.fw-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--color-rule);margin-bottom:15px;border-radius:8px;overflow:hidden}
.fw-stats>div{padding:25px;border-right:1px solid var(--color-rule)}
.fw-stats>div:last-child{border-right:0}
.fw-stats span{display:block;font-size:12px;color:var(--color-muted)}
.fw-stats strong{font:600 40px var(--font-display);letter-spacing:-.05em;color:var(--color-ink);display:block;margin-top:9px}
.fw-finish{padding:95px 0;background:var(--color-graphite);color:var(--color-on-graphite)}
.fw-finish h2{max-width:800px;margin-top:15px;font-size:clamp(36px,4vw,54px)}
.fw-finish .fw-kicker{color:var(--color-code)}
.fw-finish p{max-width:790px;margin-top:25px;color:var(--color-graphite-muted);font-size:15px}
.fw-finish-link{display:inline-block;margin-top:25px;color:var(--color-code);text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){
 .fw-hero{grid-template-columns:1fr;padding-block:50px 70px;gap:42px}
 .fw-manager{grid-template-columns:1fr}
 .fw-manager-aside{padding:32px}
 .fw-section{padding-top:70px;padding-bottom:70px}
}
@media(max-width:640px){
 .fw-hero h1{font-size:45px}
 .fw-hero p{font-size:16px}
 .fw-strip-inner{grid-template-columns:1fr;gap:21px}
 .fw-proof-grid,.fw-checks,.fw-steps{grid-template-columns:1fr}
 .fw-proof-pane:first-child{border-right:0;border-bottom:1px solid var(--color-rule)}
 .fw-case:nth-child(2n){border-left:0}
 .fw-proof-summary{align-items:start;flex-direction:column}
 .fw-manager-main{padding:20px}
 .fw-grid-two{grid-template-columns:1fr}
 .fw-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fw-stats>div:nth-child(2){border-right:0}
 .fw-stats>div:nth-child(-n+2){border-bottom:1px solid var(--color-rule)}
 .fw-hero .fw-hero-actions{flex-direction:column;align-items:stretch}
 .fw-inline{flex-wrap:wrap}
 .fw-inline .btn{width:100%}
 .fw-route,.fw-client{flex-wrap:wrap}
}

.fw-intro-grid{border:1px solid var(--color-rule);border-radius:10px;overflow:hidden;background:var(--color-paper)}
.fw-intro-cell{padding:34px;min-width:0}
.fw-intro-cell:first-child{border-right:1px solid var(--color-rule)}
.fw-intro-cell h3{font-size:clamp(24px,2.6vw,33px);margin-top:18px;line-height:1.15}
.fw-intro-cell p{margin-top:17px;font-size:14px;line-height:1.7}
.fw-intro-cell a{display:inline-block;margin-top:22px;font-size:13px;color:var(--color-accent);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.fw-lead-grid{max-width:960px}
.fw-lead-grid .fw-manager-main{display:block}
.fw-lead-grid .fw-manager-aside h3{margin-top:16px}
@media(max-width:640px){.fw-intro-cell{padding:23px}.fw-intro-cell:first-child{border-right:0;border-bottom:1px solid var(--color-rule)}}


/* Product relaunch: technical verification and operator console. The brand system is shared with the landing page. */
.fw-editorial-hero{padding:92px 0 105px;border-bottom:1px solid var(--color-rule)}
.fw-editorial-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:8%;align-items:center}
.fw-editorial-hero .ev-display{font-size:clamp(48px,5.8vw,81px);margin-top:23px}
.fw-editorial-hero .ev-lead{margin-top:26px;max-width:580px}
.fw-brief{border-top:1px solid var(--color-rule-strong);background:var(--color-paper-soft)}
.fw-brief-line{padding:19px 22px;border-bottom:1px solid var(--color-rule);display:grid;grid-template-columns:106px 1fr;gap:20px;align-items:start}
.fw-brief-line span{font:500 11px var(--font-mono);color:var(--color-muted)}
.fw-brief-line strong{font:600 14px/1.5 var(--font-body);color:var(--color-ink)}
.fw-brief-foot{padding:17px 22px;font:400 12px/1.65 var(--font-body);color:var(--color-muted)}
.fw-verify{background:var(--color-paper)}
.fw-verify .fw-proof-wrap{border-radius:0}
.fw-verify .fw-code{font:400 12px/1.85 var(--font-mono);line-height:1.85}
.fw-verify .fw-note{margin-top:22px}
.fw-editorial-hero .ev-button{min-height:49px}
.fw-manager,.fw-live-test{border-radius:0}
.fw-manager-aside h3{color:var(--color-paper)}
.fw-manager-heading h3{font-size:23px}
.fw-live-test{max-width:930px;background:var(--color-paper-soft);border:1px solid var(--color-rule-strong);padding:32px}
.fw-live-test .ev-button{margin-top:4px}
.fw-live-output{margin:22px 0 0;background:var(--color-ink);color:var(--color-on-graphite);padding:24px;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:500px;font:400 12px/1.8 var(--font-mono);min-height:100px}
.fw-live-test #callTester{border-top:1px solid var(--color-rule);margin-top:27px;padding-top:26px}
.fw-live-test .fw-field{margin-bottom:19px}
.fw-live-test .fw-check-label{margin:19px 0 16px}
.fw-live-test .fw-field label{display:block}
.fw-live-test .fw-field textarea{min-height:110px}
.fw-verify .ev-section-title,.fw-config .ev-section-title{max-width:100%}
.fw-verify .ev-section-title p,.fw-config .ev-section-title p{font-size:16px;line-height:1.75;margin-top:15px}
.fw-config .fw-steps>div{background:var(--color-paper)}
.fw-config .fw-steps b{color:var(--color-ink)}
.fw-config .fw-private-pill{font-size:11px}
@media(max-width:940px){.fw-editorial-hero-inner{grid-template-columns:1fr;gap:42px}.fw-editorial-hero .ev-display{font-size:clamp(45px,7.3vw,74px)}.fw-brief{max-width:750px}}
@media(max-width:650px){.fw-editorial-hero{padding:55px 0 68px}.fw-editorial-hero .ev-display{font-size:clamp(43px,10.2vw,59px)}.fw-live-test{padding:20px}.fw-live-output{padding:16px;font-size:11px}.fw-brief-line{grid-template-columns:1fr;gap:6px}.fw-brief-foot{padding:15px}.fw-manager-aside{padding:25px}}


/* First-class automatic MCP routing: same editorial system, owner-only controls. */
.fw-routing{background:var(--color-paper-soft);border-top:1px solid var(--color-rule)}
.fw-routing-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;margin-top:31px}
.fw-routing-col{min-width:0;border:1px solid var(--color-rule-strong);background:var(--color-paper);padding:31px}
.fw-routing-col .fw-manager-heading{margin-top:0}
.fw-routing-col .fw-manager-heading h3{font-size:22px}
.fw-routing-col .fw-manager-heading.fw-divider{margin-top:36px;padding-top:24px;border-top:1px solid var(--color-rule)}
.fw-routing-col .fw-field{margin-top:20px}
.fw-routing-col .fw-field label{font-weight:600}
.fw-routing-col input[type=text],.fw-routing-col select,.fw-routing-col textarea{width:100%;max-width:100%;padding:12px 14px;background:var(--color-paper-soft);border:1px solid var(--color-rule-strong);border-radius:3px;color:var(--color-ink);font:400 13px var(--font-mono)}
.fw-routing-col textarea{resize:vertical;min-height:115px}
.fw-routing-col .fw-check-label{display:flex;align-items:start;gap:12px;font-size:12px;line-height:1.65;margin:16px 0}
.fw-routing-col .fw-check-label input{flex:0 0 auto;margin-top:3px;accent-color:var(--color-accent)}
.fw-routing-col .ev-button{margin-top:14px}
.fw-route-selection{border-top:1px solid var(--color-rule);margin-top:10px;padding:8px 0}
.fw-route-selection .fw-check-label{margin:7px 0;padding:8px 0;border-bottom:1px solid var(--color-rule)}
.fw-routing-col .fw-live-output{max-height:380px;min-height:95px;margin-top:17px}
.fw-routing-col #routingSaveResult{min-height:34px;margin-top:12px;font-size:12px;line-height:1.6;color:var(--color-muted)}
.fw-routing-entry{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--color-rule);padding:17px 0;align-items:center}
.fw-routing-entry strong{font:600 13px var(--font-body)}
.fw-routing-entry small{display:block;font:400 11px/1.65 var(--font-mono);color:var(--color-muted);margin-top:6px}
.fw-routing-entry button{background:none;border:0;color:var(--color-accent);font:600 12px var(--font-body);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.fw-routing-log{max-height:350px;overflow:auto}
.fw-routing-log .fw-routing-entry{display:block}
@media(max-width:900px){.fw-routing-grid{grid-template-columns:1fr}}
@media(max-width:560px){.fw-routing-col{padding:18px}.fw-routing-col .fw-live-output{font-size:11px;padding:14px}}


/* Source discovery: original registry metadata is kept out of the model context. */
.fw-discovery{background:var(--color-paper);border-top:1px solid var(--color-rule)}
.fw-discovery-panel{max-width:920px;margin-top:28px;border-top:2px solid var(--color-ink);padding-top:22px}
.fw-discovery-panel .fw-field{max-width:420px;margin-bottom:14px}
.fw-discovery-panel select{width:100%;background:var(--color-paper-soft);border:1px solid var(--color-rule-strong);border-radius:3px;padding:13px;font:400 13px var(--font-body);color:var(--color-ink)}
.fw-discovery-panel .ev-detail{max-width:790px;margin:15px 0 23px}
.fw-discovery-list{border-top:1px solid var(--color-rule);padding-top:10px}
.fw-discovery-list .fw-routing-entry{padding:16px 8px}
.fw-discovery-list .fw-routing-entry button{flex:0 0 auto}
@media(max-width:520px){.fw-discovery-list .fw-routing-entry{align-items:start;flex-direction:column}}
