.pattern-card,.control-row,.framework-card{color:inherit;text-decoration:none}.framework-card{transition:.2s}.framework-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.framework-card strong{font-size:17px;margin:14px 0 5px}.framework-card p,.framework-card small{font-size:12px;color:var(--muted)}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{background:#e7f0eb;color:var(--green)!important;border-radius:99px;padding:4px 9px;font-size:11px}.region-tabs{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.region-tabs button{border:1px solid var(--line);background:white;border-radius:99px;padding:7px 14px;cursor:pointer}.region-tabs button.active{background:var(--green);color:white;border-color:var(--green)}
.detail-view{overflow:visible}.detail-shell{max-width:1320px;margin:auto;padding:28px clamp(22px,5vw,66px) 90px}.crumb{display:flex;gap:10px;color:var(--muted);font-size:13px;margin:14px 0 24px}.crumb a{color:var(--green);text-decoration:none}.detail-hero{border-radius:22px;padding:48px 52px;display:grid;grid-template-columns:1fr 260px;gap:50px;align-items:center;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.detail-hero h1{font-size:clamp(40px,5vw,68px);line-height:1.06;letter-spacing:-.045em;margin:18px 0}.detail-hero>div>p{max-width:780px;color:#52635d;font-size:17px}.detail-hero dl{display:flex;gap:35px;margin:30px 0 0}.detail-hero dl div{border-left:2px solid var(--mint);padding-left:12px}.detail-hero dt{font-size:11px;color:var(--muted)}.detail-hero dd{margin:2px 0 0;font-weight:800}.detail-hero aside{background:var(--ink);color:white;border-radius:16px;padding:28px;min-height:190px;display:flex;flex-direction:column;justify-content:center}.detail-hero aside p{color:#b9cbc5;font-size:13px}.pattern-hero{background:linear-gradient(120deg,#fff 60%,#dff2e8)}.control-hero{background:linear-gradient(120deg,#fff 60%,#edf3bf)}.framework-hero{background:linear-gradient(120deg,#fff 60%,#dcebe7)}.big-code{font:800 72px/1 ui-monospace;color:var(--lime)}.baseline{display:flex;gap:7px;align-items:center;margin-top:24px}.baseline b{font-size:12px;margin-right:5px}.baseline span{font-size:11px;padding:5px 10px;border-radius:99px;background:#e6eae7;color:#929b97}.baseline span.yes{background:var(--lime);color:#344010}.detail-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:60px;margin-top:50px}.toc{position:sticky;top:105px;align-self:start;display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:18px}.toc b{margin-bottom:12px}.toc a{font-size:13px;color:var(--muted);text-decoration:none;padding:7px 0}.toc a:hover{color:var(--green)}.detail-body section{scroll-margin-top:100px;padding:0 0 54px;margin-bottom:54px;border-bottom:1px solid var(--line)}.detail-body h2{font-size:34px;letter-spacing:-.03em;margin:0 0 20px}.detail-body h3{font-size:19px}.detail-body p{color:#53635e}.detail-body .lead{font-size:18px;color:var(--ink)}.notice{border-left:4px solid var(--green);background:#e5efe9;padding:20px 24px;margin-top:25px}.notice p{margin-bottom:0}
.architecture{min-height:560px;background:#10231f;border-radius:20px;position:relative;padding:28px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr 1fr;gap:12px;overflow:hidden}.architecture:before{content:"";position:absolute;inset:80px 18%;border:1px dashed #90b8a9;border-radius:50%}.arch-core{grid-column:2/4;grid-row:2;z-index:2;background:var(--lime);color:var(--ink);border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:18px}.arch-core span{font:800 12px ui-monospace}.arch-core b{font-size:22px}.arch-core small{color:#526030}.arch-node{z-index:1;border:1px solid #426158;background:#17362f;color:white;border-radius:12px;padding:18px;display:flex;flex-direction:column;justify-content:center}.arch-node b{font-size:14px}.arch-node span{font:11px ui-monospace;color:var(--mint);margin-top:7px}.arch-node.n1,.arch-node.n2,.arch-node.n3,.arch-node.n4{grid-row:1}.arch-node.n5,.arch-node.n6,.arch-node.n7,.arch-node.n8{grid-row:3}.area-card{display:grid;grid-template-columns:55px 1fr;gap:18px;background:white;border:1px solid var(--line);border-radius:14px;padding:23px;margin-bottom:12px}.area-card>span{font:800 13px ui-monospace;color:var(--orange)}.area-card h3{margin:0}.area-card p{font-size:14px}.control-chip{display:inline-block;font:700 11px ui-monospace;color:var(--green);text-decoration:none;background:#e5efe9;border-radius:6px;padding:5px 8px;margin:2px}.control-chip:hover{background:var(--green);color:white}.chip-cloud{display:flex;flex-wrap:wrap;gap:5px}.two-col,.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-col>div,.evidence-grid>div{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.evidence-grid{grid-template-columns:repeat(3,1fr)}.evidence-grid p{font-size:13px}.mapping-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.mapping-list>div{display:grid;grid-template-columns:240px 1fr;gap:15px;padding:14px 18px;border-bottom:1px solid var(--line);background:white}.mapping-list>div:last-child{border:0}.mapping-list a{color:var(--green);font-weight:700;text-decoration:none}.mapping-list span{font:12px ui-monospace;color:var(--muted)}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.related-grid a{background:white;border:1px solid var(--line);border-radius:10px;padding:14px;color:inherit;text-decoration:none}.related-grid span{font:700 11px ui-monospace;color:var(--orange);display:block}
.coverage-ring{width:190px!important;height:190px!important;min-height:190px!important;border-radius:50%!important;align-items:center;background:conic-gradient(var(--green) calc(var(--p)*1%),#c7d8d2 0)!important;border:14px solid #fff;outline:1px solid var(--line);color:white;text-align:center}.coverage-ring strong{font-size:34px}.coverage-ring span{font-size:11px}.coverage-bars>div{display:grid;grid-template-columns:120px 1fr 35px;gap:12px;align-items:center;margin:14px 0}.coverage-bars span{height:10px;border-radius:99px;background:#dce3df;overflow:hidden}.coverage-bars i{display:block;height:100%;background:var(--green)}.clause-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.clause-head,.clause-row{display:grid;grid-template-columns:110px 1.4fr 130px 1fr;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);align-items:center}.clause-head{background:var(--ink);color:white;font-size:12px;font-weight:800}.clause-row{font-size:13px}.clause-row:last-child{border:0}.meter{display:inline-block;width:55px;height:6px;background:#e0e5e1;border-radius:99px;overflow:hidden;margin-right:7px}.meter i{display:block;height:100%;background:var(--green)}
.official-diagram{margin:25px 0 0}.diagram-canvas{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;overflow:auto;box-shadow:0 10px 35px rgba(18,48,39,.07)}.diagram-canvas img{display:block;width:100%;height:auto;min-width:720px}.official-diagram figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px;color:var(--muted);font-size:12px}.official-diagram figcaption a{background:var(--green);color:#fff;text-decoration:none;border-radius:7px;padding:8px 13px;font-weight:700}.diagram-missing{padding:50px 24px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted);background:#fff}
#diagram>.lead{display:none}
@media(max-width:900px){.detail-hero{grid-template-columns:1fr}.detail-hero aside{min-height:0}.detail-layout{grid-template-columns:1fr}.toc{display:none}.architecture{grid-template-columns:1fr 1fr;grid-template-rows:auto}.arch-core,.arch-node.n1,.arch-node.n2,.arch-node.n3,.arch-node.n4,.arch-node.n5,.arch-node.n6,.arch-node.n7,.arch-node.n8{grid-column:auto;grid-row:auto}.clause-head{display:none}.clause-row{grid-template-columns:90px 1fr}.clause-row>span:nth-child(3),.clause-row>span:nth-child(4){grid-column:2}.mapping-list>div{grid-template-columns:1fr}.evidence-grid{grid-template-columns:1fr}}
@media(max-width:600px){.detail-shell{padding-left:16px;padding-right:16px}.detail-hero{padding:27px 22px}.detail-hero h1{font-size:39px}.detail-hero dl{flex-wrap:wrap}.two-col,.related-grid{grid-template-columns:1fr}.architecture{display:block;min-height:0}.arch-core,.arch-node{margin-bottom:10px;min-height:100px}.coverage-ring{margin:auto}.clause-row{grid-template-columns:1fr}.clause-row>span:nth-child(3),.clause-row>span:nth-child(4){grid-column:1}}
