.roles-hero{padding:46px 0 32px;border-bottom:1px solid var(--line)}
.roles-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-bottom:30px}
.roles-breadcrumb a:hover{color:var(--gold-light)}
.roles-hero h1{font-size:clamp(34px,4vw,56px);line-height:1.25;letter-spacing:-.035em;margin:0 0 20px}
.roles-lead{color:#cec8bb;font-size:17px;line-height:1.9;max-width:870px;margin:0}
.roles-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px;color:var(--muted);font-size:12px}
.roles-meta span{padding:6px 10px;border:1px solid var(--line);border-radius:4px}
.roles-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:48px;align-items:start;padding-top:38px;padding-bottom:80px}
.roles-toc{position:sticky;top:25px;display:grid;gap:3px;border-left:1px solid var(--line);padding-left:15px;font-size:13px}
.roles-toc strong{color:var(--gold-light);margin-bottom:10px}
.roles-toc a{padding:8px 0;color:#bcb7ac;line-height:1.6}
.roles-toc a:hover{color:var(--gold-light)}
.roles-article{min-width:0;color:#d3cec4;font-size:15px;line-height:1.85}
.roles-article section{scroll-margin-top:30px;margin-bottom:58px}
.roles-article h2{font-size:25px;line-height:1.4;color:var(--white);letter-spacing:-.025em;margin:0 0 19px}
.roles-article h3{font-size:17px;line-height:1.5;color:var(--white);margin:0 0 9px}
.roles-article p{margin:10px 0}
.roles-article strong{color:var(--white)}
.roles-article code{font-family:Consolas,monospace;font-size:12px;color:#c7d9ed;overflow-wrap:anywhere}
.roles-article a{color:var(--gold-light);text-decoration:underline;text-underline-offset:4px}
.roles-article ul{padding-left:21px;margin:10px 0}
.roles-article li{margin:7px 0}
.roles-note{background:rgba(215,174,102,.08);border-left:3px solid var(--gold);padding:16px 20px;margin:20px 0}
.roles-note p{margin:5px 0}
.roles-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.roles-card{background:#141719;border:1px solid #303334;border-radius:10px;padding:20px;min-width:0}
.roles-card .role-code{display:block;margin-bottom:11px;color:var(--gold);font-size:12px;line-height:1.6}
.roles-card p{font-size:14px;margin:0}
.roles-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin:24px 0}
.roles-flow>div{position:relative;background:#15202b;border:1px solid #2e4153;border-radius:8px;text-align:center;padding:18px 12px}
.roles-flow>div:not(:last-child)::after{content:'→';position:absolute;right:-22px;top:calc(50% - 14px);width:20px;color:#a0c9f5;font-size:20px}
.roles-flow b{display:block;color:#c0dcfa;font-size:14px;margin-bottom:8px}
.roles-flow small{display:block;color:#c2ccd5;font-size:12px;line-height:1.7}
.roles-table{overflow-x:auto;border:1px solid #343433;border-radius:8px;margin-top:20px}
.roles-table table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.65;min-width:820px}
.roles-table th,.roles-table td{padding:12px 11px;text-align:center;border-bottom:1px solid #30302f}
.roles-table th{background:#27241f;color:var(--gold-light);font-weight:600;white-space:nowrap}
.roles-table th:first-child,.roles-table td:first-child{text-align:left;min-width:165px}
.roles-table tbody tr:nth-child(even){background:#141616}
.roles-table tr:last-child td{border-bottom:0}
.roles-table .can{color:#b5dcc6}.roles-table .cannot{color:#a6a39d}
.roles-fine{font-size:13px;color:var(--muted);line-height:1.8}
.roles-example{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;margin:22px 0}
.roles-tree{border:1px solid #303334;border-radius:10px;padding:20px 14px;background:#121618;align-self:start;font-size:13px;line-height:1.65}
.roles-tree .tree-root{display:block;color:var(--gold-light);font-size:15px;margin-bottom:16px}
.roles-tree ul{list-style:none;padding-left:17px;margin:0}
.roles-tree>ul{padding-left:7px}
.roles-tree li{position:relative;border-left:1px solid #43505b;padding:0 0 16px 14px;margin:0}
.roles-tree li::before{content:'';position:absolute;width:10px;height:1px;background:#43505b;top:12px;left:0}
.roles-tree li:last-child{padding-bottom:0}
.roles-tree li ul{margin-top:13px;padding-left:0}
.roles-tree small{color:var(--muted);display:block;font-size:12px}
.roles-scenarios{display:grid;gap:14px}.roles-scenarios .roles-card{padding:17px 19px}
.roles-steps{padding:0!important;list-style:none;counter-reset:grant}
.roles-steps li{position:relative;counter-increment:grant;padding:18px 20px 18px 62px;background:#141719;border:1px solid #303334;border-radius:8px;margin:0 0 13px}
.roles-steps li::before{content:counter(grant);position:absolute;left:17px;top:20px;border:1px solid var(--gold);color:var(--gold-light);border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-size:13px}
.roles-steps strong{display:block;margin-bottom:4px}.roles-steps p{font-size:14px;margin:0}
.roles-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.roles-compare .roles-card p{margin:8px 0}
.roles-details{border:1px solid #343433;border-radius:8px;padding:17px 20px;margin-top:18px}
.roles-details summary{cursor:pointer;color:var(--gold-light);font-weight:600}
.roles-details .roles-table table{min-width:650px}
.roles-related{border-top:1px solid var(--line);padding-top:24px;display:flex;gap:22px;flex-wrap:wrap;font-size:14px}
@media(max-width:1050px){.roles-layout{grid-template-columns:170px minmax(0,1fr);gap:28px}.roles-example{grid-template-columns:1fr}.roles-tree{max-width:none}.roles-tree>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.roles-cards{grid-template-columns:1fr}}
@media(max-width:760px){.roles-layout{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:26px}.roles-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr));padding-left:14px}.roles-toc strong{grid-column:1/-1;margin-bottom:2px}.roles-toc a{padding:3px 0}.roles-hero{padding-top:28px}.roles-breadcrumb{margin-bottom:24px}.roles-lead{font-size:15px}.roles-compare{grid-template-columns:1fr}.roles-flow{grid-template-columns:1fr;gap:22px}.roles-flow>div:not(:last-child)::after{content:'↓';right:calc(50% - 10px);top:auto;bottom:-26px}.roles-card{padding:18px}.roles-article h2{font-size:22px}.roles-article section{margin-bottom:42px}}
@media(max-width:440px){.roles-tree>ul{grid-template-columns:1fr}.roles-steps li{padding-left:55px}.roles-toc{font-size:12px}}
@media print{.site-header,.site-footer,.roles-toc,.roles-related,.roles-breadcrumb{display:none}.wrap{width:100%}.roles-layout{display:block;padding:0}.roles-hero{padding:0 0 18px}.roles-hero h1{font-size:28px}.roles-article,.roles-hero,.roles-lead{color:#222}.roles-article h2,.roles-article h3,.roles-article strong{color:#111}.roles-card,.roles-flow>div,.roles-tree,.roles-note,.roles-steps li{background:#fff;border:1px solid #ccc;break-inside:avoid}.roles-table{overflow:visible}.roles-table table{font-size:8px;min-width:0}.roles-table th,.roles-table td{padding:6px 4px;color:#222;background:#fff!important}.roles-table th:first-child,.roles-table td:first-child{min-width:0}.roles-meta,.roles-fine,.roles-tree small{color:#555}.roles-flow b,.roles-flow small,.roles-card .role-code{color:#333}body{background:#fff}.site-shell{overflow:visible}.roles-details{break-inside:avoid}}

/* The tutorial uses a reading surface separate from the marketing site's dark shell. */
body.roles-page .site-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
body.roles-page .site-header{height:64px;flex:none}
body.roles-page .site-footer{display:none}
.roles-document{--white:#172d48;--gold:#1763ad;--gold-light:#0b56a2;--muted:#617085;--line:#d8e1ed;min-height:0;flex:1;display:flex;flex-direction:column;background:#f4f7fb;color:#233a53;color-scheme:light}
.roles-document [hidden]{display:none!important}
.roles-document .roles-hero{width:100%;max-width:1440px;margin:0 auto;padding:18px 30px 16px;flex:none;border-bottom:1px solid #d8e1ed}
.roles-document .roles-breadcrumb{margin-bottom:10px;font-size:12px}
.roles-document .roles-hero h1{font-size:28px;line-height:1.35;margin-bottom:8px}
.roles-document .roles-lead{font-size:14px;line-height:1.7;color:#52667d}
.roles-document .roles-meta{margin-top:12px;gap:8px;font-size:11px}
.roles-document .roles-meta span{padding:3px 8px;background:#fff;color:#62738a}
.roles-document .roles-layout{width:100%;max-width:1440px;margin:0 auto;flex:1;min-height:0;grid-template-columns:240px minmax(0,1fr);gap:0;padding:0;align-items:stretch}
.roles-document .roles-toc{position:static;top:auto;overflow-y:auto;min-height:0;padding:22px 18px;border:0;border-right:1px solid #d8e1ed;background:#f1f5fa;display:flex;flex-direction:column;gap:18px;scrollbar-gutter:stable}
.roles-document .roles-toc-group{display:grid;gap:3px}
.roles-document .roles-toc strong{font-size:11px;letter-spacing:.04em;color:#7a8799;margin:0 0 5px;padding-left:9px}
.roles-document .roles-toc a{display:block;font-size:13px;color:#455b75;padding:8px 9px;border-radius:6px;line-height:1.55}
.roles-document .roles-toc a:hover{background:#e7eef8;color:#174f92}
.roles-document .roles-toc a[aria-current=page]{background:#dfeafa;color:#1459a8;font-weight:650}
.roles-nav-search{display:grid;gap:8px;font-size:11px;color:#667991}
.roles-nav-search input{width:100%;background:#fff;border:1px solid #ccd7e5;border-radius:6px;padding:9px 10px;color:#213e60;font-size:12px;outline:0}
.roles-nav-search input:focus{border-color:#1763ad;box-shadow:0 0 0 2px #1763ad20}
.roles-guide-back{margin-top:auto;border-top:1px solid #d8e1ed;border-radius:0!important;padding-top:15px!important}
.roles-reader{overflow-y:auto;overflow-x:hidden;min-width:0;min-height:0;padding:28px 38px 24px;background:#fff;scrollbar-gutter:stable}
.roles-document .roles-article{max-width:980px;margin:0 auto;color:#3e536c;font-size:15px;line-height:1.9}
.roles-document .roles-article section{margin:0;scroll-margin:0}
.roles-document .roles-article h2{font-size:27px;margin:0 0 15px;color:#172d48}
.roles-document .roles-article h3{font-size:17px;color:#1c3551;margin:27px 0 10px}
.roles-document .roles-card h3{margin:0 0 10px}
.roles-document .roles-card{background:#f8fafc;border-color:#dce4ee}
.roles-document .roles-card .role-code,.roles-document .roles-article code{color:#527093}
.roles-document .roles-card h3 a{text-decoration:none;color:#204b7b}
.roles-document .roles-card p{color:#4e6178}
.roles-document .roles-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.roles-section-lead{font-size:16px;line-height:1.85;color:#5c7089;margin-bottom:22px!important}
.roles-document .roles-note{background:#edf4fd;border-color:#3377be;color:#3e5d7f}
.roles-document .roles-flow>div{background:#f1f6fc;border-color:#d0deed}
.roles-document .roles-flow b{color:#225b94}.roles-document .roles-flow small{color:#55718c}
.roles-document .roles-flow>div:not(:last-child)::after{color:#6589ad}
.roles-document .roles-table{border-color:#d4dfeb}.roles-document .roles-table th{background:#eaf1fa;color:#254b75}
.roles-document .roles-table th,.roles-document .roles-table td{border-bottom-color:#dce5ef}
.roles-document .roles-table tbody th{background:transparent;color:#304760;white-space:normal}
.roles-document .roles-table tbody tr:nth-child(even){background:#f5f8fc}
.roles-document .roles-tree{background:#f7faff;border-color:#d6e2ef}
.roles-document .roles-tree li{border-left-color:#c2d1e2}.roles-document .roles-tree li::before{background:#c2d1e2}
.roles-document .roles-steps li{background:#f7f9fc;border-color:#dce4ee}
.roles-document .roles-details{border-color:#d6e0eb;background:#fafbfd}
.roles-pagination{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d8e1ed;padding-top:22px;margin:36px auto 0;max-width:980px;font-size:13px}
.roles-pagination a{color:#175da8;text-decoration:none}.roles-pagination a:last-child{margin-left:auto;text-align:right}
.roles-document .roles-fine{color:#617085}
@media(max-width:900px){.roles-document .roles-layout{grid-template-columns:205px minmax(0,1fr)}.roles-reader{padding:24px}.roles-document .roles-cards{grid-template-columns:1fr}}
@media(max-width:650px){.roles-document .roles-hero{padding:14px 18px}.roles-document .roles-hero h1{font-size:23px}.roles-document .roles-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.roles-document .roles-toc{max-height:170px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 18px;border-right:0;border-bottom:1px solid #d8e1ed}.roles-nav-search{grid-column:1/-1}.roles-nav-search>span{display:none}.roles-toc-group{align-content:start}.roles-document .roles-toc a{font-size:12px;padding:5px}.roles-guide-back{margin-top:0}.roles-reader{padding:22px 18px}.roles-document .roles-article h2{font-size:23px}.roles-document .roles-article{font-size:14px}.roles-document .roles-meta{display:none}}
@media print{body.roles-page .site-shell{height:auto;display:block;overflow:visible}body.roles-page .site-header{display:none}.roles-document{display:block;background:#fff}.roles-document .roles-hero{padding:0}.roles-document .roles-layout{display:block}.roles-document .roles-toc,.roles-pagination{display:none}.roles-reader{overflow:visible;padding:0}.roles-document .roles-article section[hidden]{display:block!important}.roles-document .roles-article section{margin-bottom:30px}.roles-document .roles-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared three-level documentation shell. */
.unified-guide .roles-document .roles-hero{padding:18px 30px 16px}
.unified-guide .roles-document .roles-hero h1{font-size:25px;margin-bottom:5px}
.unified-guide .roles-document .roles-layout{grid-template-columns:280px minmax(0,1fr)}
.unified-guide .roles-document .roles-toc{gap:12px;padding:20px 15px}
#guide-search-count{margin:0 8px;font-size:11px}
.guide-nav-root,.guide-nav-group{margin:0}
.guide-nav-root>summary,.guide-nav-group>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:9px;line-height:1.6;border-radius:5px}
.guide-nav-root>summary::-webkit-details-marker,.guide-nav-group>summary::-webkit-details-marker{display:none}
.guide-nav-root>summary{padding:10px 7px;font-size:14px;color:#263f5d;font-weight:650}
.guide-nav-group>summary{padding:8px 6px 8px 20px;font-size:12px;color:#667c96}
.guide-nav-root>summary::before,.guide-nav-group>summary::before{content:'›';display:inline-block;font-size:16px;transform-origin:center;transition:transform .15s}
.guide-nav-root[open]>summary::before,.guide-nav-group[open]>summary::before{transform:rotate(90deg)}
.guide-nav-root>summary:hover,.guide-nav-group>summary:hover{background:#e5edf7}
.unified-guide .roles-document .roles-toc a.guide-nav-leaf{font-size:12px;padding:8px 8px 8px 43px;margin:2px 0;line-height:1.6}
.guide-nav-footer{margin:22px 6px 0;color:#8190a2;font-size:10px;line-height:1.7}
.guide-article-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:980px;margin:0 auto 24px;min-height:30px}
#guide-breadcrumb{font-size:12px;line-height:1.7;color:#6c7f96}#guide-breadcrumb span{padding:0 8px;color:#8c9aab}
#copy-guide-link{flex:none;border:1px solid #cadaeb;border-radius:5px;background:#f7faff;color:#215b95;font-size:12px;padding:7px 12px;cursor:pointer}
#copy-guide-link:hover{border-color:#5487bd;background:#eaf3fe}
#guide-status{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);font-size:12px;color:#fff;background:#244462;padding:11px 17px;border-radius:7px;z-index:10;box-shadow:0 4px 15px #15314d20}
#guide-status:empty{display:none}
#guide-search-results{max-width:980px;margin:0 auto;color:#314b69}
#guide-search-results h2{font-size:25px;color:#203952;margin:0 0 12px;overflow-wrap:anywhere}
.guide-result-list{display:grid;gap:12px;margin-top:25px}.guide-result{display:grid;gap:7px;padding:18px 20px;border:1px solid #d9e3ef;border-radius:8px;background:#f9fbfe;line-height:1.7}
.guide-result:hover{border-color:#6696c8;background:#f0f6ff}.guide-result small{color:#788da5;font-size:11px}.guide-result strong{font-size:16px;color:#205a96}.guide-result span{color:#637891;font-size:13px}
.guide-no-results{font-size:14px;color:#687b91;padding:25px 0}
.unified-guide .roles-article .flow-diagram,.unified-guide .roles-article .field-diagram,.unified-guide .roles-article .relation-diagram,.unified-guide .roles-article .compare-diagram,.unified-guide .roles-article .risk-diagram{margin:22px 0;border:1px solid #d7e2ed;background:#f5f9fe;border-radius:8px;padding:18px;overflow:hidden}
.unified-guide .roles-article .flow-diagram{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}
.unified-guide .roles-article .flow-diagram span{background:#fff;border:1px solid #c8daee;border-radius:5px;padding:10px;color:#2b577f;font-size:13px;text-align:center}
.unified-guide .roles-article .flow-diagram i{font-style:normal;color:#6791bc}
.unified-guide .roles-article .field-diagram{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.unified-guide .roles-article .field-diagram>span{background:#fff;border:1px solid #d7e2ed;color:#667e98;border-radius:6px;padding:14px;display:grid;gap:8px;font-size:12px}
.unified-guide .roles-article .field-diagram strong{font-size:13px;color:#2c506f}
.unified-guide .roles-article .relation-diagram div{border-color:#b9cfe5;background:#fff;border-radius:6px}
.unified-guide .roles-article .relation-diagram small{color:#6d839c}
.unified-guide .roles-article .compare-diagram>div,.unified-guide .roles-article .risk-diagram>div{padding:16px}
.unified-guide .roles-article .compare-diagram>div+div,.unified-guide .roles-article .risk-diagram>div+div{border-color:#d4e0ec}
.unified-guide .roles-article .risk-good,.unified-guide .roles-article .risk-bad{background:#fff}
.unified-guide .roles-article .guide-callout{background:#fff6e5;color:#7f632d;border-left:3px solid #d2a35d;padding:15px 18px;margin:20px 0;font-size:13px}
@media(max-width:900px){.unified-guide .roles-document .roles-layout{grid-template-columns:235px minmax(0,1fr)}.guide-article-tools{align-items:flex-start;gap:10px}.unified-guide .roles-document .roles-toc a.guide-nav-leaf{padding-left:33px}}
@media(max-width:650px){.unified-guide .roles-document .roles-hero{padding:14px 18px}.unified-guide .roles-document .roles-hero h1{font-size:21px}.unified-guide .roles-document .roles-layout{grid-template-columns:minmax(0,1fr)}.unified-guide .roles-document .roles-toc{display:block;max-height:190px;padding:12px 18px}.unified-guide .roles-nav-search{margin-bottom:10px}.guide-article-tools{flex-direction:column;align-items:stretch;margin-bottom:20px}#copy-guide-link{align-self:flex-start}.unified-guide .roles-article .field-diagram{grid-template-columns:1fr}.guide-nav-footer{display:none}}
@media print{.guide-article-tools,.guide-nav-footer,#guide-status{display:none}.unified-guide .roles-document .roles-layout{display:block}}
