:root{
  color-scheme:only light;
  --bg:#f4f6f9;--paper:#fff;--ink:#17212b;--muted:#607080;--line:#d8e0e9;
  --accent:#2459c4;--accent-dark:#173b87;--green:#18794e;--amber:#936300;
  --cyan:#0c7b93;--code:#101923;--soft:#f8fafc;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:only light}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.64 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
a{color:var(--accent)}
.sitebar{background:#0d1f40;color:#fff;border-bottom:1px solid #ffffff22}
.sitebar-inner{max-width:1200px;margin:auto;padding:10px 18px;display:flex;align-items:center;gap:17px;flex-wrap:wrap}
.sitebar a{color:#edf4ff;text-decoration:none;font-size:.91rem}
.sitebar a:hover,.sitebar a.active{text-decoration:underline}
.sitebar .brand{font-weight:780;margin-right:auto}
header{background:linear-gradient(120deg,#102b63,#2457c5);color:#fff;padding:45px 24px}
header .wrap,.wrap{max-width:1160px;margin:auto}
header h1{font-size:2.35rem;line-height:1.15;margin:.15rem 0 1rem}
header p{max-width:980px;font-size:1.07rem;margin:.5rem 0}
.badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.badge{display:inline-block;padding:.25rem .6rem;border:1px solid #ffffff55;border-radius:999px;margin:.2rem .18rem .2rem 0;font-size:.86rem}
main{max-width:1160px;margin:auto;background:var(--paper);padding:28px 42px 66px;box-shadow:0 2px 20px #00000012}
h2{margin-top:3rem;padding-top:.45rem;border-top:1px solid var(--line);font-size:1.72rem}
h3{margin-top:2rem;font-size:1.28rem}
h4{margin-top:1.5rem;font-size:1.06rem}
p{margin:.75rem 0}
code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;background:#eef1f4;padding:.08rem .28rem;border-radius:4px}
pre{background:var(--code);color:#e8eef7;padding:18px 20px;overflow:auto;border-radius:8px;line-height:1.5;forced-color-adjust:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
pre code{display:block;background:transparent!important;color:inherit!important;padding:0!important;border-radius:0!important;white-space:pre}
table{width:100%;border-collapse:collapse;margin:1.15rem 0}
th,td{border:1px solid var(--line);padding:.62rem .72rem;text-align:left;vertical-align:top}
th{background:#f2f5f8}
.small{font-size:.92rem;color:var(--muted)}
.muted{color:var(--muted)}
.toc{background:#f8fafc;border:1px solid var(--line);padding:20px 26px;border-radius:10px}
.toc ol{columns:2;column-gap:40px}
.toc li{break-inside:avoid;margin:.18rem 0}
.note,.warning,.success,.audit,.dev031,.dev,.tip,.important{padding:14px 18px;border-radius:8px;margin:1.2rem 0}
.note{background:#eef5ff;border-left:4px solid var(--accent)}
.warning{background:#fff7e3;border-left:4px solid var(--amber)}
.success,.important{background:#eef9f1;border-left:4px solid var(--green)}
.audit{background:#eef8f1;border-left:4px solid var(--green)}
.dev031{background:#eef4ff;border-left:4px solid var(--accent)}
.dev{background:#f2f0ff;border-left:4px solid #6952b8}
.tip{background:#effbfc;border-left:4px solid var(--cyan)}
.callout-title,.call-title{font-weight:750;margin-bottom:.3rem}
.figure{margin:1.4rem 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.figure img{max-width:100%;height:auto;display:block;margin:auto;border:1px solid #cfd6df;border-radius:6px;color-scheme:only light;forced-color-adjust:none}
.figure figcaption{font-size:.94rem;color:var(--muted);margin-top:.7rem}
.legend-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin-top:1rem}
.legend-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
.legend-item strong{display:inline-block;min-width:1.6rem;color:var(--accent-dark)}
.legend-item strong.num{display:inline-flex;width:1.7rem;height:1.7rem;min-width:1.7rem;border-radius:50%;align-items:center;justify-content:center;background:var(--accent);color:#fff;margin-right:.35rem}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.card{border:1px solid var(--line);border-radius:11px;padding:15px;background:#fff}
.card h4{margin:.05rem 0 .55rem}
.step{display:grid;grid-template-columns:34px 1fr;gap:10px;margin:.75rem 0}
.step b.num,.step .n{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}
.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:1.2rem 0}
.flow span{background:#eef3fa;border:1px solid var(--line);border-radius:8px;padding:.55rem .72rem}
.flow i{color:#728091}
.status{display:inline-block;font-size:.78rem;font-weight:700;border-radius:999px;padding:.17rem .5rem;white-space:nowrap}
.status.audit{background:#dff3e6;border:0;color:#17623f;margin:0}
.status.current{background:#e2edff;border:0;color:#163f8f;margin:0}
.status.limit{background:#fff1cf;border:0;color:#7b5700;margin:0}
.status.gui{background:#dff3e6;color:#17623f}
.status.adv{background:#fff0ca;color:#755300}
.legend{display:flex;gap:.5rem;flex-wrap:wrap;margin:.7rem 0}
.ui-mock{border:1px solid #bcc7d3;border-radius:10px;overflow:hidden;margin:1.3rem 0;background:#e9edf2;box-shadow:0 2px 8px #00000010}
.ui-top{background:#d8dde4;padding:9px;display:flex;gap:7px;flex-wrap:wrap}
.ui-btn{background:#f9fafb;border:1px solid #aeb7c1;border-radius:4px;padding:.28rem .55rem;font-size:.88rem}
.ui-body{padding:12px;background:#f5f6f8}
.ui-table{width:100%;background:white;font-size:.88rem;margin:.4rem 0}
.ui-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.ui-field{background:white;border:1px solid #c9d1da;border-radius:5px;padding:8px}
.ui-field b{display:block;font-size:.78rem;color:#556372;margin-bottom:3px}
.tree{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#f7f9fc;border:1px solid var(--line);padding:14px;border-radius:9px;white-space:pre;overflow:auto}
.tight li{margin:.2rem 0}
footer{padding:28px 20px;color:var(--muted)}
/* Portal */
.portal-hero{background:linear-gradient(125deg,#0d2148 0%,#173f87 62%,#2459c4 100%);color:#fff;padding:62px 24px 56px}
.portal-hero .wrap{max-width:1160px;margin:auto}
.portal-hero h1{font-size:2.85rem;line-height:1.07;margin:0 0 1.15rem}
.portal-hero p{max-width:920px;font-size:1.13rem;line-height:1.7;color:#edf4ff}
.portal-hero .sub{font-size:.97rem;color:#cfdcf1;margin-top:1.15rem}
.portal{max-width:1160px;margin:auto;padding:34px 24px 76px}
.portal h2{border:0;padding:0;margin:2.7rem 0 .8rem;font-size:1.7rem}
.portal h2:first-child{margin-top:0}
.lead{max-width:920px;color:#536272;margin:-.15rem 0 1.35rem}
.framework-intro{max-width:980px;font-size:1.02rem}
.framework-intro ul{padding-left:1.3rem}
.available-list{border-top:1px solid var(--line)}
.available-item{display:grid;grid-template-columns:180px 1fr 185px;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.available-item .area{text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;font-weight:800;color:var(--accent-dark)}
.available-item h3{margin:0 0 .32rem;font-size:1.19rem}
.available-item p{margin:.2rem 0;color:#4f5f6e}
.available-item .baseline{font-size:.82rem;color:var(--muted);margin-top:.45rem}
.available-item .go{text-align:right}
.available-item .go a{display:inline-block;text-decoration:none;font-weight:700;border:1px solid var(--accent);border-radius:7px;padding:.45rem .68rem}
.docs-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.docs-area{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.docs-area h3{font-size:1.16rem;margin:.05rem 0 .35rem}
.docs-area>p{font-size:.92rem;color:var(--muted);margin:.2rem 0 .9rem}
.doc-link-list{list-style:none;padding:0;margin:0}
.doc-link-list li{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-top:1px solid #edf0f4;padding:.62rem 0}
.doc-link-list li:first-child{border-top:0}
.doc-link-list a{text-decoration:none;font-weight:650}
.doc-link-list a:hover{text-decoration:underline}
.doc-link-list .desc{font-size:.86rem;color:var(--muted);display:block;margin-top:.12rem}
.pill{display:inline-block;white-space:nowrap;border-radius:999px;padding:.12rem .46rem;font-size:.72rem;font-weight:800}
.pill.ready{background:#dff3e6;color:#17623f}
.pill.planned{background:#eef1f5;color:#66717d}
.guide-disabled{color:#677481;font-weight:650}
.reference-line{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}
.guides-index{max-width:1100px;margin:auto;padding:34px 24px 70px}
.guides-index h1{font-size:2.1rem;margin:.4rem 0 1rem}
.guide-row{display:grid;grid-template-columns:170px 1fr 180px;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.guide-row h2{border:0;padding:0;margin:0 0 .35rem;font-size:1.2rem}
.guide-row .area{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--accent-dark)}
.guide-row .meta{font-size:.84rem;color:var(--muted)}
.guide-row .link{text-align:right}
.guide-row .link a{text-decoration:none;font-weight:700}
@media(max-width:850px){
 main{padding:22px 18px 60px}
 .toc ol{columns:1}
 .legend-grid,.grid2,.grid3,.docs-map{grid-template-columns:1fr}
 .ui-fields{grid-template-columns:1fr}
 header h1,.portal-hero h1{font-size:1.95rem}
 .available-item,.guide-row{grid-template-columns:1fr;gap:5px}
 .available-item .go,.guide-row .link{text-align:left}
}
@media print{
 body{background:#fff}.sitebar{display:none}main{box-shadow:none;max-width:none}
 header,.portal-hero{background:#fff;color:#000;border-bottom:2px solid #000}
 .badge{border-color:#777}a{color:#000;text-decoration:none}
}
