.mapper-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding:3.5rem 0 2rem}.mapper-head h1{font:600 clamp(2rem,4vw,3.1rem)/1.15 var(--sans);letter-spacing:-.04em;margin:.6rem 0}.mapper-head p:last-child{margin:.6rem 0 0;max-width:65ch}.mapper-head>a{white-space:nowrap;font-size:.8rem}.mapper-app{border:1px solid var(--line-bright);border-radius:16px;background:var(--surface);overflow:clip;margin-bottom:5rem;min-width:0}.mapper-app [hidden]{display:none!important}.mapper-app button{font:inherit;cursor:pointer;color:var(--ink);border:1px solid var(--line-bright);border-radius:8px;background:var(--bg);padding:.65rem .9rem;min-height:44px}.mapper-app button:hover{border-color:var(--green);background:rgb(var(--accent-rgb)/.08)}.mapper-app button:disabled{opacity:.45;cursor:not-allowed}.mapper-app :is(button,input,select,textarea,a,summary):focus-visible{outline:3px solid var(--green);outline-offset:3px}.mapper-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);font-size:.78rem;color:var(--muted)}.mapper-toolbar i{font-style:normal;color:var(--green);padding-right:.5rem}.mapper-toolbar>div{display:flex;gap:.5rem}.mapper-toolbar button{padding:.4rem .7rem;font-size:.75rem;min-height:40px}.mapper-steps{display:flex;gap:.5rem;padding:.8rem 1.25rem;border-bottom:1px solid var(--line)}.mapper-steps button{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:.5rem;font-size:.85rem}.mapper-steps span{border:1px solid var(--line-bright);border-radius:50%;width:23px;height:23px;display:grid;place-content:center;font-size:.7rem}.mapper-steps [aria-current]{background:rgb(var(--accent-rgb)/.1);color:var(--green)}.mapper-status{font-size:.8rem;color:var(--amber);padding:0 1.5rem;margin:0}.mapper-status:not(:empty){padding-top:.8rem}.mapper-stage{padding:clamp(1.2rem,3vw,2.5rem)}.mapper-app :is(h2,h3,h4,h5){font-family:var(--sans);letter-spacing:-.02em}.mapper-stage h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:.65rem 0}.mapper-stage>p:not(.mapper-eyebrow){font-size:.95rem;max-width:75ch}.mapper-eyebrow{font:.65rem var(--mono);letter-spacing:.1em;color:var(--green);text-transform:uppercase}.mapper-agent-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;margin:2rem 0}.mapper-app .mapper-choice{position:relative;text-align:left;display:flex;flex-direction:column;gap:.6rem;padding:1.2rem;background:var(--bg);min-height:190px}.mapper-choice strong{font-size:1rem}.mapper-choice small{color:var(--muted);font-size:.78rem;line-height:1.5}.agent-mark{display:grid;place-content:center;width:44px;height:44px;border:1px solid var(--line-bright);border-radius:10px;color:var(--green);font:600 .9rem var(--mono);margin-bottom:.35rem}.choice-check{position:absolute;right:.65rem;top:.6rem;opacity:0;color:var(--green)}.mapper-choice[aria-pressed=true]{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:rgb(var(--accent-rgb)/.07)}.mapper-choice[aria-pressed=true] .choice-check{opacity:1}.mapper-stage-actions{display:flex;gap:1rem;justify-content:flex-end;align-items:center;margin-top:1.8rem}.mapper-app .mapper-primary{background:rgb(var(--accent-rgb)/.13);border-color:var(--green);color:var(--green);font-weight:600}.mapper-scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1.6rem 0}.mapper-app .mapper-scenario-grid .mapper-choice{flex-direction:row;align-items:start;min-height:100px;gap:1rem}.mapper-scenario-grid .mapper-choice>div{display:grid;gap:.5rem}.scenario-icon{font-size:1.6rem;color:var(--green);width:30px;flex:none}.mapper-name{display:grid;gap:.5rem;max-width:630px;font-size:.8rem;margin:1.5rem 0}.mapper-app :is(input:not([type=checkbox]),textarea,select){width:100%;padding:.65rem .8rem;border:1px solid var(--line-bright);border-radius:7px;background:var(--bg);color:var(--ink);font:inherit;min-height:44px}.mapper-app input[type=checkbox]{width:19px;height:19px;accent-color:var(--green);flex:none}.mapper-system-map{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:.5rem;padding:1.2rem;border:1px solid var(--line);border-radius:12px;background:linear-gradient(rgb(var(--accent-rgb)/.025),transparent),var(--bg);background-image:radial-gradient(var(--line) .6px,transparent .6px);background-size:16px 16px}.mapper-system-map button{padding:1.3rem;display:grid;gap:.6rem;text-align:left;min-height:225px;background:var(--surface)}.mapper-system-map button>span:not(.map-symbol){font-size:.82rem;color:var(--muted);line-height:1.55}.mapper-system-map small{font:.62rem var(--mono);color:var(--green);letter-spacing:.1em}.mapper-system-map strong{font-size:1.25rem}.map-symbol{color:var(--green);font-size:1.7rem}.mapper-system-map em{font-size:.7rem;font-style:normal;color:var(--green);align-self:end}.mapper-arrow{font-size:1.3rem;text-align:center;color:var(--green)}.mapper-access-footer{display:flex;gap:2rem;justify-content:space-between;align-items:center;font-size:.78rem}.mapper-access-footer p{max-width:85ch}.mapper-access-footer button{flex:none;font-size:.78rem}.mapper-access-footer a{color:var(--green)}.mapper-confirm{display:flex;align-items:center;gap:.7rem;font-size:.85rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.mapper-results{padding:clamp(1rem,2.5vw,2rem)}.mapper-result-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mapper-result-heading h2{font-size:clamp(1.3rem,2.6vw,1.8rem);margin:.5rem 0}.mapper-result-heading p:last-child{font-size:.83rem;color:var(--muted)}.mapper-result-heading button{flex:none;font-size:.8rem}.mapper-result-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--line);padding:1rem 0;margin-bottom:1.5rem}.mapper-result-tabs button{font-size:.8rem;background:transparent;border-color:transparent}.mapper-result-tabs button[aria-selected=true]{background:rgb(var(--accent-rgb)/.1);border-color:var(--green);color:var(--green)}.mapper-result-tabs span:not(:empty){display:inline-block;font:normal .65rem var(--mono);padding:.2rem .35rem;border:1px solid var(--line-bright);border-radius:4px;margin-left:.5rem}.mapper-overview{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.4fr);gap:1.5rem;align-items:start}.mapper-path-list>h3{font-size:1.05rem;margin:0 0 .6rem}.mapper-path-list>p{font-size:.78rem;margin:0 0 1rem}.mapper-path-list>div{display:grid;gap:.65rem}.mapper-app .mapper-path-card{text-align:left;display:grid;grid-template-columns:27px minmax(0,1fr);gap:.5rem .55rem;padding:1rem;width:100%}.mapper-path-card strong{font-size:.9rem;line-height:1.4}.path-number{grid-row:1/4;color:var(--green);font:.7rem var(--mono);padding-top:.2rem}.mapper-path-card small{font-size:.72rem;color:var(--muted);line-height:1.5}.path-mapping-count{font:.6rem var(--mono);color:var(--green)}.mapper-path-card[aria-pressed=true]{border-color:var(--green);background:rgb(var(--accent-rgb)/.08)}[data-all-paths]{margin-top:1rem;width:100%;font-size:.8rem!important}.mapper-detail{border:1px solid var(--line-bright);border-radius:12px;padding:clamp(1rem,2vw,1.6rem);background:var(--bg)}.mapper-detail h3{font-size:1.5rem;line-height:1.25;margin:.6rem 0 1rem}.mapper-detail :is(p,li){font-size:.85rem;line-height:1.65}.mapper-detail h4{font-size:.9rem;margin:1.4rem 0 .6rem}.mapper-detail details{border-top:1px solid var(--line);margin-top:1.3rem;padding-top:1rem}.mapper-detail summary{font-size:.8rem;cursor:pointer;color:var(--muted)}.mapper-attack-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:1.5rem 0;border:1px solid var(--line-bright);border-radius:8px;overflow:hidden}.mapper-attack-path li{padding:.85rem .7rem;border-right:1px solid var(--line);position:relative;display:grid;align-content:start;gap:.5rem;background:rgb(var(--accent-rgb)/.045)}.mapper-attack-path li:last-child{border-right:0}.mapper-attack-path small{font:.55rem var(--mono);color:var(--green)}.mapper-attack-path strong{font-size:.78rem;line-height:1.4}.mapper-mapping-links{display:flex;flex-wrap:wrap;gap:.5rem}.mapper-mapping-links button{font-size:.72rem;padding:.55rem .7rem;text-align:left;line-height:1.5;color:var(--green)}.mapper-note{font-size:.75rem!important;color:var(--muted);border-left:2px solid var(--line-bright);padding-left:.7rem}.mapper-next-check{padding:.1rem 1rem .6rem;border:1px solid var(--green);border-radius:8px;background:rgb(var(--accent-rgb)/.045);margin-top:1.5rem}.framework-heading{display:flex;justify-content:space-between;align-items:start;gap:2rem;margin-bottom:1.1rem}.framework-heading h3{font-size:1.35rem;margin:0 0 .5rem}.framework-heading h3 small{font:.7rem var(--mono);color:var(--muted);padding-left:.5rem}.framework-heading p{font-size:.84rem;max-width:85ch;margin:0}.framework-heading>a{font-size:.75rem;flex:none;color:var(--green)}.owasp-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.mapper-app .owasp-tile{display:flex;flex-direction:column;gap:.8rem;align-items:start;text-align:left;padding:1rem;min-height:155px}.owasp-tile small{font:.65rem var(--mono);color:var(--green)}.owasp-tile strong{font-size:.86rem;line-height:1.4;flex:1}.owasp-tile span{font-size:.65rem;color:var(--muted);line-height:1.4}.mapper-app .is-matched{border-color:var(--green);background:rgb(var(--accent-rgb)/.065)}.mapper-app .is-unmatched{background:var(--bg);color:var(--muted);border-style:dashed}.mapper-app .is-matched[aria-pressed=true],.mapper-app .is-unmatched[aria-pressed=true]{box-shadow:0 0 0 2px var(--green);color:var(--ink)}.framework-detail{margin-top:1.3rem;border:1px solid var(--line-bright);border-radius:10px;background:var(--bg);padding:1.4rem;max-width:100%}.framework-detail>small{color:var(--green);font:.65rem var(--mono)}.framework-detail h4{font-size:1.3rem;margin:.7rem 0}.framework-detail h5{font-size:.9rem;margin:1.3rem 0 .5rem}.framework-detail p{font-size:.85rem;max-width:100ch}.framework-detail>a{font-size:.8rem;color:var(--green)}.related-paths{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.related-paths button{font-size:.75rem}.framework-key{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;font-size:.72rem;margin-bottom:1.2rem}.framework-key span:first-child{color:var(--green)}.atlas-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:start}.atlas-tactic{background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:.6rem}.atlas-tactic h4{font-size:.88rem;margin:0 0 .7rem;padding:.4rem .3rem;border-bottom:1px solid var(--line);display:grid;gap:.3rem}.atlas-tactic h4 small{font:.55rem var(--mono);color:var(--muted)}.mapper-app .atlas-technique{display:flex;flex-direction:column;gap:.5rem;align-items:start;text-align:left;width:100%;margin:.5rem 0 0;padding:.7rem}.atlas-technique small{font:.58rem var(--mono);color:var(--green)}.atlas-technique strong{font-size:.75rem;line-height:1.5}.atlas-technique span{font-size:.6rem;color:var(--muted)}.atlas-tactic-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.atlas-tactic-tags span{font:.65rem var(--mono);border:1px solid var(--line);padding:.4rem;border-radius:5px}.mapper-compare-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.mapper-compare-options label{display:grid;grid-template-columns:23px 1fr;gap:.6rem;padding:1rem;border:1px solid var(--line-bright);border-radius:8px;font-size:.85rem}.mapper-compare-options small{grid-column:2;color:var(--muted);font-size:.72rem}.compare-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.compare-totals>div{display:grid;gap:.8rem;padding:1.2rem;background:var(--bg);border:1px solid var(--line);border-radius:10px}.compare-totals small{font:.6rem var(--mono);color:var(--muted)}.compare-totals strong{font-size:2rem;color:var(--green)}[data-comparison]>p{font-size:.8rem}.compare-groups{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;border-top:1px solid var(--line);padding-top:1rem}.compare-groups h4{font-size:.9rem}.compare-groups li{font-size:.8rem;margin:.7rem 0}.mapper-results-footer{display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--line);margin-top:2rem;padding-top:1.2rem}.mapper-results-footer>span{font-size:.72rem;color:var(--muted)}.mapper-results-footer>div{display:flex;flex-wrap:wrap;gap:.6rem}.mapper-results-footer button{font-size:.78rem}.mapper-dialog{width:min(740px,calc(100% - 2rem));max-height:85vh;overflow:auto;border:1px solid var(--line-bright);border-radius:12px;background:var(--surface);color:var(--ink);padding:1.5rem}.mapper-dialog::backdrop{background:rgba(0,0,0,.72)}.mapper-dialog header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.mapper-dialog h2{font-size:1.5rem;margin:0}.mapper-dialog :is(p,li){font-size:.88rem}.mapper-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.mapper-check-grid label,.mapper-check{display:flex;align-items:center;gap:.7rem;padding:.9rem;border:1px solid var(--line);border-radius:7px;font-size:.85rem}.mapper-fields{display:grid;gap:1rem}.mapper-fields label,.mapper-control-select{display:grid;gap:.5rem;font-size:.8rem}.mapper-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mapper-control-select{margin:1.5rem 0}.mapper-file-actions{display:grid;gap:1rem}.mapper-file-actions label{display:grid;gap:.7rem;font-size:.85rem}
@media(max-width:1000px){.mapper-agent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.owasp-board{grid-template-columns:repeat(3,minmax(0,1fr))}.mapper-access-footer{align-items:start;gap:1rem}.mapper-access-footer button{max-width:200px}.mapper-overview{grid-template-columns:minmax(230px,.8fr) minmax(0,1.3fr)}.mapper-attack-path{grid-template-columns:1fr 1fr}.mapper-attack-path li{border-bottom:1px solid var(--line)}.mapper-attack-path li:nth-child(2n){border-right:0}.atlas-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.mapper-overview{grid-template-columns:1fr}.mapper-result-tabs{display:grid;grid-template-columns:1fr 1fr}.mapper-path-list>div{grid-template-columns:1fr}.mapper-app .mapper-path-card{padding:.8rem}.mapper-detail{scroll-margin-top:90px}.mapper-system-map{grid-template-columns:1fr}.mapper-arrow{transform:rotate(90deg)}.mapper-system-map button{min-height:130px;grid-template-columns:35px 1fr;gap:.4rem .8rem}.map-symbol{grid-row:1/5}.mapper-system-map button>span:not(.map-symbol),.mapper-system-map em{grid-column:2}.mapper-system-map strong{font-size:1rem}.mapper-access-footer{flex-direction:column}.mapper-access-footer button{max-width:none}.mapper-app .mapper-choice{min-height:155px}.mapper-head{padding:2rem 0 1.5rem}.framework-heading{flex-direction:column;gap:.8rem}.atlas-board{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.mapper-agent-grid,.mapper-scenario-grid{grid-template-columns:1fr 1fr}.mapper-app .mapper-choice{padding:.85rem;min-height:160px}.mapper-choice strong{font-size:.9rem}.mapper-choice small{font-size:.72rem}.mapper-scenario-grid{grid-template-columns:1fr}.mapper-app .mapper-scenario-grid .mapper-choice{min-height:95px}.mapper-steps{padding:.5rem;gap:.1rem;justify-content:space-between}.mapper-steps button{font-size:.7rem;padding:.55rem .35rem;gap:.3rem}.mapper-steps span{width:19px;height:19px;font-size:.6rem}.mapper-toolbar{padding:.65rem;font-size:.65rem}.mapper-toolbar button{font-size:.65rem}.mapper-toolbar>div{gap:.3rem}.mapper-stage-actions{flex-direction:column-reverse;align-items:stretch;gap:.65rem}.mapper-head{display:block}.mapper-head>a{display:inline-block;margin-top:1rem}.mapper-result-heading{align-items:start}.mapper-result-heading h2{overflow-wrap:anywhere}.mapper-result-heading button{font-size:.7rem;padding:.6rem}.owasp-board{grid-template-columns:1fr 1fr}.mapper-app .owasp-tile{padding:.85rem;min-height:160px}.owasp-tile strong{font-size:.8rem}.atlas-board{grid-template-columns:1fr 1fr;gap:.5rem}.atlas-tactic{padding:.45rem}.atlas-tactic h4{font-size:.8rem}.atlas-technique strong{font-size:.7rem}.mapper-compare-options,.compare-groups{grid-template-columns:1fr}.compare-totals{gap:.4rem}.compare-totals>div{padding:.8rem .55rem}.compare-totals small{font-size:.5rem;line-height:1.5}.compare-totals strong{font-size:1.6rem}.mapper-check-grid,.mapper-fields>div{grid-template-columns:1fr}.mapper-dialog{padding:1rem}.mapper-dialog h2{font-size:1.2rem}.mapper-results-footer>div{flex-direction:column}.mapper-attack-path strong{overflow-wrap:anywhere}}
.framework-inspector .framework-detail{border:0;padding:0;margin-top:1rem;background:transparent}.framework-inspector{width:min(800px,calc(100% - 2rem))}.mapper-attack-path li:not(:last-child)::after{content:'→';position:absolute;right:-.45rem;top:50%;color:var(--green);z-index:1;background:var(--surface);font-size:.8rem}.mapper-app{scroll-margin-top:80px}.mapper-dialog-status{color:var(--amber)}.atlas-technique small,.atlas-tactic h4 small{font-size:.7rem}.atlas-technique strong{font-size:.82rem}.owasp-tile small{font-size:.75rem}
@media(prefers-reduced-motion:reduce){.mapper-app *{scroll-behavior:auto!important}}
