:root{color-scheme:light;--bg: #f2f1ec;--bg-2: #e8e6df;--bg-3: #dddad0;--ink: #141410;--ink-2: #56554e;--ink-3: #64635c;--rule: #c6c4ba;--rule-2: #a9a69a;--rule-heavy: #141410;--grid: #dcd9ce;--grid-edge: #cfccc0;--accent: #c02d14;--focus: #c02d14;--ff: "Schibsted Grotesk", "Helvetica Neue", Helvetica, "Nimbus Sans", "Liberation Sans", sans-serif;--t-xs: 10.5px;--t-s: 13px;--t-m: 17px;--t-l: 30px;--t-xl: clamp(46px, 7.2vw, 88px);--u: 8px;--cols: 12;--gap: 24px;--pad: clamp(20px, 4.4vw, 64px);--maxw: 1240px}:root[data-theme="dark"]{color-scheme:dark;--bg: #121210;--bg-2: #1b1a17;--bg-3: #232120;--ink: #eeece6;--ink-2: #a19e95;--ink-3: #8b887f;--rule: #33322d;--rule-2: #4a4842;--rule-heavy: #eeece6;--grid: #2a2925;--grid-edge: #34322d;--accent: #ff6a4d;--focus: #ff6a4d}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:46px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ff);font-size:var(--t-m);font-weight:400;line-height:1.55;text-align:left;hyphens:none;font-variant-numeric:lining-nums proportional-nums;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top, 0px);padding-bottom:env(safe-area-inset-bottom, 0px)}h1,h2,h3,p,ol,ul,dl,dd,figure,table{margin:0}ol,ul{padding:0;list-style:none}img{max-width:100%}[hidden]{display:none !important}a{color:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:0.2em;text-decoration-color:var(--rule-2);overflow-wrap:anywhere}a:hover{color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--accent);color:var(--bg)}.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.c-nr,.c-sc,.c-pub,.c-cwe,.fig b,.comps .yr,.coverage time,.idx,.notes li>b{font-variant-numeric:lining-nums tabular-nums}.page{position:relative}.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}.gridlines{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.gridlines .wrap{height:100%;display:grid;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gap)}.gridlines i{display:block;position:relative;height:100%}.gridlines i::after{content:"";position:absolute;top:0;left:calc(100% + (var(--gap) / 2));width:1px;height:100%;background:var(--grid)}.gridlines i:last-child::after{content:none}.gridlines i:first-child::before,.gridlines i:last-child::before{content:"";position:absolute;top:0;width:1px;height:100%;background:var(--grid-edge)}.gridlines i:first-child::before{left:0}.gridlines i:last-child::before{right:0}.page>.wrap{position:relative;z-index:1}.page>.wrap h1,.page>.wrap h2,.page>.wrap h3,.page>.wrap p,.page>.wrap li,.page>.wrap caption,.tablewrap{background:var(--bg)}.index li{background:none}.g{display:grid;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gap)}.g>*{min-width:0}.col-body{grid-column:2 / span 6}.col-aside{grid-column:8 / span 4}.col-full{grid-column:1 / -1}.col-indent{grid-column:2 / -1}.masthead{border-bottom:1px solid var(--rule);padding-block:calc(var(--u) * 2);align-items:baseline;row-gap:var(--u)}.mast-name{grid-column:1 / span 7;font-size:var(--t-xs);font-weight:700;letter-spacing:0.16em;text-transform:uppercase}.mast-name a{text-decoration:none}.mast-tools{grid-column:10 / span 3;display:flex;justify-content:flex-end}.tgl{font:inherit;font-size:var(--t-xs);font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-2);background:none;border:0;border-bottom:1px solid var(--rule-2);padding:2px 0;cursor:pointer}.tgl:hover{color:var(--accent);border-bottom-color:var(--accent)}.index{position:sticky;top:env(safe-area-inset-top, 0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--rule);margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad)}.index ol{display:flex;flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none}.index ol::-webkit-scrollbar{display:none}.index li{flex:0 0 auto}.index a{display:block;text-decoration:none;font-size:var(--t-xs);font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);padding:9px 0 9px;padding-inline-end:calc(var(--u) * 2.5);border-top:2px solid transparent;white-space:nowrap}.index a b{font-weight:700;color:var(--ink-2)}.index .lab{padding-inline-start:0.62em}.index a:hover,.index a:hover b{color:var(--accent)}.index a[aria-current="true"]{color:var(--accent);border-top-color:var(--accent)}.index a[aria-current="true"] b{color:var(--accent)}.index a:focus-visible{outline-offset:-2px}@media (max-width: 899px){.index .lab{display:none}.index a{padding-inline-end:calc(var(--u) * 2.25)}}.title{padding-top:calc(var(--u) * 9);padding-bottom:calc(var(--u) * 5);row-gap:calc(var(--u) * 3)}.title-rule{grid-column:1 / -1;height:3px;background:var(--accent);margin-bottom:calc(var(--u) * 2)}h1{grid-column:1 / span 9;font-size:var(--t-xl);font-weight:500;line-height:0.94;letter-spacing:-0.035em;text-wrap:balance}.title-role{grid-column:1 / span 5;font-size:var(--t-m);line-height:1.4;color:var(--ink);max-width:30ch}.title-meta{grid-column:8 / span 5;font-size:var(--t-s);line-height:1.5;color:var(--ink-2);max-width:42ch}.title-meta a{color:var(--ink)}.sec{padding-block:calc(var(--u) * 7);border-top:1px solid var(--rule);row-gap:calc(var(--u) * 3);scroll-margin-top:calc(var(--u) * 2)}.sec:first-of-type{border-top:2px solid var(--rule-heavy)}.sec-head{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:baseline;row-gap:var(--u);margin-bottom:calc(var(--u) * 2)}.idx{grid-column:1 / span 1;font-size:var(--t-s);font-weight:700;letter-spacing:0.06em;color:var(--accent)}.sec h2{grid-column:2 / span 5;font-size:var(--t-l);font-weight:500;line-height:1.1;letter-spacing:-0.02em}.sec-sub{grid-column:8 / span 4;font-size:var(--t-s);line-height:1.5;color:var(--ink-2);max-width:40ch}.prose>*+*{margin-top:calc(var(--u) * 2.5)}.prose p{max-width:64ch;overflow-wrap:anywhere}.prose strong{font-weight:700}.kicker{font-size:var(--t-xs);font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3)}.figs{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;border-top:1px solid var(--rule-heavy);padding-top:var(--u);margin-top:calc(var(--u) * 2);row-gap:calc(var(--u) * 3)}.fig{grid-column:span 2}.fig b{display:block;font-size:var(--t-l);font-weight:500;line-height:1;letter-spacing:-0.02em}.fig span{display:block;margin-top:var(--u);font-size:var(--t-xs);font-weight:500;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3)}.tablewrap{grid-column:1 / -1;overflow-x:auto;overscroll-behavior-x:contain;border-top:1px solid var(--rule-heavy)}.tablewrap table{width:100%;min-width:980px;table-layout:fixed;border-collapse:collapse;font-size:var(--t-s);line-height:1.4}.tablewrap caption{text-align:left;font-size:var(--t-xs);font-weight:500;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3);padding-bottom:var(--u)}.tablewrap th,.tablewrap td{text-align:left;vertical-align:baseline;padding:9px 10px 9px 0;border-bottom:1px solid var(--rule)}.tablewrap thead th{font-size:var(--t-xs);font-weight:700;letter-spacing:0.11em;text-transform:uppercase;color:var(--ink-3);padding-bottom:7px;border-bottom:1px solid var(--rule-2);white-space:nowrap}.tablewrap thead tr:first-child th{padding-top:10px}.tablewrap tbody tr:last-child td{border-bottom:1px solid var(--rule-heavy)}.tablewrap .c-nr{width:3.39%;color:var(--ink-3);font-weight:500}.tablewrap .c-id{width:16.40%;font-weight:500;white-space:nowrap}.tablewrap .c-id a{text-decoration-color:var(--rule)}.tablewrap .c-pkg{width:12.90%;color:var(--ink-2);overflow-wrap:anywhere}.tablewrap .c-sc{width:8.40%;font-variant-numeric:tabular-nums}.tablewrap tbody td.c-sc{font-size:var(--t-l);font-weight:500;line-height:0.95;letter-spacing:-0.03em}.tablewrap .c-sev{width:7.60%}.tablewrap .c-cls{width:17.30%}.tablewrap .c-cwe{width:4.71%;color:var(--ink-2);white-space:nowrap}.tablewrap .c-pub{width:8.94%;color:var(--ink-2);white-space:nowrap}.tablewrap .v{width:2.545%;background:var(--bg-2);font-weight:500;padding-left:0;padding-right:4px;text-indent:6px}.tablewrap th.v{background:var(--bg-2);letter-spacing:0.02em}.tablewrap th.vgroup{background:var(--bg-2);text-indent:6px;padding-right:4px}.tablewrap .sev-high{font-weight:700;color:var(--ink)}.tablewrap .sev-med{font-weight:400;color:var(--ink)}.tablewrap .sev-low{font-weight:400;color:var(--ink-2)}.tablewrap .dag{color:var(--accent);font-weight:700;text-decoration:none;padding-left:1px}.tablewrap tbody tr:hover td{background:var(--bg-2)}.tablewrap tbody tr:hover td.v{background:var(--bg-3)}@media (min-width: 1120px){.tablewrap tbody th.c-nr{padding-top:14px}tbody .c-id,tbody .c-pkg,tbody .c-sev,tbody .c-cls,tbody .c-cwe,tbody .c-pub,.tablewrap tbody td.v{padding-top:15px}.tablewrap tbody td.c-sc{padding-top:8px}}.tfoot{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;row-gap:var(--u);margin-top:calc(var(--u) * 2)}.tfoot p{grid-column:span 6;font-size:var(--t-s);color:var(--ink-2);max-width:52ch}.tfoot p.right{grid-column:8 / span 5}.tablewrap:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (max-width: 1119px){.tablewrap tbody tr:last-child th,.tablewrap tbody tr:last-child td{border-bottom:0}.tablewrap tbody tr:nth-last-child(2) th,.tablewrap tbody tr:nth-last-child(2) td{border-bottom:0}.tablewrap{overflow-x:visible;border-top:2px solid var(--rule-heavy)}.tablewrap table{display:block;width:100%;min-width:0;table-layout:auto}.tablewrap caption{display:block;padding-top:var(--u)}.tablewrap thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.tablewrap tbody{display:block}.tablewrap tbody tr{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));column-gap:2px;align-items:baseline;border-bottom:1px solid var(--rule);padding-block:calc(var(--u) * 2.5) calc(var(--u) * 3)}.tablewrap tbody tr:last-child{border-bottom:2px solid var(--rule-heavy)}.tablewrap tbody th,.tablewrap tbody td{display:block;width:auto;padding:0;border-bottom:0;background:none}.tablewrap tbody tr:hover td,.tablewrap tbody tr:hover td.v{background:none}.tablewrap tbody tr:hover td.v{background:var(--bg-2)}.tablewrap .c-nr{grid-area:1 / 1 / 2 / 3;width:auto;color:var(--accent);font-weight:700;padding-top:0}.tablewrap .c-sc{grid-area:1 / 3 / 2 / 5;width:auto;text-align:right;padding-top:0}.tablewrap .c-id{grid-area:2 / 1 / 3 / 5;width:auto;white-space:normal;font-size:var(--t-m);padding-top:3px}.tablewrap .c-pkg{grid-area:3 / 1 / 4 / 3;width:auto;padding-top:5px}.tablewrap .c-sev{grid-area:3 / 3 / 4 / 5;width:auto;text-align:right;padding-top:5px}.tablewrap .c-cls{grid-area:4 / 1 / 5 / 4;width:auto;padding-top:calc(var(--u) * 1.75)}.tablewrap .c-cwe{grid-area:4 / 4 / 5 / 5;width:auto;text-align:right;padding-top:calc(var(--u) * 1.75)}.tablewrap .c-cwe::before{content:"CWE\00a0";color:var(--ink-3)}.tablewrap .c-pub{grid-area:5 / 1 / 6 / 5;width:auto;color:var(--ink-3);padding-top:3px}.tablewrap .c-pub::before{content:"Published "}.tablewrap td.v{width:auto;background:var(--bg-2);text-indent:0;padding:7px 8px 8px;margin-top:2px;font-size:var(--t-m);font-weight:500;line-height:1}.tablewrap td.v::before{content:attr(data-m);display:block;margin-bottom:5px;font-size:var(--t-xs);font-weight:500;letter-spacing:0.13em;color:var(--ink-3)}}@media (min-width: 860px) and (max-width: 1119px){.tablewrap tbody{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:calc(var(--gap) * 2)}.tablewrap tbody tr:nth-last-child(2){border-bottom:2px solid var(--rule-heavy)}}.notes{grid-column:1 / -1;margin-top:calc(var(--u) * 5);border-top:1px solid var(--rule);padding-top:calc(var(--u) * 2);columns:2;column-gap:calc(var(--gap) * 2)}.notes li{break-inside:avoid;margin-bottom:calc(var(--u) * 2.5);padding-left:34px;position:relative;font-size:var(--t-s);line-height:1.5;max-width:56ch}.notes li>b{position:absolute;left:0;top:0;font-weight:500;color:var(--ink-3)}.notes .nid{display:block;color:var(--ink-3);letter-spacing:0.02em;overflow-wrap:anywhere}.classes{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;row-gap:calc(var(--u) * 4)}.classes li{grid-column:2 / span 10;display:grid;grid-template-columns:subgrid}.classes h3{grid-column:span 3;font-size:var(--t-m);font-weight:700;line-height:1.35;letter-spacing:-0.005em;max-width:22ch}.classes p{grid-column:4 / span 7;max-width:60ch;overflow-wrap:anywhere}.code{font-family:var(--ff);font-weight:500;background:var(--bg-2);padding:0 3px;overflow-wrap:anywhere}.stream{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;row-gap:calc(var(--u) * 4)}.stream>li{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:baseline;row-gap:var(--u);border-top:1px solid var(--rule);padding-top:calc(var(--u) * 1.5)}.when{grid-column:1 / span 2;font-size:var(--t-s);font-weight:500;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.when em{display:block;font-style:normal;font-size:var(--t-xs);letter-spacing:0.13em;text-transform:uppercase;color:var(--accent);margin-top:3px}.what{grid-column:3 / span 7}.what h3{font-size:var(--t-m);font-weight:700;line-height:1.3}.what h3 span{font-weight:400;color:var(--ink-2)}.what p{margin-top:var(--u);font-size:var(--t-s);line-height:1.55;color:var(--ink-2);max-width:68ch}.subhead{grid-column:1 / -1;margin-top:calc(var(--u) * 6);margin-bottom:calc(var(--u) * -1);font-size:var(--t-xs);font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3)}.comps{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;border-top:1px solid var(--rule-heavy)}.comps li{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:baseline;border-bottom:1px solid var(--rule);padding-block:9px;font-size:var(--t-s)}.comps .yr{grid-column:1 / span 1;color:var(--ink-3);font-variant-numeric:tabular-nums}.comps .pl{grid-column:2 / span 1;font-weight:700}.comps .ev{grid-column:3 / span 6}.comps .nt{grid-column:9 / span 4;color:var(--ink-2)}.coverage{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;border-top:1px solid var(--rule-heavy)}.coverage li{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:baseline;row-gap:2px;border-bottom:1px solid var(--rule);padding-block:11px;font-size:var(--t-s)}.coverage .src{grid-column:1 / span 2;color:var(--ink-2)}.coverage .src b{font-weight:500;display:block}.coverage .src time{display:block;color:var(--ink-3);font-variant-numeric:tabular-nums}.coverage .ttl{grid-column:3 / span 6}.coverage .nt{grid-column:9 / span 4;color:var(--ink-3)}.contact{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;row-gap:calc(var(--u) * 3);border-top:1px solid var(--rule-heavy);padding-top:calc(var(--u) * 2)}.contact li{grid-column:span 3}.contact .lbl{display:block;font-size:var(--t-xs);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.contact a{font-size:var(--t-s);font-weight:500}.colophon{border-top:1px solid var(--rule);padding-block:calc(var(--u) * 4) calc(var(--u) * 8);row-gap:var(--u);align-items:baseline}.colophon p{font-size:var(--t-xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3)}.colophon p:first-child{grid-column:1 / span 5}.colophon p:last-child{grid-column:8 / span 5}@media (max-width: 1023px){.col-aside{grid-column:2 / -1}:root{--cols: 6;--gap: 20px;--t-l: 26px}.gridlines i:nth-child(n+7){display:none}.gridlines i:nth-child(6)::after{content:none}.gridlines i:nth-child(6)::before{content:"";position:absolute;top:0;right:0;left:auto;width:1px;height:100%;background:var(--grid-edge)}.mast-name{grid-column:1 / span 4}.mast-tools{grid-column:5 / span 2;justify-content:flex-end}h1{grid-column:1 / -1}.title-role{grid-column:1 / span 4}.title-meta{grid-column:1 / span 5}.sec h2{grid-column:2 / span 5}.sec-sub{grid-column:2 / span 5;max-width:56ch}.col-body{grid-column:2 / span 5}.col-indent{grid-column:2 / -1}.fig{grid-column:span 2}.notes{columns:1}.notes li{max-width:68ch}.classes li{grid-column:1 / -1;row-gap:var(--u)}.classes h3{grid-column:1 / -1;max-width:none}.classes p{grid-column:1 / -1}.when{grid-column:1 / span 2}.what{grid-column:3 / span 4}.comps .yr{grid-column:1}.comps .pl{grid-column:2}.comps .ev{grid-column:3 / span 4}.comps .nt{grid-column:3 / span 4}.coverage .src{grid-column:1 / span 2}.coverage .ttl{grid-column:3 / span 4}.coverage .nt{grid-column:3 / span 4}.contact li{grid-column:span 3}.tablewrap{grid-column:1 / -1}.tfoot p,.tfoot p.right{grid-column:1 / -1;max-width:62ch}.colophon p:first-child{grid-column:1 / span 3}.colophon p:last-child{grid-column:4 / span 3}}@media (max-width: 639px){:root{--cols: 1;--gap: 0px;--t-m: 16px;--t-l: 23px}.gridlines{display:none}.masthead{row-gap:calc(var(--u) * 1.5)}.mast-name,.mast-tools,h1,.title-role,.title-meta,.sec h2,.sec-sub,.idx,.col-body,.col-aside,.col-indent,.col-full,.fig,.what,.when,.classes li,.classes h3,.classes p,.contact li,.colophon p:first-child,.colophon p:last-child{grid-column:1 / -1}.mast-tools{justify-content:flex-start}.sec-head{row-gap:4px}.idx{order:-1}.title{padding-top:calc(var(--u) * 5)}.title-role{max-width:none}.figs{row-gap:calc(var(--u) * 2.5)}.fig{display:grid;grid-template-columns:4.5rem 1fr;align-items:baseline;column-gap:14px}.fig span{margin-top:0}.stream>li,.comps li,.coverage li{row-gap:4px}.contact{row-gap:calc(var(--u) * 3)}.comps .yr,.comps .pl,.comps .ev,.comps .nt,.coverage .src,.coverage .ttl,.coverage .nt{grid-column:1 / -1}.comps li{padding-block:11px}.comps .pl{margin-top:2px}.notes li{max-width:none}.masthead{grid-template-columns:1fr auto}.mast-name{grid-column:1}.mast-tools{grid-column:2;justify-content:flex-end}}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}a,.tgl,.tablewrap tbody tr td{transition:color 120ms linear, background-color 120ms linear, text-decoration-color 120ms linear, border-color 120ms linear}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}}@media print{.gridlines,.index,.mast-tools{display:none}body{background:#fff;color:#000}}.tablewrap tbody td.c-sc{font-variant-numeric:proportional-nums;text-align:right}.code{padding:1px 0.25em;margin-inline:-0.18em}.prose pre{max-width:100%;overflow-x:auto;overflow-y:hidden;background:var(--bg-2);border:1px solid var(--rule);padding:calc(var(--u)*1.5) calc(var(--u)*2);margin:calc(var(--u)*3) 0;font-size:.8125rem;line-height:1.55;-webkit-overflow-scrolling:touch}.prose pre code{display:block;width:max-content;min-width:100%;background:none;border:0;padding:0;white-space:pre;font-size:inherit}.prose pre:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prose :not(pre)>code{background:var(--bg-2);padding:1px .25em;margin-inline:-.18em;font-size:.92em;overflow-wrap:anywhere}.prose table{width:100%;border-collapse:collapse;font-size:.8125rem;margin:calc(var(--u)*3) 0}.prose table th,.prose table td{text-align:left;vertical-align:baseline;padding:calc(var(--u)*.75) calc(var(--u)*2) calc(var(--u)*.75) 0;border-bottom:1px solid var(--rule)}.prose table thead th{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule-heavy)}.prose table td:last-child,.prose table th:last-child{padding-right:0}.prose table code{overflow-wrap:anywhere}@media (min-width: 620px){.prose table code{white-space:nowrap}}.prose a{overflow-wrap:anywhere}.prose h3{font-size:var(--t-m);font-weight:600;letter-spacing:-.01em;margin:calc(var(--u)*5) 0 calc(var(--u)*1.5);padding-bottom:calc(var(--u)*.75);border-bottom:1px solid var(--rule)}.prose h4{font-size:var(--t-s);font-weight:600;margin:calc(var(--u)*4) 0 calc(var(--u)*1)}.prose ul,.prose ol{margin:calc(var(--u)*2) 0;padding-left:1.4em}.prose li{margin:0 0 calc(var(--u)*.75)}.prose blockquote{margin:calc(var(--u)*3) 0;padding-left:calc(var(--u)*2);border-left:2px solid var(--accent);color:var(--ink-2)}.idx--none{color:var(--ink-3);font-weight:400}.page{overflow-x:clip}.mast-tools{display:flex;align-items:center;gap:calc(var(--u)*3)}.mast-nav{display:flex;gap:calc(var(--u)*2.5)}.mast-nav a{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}.mast-nav a:hover,.mast-nav a:focus-visible{color:var(--ink);border-bottom-color:var(--ink)}.mast-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}@media (max-width: 560px){.mast-tools{gap:calc(var(--u)*2)}.mast-nav{gap:calc(var(--u)*1.75)}.mast-nav a{font-size:.625rem}}@media (min-width: 480px){.mast-tools{width:max-content;justify-self:end}.mast-nav a{white-space:nowrap}}.figs-lead{margin-bottom:calc(var(--u)*6)}.figs-lead .figs{grid-column:1 / -1;margin:0;padding-top:calc(var(--u)*3)}.page:has(#writeup) h1{font-size:clamp(1.9rem, 4.4vw, 3rem);letter-spacing:-.01em;overflow-wrap:anywhere}.tablewrap .rec--compact tbody td.c-sc,.tablewrap .rec--compact thead th.c-sc{text-align:left}.tablewrap .rec--compact tbody td.c-sc{font-variant-numeric:proportional-nums;padding-right:calc(var(--u)*3)}@media (min-width: 1024px){.org-mark{grid-row:1}#writeup .col-body{grid-column:2 / span 9}#writeup .col-body>p,#writeup .col-body>ul,#writeup .col-body>ol,#writeup .col-body>blockquote,#writeup .col-body>h4{max-width:46rem}}@media (min-width: 640px){.title-role{max-width:62ch}}@media (min-width: 1024px){.title-role{grid-column:1 / span 8}}.page:has(section.sec:only-of-type) .title-role{color:var(--ink-2)}#writeup .col-body h2{font-size:22px;font-weight:600;letter-spacing:-.012em;line-height:1.2;margin:calc(var(--u)*6) 0 calc(var(--u)*2);padding-bottom:calc(var(--u)*.75);border-bottom:1px solid var(--rule)}#writeup .col-body h3{font-size:var(--t-m);font-weight:600;letter-spacing:0;margin:calc(var(--u)*4) 0 calc(var(--u)*1);padding-bottom:0;border-bottom:0}#writeup .col-body>:first-child{margin-top:0}@media (max-width: 479px){.masthead{grid-template-columns:1fr;row-gap:calc(var(--u)*1.25)}.mast-name{grid-column:1}.mast-tools{grid-column:1;width:100%;justify-content:space-between}}.prose li{overflow-wrap:anywhere}@media (max-width: 639px){.mast-nav a{padding-block:4px 5px}.contact a{display:inline-block;padding-block:5px}}@media (max-width: 899px){.index .lab{display:inline}.index a{padding-inline-end:calc(var(--u) * 2.5)}.index ol{-webkit-mask-image:linear-gradient(to right, #000 calc(100% - 28px), transparent);mask-image:linear-gradient(to right, #000 calc(100% - 28px), transparent)}}@media (min-width: 1024px){.figs{grid-template-columns:repeat(5, minmax(0, 1fr))}.figs .fig{grid-column:span 1}}.org-mark{grid-column:10 / span 3;justify-self:center;align-self:center;width:100%;max-width:132px;color:var(--ink-3);opacity:.85}.org-mark--usf{aspect-ratio:1330 / 314;background-color:currentColor;-webkit-mask:url("/assets/logos/usf.svg") no-repeat right center/contain;mask:url("/assets/logos/usf.svg") no-repeat right center/contain}.org-mark--amazon{aspect-ratio:1 / 1;background-color:currentColor;-webkit-mask:url("/assets/logos/amazon.svg") no-repeat right center/contain;mask:url("/assets/logos/amazon.svg") no-repeat right center/contain}.org-mark--cyber-florida{max-width:104px;aspect-ratio:446 / 160;background-color:currentColor;-webkit-mask:url("/assets/logos/cyber-florida.png") no-repeat right center/contain;mask:url("/assets/logos/cyber-florida.png") no-repeat right center/contain}.org-mark--amazon{max-width:52px}@media (max-width: 1023px){.org-mark{grid-row:auto;grid-column:1 / span 2;justify-self:start;margin-top:var(--u);max-width:104px}.org-mark--amazon{max-width:38px}}@media (max-width: 639px){.org-mark{grid-column:1 / -1;order:3;margin-top:calc(var(--u)*1.5)}}.org-mark--giac{max-width:78px;aspect-ratio:64 / 34;background-color:currentColor;-webkit-mask:url("/assets/logos/giac.svg") no-repeat right center/contain;mask:url("/assets/logos/giac.svg") no-repeat right center/contain}.org-mark--htb{max-width:38px;aspect-ratio:1 / 1;background-color:currentColor;-webkit-mask:url("/assets/logos/hackthebox.svg") no-repeat right center/contain;mask:url("/assets/logos/hackthebox.svg") no-repeat right center/contain}@media (max-width: 1023px){.org-mark--giac{max-width:66px}.org-mark--htb{max-width:32px}}.sec-head{align-items:start}.sec-head h2,.sec-head .idx{align-self:baseline}@media (min-width: 1024px){.org-mark{grid-column:10 / span 3}.org-mark{margin-left:calc(var(--u) * 6)}}@media (min-width: 1024px) and (max-width: 1199px){.org-mark{margin-left:calc(var(--u) * 3)}}@media (min-width: 1024px){.sec:has(.col-aside) .col-body{padding-right:calc(var(--u) * 4)}}@media (min-width: 1024px) and (max-width: 1199px){.sec:has(.col-aside) .col-body{padding-right:calc(var(--u) * 2)}}@media (min-width: 640px){.title{padding-top:calc(var(--u) * 11)}}
