html,body,#root{min-height:100%;margin:0}body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:Unbounded;font-style:normal;font-weight:600 800;font-display:swap;src:url(/assets/unbounded-var-C627f1f8.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/ibm-plex-sans-var-BAAhND-U.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-mono-400-BSMlKf0J.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/ibm-plex-mono-500-Bq9vWWag.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/ibm-plex-mono-600-CTOM6hUh.woff2)format("woff2")}:root{--metal-50:#f2f4f5;--metal-100:#e6e9ea;--metal-200:#d3d9db;--steel-ink:#10303f;--steel-mid:#2e6478;--steel-bright:#3d7f97;--steel-pale:#8fc3ce;--steel-pale-bg:#e4eff1;--ink:#182226;--ink-dim:#5b6b71;--line:#10303f24;--line-strong:#10303f47;--paper:#fbfcfc;--navmetal-1:#dfeaee;--navmetal-2:#b9d4dc;--navmetal-dark-1:#7fa3b0;--navmetal-dark-2:#486878}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--metal-100);color:var(--ink);font-family:IBM Plex Sans,system-ui,sans-serif}a{color:inherit}::selection{background:var(--steel-pale);color:var(--steel-ink)}.metal-field{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.metal-field:before{content:"";background:repeating-linear-gradient(100deg, #10303f09 0px, #10303f09 1px, transparent 1px, transparent 5px), linear-gradient(150deg, var(--metal-50), var(--metal-200) 45%, var(--metal-50) 78%, var(--metal-100));position:absolute;inset:-10%}.metal-field:after{content:"";background:linear-gradient(75deg,#0000 42%,#ffffffbf 49%,#0000 56%);width:70%;height:220%;animation:9s ease-in-out infinite sheen;position:absolute;top:-30%;left:-20%}@keyframes sheen{0%,to{transform:translate(-10%)}50%{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.metal-field:after{opacity:.4;animation:none}}.shell{z-index:1;flex-direction:column;min-height:100vh;padding:18px;display:flex;position:relative}.shell--error{color:#b42318;justify-content:center;align-items:center;font-family:IBM Plex Sans,sans-serif}.app{background:linear-gradient(175deg, var(--paper), var(--metal-50) 60%, var(--metal-100));border:1px solid var(--line-strong);border-radius:18px;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden;box-shadow:0 36px 70px -30px #10303f59,inset 0 1px #ffffffe6,0 0 0 1px #10303f0a}.app:before{content:"";background:linear-gradient(90deg, var(--steel-ink), var(--steel-mid) 45%, var(--steel-pale));height:4px;position:absolute;top:0;left:0;right:0}.app__inner{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.blueprint{z-index:0;opacity:.85;pointer-events:none;background-image:var(--blueprint-url);aspect-ratio:1281/613;background-position:100% 100%;background-repeat:no-repeat;background-size:contain;width:84%;position:absolute;bottom:-10%;right:-6%}.app__top{border-bottom:1px solid var(--line);background:linear-gradient(#fff9,#0000);flex-wrap:wrap;align-items:center;gap:22px;padding:14px 22px 13px;display:flex}.brand{flex:none;align-items:center;gap:9px;display:flex}.brand svg{width:auto;height:26px;color:var(--steel-ink)}.toptabs{gap:2px;display:flex;position:relative}.toptabs a{z-index:1;white-space:nowrap;letter-spacing:.01em;color:var(--ink-dim);cursor:pointer;background:0 0;border:none;border-radius:11px;padding:11px 20px;font:700 20px Unbounded,sans-serif;text-decoration:none;transition:color .18s;position:relative}.toptabs a.is-active{color:#fff;background:var(--steel-ink)}.toptabs a:not(.is-active):hover{color:#fff}.toptabs__glow{z-index:0;pointer-events:none;opacity:0;background:linear-gradient(155deg, var(--navmetal-dark-1), var(--navmetal-dark-2) 65%, var(--navmetal-dark-1));border-radius:11px;width:0;height:100%;transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),opacity .18s;position:absolute;top:0;left:0;box-shadow:inset 0 1px #ffffff40,0 4px 12px -4px #10303f8c}@media (prefers-reduced-motion:reduce){.toptabs__glow{transition:opacity .18s}}.app__user{color:var(--ink-dim);flex:none;align-items:center;gap:9px;margin-left:auto;font-size:12.5px;display:flex}.app__admin-link{color:var(--steel-mid);border:1px solid var(--line-strong);border-radius:20px;padding:4px 12px;font:600 12px IBM Plex Sans,sans-serif;text-decoration:none}.app__admin-link:hover{color:var(--steel-ink);background:var(--steel-pale-bg)}.app__avatar{background:var(--steel-pale-bg);border:1px solid var(--line-strong);width:24px;height:24px;color:var(--steel-ink);border-radius:50%;justify-content:center;align-items:center;font:600 10px IBM Plex Mono,monospace;display:flex}.searchbar{flex:1;max-width:380px;position:relative}.searchbar__field{border:1px solid var(--line-strong);color:var(--ink-dim);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex;box-shadow:inset 0 1px 2px #10303f0f}.searchbar__field svg{opacity:.6;flex:none}.searchbar input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0}.searchbar kbd{color:var(--ink-dim);border:1px solid var(--line-strong);border-radius:4px;flex:none;padding:1px 6px;font:500 10.5px IBM Plex Mono,monospace}.searchbar__clear{background:var(--metal-200);width:18px;height:18px;color:var(--ink-dim);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;line-height:1;display:flex}.searchbar__clear:hover{background:var(--steel-mid);color:#fff}.searchbar__results{border:1px solid var(--line-strong);z-index:20;background:#fff;border-radius:10px;max-height:360px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden auto;box-shadow:0 20px 40px -20px #10303f80}.searchbar__results a{border-bottom:1px solid var(--line);padding:10px 14px;text-decoration:none;display:block}.searchbar__results a:last-child{border-bottom:none}.searchbar__results a:hover{background:var(--steel-pale-bg)}.searchbar__result-title{color:var(--steel-ink);font-size:13px;font-weight:600}.searchbar__result-crumb{color:var(--steel-mid);margin-bottom:2px;font:500 10.5px IBM Plex Mono,monospace}.searchbar__result-snippet{color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.searchbar__empty{color:var(--ink-dim);padding:14px;font-size:13px}.rail{border-bottom:1px solid var(--line);background:#ffffff80;gap:6px;padding:10px 18px;display:flex;position:relative;overflow-x:auto}.rail a{z-index:1;white-space:nowrap;letter-spacing:.01em;color:var(--steel-ink);border:1px solid var(--line-strong);border-radius:20px;flex:none;align-items:center;gap:8px;padding:6px 14px 6px 6px;font:700 12.5px IBM Plex Sans,sans-serif;text-decoration:none;transition:color .18s,border-color .18s;display:flex;position:relative}.rail .idx{background:linear-gradient(150deg, var(--steel-bright), var(--steel-ink));color:#fff;border-radius:5px;flex:none;justify-content:center;align-items:center;width:19px;height:19px;font:700 10px IBM Plex Mono,monospace;transition:background .18s,color .18s,transform .18s;display:flex;box-shadow:0 1px 3px #10303f59}.rail a.is-current{background:var(--steel-ink);border-color:var(--steel-ink);color:#fff}.rail a.is-current .idx{color:#fff;box-shadow:none;background:#ffffff40}.rail a:not(.is-current):hover .idx{transform:scale(1.08)}.rail__glow{z-index:0;pointer-events:none;opacity:0;background:linear-gradient(155deg, var(--navmetal-1), var(--navmetal-2) 65%, var(--navmetal-1));border-radius:20px;width:0;transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),opacity .18s;position:absolute;top:10px;bottom:10px;left:0;box-shadow:inset 0 1px #fffc,0 3px 10px -4px #10303f66}@media (prefers-reduced-motion:reduce){.rail__glow{transition:opacity .18s}}.app__body{flex:1;grid-template-columns:230px 1fr;min-height:0;display:grid}.app__nav{border-right:1px solid var(--line);flex-direction:column;padding:16px 12px;display:flex;overflow-y:auto}.navhead{border-bottom:1px solid var(--line);margin-bottom:10px;padding:2px 8px 12px}.navhead__idx{background:var(--steel-ink);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;margin-bottom:8px;font:600 11px IBM Plex Mono,monospace;display:inline-flex}.navhead__title{color:var(--steel-ink);font:700 13px/1.3 IBM Plex Sans,sans-serif}.seclist-wrap{position:relative}.seclist{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.seclist li{z-index:1;position:relative}.seclist li a{color:var(--ink-dim);border-radius:7px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;text-decoration:none;transition:color .18s;display:flex;position:relative}.seclist__id{font:inherit;color:var(--steel-ink);background:radial-gradient(ellipse at center, var(--navmetal-1) 0%, #dfeaee66 60%, transparent 78%);flex:none;padding:1px 5px;font-weight:700}.seclist li a.is-open .seclist__id{background:radial-gradient(ellipse at center, var(--navmetal-2) 0%, #b9d4dc80 60%, transparent 78%)}.seclist li a.is-open{color:var(--steel-ink);background:linear-gradient(155deg, var(--navmetal-1), var(--navmetal-2) 130%);font-weight:600}.seclist li a.is-open:before{content:"";background:var(--steel-mid);border-radius:2px;width:3px;height:16px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.seclist li a:not(.is-open):hover{color:var(--steel-ink)}.seclist__glow{z-index:0;pointer-events:none;opacity:0;background:linear-gradient(155deg, var(--navmetal-1), var(--navmetal-2) 130%);border-radius:7px;height:0;transition:top .28s cubic-bezier(.4,0,.2,1),height .28s cubic-bezier(.4,0,.2,1),opacity .18s;position:absolute;top:0;left:0;right:0;box-shadow:inset 0 1px #fffc,0 3px 8px -4px #10303f59}@media (prefers-reduced-motion:reduce){.seclist__glow{transition:opacity .18s}}.navtest{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:auto;padding:12px 8px 2px;text-decoration:none;display:flex}.navtest__icon{background:linear-gradient(155deg, var(--steel-bright), var(--steel-ink));border-radius:7px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:flex;box-shadow:0 3px 10px -3px #10303f99}.navtest__body{flex-direction:column;gap:1px;min-width:0;display:flex}.navtest__title{color:var(--steel-ink);font:700 12.5px IBM Plex Sans,sans-serif}.navtest__meta{color:var(--ink-dim);font:500 10.5px IBM Plex Mono,monospace}.app__content{min-width:0;padding:24px 26px 30px;position:relative;overflow-y:auto}.app__content:before{content:"";z-index:-1;background:linear-gradient(165deg,#fbfcfcf2,#e6e9eaeb);position:absolute;inset:-24px -10px -40px;-webkit-mask-image:radial-gradient(96% 96%,#000 82%,#000000b3 94%,#0000 100%);mask-image:radial-gradient(96% 96%,#000 82%,#000000b3 94%,#0000 100%)}.crumb{color:var(--ink-dim);letter-spacing:.03em;margin-bottom:10px;font:500 11px IBM Plex Mono,monospace}.crumb b{color:var(--steel-mid)}.article h2{color:var(--steel-ink);text-wrap:balance;margin:0 0 16px;font-family:Unbounded,sans-serif;font-size:24px;font-weight:700;line-height:1.2}.article h3{letter-spacing:.01em;color:var(--steel-ink);border-bottom:1px solid var(--line-strong);margin:0 0 8px;padding-bottom:6px;font:700 13px IBM Plex Sans,sans-serif}.article p,.article li{color:var(--ink);font-size:14px;line-height:1.65}.article .lede{color:var(--steel-ink);font-size:15.5px;font-weight:600;line-height:1.6}.article mark.search-jump-text{background:var(--steel-pale);color:var(--steel-ink);border-radius:4px;padding:1px 4px;font-weight:600;transition:background-color 2s .4s,box-shadow 2s .4s;box-shadow:0 0 0 3px #8fc3ce59}.article mark.search-jump-text.is-fading{background:0 0;box-shadow:0 0 #8fc3ce00}.article a.search-jump-link{background:var(--steel-pale);box-shadow:0 0 0 4px var(--steel-pale);border-radius:5px;transition:background-color 2s .4s,box-shadow 2s .4s}.article a.search-jump-link.is-fading{background:0 0;box-shadow:0 0 #8fc3ce00}.article tr.search-jump-row>td{background:var(--steel-pale-bg);transition:background-color 2s .4s}.article tr.search-jump-row.is-fading>td{background:0 0}.article mark{color:var(--steel-ink);background:linear-gradient(120deg,#8fc3ce66,#8fc3ce2e);border-radius:3px;padding:0 3px;font-weight:600}.article ul{padding-left:22px}.article a{color:var(--steel-mid);text-decoration:underline;-webkit-text-decoration-color:var(--steel-pale);text-decoration-color:var(--steel-pale);text-underline-offset:2px;font-weight:600;transition:color .15s}.article a:hover{color:var(--steel-ink);-webkit-text-decoration-color:var(--steel-mid);text-decoration-color:var(--steel-mid)}.subpath{border:1px solid var(--line);background:linear-gradient(160deg,#ffffffb3,#e6e9ea80);border-radius:10px;margin:0 0 16px;padding:14px 16px 4px}.subpath+.subpath{margin-top:-6px}.subpath .shot,.subpath table{margin-left:0;margin-right:0}.article ol{counter-reset:step;padding-left:0;list-style:none}.article ol>li{counter-increment:step;margin-bottom:10px;padding-left:34px;position:relative}.article ol>li:before{content:counter(step);background:linear-gradient(150deg, var(--steel-bright), var(--steel-ink));color:#fff;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font:700 11px IBM Plex Mono,monospace;display:flex;position:absolute;top:1px;left:0}.table-wrap{border:1px solid var(--line);border-radius:12px;margin:14px 0 20px;overflow:hidden;box-shadow:inset 0 1px #fff9}.article table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.article th,.article td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 12px}.article th:last-child,.article td:last-child{border-right:none}.article tr:last-child td{border-bottom:none}.article th{background:linear-gradient(180deg, var(--metal-50), var(--metal-100));letter-spacing:.01em;color:var(--steel-ink);font:600 12px IBM Plex Sans,sans-serif}.article td{background:#ffffff8c}.artid{font:inherit;color:var(--steel-ink);background:radial-gradient(ellipse at center, var(--navmetal-1) 0%, #dfeaee66 60%, transparent 78%);align-items:center;margin-right:4px;padding:1px 6px;font-weight:700;display:inline-flex}a.artid-link{color:var(--ink);font-weight:400;text-decoration:none;display:block}a.artid-link:hover{color:var(--steel-ink)}a.artid-link:hover .artid{background:radial-gradient(ellipse at center, var(--navmetal-2) 0%, #b9d4dc80 60%, transparent 78%)}.article blockquote{border:1px solid var(--line-strong);border-left:4px solid var(--steel-mid);background:linear-gradient(155deg, var(--steel-pale-bg), #8fc3ce47);color:var(--steel-ink);border-radius:8px;margin:14px 0;padding:11px 15px;font-size:13.5px;font-weight:600;box-shadow:0 8px 20px -14px #10303f80}.article blockquote p{margin:0}.article blockquote+blockquote{margin-top:-8px}.article code{background:var(--metal-100);border-radius:4px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:.9em}.article code.date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--steel-mid);background:var(--steel-pale-bg);border-radius:20px;padding:1px 7px;font-family:IBM Plex Sans,sans-serif;font-size:.92em;font-weight:600}.flow3{align-items:center;gap:10px;margin:6px 0 18px;padding:18px 22px;display:flex;position:relative}.flow3:before{content:"";z-index:-1;background:linear-gradient(155deg, var(--navmetal-1), #dfeaee80);position:absolute;inset:0;-webkit-mask-image:radial-gradient(92% 88%,#000 60%,#0000 100%);mask-image:radial-gradient(92% 88%,#000 60%,#0000 100%)}.flow3__col{text-align:center;flex:1}.flow3__label{color:var(--steel-ink);margin-bottom:4px;font:700 12.5px IBM Plex Sans,sans-serif}.flow3__body{color:var(--ink-dim);font-size:12px;line-height:1.4}.flow3__arrow{color:var(--steel-mid);flex:none;font-size:18px}@media (width<=640px){.flow3{flex-direction:column}.flow3__arrow{transform:rotate(90deg)}}.parts3{flex-direction:column;gap:2px;margin:6px 0 18px;display:flex}.parts3__item{background:linear-gradient(155deg,#fff9,#e6e9ea66);border-radius:10px;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.parts3__n{background:linear-gradient(150deg, var(--steel-bright), var(--steel-ink));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font:700 12px IBM Plex Mono,monospace;display:flex}.parts3__item div:last-child{color:var(--ink);font-size:13px;line-height:1.5}.parts3__item strong{color:var(--steel-ink)}.stage{white-space:nowrap;border-radius:20px;align-items:center;padding:3px 10px;font:600 12px IBM Plex Sans,sans-serif;display:inline-flex}.stage--slate{color:#45575d;background:linear-gradient(155deg,#eef1f2,#ced9dc)}.stage--amber{color:#8a5514;background:linear-gradient(155deg,#f8e6d2,#e7ab61)}.stage--olive{color:#5f6b26;background:linear-gradient(155deg,#eef0d6,#ced89a)}.stage--red{color:#96392a;background:linear-gradient(155deg,#f8e0da,#e2a294)}.stage--orange{color:#7d5424;background:linear-gradient(155deg,#f7ead9,#e3b98c)}.stage--cyan{color:#2c6a63;background:linear-gradient(155deg,#e1f0ef,#a3cdc9)}.stage--violet{color:#5c3a7a;background:linear-gradient(155deg,#ece3f2,#c3aad6)}.stage--peach{color:#8a5730;background:linear-gradient(155deg,#faebdf,#eab88d)}.stage--magenta{color:#862a5e;background:linear-gradient(155deg,#f8e1ee,#dd9dc0)}.stage--green{color:#386a2c;background:linear-gradient(155deg,#e2f0df,#a8cf9f)}.shot{border:1px solid var(--line-strong);background:var(--paper);border-radius:8px;align-items:center;gap:12px;margin:6px 0 18px;padding:14px;display:flex;position:relative}.shot:before,.shot:after{content:"";border-color:var(--steel-mid);border-style:solid;width:11px;height:11px;position:absolute}.shot:before{border-width:2px 0 0 2px;top:-1px;left:-1px}.shot:after{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.shot__ph{background:repeating-linear-gradient(135deg, var(--metal-100), var(--metal-100) 5px, var(--metal-200) 5px, var(--metal-200) 10px);border:1px solid var(--line);border-radius:6px;flex:none;width:46px;height:46px}.shot span{color:var(--ink-dim);font:500 12px IBM Plex Mono,monospace}.article img{object-fit:contain;border:1px solid var(--line-strong);cursor:zoom-in;background:#fff;border-radius:8px;width:auto;max-width:260px;max-height:170px;margin:8px 8px 18px 0;transition:transform .15s,box-shadow .15s;display:inline-block;box-shadow:0 6px 18px -10px #10303f66}.article img:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px #10303f8c}.lightbox{z-index:200;cursor:zoom-out;background:#10303fd1;justify-content:center;align-items:flex-start;padding:40px;display:flex;position:fixed;inset:0;overflow:auto}.lightbox img{border-radius:10px;width:auto;max-width:none;height:auto;margin:auto;box-shadow:0 30px 70px -20px #0009}.lightbox__close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:36px;height:36px;font-size:16px;position:fixed;top:20px;right:20px}.callout{border:1px solid var(--line-strong);background:linear-gradient(160deg, var(--steel-pale-bg), #fff);border-radius:10px;margin-bottom:16px;padding:13px 15px 15px;box-shadow:0 12px 26px -18px #10303f80}.copy-btn{color:#fff;background:linear-gradient(135deg, var(--steel-bright), var(--steel-ink));cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font:600 11px IBM Plex Mono,monospace;display:inline-flex;box-shadow:0 4px 14px -4px #10303f99}.copy-btn:focus-visible{outline:2px solid var(--steel-mid);outline-offset:2px}.testcard{border:1px solid var(--line-strong);background:linear-gradient(155deg, #fff, var(--steel-pale-bg) 130%);border-radius:12px;margin-top:22px;padding:16px 18px;box-shadow:0 14px 30px -22px #10303f80}.testcard h3{margin-top:0}.foot{border-top:1px solid var(--line);background:linear-gradient(#0000,#ffffff80);grid-column:1/-1;justify-content:space-between;align-items:center;padding:14px 26px;display:flex}.foot a{color:var(--steel-ink);background:linear-gradient(155deg, #fdfefe, var(--metal-200) 60%, var(--metal-100));border:1px solid var(--line-strong);white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:7px;padding:8px 14px;font:600 12px IBM Plex Sans,sans-serif;text-decoration:none;display:flex;box-shadow:inset 0 1px #ffffffe6,0 3px 8px -4px #10303f59}.foot a.next{color:#fff;background:linear-gradient(155deg, var(--steel-bright), var(--steel-ink) 75%);border-color:var(--steel-ink);box-shadow:inset 0 1px #ffffff40,0 4px 12px -4px #10303f99}.foot__spacer{flex:1}@media (width<=760px){.app__body{grid-template-columns:1fr}.app__nav{display:none}}.reviewmode__toggle{z-index:100;color:var(--steel-ink);background:linear-gradient(155deg, #fff, var(--metal-200) 60%, var(--metal-100));border:1px solid var(--line-strong);cursor:pointer;border-radius:24px;padding:10px 18px;font:600 13px IBM Plex Sans,sans-serif;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 26px -10px #10303f80}.reviewmode__toggle.is-active{color:#fff;background:linear-gradient(155deg, var(--steel-bright), var(--steel-ink));border-color:var(--steel-ink)}.reviewmode__pin{z-index:99;background:linear-gradient(150deg, var(--steel-bright), var(--steel-ink));color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;width:26px;height:26px;font:700 12px IBM Plex Mono,monospace;position:fixed;transform:translate(-50%,-50%);box-shadow:0 4px 12px -3px #10303f99}.reviewmode__popover{z-index:101;border:1px solid var(--line-strong);background:#fff;border-radius:10px;width:260px;padding:12px;position:fixed;transform:translate(-10px,10px);box-shadow:0 20px 44px -18px #10303f8c}.reviewmode__popover-context{color:var(--ink-dim);margin-bottom:8px;font:italic 500 11px IBM Plex Mono,monospace}.reviewmode__popover textarea{border:1px solid var(--line-strong);width:100%;min-height:70px;color:var(--ink);resize:vertical;border-radius:6px;padding:8px;font:13px IBM Plex Sans,sans-serif}.reviewmode__popover-text{color:var(--ink);margin:0;font-size:13px}.reviewmode__popover-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.reviewmode__popover-actions button{border:1px solid var(--line-strong);color:var(--ink-dim);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px;font:600 12px IBM Plex Sans,sans-serif}.reviewmode__popover-actions button.is-primary{color:#fff;background:var(--steel-ink);border-color:var(--steel-ink)}.article ul:has(.checklist-item){padding-left:0;list-style:none}.checklist-item{align-items:flex-start;gap:9px;padding:3px 0;display:flex}.checklist-item:before{content:"";border:1.5px solid var(--line-strong);background:var(--paper);border-radius:4px;flex-shrink:0;width:15px;height:15px;margin-top:3px}.checklist-item.is-checked:before{background:linear-gradient(155deg, var(--steel-bright), var(--steel-ink) 75%);border-color:var(--steel-ink)}.commentlog{flex-direction:column;gap:8px;margin:14px 0 20px;display:flex}.commentlog__item{background:var(--metal-100);border-radius:9px;align-items:baseline;gap:11px;padding:10px 13px;display:flex}.commentlog__item:first-child{background:var(--steel-pale-bg)}.commentlog__date{font-variant-numeric:tabular-nums;color:var(--steel-bright);border:1px solid var(--line-strong);background:#fff;border-radius:20px;flex-shrink:0;padding:2px 9px;font:600 11.5px IBM Plex Sans,sans-serif}.commentlog__text{color:var(--ink);font:400 13.5px/1.5 IBM Plex Sans,sans-serif}.trainer__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.trainer__steps{letter-spacing:.03em;gap:6px;font:600 11px IBM Plex Mono,monospace;display:flex}.trainer__steps span{border:1px solid var(--line-strong);color:var(--ink-dim);border-radius:20px;padding:5px 11px}.trainer__steps span.is-active{background:linear-gradient(155deg, var(--steel-bright), var(--steel-ink) 75%);color:#fff;border-color:var(--steel-ink)}.trainer__steps span.is-done{color:var(--steel-bright);border-color:var(--steel-pale)}.trainer__layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=760px){.trainer__layout{grid-template-columns:1fr}}.trainer__panel{border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 14px 30px -22px #10303f59}.trainer__brief{padding:18px 18px 20px;position:sticky;top:16px}.trainer__brief-label{text-transform:uppercase;letter-spacing:.06em;color:var(--steel-bright);margin:0 0 10px;font:600 11px IBM Plex Sans,sans-serif}.trainer__quote{background:var(--steel-pale-bg);color:var(--ink);border-radius:10px;padding:14px 15px;font:400 14px/1.6 IBM Plex Sans,sans-serif;position:relative}.trainer__quote:before{content:"“";color:var(--steel-pale);font:700 34px/1 Unbounded,sans-serif;position:absolute;top:2px;left:10px}.trainer__quote p{margin:0 0 0 22px}.trainer__dialogue{flex-direction:column;gap:6px;display:flex}.trainer__dialogue p{background:var(--steel-pale-bg);border-radius:8px;margin:0;padding:8px 10px;font:400 13px/1.55 IBM Plex Sans,sans-serif}.trainer__dialogue p b{color:var(--steel-ink)}.trainer__card{padding:0;overflow:hidden}.trainer__card-top{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--paper), #fff);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.trainer__card-title{font:600 15px IBM Plex Sans,sans-serif}.trainer__crmbar{border-bottom:1px solid var(--line);background:var(--steel-pale-bg);justify-content:space-between;align-items:center;gap:12px;padding:11px 20px;display:flex}.trainer__crmbar span{color:var(--steel-ink);font:400 12.5px IBM Plex Sans,sans-serif}.trainer__crmbar button{color:var(--steel-ink);border:1px solid var(--steel-mid);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;padding:7px 14px;font:600 12px IBM Plex Sans,sans-serif}.trainer__crmbar button:disabled{opacity:.55;cursor:default}.trainer__modalwrap{border-bottom:1px solid var(--line);background:#10303f80;justify-content:center;align-items:center;padding:26px 20px;display:flex}.trainer__modal{background:#fff;border-radius:12px;width:min(420px,100%);padding:20px 22px;box-shadow:0 24px 50px -20px #0000008c}.trainer__modal h3{margin:0 0 14px;font:600 15px IBM Plex Sans,sans-serif}.trainer__modal-field{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.trainer__modal-field span{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-dim);font:600 11px IBM Plex Sans,sans-serif}.trainer__modal-field input{color:var(--ink-dim);background:var(--metal-100);border:1px solid var(--line-strong);box-sizing:border-box;border-radius:8px;width:100%;padding:9px 11px;font:400 13.5px IBM Plex Mono,monospace}.trainer__modal p{color:var(--ink-dim);margin:0 0 18px;font:400 13.5px/1.6 IBM Plex Sans,sans-serif}.trainer__modal-row{justify-content:flex-end;display:flex}.trainer__stagebar{border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.trainer__stagebar button{white-space:nowrap;color:var(--ink-dim);cursor:pointer;background:linear-gradient(155deg,#eef1f2,#ced9dc);border:none;border-right:1px solid #fff;flex:none;padding:10px 14px;font:500 11.5px IBM Plex Sans,sans-serif}.trainer__stagebar button:hover{filter:brightness(.97)}.trainer__stagebar button.is-current{color:#40501b;background:linear-gradient(155deg,#cdd89a,#a9bb62);font-weight:600;position:relative}.trainer__stagebar button.is-current:after{content:"";background:var(--steel-ink);height:2px;position:absolute;bottom:-1px;left:0;right:0}.trainer__fields{grid-template-columns:1fr;gap:14px;padding:18px 20px;display:grid}.trainer__field{flex-direction:column;gap:5px;display:flex}.trainer__field label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-dim);font:600 11px IBM Plex Sans,sans-serif}.trainer__field input,.trainer__field select,.trainer__field textarea{color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;padding:9px 11px;font:400 13.5px IBM Plex Sans,sans-serif}.trainer__field textarea{resize:vertical;box-sizing:border-box;width:100%;min-height:64px;font-family:IBM Plex Sans,sans-serif}.trainer__field input:disabled{color:var(--ink-dim);background:var(--metal-100)}.trainer__tagfield-control{background:var(--paper);border:1px solid var(--line-strong);cursor:pointer;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;padding:5px 10px;display:flex}.trainer__tagfield-control:after{content:"";border-right:2px solid var(--ink-dim);border-bottom:2px solid var(--ink-dim);flex-shrink:0;width:8px;height:8px;margin-left:auto;transform:rotate(45deg)}.trainer__tagfield-placeholder{color:var(--ink-dim);font:400 13.5px IBM Plex Sans,sans-serif}.trainer__tagfield-pill{color:var(--steel-ink);background:var(--steel-pale-bg);border-radius:6px;align-items:center;gap:6px;padding:3px 6px 3px 9px;font:500 12.5px IBM Plex Sans,sans-serif;display:inline-flex}.trainer__tagfield-pill button{color:var(--steel-mid);cursor:pointer;background:0 0;border:none;padding:0;font:700 12px/1 IBM Plex Sans,sans-serif}.trainer__tagfield-panel{border:1px solid var(--line-strong);background:#fff;border-radius:8px;margin-top:6px;padding:6px}.trainer__tagfield-opt{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 7px;font:400 13px IBM Plex Sans,sans-serif;display:flex}.trainer__tagfield-opt:hover{background:var(--metal-100)}.trainer__tagfield-opt input{accent-color:var(--steel-bright)}.trainer__actionbar{border-top:1px solid var(--line);background:linear-gradient(0deg, var(--paper), transparent);justify-content:flex-end;align-items:center;gap:14px;padding:14px 20px;display:flex}.trainer__actionbar .trainer__note{color:var(--ink-dim);margin-right:auto;font:400 12px IBM Plex Sans,sans-serif}.trainer__actionbar button{color:#fff;background:linear-gradient(155deg, var(--steel-bright), var(--steel-ink) 75%);border:1px solid var(--steel-ink);cursor:pointer;border-radius:8px;padding:10px 20px;font:600 13px IBM Plex Sans,sans-serif}.trainer__actionbar button:disabled{opacity:.5;cursor:default}.trainer__locked{grid-template-columns:1fr 1fr;gap:10px 16px;padding:18px 20px 6px;display:grid}.trainer__locked-row{background:var(--metal-100);border-radius:8px;flex-direction:column;gap:3px;padding:9px 11px;display:flex}.trainer__locked-row--full{grid-column:1/-1}.trainer__locked-row .l{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-dim);font:600 10.5px IBM Plex Sans,sans-serif}.trainer__locked-row .v{color:var(--ink);font:400 13.5px IBM Plex Sans,sans-serif}.trainer__locked-row .v.is-empty{color:var(--ink-dim);font-style:italic}.trainer__why-list{flex-direction:column;gap:12px;padding:4px 20px;display:flex}.trainer__why{border:1px solid var(--line);background:var(--steel-pale-bg);border-radius:9px;padding:12px 14px}.trainer__why-q{color:var(--steel-ink);align-items:center;gap:7px;margin:0 0 9px;font:600 12.5px IBM Plex Sans,sans-serif;display:flex}.trainer__why-q .qmark{background:var(--steel-bright);color:#fff;text-align:center;border-radius:50%;flex-shrink:0;width:16px;height:16px;font:700 10px/16px IBM Plex Mono,monospace}.trainer__why-opt{cursor:pointer;border-radius:6px;align-items:flex-start;gap:8px;padding:6px 4px;font:400 12.5px/1.5 IBM Plex Sans,sans-serif;display:flex}.trainer__why-opt:hover{background:#ffffff80}.trainer__why-opt input{accent-color:var(--steel-bright);flex-shrink:0;margin-top:3px}.trainer__result{text-align:center;flex-direction:column;align-items:center;padding:34px 24px 30px;display:flex}.trainer__result-label{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.05em;font:500 12px IBM Plex Sans,sans-serif}.trainer__result-score{letter-spacing:-.01em;border-radius:20px;margin-top:12px;padding:16px 34px;font:700 44px/1 Unbounded,sans-serif}.trainer__result-bar{background:var(--metal-200);border-radius:6px;width:100%;max-width:360px;height:10px;margin:26px 0 6px;position:relative;overflow:hidden}.trainer__result-bar span:first-child{height:100%;display:block}.trainer__result-threshold{background:var(--steel-ink);width:2px;position:absolute;top:-3px;bottom:-3px}.trainer__result-barlabels{width:100%;max-width:360px;color:var(--ink-dim);justify-content:space-between;margin-bottom:24px;font:500 11px IBM Plex Mono,monospace;display:flex}.trainer__result-actions{gap:10px;display:flex}.trainer__result-actions button{cursor:pointer;border-radius:8px;padding:10px 18px;font:600 13px IBM Plex Sans,sans-serif}.trainer__result-actions .is-primary{color:#fff;background:linear-gradient(155deg, var(--steel-bright), var(--steel-ink) 75%);border:1px solid var(--steel-ink)}.trainer__result-actions .is-secondary{color:var(--steel-ink);background:var(--paper);border:1px solid var(--line-strong)}.trainer__loading{text-align:center;color:var(--ink-dim);padding:40px;font:400 14px IBM Plex Sans,sans-serif}.adminresults{grid-column:1/-1}.adminresults h2{margin:0 0 16px}.adminresults__table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.adminresults__table th,.adminresults__table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 12px}.adminresults__table th:last-child,.adminresults__table td:last-child{border-right:none}.adminresults__table tr:last-child td{border-bottom:none}.adminresults__table th{background:linear-gradient(180deg, var(--metal-50), var(--metal-100));letter-spacing:.01em;color:var(--steel-ink);font:600 12px IBM Plex Sans,sans-serif}.adminresults__table td{background:#ffffff8c;font:400 13px IBM Plex Sans,sans-serif}.adminresults__row{cursor:pointer}.adminresults__row:hover td{background:var(--steel-pale-bg)}.adminresults__pct{text-align:center;border-radius:20px;min-width:46px;padding:2px 8px;font:700 12px IBM Plex Mono,monospace;display:inline-block}.adminresults__pct.is-good{color:#2c7a2c;background:#46b0462e}.adminresults__pct.is-mid{color:#8a5a10;background:#e0962833}.adminresults__pct.is-bad{color:#b4362a;background:#e0463729}.adminresults__detail td{background:var(--metal-50);padding:14px 18px}.adminresults__detail ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.adminresults__detail li{border-left:3px solid var(--line-strong);color:var(--ink);padding:2px 0 2px 12px;font-size:13px}.adminresults__detail li.is-ok{border-left-color:#46b046}.adminresults__detail li.is-fail{border-left-color:#e04637}.adminresults__detail li b{margin-bottom:2px;display:block}.adminresults__detail li div{color:var(--ink-dim)}.adminresults__note{font-style:italic}
