:root{--bg:#eef2f2;--surface:#fff;--ink:#203437;--muted:#5e7478;--brand:#86c4cd;--action:#2b6b74;--soft:#e8f3f4;--line:#dce5e5;--warm:#f4f1e9;--warm-ink:#78622e;--radius:18px;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--action);outline-offset:4px}img{max-width:100%}[hidden]{display:none!important}svg{flex:none;vertical-align:middle}::selection{background:#c4e3e7}.skip{position:fixed;top:-80px;left:20px;z-index:100;padding:14px;background:white}.skip:focus{top:10px}
.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:228px;display:flex;flex-direction:column;background:#f8fafa;border-right:1px solid var(--line);padding:30px 17px 18px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 9px 30px}.brand img{width:31px;height:37px}.brand strong{display:flex;align-items:center;gap:8px;font:700 27px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:-1.4px}.brand .elite{font:600 9px/1.5 Inter,sans-serif;letter-spacing:1.2px;border:1px solid #bad5d8;border-radius:4px;padding:2px 5px;color:var(--action)}.brand small{display:block;font-size:8px;letter-spacing:1.3px;margin-top:7px;color:var(--muted)}.workspace-label{display:flex;align-items:center;gap:10px;padding:13px 8px 24px;font-size:12px;font-weight:600}.workspace-label small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.workspace-icon{display:grid;place-items:center;width:30px;height:32px;border:1px solid #cedcde;border-radius:8px;background:white;color:var(--action)}
#main-nav{display:grid;gap:5px}#main-nav a,.framework-nav button,.help-link{display:flex;align-items:center;gap:11px;border-radius:10px;padding:13px 12px;font-size:12px;text-align:left;width:100%;color:var(--muted);transition:background .18s,color .18s}#main-nav a:hover,.framework-nav button:hover,.help-link:hover{background:#e9efef;color:var(--ink)}#main-nav a.active{background:#deedef;color:var(--action);font-weight:600}.nav-count{margin-left:auto;background:#d2e5e7;border-radius:5px;font-size:10px;padding:2px 5px}.nav-label{font-size:9px;letter-spacing:1.5px;color:var(--muted);padding:30px 12px 8px}.framework-nav button{padding:10px 12px}.framework-nav button.active{color:var(--action);font-weight:600}.framework-abbr{display:grid;place-items:center;font-size:8px;width:24px;height:24px;background:white;border:1px solid var(--line);border-radius:6px;font-weight:600}.framework-nav button small{margin-left:auto;font-size:8px;background:var(--soft);padding:3px 5px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding-top:28px}.demo-note{border-top:1px solid var(--line);padding:18px 12px 0;display:flex;gap:9px;font-size:11px;align-items:center}.demo-note small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.dot{width:6px;height:6px;border-radius:50%;background:var(--action);flex:none}
.shell{margin-left:228px;min-width:0}.topbar{height:81px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;background:#eef2f2e8}.top-left,.top-right{display:flex;align-items:center;gap:18px}.top-right{gap:16px}.private-pill{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.icon-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--muted)}.icon-button:hover{background:#e0eaea}#breadcrumbs{font-size:11px;color:var(--muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap}#breadcrumbs strong{font-weight:500;color:var(--ink)}#breadcrumbs a:hover{color:var(--action);text-decoration:underline}.mobile-toggle{display:none}main{max-width:1530px;margin:auto;padding:44px 48px 30px;min-height:calc(100vh - 140px)}main:focus{outline:none}.app-footer{display:flex;justify-content:space-between;gap:15px;padding:20px 48px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.65px;color:var(--action);text-transform:uppercase}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:26px}.page-head h1{font:600 30px/1.3 'Plus Jakarta Sans',sans-serif;letter-spacing:-1px;margin-top:10px}.page-head p{font-size:13px;color:var(--muted);line-height:1.7;margin-top:9px}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:11px 17px;font-size:12px;font-weight:500;border:1px solid #cbdcde;background:white;border-radius:10px;transition:transform .18s,background .18s,box-shadow .18s}.btn:hover{background:#f6fafb;transform:translateY(-1px);box-shadow:0 3px 9px #214d530c}.btn.primary{background:var(--action);color:white;border-color:var(--action)}.btn.primary:hover{background:#225760}.btn.brand-button{background:var(--brand);border-color:var(--brand);color:#193b41;font-weight:600}.btn.ghost{background:transparent;border-color:transparent;color:var(--action);padding-left:0}.btn.small{min-height:34px;padding:8px 11px;font-size:11px}.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.section-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:32px 0 16px}.section-title h2{font-size:15px;font-weight:600}.section-title p{font-size:11px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:5px;background:var(--soft);padding:5px 8px;font-size:9px;color:var(--action);font-weight:500}.pill.neutral{background:#f0f3f3;color:var(--muted)}.pill.warm{background:var(--warm);color:var(--warm-ink)}
.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:20px;padding:39px 38px 36px;border:1px solid #d4e2e4;border-radius:23px;background:#f8fbfb;overflow:hidden}.hero h1{font:500 clamp(30px,3.2vw,48px)/1.16 'Plus Jakarta Sans',sans-serif;letter-spacing:-1.9px;margin:18px 0}.hero h1 em{font-style:normal;color:var(--action)}.hero p{font-size:13px;color:var(--muted);line-height:1.85;max-width:370px}.hero .button-row{margin-top:27px}.hero-sub{font-size:10px!important;margin-top:16px;color:var(--muted)}.hero-flow{position:relative;min-height:300px;align-self:center;background:radial-gradient(circle,#bed4d7 1px,transparent 1px);background-size:19px 19px;background-position:center}.hero-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:#c0d7da}.mini-node{position:absolute;background:white;border:1px solid #cbdcde;box-shadow:0 10px 24px #183b4207;border-radius:12px;padding:14px 16px;min-width:173px;display:flex;gap:12px;align-items:center;transition:transform .35s}.mini-node:hover{transform:translateY(-4px)}.mini-node .node-icon{width:33px;height:36px;display:grid;place-items:center;background:var(--soft);border-radius:9px;color:var(--action)}.mini-node small{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}.mini-node strong{font-size:12px;font-weight:600}.mini-node.one{top:14px;left:4%;transform:rotate(-3deg)}.mini-node.two{top:112px;right:0;transform:rotate(3deg)}.mini-node.three{bottom:0;left:5%;transform:rotate(-2deg)}.mini-node:hover{transform:rotate(0) translateY(-4px)}.flow-dot{fill:var(--brand)}.flow-caption{position:absolute;right:3px;bottom:24px;font-size:10px;color:var(--action);max-width:94px;line-height:1.6}
.framework-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.framework-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:174px;text-align:left;padding:22px;background:white;border:1px solid var(--line);border-radius:15px;transition:transform .2s,border-color .2s,box-shadow .2s}.framework-card:hover{transform:translateY(-4px);border-color:#9cbfc4;box-shadow:0 10px 25px #193f4808}.framework-card.featured{border-color:#87b9c1;background:#f6fbfb}.framework-card-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:16px}.framework-card-top svg{color:var(--action)}.framework-card h3{font-size:15px;font-weight:600}.framework-card p{font-size:11px;line-height:1.65;color:var(--muted);margin-top:7px;max-width:220px}.framework-card-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--action);margin-top:auto;padding-top:18px}.how-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:27px;border-top:1px solid var(--line);padding-top:24px;gap:25px}.how-item{display:flex;gap:12px}.how-number{font-size:11px;color:var(--action);border:1px solid #bad3d6;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;flex:none}.how-item h3{font-size:12px;font-weight:500;margin:3px 0 5px}.how-item p{font-size:10px;color:var(--muted);line-height:1.65}
.topic-path{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0 0 30px}.topic-button{text-align:left;position:relative;border-top:2px solid #cfdddd;padding:14px 8px 4px 0;color:var(--muted);font-size:10px;line-height:1.5}.topic-button span{display:block;font-size:9px;margin-bottom:6px;color:#5e8085}.topic-button.active{border-color:var(--action);color:var(--ink);font-weight:600}.topic-button:hover{color:var(--action);border-color:var(--brand)}.journey-heading{display:flex;gap:25px;align-items:center;justify-content:space-between;margin-bottom:26px}.journey-heading h1{font:500 31px/1.3 'Plus Jakarta Sans',sans-serif;letter-spacing:-1px;margin-top:10px}.journey-heading .ref{font-size:11px;color:var(--muted);line-height:1.5;margin-top:10px}.segment{display:inline-flex;padding:4px;background:#e1eaea;border-radius:11px;gap:4px;margin-bottom:24px}.segment button{padding:10px 16px;border-radius:8px;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.segment button.active{background:white;color:var(--action);box-shadow:0 1px 4px #25454a0b;font-weight:600}.segment .step-number{font-size:10px;width:18px;height:18px;border-radius:50%;border:1px solid #bacdd0;display:grid;place-items:center}.segment button.active .step-number{background:var(--action);border-color:var(--action);color:white}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:22px}.main-card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;min-width:0}.main-card h2{font:500 20px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:-.4px}.main-card .intro{font-size:15px;line-height:1.85;margin-top:18px;max-width:650px}.example{padding:21px;margin:25px 0;background:#f1f7f7;border-radius:12px;border-left:3px solid var(--brand)}.example h3{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--action);margin-bottom:10px;font-weight:600}.example p{font-size:12px;line-height:1.8;color:#4b676c}.right-column{display:flex;flex-direction:column;gap:16px}.source-card{background:#f8fbfb;border:1px solid #d2e1e3;border-radius:15px;padding:23px}.source-card h3{font-size:13px;margin:16px 0 10px;font-weight:600}.source-card p{font-size:11px;line-height:1.75;color:var(--muted)}.source-card .button-row{margin-top:17px}.source-card .btn{width:100%;font-size:10px}.source-top{display:flex;align-items:center;gap:8px;color:var(--action);font-size:9px;letter-spacing:1px;font-weight:600}.side-hint{padding:5px 7px;color:var(--muted);font-size:11px;line-height:1.8}.side-hint strong{font-weight:600;color:var(--ink)}.review-state{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin-top:14px}.journey-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:20px}.journey-bottom p{font-size:11px;color:var(--muted)}.action-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:16px}.action-list li{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.75}.action-list .num{width:25px;height:25px;display:grid;place-items:center;flex:none;background:var(--soft);border-radius:8px;font-size:10px;color:var(--action)}.documents-heading{font-size:12px;margin:30px 0 12px;font-weight:600}.document-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid #e7eded}.document-row-left{display:flex;gap:10px;align-items:center}.document-row-left svg{color:var(--action)}.document-row h3{font-size:12px;font-weight:500;line-height:1.5}.document-row p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:4px}.evidence-row{padding:20px 0;border-bottom:1px solid #e4ecec}.evidence-row:last-child{border-bottom:0}.evidence-check{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.75}.evidence-check input{width:17px;height:17px;accent-color:var(--action);margin:3px 0 0;flex:none;cursor:pointer}.evidence-controls{margin:12px 0 0 28px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.file-label{cursor:pointer;font-size:10px;color:var(--action);display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #d3e2e3;border-radius:7px}.file-label:focus-within{outline:2px solid var(--action);outline-offset:2px}.file-input{position:absolute;width:1px;height:1px;opacity:0}.attachment{display:flex;align-items:center;gap:4px;font-size:10px;background:var(--soft);border-radius:6px;padding:2px 5px;max-width:100%}.attachment button:first-child{overflow-wrap:anywhere;text-align:left;padding:5px}.attachment button:hover{text-decoration:underline}.tiny-note{font-size:10px;line-height:1.65;color:var(--muted);margin-top:15px}.field-label{font-size:11px;display:block;margin:22px 0 8px;color:var(--muted)}.text-field{width:100%;padding:12px 13px;border:1px solid #cedde0;border-radius:9px;background:#fcfefe;color:var(--ink);font-size:12px;line-height:1.7}.text-field::placeholder{color:#6d8186}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.map-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:19px}.map-toolbar label{font-size:11px;color:var(--muted)}.map-toolbar select{padding:9px 12px;border:1px solid #cbdcde;background:white;border-radius:8px;color:var(--ink);font-size:12px;max-width:100%}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px}.map-canvas{position:relative;height:574px;background-color:#f7fafa;background-image:radial-gradient(#c6d8da .75px,transparent .75px);background-size:20px 20px;border:1px solid #d4e2e4;border-radius:18px;overflow:hidden}.map-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-svg path{fill:none;stroke:#c3d7da;stroke-width:1.5}.map-svg path.highlight{stroke:#6eabb5;stroke-width:2;stroke-dasharray:7 6;animation:trace 1.3s ease-out both}.map-node{position:absolute;width:39%;text-align:left;background:white;border:1px solid #cadfe1;border-radius:13px;padding:16px;min-height:88px;box-shadow:0 5px 15px #203f4508;transition:transform .22s,border-color .22s,box-shadow .22s}.map-node:hover{transform:translateY(-4px);box-shadow:0 10px 26px #203f4510}.map-node.selected{border-color:var(--action);box-shadow:0 0 0 3px #86c4cd30}.map-node small{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--action);letter-spacing:.8px;text-transform:uppercase;font-weight:500}.map-node strong{display:block;font-size:12px;line-height:1.55;font-weight:500;margin-top:9px}.map-node[data-node=source]{left:6%;top:32px}.map-node[data-node=meaning]{right:6%;top:32px}.map-node[data-node=control]{left:30.5%;top:180px;background:#e5f1f3}.map-node[data-node=policy]{left:6%;top:320px}.map-node[data-node=procedure]{right:6%;top:320px}.map-node[data-node=evidence]{left:30.5%;top:460px}.map-detail{background:white;border:1px solid var(--line);border-radius:17px;padding:25px;align-self:start;min-height:350px}.map-detail h2{font:500 21px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:-.4px;margin:13px 0}.map-detail p{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0}.map-detail .btn{margin-top:15px;width:100%}.related-links{margin-top:21px;padding-top:18px;border-top:1px solid var(--line)}.related-links small{font-size:10px;display:block;color:var(--muted);line-height:1.7}.related-links strong{font-size:11px;display:block;margin-bottom:8px}.map-explain{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-top:12px}
.checklist-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:25px}.checklist-summary strong{font:500 28px 'Plus Jakarta Sans',sans-serif;color:var(--action)}.checklist-summary p{font-size:11px;line-height:1.7;margin-top:6px;color:var(--muted)}.checklist-group{background:white;border:1px solid var(--line);border-radius:14px;margin:13px 0;padding:0 22px}.checklist-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;cursor:pointer}.checklist-group summary::-webkit-details-marker{display:none}.checklist-group summary h2{font-size:13px;font-weight:500}.checklist-group summary p{font-size:10px;line-height:1.6;color:var(--muted);margin-top:5px}.checklist-group summary span{font-size:10px;color:var(--action);white-space:nowrap}.checklist-group .group-body{border-top:1px solid var(--line);padding:4px 0 22px}.empty-help{padding:16px 20px;background:var(--soft);border-radius:10px;color:var(--muted);font-size:12px;line-height:1.8;margin-bottom:20px}
dialog{position:fixed;margin:0 0 0 auto;inset:0;width:510px;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-left:1px solid #d4e1e3;background:#fff;color:var(--ink);padding:0;box-shadow:-12px 0 50px #193c4212;overflow:auto}dialog[open]{animation:reader-in .28s cubic-bezier(.22,1,.36,1)}dialog::backdrop{background:#183b423f;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:1}.dialog-top>span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--action)}.dialog-body{padding:29px}.dialog-body h2{font:500 27px/1.35 'Plus Jakarta Sans',sans-serif;letter-spacing:-.7px;margin-bottom:16px}.dialog-body h3{font-size:13px;font-weight:600;margin:27px 0 12px}.dialog-body p,.dialog-body li{font-size:13px;line-height:1.9;color:var(--muted)}.dialog-body ul,.dialog-body ol{padding-left:20px}.dialog-body li{padding:5px 0}.dialog-body .button-row{margin-top:25px}.dialog-body .source-reference{padding:18px;background:var(--soft);border-radius:11px;margin:22px 0}.source-reference span{font-size:10px;color:var(--action);display:block;margin-bottom:8px}.source-reference strong{font-size:13px;font-weight:500;line-height:1.7}.dialog-body .warning{padding:15px 17px;border-left:2px solid var(--brand);background:#f4f8f8;font-size:11px;margin:20px 0}.dialog-body .warning strong{color:var(--ink);font-weight:600}.definition-list dt{font-size:12px;font-weight:600;margin-top:20px}.definition-list dd{font-size:12px;line-height:1.8;color:var(--muted);margin:6px 0}.source-meta{font-size:10px!important;margin-top:14px}.outline-list{list-style:none;padding:0!important}.outline-list li{padding:13px 0!important;border-bottom:1px solid var(--line)}#toast{position:fixed;bottom:24px;left:50%;z-index:100;background:#234d55;color:white;padding:12px 20px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transform:translate(-50%,15px);transition:opacity .2s,transform .2s;max-width:90%;box-shadow:0 8px 30px #183b4220}#toast.visible{opacity:1;transform:translate(-50%,0)}.fade-in{animation:page-in .28s ease-out}
@keyframes page-in{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes reader-in{from{transform:translateX(25px);opacity:.3}to{transform:translateX(0);opacity:1}}@keyframes trace{from{stroke-dashoffset:45}to{stroke-dashoffset:0}}
@media(min-width:1600px){main{padding-top:55px}.hero{padding:49px}.hero-flow{margin:0 30px}.framework-card{min-height:190px}}
@media(max-width:1180px){.sidebar{width:200px;padding-left:12px;padding-right:12px}.shell{margin-left:200px}main{padding:30px}.topbar{padding:0 30px}.content-grid{grid-template-columns:minmax(0,1fr) 240px;gap:16px}.main-card{padding:25px}.hero{padding:30px;gap:10px}.hero-flow{transform:scale(.95);transform-origin:center}.map-layout{grid-template-columns:minmax(0,1fr) 240px;gap:14px}.map-detail{padding:20px}.map-node{padding:12px;width:42%}.map-node[data-node=source],.map-node[data-node=policy]{left:4%}.map-node[data-node=meaning],.map-node[data-node=procedure]{right:4%}.map-node[data-node=control],.map-node[data-node=evidence]{left:29%}}
@media(max-width:1000px){.content-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.source-card{padding:20px}.hero{grid-template-columns:1fr}.hero-flow{display:none}.hero h1{font-size:39px}.hero p{max-width:460px}.framework-grid{gap:10px}.framework-card{padding:17px;min-height:190px}.map-layout{grid-template-columns:1fr}.map-detail{min-height:0}.map-canvas{height:574px}.journey-heading h1{font-size:27px}.journey-heading .button-row{display:none}.topic-path{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.topic-button{padding-top:9px}.how-strip{gap:12px}}
@media(max-width:760px){.sidebar{display:none;inset:0 auto 0 0;z-index:50;width:240px}.sidebar.open{display:flex}.shell{margin-left:0}.mobile-toggle{display:inline-flex}.nav-backdrop{position:fixed;inset:0;background:#1b3d4240;z-index:40}.topbar{height:64px;padding:0 20px}.top-left{gap:10px}.top-right{gap:8px}.private-pill{font-size:9px}.topbar .icon-button{width:30px}main{padding:26px 23px}.app-footer{padding:19px 23px;flex-wrap:wrap;font-size:9px}.hero{padding:27px}.hero h1{font-size:37px}.framework-card{min-height:175px}.how-strip{grid-template-columns:1fr;gap:19px}.how-item p{font-size:11px}.segment{display:flex;width:100%}.segment button{flex:1;padding:10px 8px;justify-content:center}.page-head{align-items:flex-start}.page-head h1{font-size:27px}.checklist-summary .btn{font-size:10px}.checklist-summary strong{font-size:23px}}
@media(max-width:480px){main{padding:22px 16px}.topbar{padding:0 12px}.private-pill{display:none}.hero{padding:25px 23px}.hero h1{font-size:31px;letter-spacing:-1.2px}.hero .button-row{gap:4px}.hero .btn{font-size:11px;padding:11px 13px}.hero p{font-size:12px}.framework-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.framework-card{padding:16px;min-height:183px}.framework-card h3{font-size:14px}.framework-card p{font-size:10px}.framework-card .pill{font-size:8px;padding:4px 5px}.section-title{align-items:flex-start}.section-title p{max-width:110px;text-align:right;font-size:10px}.main-card{padding:22px}.main-card .intro{font-size:14px}.journey-heading h1{font-size:26px}.right-column{grid-template-columns:1fr;gap:10px}.segment button{font-size:10px;gap:5px}.topic-path{gap:8px;margin-bottom:24px}.topic-button{font-size:9px}.journey-bottom{align-items:flex-start}.journey-bottom p{font-size:10px;max-width:120px}.two-fields{grid-template-columns:1fr;gap:0}.document-row{align-items:flex-start}.document-row .btn{font-size:9px;padding:8px}.checklist-group{padding:0 16px}.checklist-summary{align-items:flex-start}.checklist-summary .button-row{max-width:135px}.page-head{flex-wrap:wrap;gap:15px}.map-node{padding:12px 10px}.map-node strong{font-size:11px}.map-node small{font-size:8px;gap:4px}.map-node small svg{width:13px;height:13px}.map-node{min-height:96px}.map-node[data-node=control]{top:178px}.map-node[data-node=policy],.map-node[data-node=procedure]{top:316px}.map-node[data-node=evidence]{top:454px}.dialog-body{padding:25px}.dialog-top{padding:18px 25px}.dialog-body h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.wide-reader{width:760px}.source-extra{display:grid;gap:14px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--action);font-size:12px;line-height:1.6;text-align:left;padding:0}.text-link:hover{text-decoration:underline}.source-extra .text-link{font-size:10px}.article-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:25px 0}.article-choice{position:relative;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:12px;padding:18px 14px;text-align:left;background:#f8fbfb;min-height:112px}.article-choice small{font-size:9px;letter-spacing:1.1px;color:var(--action)}.article-choice strong{font-size:13px;font-weight:500;line-height:1.5}.article-choice svg{position:absolute;right:13px;top:16px;color:var(--action)}.article-choice.active{border-color:var(--action);background:var(--soft);box-shadow:0 0 0 2px #86c4cd30}.article-explanation{padding:20px;background:#f3f8f8;border-radius:12px;margin-bottom:24px}.article-explanation p{margin-top:10px}.legal-document{border:1px solid var(--line);border-radius:14px;padding:24px}.legal-document-head{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}.legal-document-head h3{font:500 23px/1.4 'Plus Jakarta Sans',sans-serif;margin:12px 0 8px}.legal-document-head p{font-size:10px;line-height:1.6}.legal-block{margin:17px 0}.legal-block.numbered{display:grid;grid-template-columns:34px minmax(0,1fr);gap:7px}.legal-number{font:12px/1.9 Inter,sans-serif;color:var(--action);padding-top:2px}.legal-block p{font-size:13px;line-height:1.9;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere}.source-footnotes{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.source-footnotes summary{font-size:11px;color:var(--action);cursor:pointer}.source-footnotes p{font-size:10px;margin-top:12px}.legal-provenance{padding:22px 0 0}.legal-provenance strong{font-size:12px}.legal-provenance p{font-size:11px;margin:9px 0 13px}.mapping-list{margin-top:25px;display:grid;gap:12px}.mapping-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.mapping-card summary{padding:19px;list-style:none;display:flex;align-items:center;gap:13px;cursor:pointer;background:#f8fbfb}.mapping-card summary::-webkit-details-marker{display:none}.mapping-card summary>span:first-child{display:grid;gap:7px;flex:1}.mapping-card summary small{font-size:9px;letter-spacing:1px;color:var(--action)}.mapping-card summary strong{font-size:12px;font-weight:500}.mapping-state{font-size:9px;padding:5px 7px;background:var(--soft);border-radius:5px;color:var(--action)}.mapping-card[open] summary>svg{transform:rotate(90deg)}.mapping-body{padding:22px}.mapping-body h3{margin:20px 0 7px}.mapping-body p{font-size:12px}.original-reference{border-left:2px solid var(--brand);padding:10px 14px;margin:20px 0;background:#f7fafa}.original-reference strong{font-size:10px}.original-reference p{font-size:11px;margin-top:5px}.empty-mapping{padding:22px;background:#f5f7f7;border-radius:12px;margin-top:15px}.empty-mapping strong{font-size:12px}.empty-mapping p{font-size:12px;margin-top:6px}.coverage-list{margin-top:25px}.coverage-list>section{display:flex;gap:16px;padding:24px 0;border-top:1px solid var(--line)}.coverage-list>section>div{min-width:0;flex:1}.coverage-list h3{margin:0 0 10px}.coverage-list small{font-size:11px;line-height:1.7;color:var(--muted);display:block;margin:10px 0 15px}.coverage-list .btn{margin-top:13px}.coverage-list .button-row{margin-top:0}.coverage-number{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--soft);color:var(--action);font-size:11px}.coverage-list blockquote{margin:10px 0;padding:12px 15px;border-left:2px solid var(--brand);background:#f8fbfb;font-size:12px;color:var(--muted);line-height:1.8}.workbook-documents{display:grid;gap:13px;margin:16px 0}.original-wording summary{font-size:11px;color:var(--action);cursor:pointer}.original-wording p{white-space:pre-line;font-size:11px;margin-top:12px}.document-intro h2{margin-top:15px}.download-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.download-card{display:flex;align-items:center;gap:12px;border:1px solid #bfd7da;border-radius:12px;padding:18px;background:#f5fafa;transition:border-color .2s,background .2s}.download-card:hover{background:#eaf5f5;border-color:var(--action)}.download-card>span:nth-child(2){flex:1}.download-card strong{display:block;font-size:12px;line-height:1.5;font-weight:600}.download-card small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:5px}.format-icon{display:grid;place-items:center;width:37px;height:43px;border:1px solid #c5dde0;border-radius:6px;font-size:8px;font-weight:600;color:var(--action);background:white;flex:none}.form-preview{border:1px solid #d7e3e5;border-radius:12px;padding:25px;background:#fff;box-shadow:0 4px 18px #203f4505}.form-preview-top{display:flex;justify-content:space-between;gap:10px;border-bottom:3px solid var(--brand);padding-bottom:14px;font-size:8px;letter-spacing:1px;color:var(--action)}.form-preview h3{font-size:18px;line-height:1.5;margin:20px 0 6px}.form-preview p{font-size:10px}.preview-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.preview-meta>div{font-size:9px;color:var(--muted)}.preview-meta span{display:block;height:20px;border-bottom:1px solid #cbdade}.form-preview section{margin-top:20px}.form-preview h4{font-size:11px;font-weight:600;color:var(--action);margin-bottom:12px}.preview-field{margin:12px 0}.preview-field>span{font-size:10px;color:var(--muted);line-height:1.6;display:block}.preview-field>div{height:29px;border:1px solid #dfe8e8;border-radius:4px;background:#fafcfc;margin-top:7px}.form-preview>small{display:block;font-size:9px;color:var(--muted);line-height:1.7;border-top:1px solid var(--line);padding-top:15px;margin-top:22px}
@media(max-width:560px){.download-options{grid-template-columns:1fr}.article-picker{gap:7px}.article-choice{padding:15px 10px;min-height:105px}.article-choice strong{font-size:11px}.article-choice svg{display:none}.article-choice small{font-size:8px}.legal-document{padding:17px}.legal-block.numbered{grid-template-columns:26px minmax(0,1fr);gap:4px}.mapping-card summary{padding:16px;gap:9px}.mapping-state{font-size:8px;max-width:74px}.mapping-body{padding:18px}.form-preview{padding:18px}.coverage-list>section{gap:12px}.dialog-body{padding:22px}.legal-document-head h3{font-size:20px}}
.completed-documents{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.completed-documents>h3{font-size:14px;font-weight:500}.completed-documents>p{font-size:11px;line-height:1.8;color:var(--muted);margin:10px 0 15px}.completed-document{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:17px 0;border-bottom:1px solid #e4ecec}.completed-document>div{flex:1;min-width:150px}.completed-document strong{display:block;font-size:12px;font-weight:500;line-height:1.6}.completed-document .text-link{font-size:10px;margin-top:6px}
.legal-block.indented{margin-left:28px}.mapping-correction{padding:15px;background:#f3f7f7;border-left:2px solid var(--brand);margin-top:18px}.mapping-correction strong{font-size:11px}.mapping-correction p{margin-top:6px}.mapping-version{margin-top:20px}.mapping-version summary{background:none;padding:0;display:list-item;color:var(--action);font-size:11px}.mapping-version p{margin:10px 0}.mapping-version summary::-webkit-details-marker{display:initial}
/* Full workbook navigation */
.workbook-stats{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:22px 25px;background:#f8fbfb;border:1px solid var(--line);border-radius:14px;margin-bottom:25px;font-size:11px;color:var(--muted)}.workbook-stats strong{font:600 23px 'Plus Jakarta Sans',sans-serif;color:var(--action);margin-right:6px}.workbook-stats .text-link{margin-left:auto;font-size:11px}.directory-controls{margin:22px 0}.directory-controls>label{font-size:11px;color:var(--muted);display:block;margin-bottom:9px}.directory-controls>.text-field{max-width:580px;background:white}.group-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.group-filters button{padding:9px 13px;background:#f8fbfb;border:1px solid #d7e2e4;border-radius:8px;font-size:11px;color:var(--muted)}.group-filters button.active{background:var(--action);color:white;border-color:var(--action)}.directory-group{margin-top:28px}.directory-group .section-title{align-items:baseline}.directory-group .section-title p{max-width:460px;line-height:1.6}.requirement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.requirement-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:21px;background:white;transition:transform .2s,box-shadow .2s}.requirement-card:hover{transform:translateY(-3px);box-shadow:0 7px 22px #203f450c;border-color:#9bbfc4}.requirement-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px}.requirement-card h3{font-size:14px;font-weight:500;line-height:1.6;margin-top:17px}.requirement-card>p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:10px}.requirement-card-bottom{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--action);margin-top:auto;padding-top:22px}.correction-dot{width:7px;height:7px;background:#a18b54;border-radius:50%;flex:none}.entry-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.entry-navigation>label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}.entry-navigation select{max-width:320px;padding:10px 13px;border:1px solid #cbdcde;border-radius:8px;color:var(--ink);background:#f8fbfb;font-size:11px}.correction-banner{padding:16px 18px;border:1px solid #e3ddcd;background:#fbfaf6;border-radius:10px;margin:22px 0}.correction-banner>div{display:flex;align-items:flex-start;gap:8px;color:#78622e;font-size:11px;line-height:1.7}.correction-banner .text-link{margin-top:8px;font-size:10px}.correction-record{padding:20px;border-left:3px solid #c4b585;background:#fbfaf6;border-radius:9px;margin-top:20px}.correction-record h3{margin:0 0 12px;line-height:1.7}.correction-record p{font-size:12px;margin:10px 0}.document-alias,.original-row{border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:15px}.document-alias summary,.original-row summary{font-size:12px;font-weight:500;line-height:1.7;cursor:pointer}.document-alias p{font-size:11px;margin:12px 0;white-space:pre-line}.original-row dt{font-size:11px;font-weight:600;margin:20px 0 8px}.original-row dd{font-size:11px;line-height:1.8;color:var(--muted);margin:0;white-space:pre-line;overflow-wrap:anywhere}.cell-review{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.cell-review>summary{font-size:12px;color:var(--action);line-height:1.7;cursor:pointer}.cell-review-row{padding:18px 0;border-bottom:1px solid var(--line)}.cell-review-row strong{font-size:11px}.cell-review-row blockquote{border-left:2px solid var(--brand);padding:11px 15px;margin:12px 0;background:#f6fafa;white-space:pre-line;font-size:11px;line-height:1.7;color:var(--muted)}.cell-review-row p{font-size:11px}.entry-checklist-details{padding:18px 0;font-size:11px;line-height:1.8;color:var(--muted)}.entry-checklist-details .btn{margin-top:15px}.legacy-evidence{margin-top:30px;font-size:11px;color:var(--muted);line-height:1.8}.legacy-evidence p{margin:12px 0}.legacy-evidence summary{cursor:pointer}.framework-connection-list{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:20px}.framework-connection{display:flex;text-align:left;align-items:center;gap:15px;background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.framework-connection>span:nth-child(2){flex:1;min-width:0}.framework-connection strong{display:block;font-size:12px;font-weight:500;line-height:1.6}.framework-connection small{display:block;font-size:10px;color:var(--muted);line-height:1.7;margin-top:5px}.framework-connection:hover{border-color:var(--action);background:#f8fbfb}.connection-board{background:#f8fbfb;background-image:radial-gradient(#c6d8da .7px,transparent .7px);background-size:20px 20px;border:1px solid var(--line);border-radius:18px;padding:35px}.connection-center{position:relative;max-width:550px;margin:auto;text-align:center;padding:25px;background:#e6f2f4;border:1px solid #9dbfc6;border-radius:13px}.connection-center h2{font:500 22px/1.5 'Plus Jakarta Sans',sans-serif;margin-top:12px}.connection-center p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:10px}.connection-center:after{content:'';position:absolute;width:2px;height:32px;background:#abcdd2;left:50%;top:100%}.connection-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px;position:relative;padding-top:22px;border-top:2px solid #abcdd2}.connection-node{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;background:white;border:1px solid #cbdfe1;border-radius:13px;padding:23px;transition:transform .2s,box-shadow .2s}.connection-node:before{content:'';position:absolute;width:2px;height:22px;background:#abcdd2;bottom:100%;left:50%}.connection-node>svg{color:var(--action)}.connection-node strong{font-size:13px;font-weight:500}.connection-node small{font-size:10px;line-height:1.7;color:var(--muted)}.connection-node>svg:last-child{align-self:flex-end;margin-top:auto}.connection-node:hover{transform:translateY(-4px);box-shadow:0 8px 20px #203f4510}.legal-heading{font-weight:600;background:#f1f6f6;padding:12px;border-radius:5px;margin-top:25px}.legal-heading p{font-weight:600}.main-card .completed-document>.file-label{max-width:100%;font-size:9px}.main-card .completed-document>div{min-width:170px}.dialog-body select.text-field{line-height:1.5;white-space:normal;font-size:12px}.app-footer span{line-height:1.6}
@media(max-width:1250px){.requirement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.framework-connection-list{grid-template-columns:1fr}.workbook-stats{gap:15px}.workbook-stats .text-link{margin-left:0}}
@media(max-width:760px){.entry-navigation{align-items:flex-start;flex-wrap:wrap}.entry-navigation>label{width:100%}.entry-navigation select{flex:1;max-width:100%;min-width:0}.connection-board{padding:23px}.connection-branches{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-group .section-title{flex-wrap:wrap;gap:9px}.directory-group .section-title p{text-align:left;max-width:100%}.workbook-stats{padding:18px}.workbook-stats strong{font-size:21px}.entry-navigation .text-link{font-size:11px}}
@media(max-width:480px){.requirement-grid{grid-template-columns:1fr}.requirement-card{padding:20px}.workbook-stats{gap:12px;font-size:10px}.workbook-stats span{flex-basis:42%}.workbook-stats .text-link{font-size:10px}.group-filters{gap:6px}.group-filters button{font-size:10px;padding:8px 11px}.connection-board{padding:18px}.connection-node{padding:17px}.connection-node strong{font-size:12px}.connection-center{padding:18px}.connection-center h2{font-size:19px}.framework-connection{gap:11px;padding:16px}.framework-connection .pill{font-size:8px}.original-row,.document-alias{padding:13px}.legal-document-head h3{font-size:19px}.completed-document .file-label{white-space:normal;line-height:1.6}.map-toolbar select{width:100%;min-width:0}.journey-heading>.btn{display:none}}

.more-forms {margin-top:14px;border-top:1px solid var(--line);padding-top:16px}.more-forms>summary{cursor:pointer;color:var(--action);font-weight:600;font-size:13px;padding:8px 0}.more-forms[open]>summary{margin-bottom:12px}
/* A conversation anchored in the workbook. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ask-neolaw-nav{display:flex;align-items:center;gap:10px;margin:8px 0 0;width:100%;padding:13px 12px;color:var(--action);background:#e7f2f3;border:1px solid #c6dfe2;border-radius:10px;font-size:12px;font-weight:600;text-align:left}.ask-neolaw-nav:hover{background:#dbeef0}
.checklist-assistant{position:relative;overflow:hidden;padding:32px;margin-top:32px;background:linear-gradient(120deg,#f9fcfc,#e6f2f3);border:1px solid #bed9dd;border-radius:19px}.checklist-assistant-top{display:flex;align-items:center;gap:12px;margin-bottom:22px}.checklist-assistant-top>.pill{margin-left:auto}.assistant-mark{width:35px;height:39px;display:grid;place-items:center;flex:none}.assistant-mark img{width:26px;max-height:34px}.checklist-assistant h2{font:600 24px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:-.7px}.checklist-assistant>p{font-size:12px;color:var(--muted);line-height:1.8;max-width:670px;margin-top:12px}.checklist-chat-chips{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0}.checklist-chat-chips button{display:flex;align-items:center;gap:9px;background:white;border:1px solid #c7dcdf;border-radius:22px;padding:11px 14px;font-size:11px;color:var(--action)}.checklist-chat-chips button:hover{background:var(--soft);transform:translateY(-2px)}.chat-launch-input{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;border:1px solid #c3d9dc;background:white;padding:12px 14px 12px 18px;border-radius:14px;gap:15px;color:var(--muted);font-size:12px}.chat-launch-input>span:last-child{background:var(--action);color:white;padding:10px;border-radius:10px}.checklist-assistant .chat-connection-note{font-size:10px;margin-top:12px}
.assistant-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 25px;background:#fff;border-bottom:1px solid var(--line);flex:none}.assistant-brand{display:flex;gap:13px;align-items:center}.assistant-brand h2{font:600 21px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:-.6px}.assistant-brand p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:2px}.assistant-context{padding:18px 25px 15px;background:#eef6f6;border-bottom:1px solid #d7e7e8;flex:none}.assistant-context label{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:8px}.assistant-context select{width:100%;min-width:0;padding:9px 11px;border:1px solid #c3d9dc;background:#fff;border-radius:8px;color:var(--ink);font-size:11px;text-overflow:ellipsis}.assistant-mode{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:9px;color:var(--muted);line-height:1.5}.assistant-mode button{margin-left:auto;font-size:9px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.assistant-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:80px;flex:1;padding:23px 25px;scrollbar-gutter:stable}.assistant-welcome{text-align:center;margin:12px auto 20px;max-width:370px}.assistant-orb{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 22px;background:radial-gradient(circle at 35% 30%,#f6ffff,#c4e3e7);border:1px solid #c0dfe3;border-radius:19px;box-shadow:0 10px 30px #4d8b9412;color:var(--action)}.assistant-welcome .eyebrow{font-size:8px}.assistant-welcome h3{font:500 27px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:-.7px;margin:15px 0}.assistant-welcome p{font-size:12px;line-height:1.9;color:var(--muted)}.assistant-promise{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:24px;font-size:10px;color:var(--action)}.assistant-suggestions{display:flex;gap:8px;overflow-x:auto;padding:13px 25px 12px;flex:none;border-top:1px solid var(--line);scrollbar-width:thin}.assistant-suggestions button{flex:none;display:flex;align-items:center;gap:8px;border:1px solid #c9dde0;border-radius:20px;padding:9px 12px;font-size:10px;color:var(--action);background:#fff}.assistant-suggestions button:hover{background:#e6f2f3}.assistant-compose{display:flex;align-items:flex-end;gap:12px;border:1px solid #b6d1d5;border-radius:13px;background:white;padding:11px;margin:0 25px;flex:none}.assistant-compose:focus-within{outline:2px solid #86c4cd;outline-offset:2px}.assistant-compose textarea{border:0;resize:none;outline:none!important;width:100%;min-width:0;font-size:12px;color:var(--ink);line-height:1.7;padding:5px 3px;max-height:120px}.assistant-send{width:37px;height:37px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--action);color:white}.assistant-send:hover{background:#205861}.assistant-foot{padding:10px 25px 15px;font-size:9px;line-height:1.6;color:var(--muted);text-align:center;flex:none}.chat-message{margin-bottom:24px;font-size:12px;line-height:1.85;overflow-wrap:anywhere}.chat-message>small{font-size:8px;letter-spacing:.7px;display:block;margin-bottom:10px;color:var(--action);font-weight:600}.chat-message.user{margin-left:38px;background:#dfeef0;border:1px solid #cce0e3;padding:16px 18px;border-radius:13px 13px 3px 13px}.chat-message.user small{letter-spacing:0;text-transform:none;font-weight:400}.chat-message.user p{white-space:pre-wrap}.chat-message.answer{background:white;border:1px solid var(--line);padding:20px;border-radius:13px 13px 13px 3px}.chat-message.answer>p{white-space:pre-line}.chat-message section{margin-top:18px}.chat-message h4{font-size:11px;font-weight:600;margin-bottom:8px}.chat-message ul{margin:0;padding-left:17px}.chat-message li{margin:5px 0;color:#526b70}.chat-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.chat-actions button{border:1px solid #c6dce0;background:#f5fafb;border-radius:8px;display:inline-flex;align-items:center;gap:8px;padding:9px 11px;font-size:10px;color:var(--action);text-align:left;line-height:1.6}.chat-actions button:hover{background:#e1f0f2}.chat-sources{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.chat-sources>span{font-size:8px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);width:100%}.chat-sources button{display:flex;gap:6px;align-items:center;color:var(--action);text-align:left;font-size:9px;line-height:1.6}.chat-wait{font-size:11px;color:var(--muted)}
@media(max-width:600px){.assistant-head{padding:17px 19px}.assistant-context{padding:13px 19px}.assistant-scroll{padding:20px 18px}.assistant-suggestions{padding:12px 18px}.assistant-compose{margin:0 18px}.assistant-foot{padding:10px 18px 13px}.assistant-welcome h3{font-size:24px}.assistant-welcome{margin-top:5px}.assistant-orb{margin-bottom:15px;width:50px;height:50px}.chat-message.answer{padding:17px}.checklist-assistant{padding:22px}.checklist-assistant h2{font-size:21px}.checklist-chat-chips{gap:7px}.checklist-chat-chips button{font-size:10px;padding:10px 12px}.assistant-mode{font-size:8px}.assistant-welcome p{font-size:11px}.assistant-promise{font-size:9px}}
.assistant-mode .connect-ai-button{margin-left:auto;text-decoration:none;background:#fff;border:1px solid #abcdd2;border-radius:7px;padding:6px 9px;color:var(--action);font-weight:600}.assistant-mode [data-chat="clear"]{margin-left:5px}.assistant-send:disabled{opacity:.45;cursor:wait}.assistant-suggestions button:disabled{opacity:.5;cursor:wait}#ai-settings{width:min(520px,calc(100vw - 24px));max-width:520px;height:fit-content;max-height:calc(100dvh - 30px);inset:0;margin:auto;border:1px solid #c4dadd;border-radius:18px;padding:0;background:#fff;color:var(--ink)}#ai-settings::backdrop{background:#20343750;backdrop-filter:blur(5px)}.ai-settings-body{padding:28px}.ai-settings-body h2{font:600 26px/1.4 'Plus Jakarta Sans',sans-serif;margin:17px 0 12px}.ai-settings-body>p{font-size:13px;line-height:1.8;color:var(--muted)}#ai-key-form{margin-top:24px}#ai-key-form input{width:100%}#ai-connect-status{font-size:12px;line-height:1.7;color:var(--action);margin:18px 0 12px;overflow-wrap:anywhere}.ai-connected-note{font-size:12px;line-height:1.7;background:var(--soft);padding:14px;border-radius:10px;margin-top:18px}#ai-key-form .tiny-note{margin-top:12px}#ai-key-form button:disabled{opacity:.5;cursor:wait}
@media(max-width:400px){.assistant-mode{flex-wrap:wrap}.assistant-mode .connect-ai-button{margin-left:0}.ai-settings-body{padding:22px}.ai-settings-body h2{font-size:23px}}

/* Neolaw rail and workspace: the same navigation on every page. */
:root{--sidebar-space:84px}.shell{margin-left:var(--sidebar-space);transition:margin-left .28s cubic-bezier(.22,1,.36,1)}body.nav-pinned{--sidebar-space:248px}
#sidebar{inset:12px auto 12px 12px;width:60px;padding:0;display:flex;border:1px solid #d9e3e3;border-radius:16px;background:#fafcfc;box-shadow:0 2px 3px #17363b03;overflow-x:hidden;overflow-y:auto;transition:width .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;z-index:50}
#sidebar>*{flex-shrink:0}#sidebar:hover,#sidebar:focus-within,.nav-pinned #sidebar{width:224px;box-shadow:12px 0 36px #1e404817}.nav-collapse-lock:not(.nav-pinned) #sidebar{width:60px}
.rail-brand{height:62px;display:flex;align-items:center;padding:0 14px;gap:10px;min-width:204px}.rail-brand-link{display:flex;align-items:center;gap:12px;flex:1}.rail-brand img{width:28px;height:34px;object-fit:contain;flex:none}.rail-brand .nav-text{font:600 22px/1.2 'Plus Jakarta Sans',sans-serif;letter-spacing:-.7px}.rail-brand .icon-button{width:27px;height:29px;flex:none}
#sidebar .nav-text,#sidebar .nav-count,#sidebar .nav-label,#rail-toggle{opacity:0;transition:opacity .15s}#sidebar:hover .nav-text,#sidebar:focus-within .nav-text,.nav-pinned #sidebar .nav-text,#sidebar:hover .nav-count,#sidebar:focus-within .nav-count,.nav-pinned #sidebar .nav-count,#sidebar:hover .nav-label,#sidebar:focus-within .nav-label,.nav-pinned #sidebar .nav-label,#sidebar:hover #rail-toggle,#sidebar:focus-within #rail-toggle,.nav-pinned #rail-toggle{opacity:1}.nav-collapse-lock:not(.nav-pinned) #sidebar .nav-text,.nav-collapse-lock:not(.nav-pinned) #sidebar .nav-count,.nav-collapse-lock:not(.nav-pinned) #sidebar .nav-label,.nav-collapse-lock:not(.nav-pinned) #rail-toggle{opacity:0}.nav-text{min-width:0;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.rail-new-chat{height:39px;width:calc(100% - 20px);margin:0 10px 17px;border:1px solid #c6dde0;border-radius:10px;background:#edf6f6;display:flex;align-items:center;gap:12px;padding:0 10px;font-size:13px;font-weight:600;color:var(--action);white-space:nowrap;overflow:hidden}.rail-new-chat:hover{background:#e3f0f1}.rail-new-chat>[data-icon]{width:18px;flex:none}
#main-nav{padding:0 10px;gap:3px}#main-nav a,#sidebar .framework-nav button,#sidebar .help-link{height:38px;min-height:38px;display:flex;align-items:center;gap:12px;margin:0;width:100%;padding:0 10px;border:0;box-shadow:none;border-radius:9px;font-size:12px;white-space:nowrap;color:#5c7175;background:transparent;overflow:hidden}#main-nav a:hover,#sidebar .framework-nav button:hover,#sidebar .help-link:hover{background:#eaf0f0}#main-nav a.active{background:#deedef;color:var(--action);font-weight:600}#main-nav a>[data-icon],#sidebar .help-link>[data-icon]{width:18px;flex:none}#main-nav .nav-count{flex:none;margin-left:auto}.rail-cra{width:18px;height:20px;display:grid;place-items:center;flex:none;font-size:8px;font-weight:700;letter-spacing:.2px;color:var(--action)}
#sidebar .nav-label{font-size:9px;letter-spacing:1.2px;padding:0 22px;margin:26px 0 10px;white-space:nowrap}#sidebar .framework-nav{padding:0 10px}#sidebar .framework-nav button{height:34px;min-height:34px;padding:0 10px}#sidebar .framework-abbr{width:18px;height:22px;flex:none;background:transparent;border:0;border-radius:0;font-size:8px;color:var(--action)}#sidebar .framework-nav button.active{background:#edf6f6;color:var(--action)}
#sidebar .sidebar-bottom{margin-top:auto;padding:14px 10px 10px}.rail-profile{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:8px;padding:14px 4px 1px;min-width:190px;font-size:12px}.rail-profile small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.rail-avatar{width:30px;height:30px;border:1px solid #c6dde0;border-radius:50%;background:#edf6f6;color:var(--action);display:grid;place-items:center;font-size:10px;font-weight:600;flex:none}
.topbar{height:64px;padding:0 32px}main{min-height:calc(100vh - 64px)}
/* The chat landing mirrors Neolaw: greeting, composer, tabs, then action cards. */
body.chat-page{overflow:hidden}.chat-page .topbar{display:contents}.chat-page #breadcrumbs,.chat-page .top-right{display:none}.chat-page #content{padding:0;max-width:none;min-height:0;height:100dvh}.chat-page .mobile-toggle{position:fixed;top:12px;left:12px;z-index:30;background:#f7fafa;border:1px solid #d4e2e4;border-radius:9px;width:34px;height:34px}
#assistant-page{display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden;background:var(--bg)}#assistant-page:not(.has-messages){overflow-y:auto}.assistant-corner{position:fixed;right:20px;top:12px;z-index:25}.assistant-corner .btn{font-size:10px;background:#f7fafa;border:1px solid #d4e2e4;min-height:32px;padding:7px 11px}.assistant-landing{max-width:1050px;width:100%;margin:0 auto;padding:74px 42px 28px}.assistant-landing-intro{text-align:center;margin-bottom:25px}.assistant-landing-intro .eyebrow{font-size:10px;color:#809a9e;letter-spacing:1.2px;margin:0 0 14px}.assistant-landing-intro h2{font:600 35px/1.3 'Plus Jakarta Sans',Inter,sans-serif;letter-spacing:-1.4px}.assistant-landing-intro h2 em{font-style:normal;color:#508e98}.assistant-landing-intro>p:last-child{font-size:13px;color:#708185;margin-top:11px;line-height:1.6}
#assistant-page .assistant-compose{display:block;margin:0;border:1px solid #cadbdd;border-radius:17px;background:#fff;padding:17px 17px 12px;box-shadow:0 4px 12px #23525c04,0 1px 2px #1b434908}#assistant-page .assistant-compose:focus-within{outline:0;border-color:#6faab3;box-shadow:0 0 0 3px #86c4cd33}#assistant-page .assistant-compose textarea{display:block;min-height:70px;max-height:150px;font-size:14px;line-height:1.65;padding:0;background:transparent;color:var(--ink)}#assistant-page .assistant-compose textarea::placeholder{color:#627980;opacity:1}.assistant-compose-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.assistant-compose-controls>div{display:flex;align-items:center;gap:12px;min-width:0}.composer-context{flex:1;max-width:65%;color:#71888d}.composer-context select{font-size:11px;color:#607c83;border:0;background:transparent;max-width:280px;min-width:0;width:auto;padding:5px 20px 5px 0;text-overflow:ellipsis}.composer-model{display:flex;align-items:center;gap:6px;border-left:1px solid var(--line);padding:0 12px;color:var(--muted);font-size:11px;white-space:nowrap}.composer-model>svg:last-child{transform:rotate(90deg)}.assistant-send{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--action);color:white}.assistant-send svg{transform:rotate(-90deg)}.assistant-send:disabled{background:#e5ebec;color:#84999d;opacity:1;cursor:default}
#assistant-page .assistant-mode{display:flex;justify-content:center;gap:6px;margin:10px 0 0;font-size:9px;color:#708185}#assistant-page .assistant-mode .dot{width:4px;height:4px;background:#98afb3}#assistant-page.ai-connected .assistant-mode .dot{background:var(--action)}#assistant-page .assistant-foot{display:none}
.assistant-home-tabs{display:flex;justify-content:center;align-items:center;gap:6px;margin:22px 0 14px;flex-wrap:wrap}.assistant-home-tabs button{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:8px;font-size:12px;color:#708185}.assistant-home-tabs button:hover{background:#e5eded;color:var(--ink)}.assistant-home-tabs button.active{background:#deedef;color:var(--action);font-weight:600}
#assistant-page .assistant-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0;text-align:left}.assistant-tool-grid button{border:1px solid #dbe6e6;background:#f7fafa;display:flex;align-items:center;gap:10px;padding:13px;border-radius:11px;min-height:78px;text-align:left;min-width:0;transition:background .17s,border-color .17s}.assistant-tool-grid button:hover{background:white;border-color:#b0cfd4;box-shadow:0 4px 14px #284d5607}.assistant-tool-grid .starter-icon{display:grid;place-items:center;width:27px;height:32px;color:#5796a0;flex:none}.assistant-tool-grid strong{display:block;font-size:12px;line-height:1.5;font-weight:600}.assistant-tool-grid small{display:block;font-size:10px;line-height:1.5;color:#60767b;margin-top:4px}.assistant-tool-grid button>svg:last-child{margin-left:auto;color:#adbec1;flex:none}.assistant-library-link{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px auto 0;font-size:12px;color:#6d878d;padding:6px}.assistant-library-link:hover{color:var(--action);text-decoration:underline}
#assistant-page:not(.has-messages) .assistant-scroll,#assistant-page:not(.has-messages) .assistant-bottom{display:none}#assistant-page.has-messages .assistant-landing{display:none}#assistant-page .assistant-scroll{flex:1;min-height:0;overflow-y:auto;padding:66px max(28px,calc((100% - 760px)/2)) 22px;scrollbar-gutter:stable both-edges}.assistant-bottom{flex:none;min-width:0;padding:10px max(28px,calc((100% - 760px)/2)) 15px;background:var(--bg)}#assistant-page .assistant-suggestions{padding:0 2px 13px;border:0;gap:7px}#assistant-page .assistant-suggestions button{border-radius:8px;font-size:10px;padding:9px 11px;background:#f7fafa}#assistant-page.has-messages .assistant-compose textarea{min-height:46px;height:46px}
#assistant-page .chat-message{font-size:14px;line-height:1.8;margin-bottom:28px}#assistant-page .chat-message.user{margin-left:auto;max-width:88%;width:fit-content;padding:12px 17px;background:#dfeaec;border-color:#d7e4e6}#assistant-page .chat-message.user small{font-size:9px;margin-bottom:5px}#assistant-page .chat-message.answer{padding:5px 0 20px;border:0;background:transparent;border-radius:0}#assistant-page .chat-answer-label{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink);letter-spacing:0;margin-bottom:17px}#assistant-page .chat-answer-label img{width:20px;height:24px;object-fit:contain}#assistant-page .chat-answer-label span{font-weight:400;color:var(--muted);font-size:10px;margin-left:3px}#assistant-page .chat-message h4{font-size:13px}#assistant-page .chat-message li{margin:7px 0}#assistant-page .chat-actions button{font-size:11px;padding:10px 13px;background:#f8fbfb}#assistant-page .chat-sources button{font-size:10px;background:#e2eef0;border:1px solid #cfdee1;padding:5px 8px;border-radius:6px}#assistant-page .chat-wait{font-size:12px;padding:14px 0 24px}
@media(min-width:1500px){.assistant-landing{padding-top:80px;max-width:1120px}.assistant-landing-intro h2{font-size:38px}}
@media(max-width:1000px){.assistant-landing{padding:68px 30px 25px}.assistant-tool-grid button{padding:12px 10px;gap:8px}.assistant-tool-grid button>svg:last-child{display:none}.assistant-tool-grid strong{font-size:11px}.assistant-landing-intro h2{font-size:30px}}
@media(max-width:760px){:root,body.nav-pinned{--sidebar-space:0px}#sidebar{display:none;top:8px;bottom:8px;left:8px}#sidebar.open{display:flex;width:224px!important;box-shadow:0 10px 35px #163e4220}#sidebar.open .nav-text,#sidebar.open .nav-label,#sidebar.open .nav-count{opacity:1!important}#rail-toggle{display:none}.mobile-toggle{display:inline-flex}.nav-backdrop{z-index:40}.topbar{padding:0 16px}.assistant-landing{padding:66px 23px 25px}#assistant-page .assistant-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-landing-intro h2{font-size:29px}.assistant-home-tabs{gap:0}.assistant-home-tabs button{font-size:11px;padding:8px 9px}.composer-context{max-width:60%}.composer-context select{max-width:100%}.assistant-corner{right:12px;top:12px}}
@media(max-width:480px){.assistant-landing{padding:67px 18px 24px}.assistant-landing-intro h2{font-size:27px;letter-spacing:-1px}.assistant-landing-intro>p:last-child{font-size:12px}.assistant-landing-intro .eyebrow{font-size:9px}.assistant-home-tabs{row-gap:4px;margin-top:19px}.assistant-home-tabs button{font-size:10px;padding:8px}.assistant-home-tabs button svg{width:12px}.assistant-tool-grid button{padding:12px 9px;gap:7px;min-height:84px}.assistant-tool-grid .starter-icon{width:22px;height:28px}.assistant-tool-grid .starter-icon svg{width:18px}.assistant-tool-grid strong{font-size:11px}.assistant-tool-grid small{font-size:10px}#assistant-page .assistant-compose{padding:15px 13px 11px}#assistant-page .assistant-compose textarea{font-size:16px;min-height:80px;line-height:1.5}.assistant-compose-controls{gap:7px}.assistant-compose-controls>div{gap:5px}.composer-context{max-width:53%}.composer-context>svg{display:none}.composer-context select{font-size:10px;padding-right:5px}.composer-model{font-size:9px;padding:0 5px;gap:4px}.composer-model>svg{display:none}.assistant-send{width:30px;height:30px}#assistant-page .assistant-scroll{padding:60px 18px 12px;scrollbar-gutter:auto}.assistant-bottom{padding:8px 14px max(13px,env(safe-area-inset-bottom))}#assistant-page .chat-message{font-size:13px}#assistant-page .chat-message.user{max-width:92%}.assistant-library-link{font-size:11px}.assistant-corner .btn{font-size:10px}}
@media(prefers-reduced-motion:reduce){.shell,#sidebar{transition:none}}

/* Progressive chat reply; source buttons appear once the text is complete. */
#assistant-page .chat-message [hidden]{display:none!important}
#assistant-page .chat-message.is-typing::after{content:'';display:inline-block;width:7px;height:16px;margin:5px 0 0 3px;background:var(--action);border-radius:2px;animation:chat-caret .85s steps(1) infinite}
@keyframes chat-caret{50%{opacity:0}}

/* Consistent page edges and card alignment, including a pinned navigation rail. */
:root{--page-gutter:clamp(16px,4vw,48px)}
.topbar{padding-inline:var(--page-gutter)}
main{padding-inline:var(--page-gutter)}
.page-head>div,.journey-heading>div,.document-row-left,.document-row-left>div{min-width:0}
.page-head>.btn,.journey-heading>.btn,.document-row>.btn{flex-shrink:0}
.requirement-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.requirement-card-bottom{align-items:center}
.directory-group .section-title{align-items:center;flex-wrap:wrap;gap:8px 24px}
.directory-group .section-title p{text-align:left;max-width:none}
.document-row{align-items:flex-start}
.document-row-left{align-items:flex-start}
.document-row-left>svg{margin-top:3px}
.checklist-count{display:flex;align-items:center;gap:12px;flex-shrink:0}
.checklist-count svg{transition:transform .18s}
.checklist-group[open] .checklist-count svg{transform:rotate(90deg)}
.checklist-group summary h2{line-height:1.55}
.connection-branches,.connection-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.connection-branches{border-top:0;padding-top:24px;margin-top:32px}
.connection-branches::before{content:'';position:absolute;top:0;left:calc((100% - 36px)/6);right:calc((100% - 36px)/6);height:1px;background:#abcdd2}
.connection-center::after{width:1px;height:33px;left:calc(50% - .5px)}
.connection-branches>.connection-node::before{width:1px;height:24px;left:calc(50% - .5px)}
.connection-related-heading{font-size:11px;font-weight:600;color:var(--muted);margin:30px 0 14px}
.connection-related>.connection-node::before{display:none}
.connection-node{min-width:0;padding:22px;min-height:158px}
.connection-node strong{line-height:1.5}
.connection-node:hover{transform:none;border-color:#82aeb6}
.connection-related .connection-node{background:#fbfdfd}
.assistant-tool-grid button>span:not(.starter-icon){min-width:0}
.composer-context select{width:100%}
.chat-sources button,.chat-actions button{max-width:100%;overflow-wrap:anywhere}
.assistant-corner .btn.primary{background:var(--action);border-color:var(--action);color:white}
.assistant-corner .btn.primary:hover{background:#225760}
@media(max-width:760px){
  .connection-board{padding:24px}
  .connection-branches,.connection-related{grid-template-columns:1fr;gap:12px}
  .connection-branches{padding-top:0;margin-top:24px}
  .connection-center::after,.connection-branches::before,.connection-node::before{display:none}
  .connection-node{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;gap:5px 12px;min-height:92px;padding:18px;align-items:center}
  .connection-node>svg:first-child{grid-column:1;grid-row:1/3}
  .connection-node strong{grid-column:2;grid-row:1}
  .connection-node small{grid-column:2;grid-row:2}
  .connection-node>svg:last-child{grid-column:3;grid-row:1/3;align-self:center;margin:0}
  .connection-related-heading{margin-top:24px}
  .connection-center{padding:22px 16px}
  .checklist-group summary{gap:12px}
  .checklist-count{gap:7px}
}
@media(max-width:480px){
  .connection-board{padding:16px}
  .checklist-group summary{align-items:flex-start}
  .checklist-count{padding-top:2px;font-size:9px!important}
  .checklist-count svg{width:12px}
  .workbook-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}
  .workbook-stats>span{font-size:10px;line-height:1.6}
  .workbook-stats strong{display:block;margin:0 0 3px}
  .workbook-stats>.text-link{grid-column:1/-1;margin:0}
}

/* A single connected view of one workbook entry. */
main:has(.excel-map-page){padding-top:24px}
.excel-map-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.excel-map-heading h1{font-size:30px;letter-spacing:-1px;margin:0 0 8px}
.excel-map-heading p{font-size:13px;color:var(--muted);line-height:1.6}
.excel-map-heading>.btn{flex-shrink:0}
.excel-entry-picker{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.excel-entry-picker label{font-size:12px;white-space:nowrap;color:var(--muted)}
.excel-entry-picker select{min-width:0;flex:1;width:0;background:white;font-size:12px}
.excel-position{font-size:11px;white-space:nowrap;color:var(--muted)}
.excel-map-board{container-type:inline-size;background:radial-gradient(#b4cdd144 .8px,transparent .8px) 0 0/16px 16px;border:1px solid var(--line);border-radius:20px;padding:18px}
.excel-map-grid{position:relative;display:grid;grid-template-columns:1fr 1.13fr 1fr;grid-template-areas:'requirement hub documents' 'objective hub evidence' 'iso nis2 gdpr';gap:22px 34px;align-items:stretch}
.excel-map-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.excel-map-lines path{fill:none;stroke:#9cbfc5;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.excel-map-lines circle{fill:#eef2f2;stroke:#80aeb6;stroke-width:1.3}
.excel-map-lines .framework-line{stroke-dasharray:4 5}
.excel-map-hub,.excel-map-card{position:relative;z-index:1;min-width:0;border:1px solid #d3e0e2;border-radius:15px;background:#fff;box-shadow:0 4px 12px #24444a04}
.excel-map-hub{grid-area:hub;align-self:center;text-align:center;padding:26px 15px;background:#e4f0f1;border-color:#9fc3c9}
.excel-map-hub h2{font:600 19px/1.55 'Plus Jakarta Sans',sans-serif;letter-spacing:-.5px;margin:12px 0 10px}
.excel-map-hub p{font-size:12px;line-height:1.7;color:#42656b}
.excel-map-hub>small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:12px}
.excel-law-buttons{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:18px}
.excel-law-buttons button{display:flex;align-items:center;gap:6px;background:#fff9;border:1px solid #b7d0d4;border-radius:7px;padding:7px 8px;font-size:10px;color:var(--action)}
.excel-law-buttons button:hover{background:white;border-color:var(--action)}
.excel-map-card{padding:13px;display:flex;flex-direction:column}
.excel-map-card[data-excel-node=requirement]{grid-area:requirement}.excel-map-card[data-excel-node=objective]{grid-area:objective}.excel-map-card[data-excel-node=documents]{grid-area:documents}.excel-map-card[data-excel-node=evidence]{grid-area:evidence}.excel-map-card[data-excel-node=iso]{grid-area:iso}.excel-map-card[data-excel-node=nis2]{grid-area:nis2}.excel-map-card[data-excel-node=gdpr]{grid-area:gdpr}
.excel-map-card h2{font-size:12px;font-weight:600;margin-bottom:10px}
.excel-map-card h2 button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;text-align:left}
.excel-map-card h2 button>span{display:flex;align-items:center;gap:8px}
.excel-map-card h2 button svg{color:var(--action)}
.excel-map-card h2 button:hover{color:var(--action)}
.excel-card-lead{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:12px}
.excel-snippets{padding:0 0 0 4px;margin:0 0 7px;color:var(--muted);font-size:11px;line-height:1.6}
.excel-snippets li{margin:0 0 5px;padding-left:2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.excel-snippets li::before{content:'•';color:#8aafb5;margin-right:6px}
.excel-card-more{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;font-weight:500;color:var(--action);text-align:left;margin-top:auto;padding:7px 0 0}
.excel-document-buttons{display:grid;gap:4px}
.excel-document-buttons button{display:flex;align-items:center;justify-content:space-between;gap:7px;text-align:left;font-size:11px;line-height:1.5;background:#f3f7f7;border:1px solid #e4eded;border-radius:7px;padding:5px 8px;color:#355d65}
.excel-document-buttons button:hover{background:var(--soft);border-color:#9fc3c9}
.excel-card-note{font-size:9px;line-height:1.7;color:var(--muted);padding-top:9px}
.excel-framework{margin-top:10px;background:#f8fbfb;min-height:104px}
.excel-framework-ref{font-size:12px;line-height:1.7;font-weight:500;color:#365e66;margin-bottom:9px}
.excel-framework>small{font-size:10px;line-height:1.5;color:var(--muted);margin-top:auto}
.excel-framework>p:not(.excel-framework-ref){font-size:11px;color:var(--muted);line-height:1.7}
.excel-map-caption{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;color:var(--muted);font-size:10px;line-height:1.8;margin-top:14px}
.excel-line-key{width:24px;border-top:1.5px solid #8bb3bb}.excel-line-key.dashed{border-top-style:dashed;margin-left:8px}
.excel-detail-context{font-size:11px!important;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:18px}
.excel-detail-documents{display:grid;gap:9px;margin:20px 0}
.excel-detail-documents button{display:flex;align-items:center;gap:12px;width:100%;padding:14px;background:#f4f8f8;border:1px solid var(--line);border-radius:10px;text-align:left}
.excel-detail-documents button>span{flex:1;min-width:0}.excel-detail-documents strong{display:block;font-size:12px}.excel-detail-documents small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:5px}
.excel-evidence-list{list-style:none;padding:0!important}.excel-evidence-list li{display:flex;align-items:flex-start;gap:12px;padding:15px 0!important;border-bottom:1px solid var(--line)}.excel-evidence-list .pill{flex-shrink:0;margin-top:3px}
.excel-original-detail{border:1px solid var(--line);border-radius:10px;padding:15px;margin:20px 0}.excel-original-detail summary{font-size:12px;cursor:pointer}.excel-original-detail p{margin-top:12px}
@container(max-width:660px){
  .excel-map-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'hub' 'requirement' 'objective' 'documents' 'evidence' 'iso' 'nis2' 'gdpr';gap:20px}
  .excel-map-lines{display:none}
  .excel-map-hub{padding:22px}.excel-map-hub h2{font-size:21px}
  .excel-map-card{padding:19px}.excel-map-card h2{font-size:13px}.excel-card-lead,.excel-snippets,.excel-document-buttons button{font-size:12px}
  .excel-map-card::before{content:'';position:absolute;top:-21px;left:50%;height:20px;border-left:1.5px solid #9cbfc5}
  .excel-framework{margin:0;min-height:100px}.excel-framework::before{border-left-style:dashed}
}
@media(max-width:600px){
  .excel-map-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}.excel-map-heading h1{font-size:27px}.excel-map-heading p{font-size:12px}
  .excel-entry-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.excel-entry-picker label{grid-column:1}.excel-entry-picker select{grid-column:1/-1;grid-row:2;width:100%;font-size:11px}.excel-position{grid-column:2;grid-row:1}
  .excel-map-board{padding:16px}.excel-map-caption{display:block}.excel-line-key{display:inline-block;vertical-align:middle;margin-right:5px}
  .excel-evidence-list li{flex-direction:column;gap:5px}
}

/* Presentation view: one part of the Excel entry at a time. */
main:has(.excel-walk-page){padding-top:20px;padding-bottom:20px}
.excel-walk-page{max-width:1200px;margin:auto}
.walk-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}
.walk-page-heading h1{font:600 25px/1.3 'Plus Jakarta Sans',sans-serif;letter-spacing:-.8px}
.walk-page-heading p{font-size:12px;color:var(--muted);margin-top:5px}
.walk-overview-link{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--action);padding:10px 12px;border:1px solid #cfdee0;border-radius:10px;background:#ffffff80;white-space:nowrap}
.walk-overview-link:hover{background:white;border-color:#8fb7bf}
.walk-stage{position:relative;isolation:isolate;border:1px solid #cbdee1;border-radius:24px;background:linear-gradient(125deg,#fcfefe 5%,#f5fafb 55%,#eaf3f3);box-shadow:0 12px 40px #183f4506;overflow:hidden}
.walk-stage::before,.walk-stage::after{content:'';position:absolute;width:420px;height:420px;border:1px solid #88b9c51a;border-radius:50%;z-index:-1;pointer-events:none}
.walk-stage::before{right:-240px;top:70px;box-shadow:0 0 0 55px #94c7cd0b,0 0 0 110px #94c7cd08}
.walk-stage::after{left:-300px;bottom:-250px;background:#bddde41c;box-shadow:0 0 0 75px #94c7cd08}
.walk-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:17px 30px 15px;border-bottom:1px solid #d7e5e7;background:#ffffff50;gap:0}
.walk-progress a{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;color:#71868a;min-width:0;padding:4px 8px}
.walk-progress a::after{content:'';position:absolute;height:1px;background:#d4e2e4;left:calc(100% - 11px);width:22px;top:50%}
.walk-progress a:last-child::after{display:none}
.walk-progress a>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid #d0dfe1;background:#f5fafa;font-size:10px;flex-shrink:0}
.walk-progress a small{font-size:11px;white-space:nowrap}
.walk-progress a.current{color:var(--action);font-weight:600}
.walk-progress a.current>span{background:var(--action);border-color:var(--action);color:#fff;box-shadow:0 0 0 4px #dcecef}
.walk-progress a.past>span{color:var(--action);background:#dfeef0;border-color:#c0d9dd}
.walk-progress a:hover{color:var(--action)}
.walk-scene{padding:20px 32px 28px;min-height:405px;animation:walk-scene-in .45s cubic-bezier(.16,1,.3,1) both}
.walk-scene-label{display:flex;justify-content:space-between;gap:12px;color:var(--action);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:22px}
.walk-scene-label>span:last-child{color:#7a8f93;letter-spacing:.4px;text-transform:none}
.walk-scene-content{max-width:820px;margin:0 auto;text-align:center}
.walk-scene h2{font:600 clamp(23px,2.5vw,31px)/1.35 'Plus Jakarta Sans',sans-serif;letter-spacing:-1px;outline:none}
.walk-intro{font-size:14px;line-height:1.7;color:var(--muted);max-width:670px;margin:10px auto 0;text-wrap:pretty}
.walk-article-intro h2{font-size:23px;letter-spacing:-.6px}
.walk-article-intro .walk-intro{font-size:12px;margin-top:5px}
.walk-article-card{display:flex;flex-direction:column;align-items:center;width:min(100%,600px);margin:20px auto 0;padding:21px 28px;background:linear-gradient(130deg,#eef8f9,#dfedef);border:1px solid #a9cbd1;border-radius:19px;box-shadow:0 12px 28px #3274800a;transition:transform .25s,box-shadow .25s,border-color .25s}
.walk-article-card:hover{transform:translateY(-3px);border-color:#6cabb7;box-shadow:0 16px 32px #32748012}
.walk-article-icon{color:var(--action);margin-bottom:10px}
.walk-article-ref{font:600 clamp(23px,2.3vw,29px)/1.45 'Plus Jakarta Sans',sans-serif;letter-spacing:-1px;overflow-wrap:anywhere}
.walk-article-ref>span{color:#427c85}
.walk-article-question{font-size:13px;line-height:1.65;color:#4e7279;margin-top:9px}
.walk-article-prompt{display:flex;align-items:center;gap:12px;color:var(--action);font-size:12px;font-weight:600;margin-top:18px}
.walk-source-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin-top:17px;font-size:11px;color:var(--muted)}
.walk-source-links button{display:flex;align-items:center;gap:5px;color:var(--action);padding:4px 0;border-bottom:1px solid #b5d0d5}
.walk-small-note{font-size:11px;line-height:1.75;color:#72868a;margin:16px auto 0;max-width:700px}
.walk-action-list{display:grid;gap:11px;max-width:730px;list-style:none;padding:0;margin:25px auto 18px;text-align:left}
.walk-action-list li{display:flex;align-items:center;gap:17px;background:#ffffffbd;border:1px solid #dbe7e8;border-radius:12px;padding:16px 19px}
.walk-item-number{font-size:11px;font-weight:600;color:#4b8a95;letter-spacing:.7px;flex-shrink:0}
.walk-action-list p{font-size:13px;line-height:1.75;color:#3f5d64}
.walk-detail-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;color:var(--action);font-size:12px;padding:5px 0;border-bottom:1px solid #b4d1d6}
.walk-detail-link:hover{border-color:var(--action)}
.walk-needs{display:grid;gap:11px;max-width:730px;margin:25px auto 18px;text-align:left}
.walk-needs button{display:flex;align-items:center;gap:17px;text-align:left;background:#ffffffbd;border:1px solid #dbe7e8;border-radius:12px;padding:17px 19px;font-size:13px;line-height:1.75;color:#3f5d64}
.walk-needs button:hover{border-color:#92bdc5;background:white}
.walk-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;flex:1}
.walk-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px auto 18px;text-align:left}
.walk-documents button{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:18px 16px;border:1px solid #d3e3e6;background:#fff;border-radius:13px;transition:border-color .2s,transform .2s;min-width:0}
.walk-documents button:hover{border-color:#82b5be;transform:translateY(-2px)}
.walk-document-icon{display:grid;place-items:center;width:36px;height:40px;background:#eaf4f5;border:1px solid #d3e7e9;border-radius:8px;color:var(--action);flex-shrink:0}
.walk-documents button>span:nth-child(2){flex:1;min-width:0}
.walk-documents strong{display:block;font-size:13px;line-height:1.6;font-weight:600}
.walk-documents small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;line-height:1.75;color:var(--muted);margin-top:6px}
.walk-documents button>svg{color:#73a5af;margin-top:11px}
.walk-evidence{display:grid;gap:10px;margin:25px auto 20px;max-width:740px;text-align:left}
.walk-evidence>div{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #dbe7e8;border-radius:12px;padding:16px}
.walk-evidence-symbol{display:grid;place-items:center;width:33px;height:33px;border:1px solid #d5e3e5;background:#f2f7f8;border-radius:50%;color:#7c9ea5;flex-shrink:0}
.walk-evidence-symbol.collected{background:#dceee9;color:#347b62;border-color:#b7d8ca}
.walk-evidence p{flex:1;font-size:13px;line-height:1.7;color:#3f5d64}
.walk-evidence small{font-size:10px;color:var(--muted);flex-shrink:0}
.walk-evidence-footer{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.walk-connections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px auto 20px;text-align:left}
.walk-connections button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:22px 18px;background:#fff;border:1px solid #d3e3e6;border-radius:14px;min-width:0;transition:transform .2s,border-color .2s}
.walk-connections button:hover{transform:translateY(-3px);border-color:#82b5be}
.walk-framework-symbol{color:#568e9a;margin-bottom:15px}
.walk-connections strong{font-size:17px;font-weight:600;margin-bottom:10px}
.walk-framework-reference{font-size:12px;line-height:1.7;color:#4f6e75;overflow-wrap:anywhere}
.walk-connections small{font-size:10px;color:#7c9095;margin-top:12px}
.walk-framework-open{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding-top:22px;margin-top:auto;color:var(--action);font-size:11px}
.walk-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:18px 30px;background:#fff9;border-top:1px solid #d7e5e7}
.walk-back{display:inline-flex;align-items:center;gap:9px;padding:10px 0;font-size:12px;color:var(--action)}
.walk-back:disabled{color:#a7b5b8;cursor:default}
.walk-step-count{font-size:11px;color:var(--muted)}
.walk-next{justify-self:end;min-width:172px;font-size:12px}
.walk-page-note{display:flex;justify-content:space-between;gap:12px;margin-top:13px;font-size:10px;color:#7a8f93}
.walk-page-note button{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}
@keyframes walk-scene-in{from{opacity:0;transform:translateY(17px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:761px){.walk-stage{display:flex;flex-direction:column;height:calc(100dvh - 230px);min-height:470px;max-height:760px}.walk-progress,.walk-controls{flex:none}.walk-scene{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c4dade transparent}.walk-scene-content{width:100%}}
@media(min-width:1000px) and (min-height:820px){.walk-scene{display:flex;flex-direction:column}.walk-scene-content{margin:auto}.walk-scene-label{margin-bottom:20px}.walk-article-card{padding:25px 34px}.walk-article-ref{font-size:30px}}
@media(min-width:761px) and (max-height:800px){.walk-scene{padding:14px 26px 18px}.walk-scene-label{margin-bottom:12px}.walk-scene h2{font-size:25px}.walk-intro{font-size:12px;margin-top:7px}.walk-article-intro h2{font-size:19px}.walk-article-intro .walk-intro{display:none}.walk-article-card{margin-top:12px;padding:13px 24px}.walk-article-icon{display:none}.walk-article-ref{font-size:24px}.walk-article-question{font-size:12px;margin-top:5px}.walk-article-prompt{font-size:11px;margin-top:10px}.walk-source-links{margin-top:10px}.walk-small-note{margin-top:9px;font-size:10px}.walk-action-list,.walk-needs{margin-top:16px;gap:8px;margin-bottom:12px}.walk-action-list li,.walk-needs button{padding:10px 15px}.walk-action-list p,.walk-needs button{font-size:12px}.walk-documents{margin-top:16px;margin-bottom:10px;gap:9px}.walk-documents button{padding:12px}.walk-documents small{-webkit-line-clamp:1;margin-top:3px}.walk-evidence{margin-top:16px;margin-bottom:13px}.walk-evidence>div{padding:11px 14px}.walk-connections{margin-top:18px;margin-bottom:10px}.walk-connections button{padding:16px}.walk-framework-symbol{margin-bottom:10px}.walk-framework-open{padding-top:15px}.walk-controls{padding-block:14px}}
@media(max-width:1100px){.walk-progress{padding-inline:16px}.walk-progress a{flex-direction:column;gap:6px}.walk-progress a::after{top:16px;left:calc(50% + 23px);width:calc(100% - 46px)}.walk-progress a>span{position:relative;z-index:1}.walk-progress a small{font-size:10px}}
@media(max-width:760px){main:has(.excel-walk-page){padding:20px 16px}.walk-stage{border-radius:18px}.walk-scene{padding:18px 20px 24px;min-height:380px}.walk-scene-label{margin-bottom:24px}.walk-progress{padding:15px 8px}.walk-progress a{padding:3px 1px}.walk-progress a small{font-size:9px}.walk-intro{font-size:13px}.walk-article-card{padding:23px 18px}.walk-article-ref{font-size:25px}.walk-controls{padding:15px 18px;gap:10px}.walk-next{min-width:0;padding:12px 14px}.walk-connections{gap:10px}.walk-connections button{padding:18px 13px}.walk-connections strong{font-size:15px}}
@media(max-width:520px){.walk-page-heading{gap:10px}.walk-page-heading h1{font-size:23px}.walk-page-heading p{font-size:11px}.walk-overview-link{font-size:11px;padding:9px}.walk-progress a small{display:none}.walk-progress a.current small{display:block;position:absolute;top:35px;font-size:10px;white-space:nowrap}.walk-progress{padding-bottom:29px}.walk-scene-label{font-size:9px;letter-spacing:1px}.walk-scene-label>span:last-child{font-size:9px}.walk-scene{padding-inline:17px}.walk-scene h2{font-size:24px}.walk-article-intro h2{font-size:21px}.walk-article-card{padding:22px 13px}.walk-article-ref{font-size:23px}.walk-article-question{font-size:12px}.walk-source-links{font-size:10px;gap:8px 12px}.walk-source-links>span{width:100%}.walk-action-list li,.walk-needs button{padding:14px;gap:12px}.walk-documents{grid-template-columns:minmax(0,1fr)}.walk-documents button{padding:15px}.walk-connections{grid-template-columns:minmax(0,1fr)}.walk-connections button{display:grid;grid-template-columns:33px 1fr auto;gap:8px 12px;padding:16px}.walk-framework-symbol{grid-column:1;grid-row:1/3;margin:0}.walk-connections strong{grid-column:2;margin:0}.walk-framework-reference{grid-column:2/4}.walk-connections small{grid-column:2;margin:0}.walk-framework-open{grid-column:3;grid-row:1;width:auto;padding:0}.walk-evidence>div{flex-wrap:wrap;gap:8px 12px;padding:14px}.walk-evidence small{margin-left:45px}.walk-evidence p{min-width:65%}.walk-evidence-footer{gap:12px}.walk-controls{grid-template-columns:auto 1fr;gap:10px;padding:14px 17px}.walk-step-count{grid-column:1/-1;grid-row:2;text-align:center;font-size:10px}.walk-next{font-size:11px;min-height:43px}.walk-page-note{font-size:9px}.walk-page-note button{font-size:9px}}
@media(prefers-reduced-motion:reduce){.walk-scene{animation:none}.walk-article-card,.walk-documents button,.walk-connections button{transition:none}.walk-article-card:hover,.walk-documents button:hover,.walk-connections button:hover{transform:none}}

/* Grow an entry from its central article, one connection at a time. */
.network-stage{display:block;height:auto;min-height:0;max-height:none;background:#f8fcfc;overflow:hidden}
.network-stage::before,.network-stage::after{display:none}
.network-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 24px 0;color:#59777d;font-size:12px}
.network-count{font-size:10px;white-space:nowrap;padding:6px 10px;border:1px solid #d4e5e7;border-radius:20px;background:#fff9}
.network-canvas{position:relative;height:clamp(390px,48vh,490px);margin:0 20px;background-image:radial-gradient(#97bac037 .8px,transparent .8px);background-size:20px 20px}
.network-orbit{position:absolute;top:46%;left:50%;width:270px;height:270px;transform:translate(-50%,-50%);border:1px solid #a8cbd521;border-radius:50%;box-shadow:0 0 0 48px #9cbfc509,0 0 0 96px #9cbfc506;pointer-events:none}
.network-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.network-lines path{fill:none;stroke:#9bbfc5;stroke-width:1.5;vector-effect:non-scaling-stroke}
.network-lines .is-new{stroke-dasharray:1;stroke-dashoffset:0;animation:network-line-grow .65s cubic-bezier(.22,1,.36,1) both}
.network-position{position:absolute;left:var(--node-x);top:var(--node-y);width:23%;max-width:215px;transform:translate(-50%,-50%);z-index:1}
.network-root{width:26%;max-width:238px;z-index:2}
.network-node{display:flex;width:100%;flex-direction:column;align-items:stretch;text-align:left;gap:5px;min-height:111px;padding:14px 16px;border:1px solid #c7dde0;border-radius:15px;background:#fff;box-shadow:0 5px 16px #234f5706;color:#31535b;transition:border-color .2s,box-shadow .2s,background .2s;cursor:pointer}
.network-root .network-node{background:#e6f2f3;border-color:#adcfd5;min-height:129px;padding:19px}
.network-node-top{display:flex;align-items:center;justify-content:space-between;color:#5b929e;margin-bottom:1px}
.network-node-top small{font-size:9px;letter-spacing:1px}
.network-node strong{font:600 14px/1.35 'Plus Jakarta Sans',sans-serif;overflow-wrap:anywhere}
.network-root strong{font-size:18px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.network-node-caption{font-size:10px;line-height:1.5;color:#6f878d}
.network-node-prompt{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:10px;color:#4a818c;margin-top:7px;line-height:1.5}
.network-node.current{color:#fff;border-color:#2e7180;background:linear-gradient(125deg,#347c89,#285c68);box-shadow:0 8px 26px #285b6823}
.network-node.current .network-node-top,.network-node.current .network-node-caption{color:#d0e7eb}
.network-node.current .network-node-prompt{color:#fff}
.network-node:hover{border-color:#4d919e;box-shadow:0 8px 25px #285b6818}
.network-node:focus-visible{outline:3px solid #8cbfc9;outline-offset:4px}
.network-node.is-new{animation:network-node-in .5s cubic-bezier(.16,1,.3,1) .12s both}
.network-insight{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 28px;border-top:1px solid #d8e6e8;background:#ffffffc9;min-height:116px}
.network-insight>div:first-child{flex:1;min-width:0;max-width:700px}
.network-detail-label{display:block;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#4e8792;margin-bottom:8px}
.network-insight h2{font:400 14px/1.75 'Inter',sans-serif;color:#3e5e65;outline:none;text-wrap:pretty}
.network-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-shrink:0;max-width:310px}
.network-detail-actions .btn{font-size:11px;white-space:nowrap;background:#f8fcfc}
.network-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 25px;border-top:1px solid #e0ebed;font-size:10px;color:#84999d;background:#f5fafb}
.network-footer>div{display:flex;align-items:center;gap:22px}
.network-footer button,.network-footer a{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#557f89;padding:4px 0}
.network-footer button:hover,.network-footer a:hover{color:var(--action)}
@keyframes network-node-in{from{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes network-line-grow{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(max-width:1000px){.network-detail-actions{max-width:250px}.network-insight{gap:18px;padding:20px 23px}.network-node{padding:13px 12px}.network-root .network-node{padding:17px 15px}.network-node strong{font-size:13px}.network-root strong{font-size:16px}.network-node-caption{font-size:9px}.network-node-prompt{font-size:9px}}
@media(max-width:650px){.network-canvas{height:620px;margin:0 8px}.network-position{width:40%;max-width:none}.network-root{width:50%;max-width:200px}.network-position[data-network-position="1"],.network-position[data-network-position="2"]{left:77%}.network-position[data-network-position="4"],.network-position[data-network-position="5"]{left:23%}.network-position[data-network-position="3"]{width:40%;top:92%}.network-node{padding:12px 9px;border-radius:12px;min-height:111px;gap:5px}.network-root .network-node{padding:17px 12px;min-height:132px}.network-node strong{font-size:12px}.network-root strong{font-size:16px}.network-node-prompt{font-size:9px;margin-top:5px}.network-node-caption{font-size:9px}.network-toolbar{padding:16px 15px 0;gap:12px;font-size:10px}.network-count{padding:5px 7px;font-size:9px}.network-insight{display:block;padding:20px}.network-insight h2{font-size:13px}.network-detail-actions{justify-content:flex-start;max-width:none;margin-top:14px}.network-footer{padding:13px 17px;flex-wrap:wrap;gap:12px}.network-footer>div{gap:18px}.network-orbit{width:200px;height:200px}}
@media(prefers-reduced-motion:reduce){.network-node.is-new,.network-lines .is-new{animation:none}.network-node{transition:none}}

/* Article-first library: one clear path from law to reusable work. */
.law-library{max-width:1180px;margin:0 auto}.law-heading{margin:28px 0 30px;max-width:880px}.law-heading h1{font-size:clamp(29px,3.2vw,44px);line-height:1.2;letter-spacing:-1.4px;margin:12px 0 16px;overflow-wrap:anywhere}.law-heading>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:800px}.law-heading>.text-link{margin-top:16px}.law-trail{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin-bottom:24px}.law-trail a:hover{text-decoration:underline}.law-steps{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;padding:0;margin:0 0 34px;color:var(--muted);font-size:12px}.law-steps li{display:flex;align-items:center;gap:8px}.law-steps li>span{width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#f8fafa}.law-steps li.current{color:var(--action);font-weight:700}.law-steps li.current>span{background:var(--action);border-color:var(--action);color:#fff}.law-framework-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.law-framework-card{background:var(--surface);padding:25px;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.law-framework-card.featured{background:#e6f1f2;border-color:#b4d5d9}.law-framework-card:hover{transform:translateY(-3px);border-color:#7cabb1}.law-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--action);margin-bottom:25px}.law-card-top .pill{font-size:10px}.law-framework-card h2{font-size:26px;margin-bottom:9px;letter-spacing:-.7px}.law-framework-card>strong{font-size:12px;font-weight:500;color:var(--muted)}.law-framework-card>p{font-size:13px;line-height:1.7;color:var(--muted);margin:16px 0 25px}.law-card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--action);font-size:12px;font-weight:600;margin-top:auto}.law-example{border:1px solid var(--line);border-radius:16px;padding:25px;margin-top:24px;background:#f7fafa}.law-example>a{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0;font-weight:600;color:var(--action)}.law-example>p,.law-footnote{font-size:12px;line-height:1.8;color:var(--muted)}.law-footnote{margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}.law-list-tools{display:flex;align-items:end;gap:16px;margin-bottom:18px}.law-list-tools label{display:grid;gap:8px;flex:1;font-size:12px;color:var(--muted)}.law-list-tools label+label{flex:0 1 270px}.law-scope-note{font-size:12px;line-height:1.8;color:var(--muted);margin:16px 0 24px}.law-article-list{display:grid;gap:10px;margin-top:16px}.law-article-row{display:grid;grid-template-columns:105px minmax(0,1fr) 145px;align-items:start;gap:20px;padding:23px 25px;background:white;border:1px solid var(--line);border-radius:14px;transition:border-color .2s,background .2s}.law-article-row:hover{background:#f9fcfc;border-color:#9bbfc3}.law-article-number{font-size:13px;font-weight:700;color:var(--action);padding-top:3px}.law-article-row h2{font-size:16px;line-height:1.5;margin-bottom:6px}.law-article-row p{font-size:13px;line-height:1.7;color:var(--muted)}.law-article-row small{display:block;color:var(--action);font-size:11px;line-height:1.7;margin-top:9px}.law-row-end{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:10px;color:var(--muted);line-height:1.5}.law-row-end>span{text-align:right}.law-article-note{padding:20px 24px;border-left:3px solid #6eabb3;border-radius:0 12px 12px 0;background:#e3eff0;margin:0 0 30px}.law-article-note p{font-size:13px;line-height:1.8;margin-top:6px;color:var(--muted)}.law-requirements{margin:30px 0}.law-requirements>h2{font-size:20px;margin-bottom:8px}.law-requirements>p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:18px}.law-requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.law-requirement-card{display:flex;align-items:start;gap:16px;border:1px solid var(--line);border-radius:16px;background:white;padding:25px;transition:border-color .2s}.law-requirement-card:hover{border-color:#7cabb1}.law-card-icon{color:var(--action);padding-top:4px}.law-requirement-card>div:last-child{flex:1;min-width:0;display:flex;flex-direction:column;height:100%}.law-mini-label{font-size:10px;line-height:1.6;color:var(--action);margin-bottom:10px}.law-requirement-card h3{font-size:18px;line-height:1.5;margin-bottom:10px}.law-requirement-card p{font-size:13px;line-height:1.75;color:var(--muted);margin-bottom:22px}.law-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.law-section-nav button{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 16px;color:var(--action);font-size:12px}.law-section-nav button:hover{background:var(--soft)}.law-control-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start}.law-control-main{display:grid;gap:20px;min-width:0}.law-section{border:1px solid var(--line);border-radius:16px;background:#fff;padding:28px;scroll-margin-top:24px;min-width:0}.law-section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--action)}.law-section-title>span{font-size:11px;background:var(--soft);width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none}.law-section-title h2{font-size:20px;line-height:1.4;color:var(--ink)}.law-section>h2{font-size:22px;margin-bottom:15px}.law-section h3{font-size:16px;line-height:1.7;margin-bottom:10px}.law-section>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:16px}.law-section>p:last-child{margin-bottom:0}.law-bullets,.law-action-list{padding-left:21px;margin:16px 0 22px;font-size:13px;line-height:1.8}.law-bullets li,.law-action-list li{padding-left:5px;margin:10px 0}.law-bullets li::marker,.law-action-list li::marker{color:var(--action)}.law-action-list li{padding-left:8px;margin-bottom:15px}.law-section .tiny-note{font-size:11px;line-height:1.7;margin-top:18px}.law-connections{border:1px solid #bfd8db;background:#e7f1f2;border-radius:16px;padding:26px;min-width:0;scroll-margin-top:24px}.law-connections>.law-section-title h2{font-size:18px}.law-connections>p{font-size:12px;color:var(--muted);line-height:1.8}.law-crosswalk{padding:24px 0;border-bottom:1px solid #cbdfe1}.law-crosswalk h3{font-size:16px;margin-bottom:13px}.law-reference-links{display:flex;flex-wrap:wrap;gap:7px}.law-reference-links a{background:#fff;border:1px solid #c7dde0;border-radius:7px;font-size:11px;color:var(--action);padding:8px 10px;display:flex;align-items:center;gap:8px}.law-reference-links a:hover{border-color:var(--action)}.law-crosswalk p{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0 0}.law-crosswalk details{margin-top:15px}.law-crosswalk summary{font-size:11px;line-height:1.8;color:var(--action);cursor:pointer}.law-crosswalk details strong{font-size:11px;display:block;margin-top:13px}.law-crosswalk details strong+p{margin-top:3px}.law-form-list{display:grid}.law-form-list button{display:flex;align-items:center;gap:13px;text-align:left;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--action)}.law-form-list button>span{flex:1}.law-form-list button:last-child{border:0}.law-form-list button:hover>span{text-decoration:underline}.law-section>.btn{white-space:normal;text-align:left;line-height:1.6}
@media(max-width:1000px){.law-framework-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.law-control-layout{grid-template-columns:minmax(0,1fr)}.law-connections{background:#e7f1f2}.law-article-row{grid-template-columns:90px minmax(0,1fr) 25px}.law-row-end>span{display:none}}
@media(max-width:620px){.law-framework-grid,.law-requirement-grid{grid-template-columns:1fr}.law-heading{margin:24px 0}.law-heading h1{letter-spacing:-.8px}.law-steps{gap:11px;font-size:10px;display:grid;grid-template-columns:1fr 1fr}.law-steps li{gap:7px}.law-framework-card,.law-requirement-card{padding:21px}.law-list-tools{align-items:stretch;flex-direction:column}.law-list-tools label+label{flex:1}.law-article-row{grid-template-columns:minmax(0,1fr) 20px;padding:20px;gap:10px}.law-article-number{grid-column:1}.law-article-row>div{grid-column:1}.law-row-end{grid-column:2;grid-row:1/3}.law-section,.law-connections{padding:22px}.law-section-nav{gap:6px}.law-section-nav button{padding:9px 11px}.law-section-title h2{font-size:19px}.law-example{padding:21px}.law-example>a{line-height:1.8;font-size:13px}.law-example>a svg{display:none}.law-control-layout{gap:20px}.law-requirement-card{gap:12px}}
@media(prefers-reduced-motion:reduce){.law-framework-card,.law-article-row,.law-requirement-card{transition:none}.law-framework-card:hover{transform:none}}
@media(min-width:901px) and (max-width:1000px){.law-control-layout{grid-template-columns:minmax(0,1.55fr) minmax(275px,1fr)}.law-section,.law-connections{padding:22px}}
