:root{--ink:#16202e;--ink-2:#3b4a5e;--ink-3:#66768b;--paper:#f4f6f8;--sheet:#ffffff;--rule:#d8dee6;--rule-2:#e8ecf1;--navy:#132033;--navy-2:#1c2d45;--navy-line:#2a3d59;--teal:#0f8f80;--teal-hi:#2dd4bf;--teal-bg:#e3f6f3;--amber:#b45309;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:4px;--w:1160px}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);overflow-x:hidden}a{color:var(--teal);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--navy)}img{max-width:100%;height:auto}.lay{max-width:var(--w);margin:0 auto;padding:0 16px}@media(min-width:720px){.lay{padding:0 28px}}.bypass{position:absolute;left:12px;top:-60px;z-index:20;background:var(--teal-hi);color:var(--navy);padding:8px 14px;font-weight:600;border-radius:var(--r)}.bypass:focus{top:10px}:focus-visible{outline:2px solid var(--teal-hi);outline-offset:2px}.hd{background:var(--navy);border-bottom:1px solid var(--navy-line);color:#dbe4ef}.hd-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;min-height:62px;padding-top:10px;padding-bottom:10px}.ident{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:18px;letter-spacing:-.01em}.ident:hover{color:#fff}.ident-mark{font:600 14px var(--mono);color:var(--teal-hi);border:1px solid var(--navy-line);background:var(--navy-2);padding:3px 6px;border-radius:var(--r)}.ident-name em,.base-name em{font-style:normal;font-weight:400;color:var(--teal-hi);margin-left:4px}.sections-nav{display:flex;flex-wrap:wrap;gap:4px}.sections-nav a{color:#c5d1df;text-decoration:none;font-size:15px;padding:6px 10px;border-radius:var(--r)}.sections-nav a:hover{background:var(--navy-2);color:#fff}.sections-nav a[aria-current]{color:var(--navy);background:var(--teal-hi)}.code-label{display:inline-block;font:600 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin:0 0 10px}.cover .code-label{color:var(--teal-hi)}.cover{background-color:var(--navy);background-image:linear-gradient(rgba(45,212,191,6%) 1px,transparent 1px),linear-gradient(90deg,rgba(45,212,191,6%) 1px,transparent 1px);background-size:32px 32px;color:#dbe4ef;padding:44px 0 52px}.cover-grid{display:grid;gap:32px}@media(min-width:900px){.cover-grid{grid-template-columns:1.25fr 1fr;align-items:start;gap:48px}}.cover-title{font-size:clamp(28px,5vw,44px);line-height:1.15;margin:0 0 18px;color:#fff;letter-spacing:-.02em}.cover-text p{margin:0 0 12px;color:#c5d1df;font-size:17px}.cover-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.act{display:inline-block;background:var(--teal-hi);color:var(--navy);font-weight:600;text-decoration:none;padding:11px 18px;border-radius:var(--r);border:1px solid var(--teal-hi)}.act:hover{background:#5eead4;color:var(--navy)}.act-ghost{background:0 0;color:#e6edf5;border-color:#4a6283}.act-ghost:hover{background:var(--navy-2);color:#fff}.sheet{background:var(--navy-2);border:1px solid var(--navy-line);border-radius:var(--r)}.sheet-head{display:flex;justify-content:space-between;gap:10px;margin:0;padding:10px 14px;border-bottom:1px dashed var(--navy-line);font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#8fa3bc}.sheet-rows{list-style:none;margin:0;padding:6px 0}.sheet-rows a{display:flex;gap:12px;padding:8px 14px;color:#e6edf5;text-decoration:none}.sheet-rows a:hover{background:rgba(45,212,191,8%)}.sheet-rows span,.panel-list span{font:600 12px/1.9 var(--mono);color:var(--teal-hi);min-width:40px}.chapter{padding-top:44px}.chapter:last-child{padding-bottom:56px}.chapter-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:16px}.chapter-title{margin:0;font-size:24px;line-height:1.25;display:flex;align-items:baseline;gap:12px}.chapter-title .code-label{margin:0;background:var(--navy);color:var(--teal-hi);padding:2px 7px;border-radius:var(--r)}.chapter-link{font:600 13px var(--mono);text-decoration:none}.chapter-link::after{content:" →"}.intro{color:var(--ink-2);font-size:17px;max-width:760px;margin:0 0 18px}.matrix{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;grid-template-columns:1fr}@media(min-width:620px){.matrix{grid-template-columns:repeat(2,1fr)}}@media(min-width:980px){.matrix{grid-template-columns:repeat(3,1fr)}}.cell{display:flex;flex-direction:column;gap:6px;background:var(--sheet);padding:16px 18px 18px;text-decoration:none;color:var(--ink)}.cell:hover{background:var(--teal-bg);color:var(--ink)}.cell-id{font:600 12px var(--mono);color:var(--teal);letter-spacing:.05em}.cell-name{font-size:17px;line-height:1.3}.cell-note{font-size:14px;line-height:1.5;color:var(--ink-3)}.qa details{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);margin-bottom:8px}.qa summary{cursor:pointer;padding:14px 18px;font-weight:600;list-style:none}.qa summary::-webkit-details-marker{display:none}.qa summary::before{content:"+";font:600 15px var(--mono);color:var(--teal);margin-right:10px}.qa details[open] summary::before{content:"−"}.qa p{margin:0;padding:0 18px 16px 42px;color:var(--ink-2)}.report{padding-top:20px;padding-bottom:56px}.route{font:500 13px var(--mono);color:var(--ink-3);display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}.route a{color:var(--ink-3);text-decoration:none}.route a:hover{color:var(--teal)}.route i{font-style:normal;color:var(--rule)}.report-head{border-bottom:1px solid var(--rule);padding-bottom:18px;margin-bottom:26px}.report-title{font-size:clamp(26px,4.2vw,38px);line-height:1.2;margin:0 0 14px;letter-spacing:-.015em;max-width:880px}.spec{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0}.spec div{display:flex;gap:8px;align-items:baseline}.spec dt{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}.spec dd{margin:0;font-size:14px;color:var(--ink-2)}.report-cols{display:grid;gap:32px}@media(min-width:960px){.report-cols{grid-template-columns:minmax(0,1fr)290px;gap:44px}}.report-body{min-width:0}.findings{background:var(--navy);color:#dbe4ef;border-left:4px solid var(--teal-hi);border-radius:var(--r);padding:16px 20px 14px;margin-bottom:22px}.findings-label{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--teal-hi);margin:0 0 8px}.findings ol{margin:0;padding-left:20px}.findings li{margin-bottom:4px}.index-list{border:1px dashed var(--rule);border-radius:var(--r);padding:10px 16px;margin-bottom:24px;background:var(--sheet)}.index-list summary{cursor:pointer;font:600 13px var(--mono);color:var(--ink-2)}.index-list ul{margin:8px 0 2px;padding-left:18px;font-size:15px}.copy{font-size:17px}.copy-wide{max-width:820px;margin-bottom:22px}.copy h2{font-size:24px;line-height:1.3;margin:40px 0 12px;padding-top:14px;border-top:1px solid var(--rule-2)}.copy h3{font-size:19px;margin:28px 0 8px}.copy p,.copy ul,.copy ol{margin:0 0 14px}.copy li{margin-bottom:6px}.copy li::marker{color:var(--teal)}.copy code{font:500 .86em var(--mono);background:var(--rule-2);padding:1px 5px;border-radius:3px}.copy pre{background:var(--navy);color:#e6edf5;padding:14px 16px;border-radius:var(--r);overflow-x:auto;font-size:14px;line-height:1.55}.copy pre code{background:0 0;padding:0;color:inherit}.copy blockquote{margin:0 0 16px;padding:10px 16px;border-left:3px solid var(--amber);background:#fff7ed;color:var(--ink-2)}.copy table{display:block;overflow-x:auto;border-collapse:collapse;width:100%;margin:0 0 18px;font-size:15px;background:var(--sheet)}.copy th,.copy td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}.copy th{background:var(--navy-2);color:#e6edf5;font-weight:600}.copy tr:nth-child(even) td{background:#f8fafb}.seq{display:grid;gap:10px;margin:34px 0 10px}@media(min-width:620px){.seq{grid-template-columns:1fr 1fr}}.seq a{display:block;border:1px solid var(--rule);background:var(--sheet);border-radius:var(--r);padding:12px 16px;text-decoration:none;color:var(--ink);font-weight:600;line-height:1.35}.seq a:hover{border-color:var(--teal)}.seq small{display:block;font:500 12px var(--mono);color:var(--teal);margin-bottom:4px}.seq-fwd{text-align:right;grid-column:2}@media(max-width:619px){.seq-fwd{grid-column:auto}}.revline{font:500 13px var(--mono);color:var(--ink-3);margin-top:22px}.panel{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:14px 16px;margin-bottom:16px}@media(min-width:960px){.report-aside .panel:first-child{position:sticky;top:16px}}.panel-title{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.07em;margin:0 0 8px;color:var(--ink-2)}.panel-list{list-style:none;margin:0;padding:0}.panel-list a{display:flex;gap:8px;padding:5px 0;text-decoration:none;color:var(--ink);font-size:15px;line-height:1.4;border-bottom:1px solid var(--rule-2)}.panel-list li:last-child a{border-bottom:0}.panel-list a:hover{color:var(--teal)}.panel-list span{color:var(--teal);font-size:11px}.base{background:var(--navy);color:#a9b8ca;font-size:14px;margin-top:0;padding-top:40px}.base a{color:#c5d1df;text-decoration:none}.base a:hover{color:var(--teal-hi)}.base-cols{display:grid;gap:26px;grid-template-columns:1fr}@media(min-width:620px){.base-cols{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.base-cols{grid-template-columns:1.5fr repeat(4,1fr)}}.base-name{color:#fff;font-weight:700;font-size:17px;margin:0 0 8px}.base-about p:last-child{margin:0;line-height:1.6}.base-title{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.07em;margin:0 0 8px}.base-title a{color:var(--teal-hi)}.base ul{list-style:none;margin:0;padding:0}.base li{margin-bottom:5px;line-height:1.4}.base-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;border-top:1px solid var(--navy-line);margin-top:30px;padding-top:16px;padding-bottom:24px;font:500 12px var(--mono)}