.gd-landing{max-width:1120px;margin:0 auto;padding:128px 32px 96px}.gd-landing-head{max-width:720px;margin-bottom:56px}.gd-eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-amber);margin-bottom:16px;font-size:12px;display:inline-block}.gd-landing-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--color-ink);margin:0 0 20px;font-size:clamp(40px,6vw,68px);font-weight:400;line-height:1}.gd-landing-sub{color:var(--color-ink3);margin:0;font-size:19px;line-height:1.6}.gd-cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.gd-card{border:1px solid var(--border-color);background:var(--color-bg1);color:var(--color-ink);border-radius:14px;flex-direction:column;gap:14px;padding:30px 28px 26px;text-decoration:none;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.gd-card:before{content:"";background:var(--gd-ac,var(--color-amber));height:3px;position:absolute;top:0;left:0;right:0}.gd-card:hover{box-shadow:var(--card-shadow,0 12px 30px #00000014);border-color:var(--gd-ac,var(--color-amber));transform:translateY(-2px)}.gd-card-logo{object-fit:contain;width:40px;height:40px;margin-bottom:16px;display:block}.gd-card-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.gd-card-name{font-family:var(--font-serif);color:var(--color-ink);font-size:28px;line-height:1.1}.gd-card-count{font-family:var(--font-mono);letter-spacing:.06em;color:var(--gd-ac,var(--color-amber));white-space:nowrap;font-size:12px}.gd-card-tagline{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink4);margin:0;font-size:12px}.gd-card-blurb{color:var(--color-ink3);margin:0;font-size:15px;line-height:1.6}.gd-card-cats{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.gd-card-cat{background:var(--color-bg2);color:var(--color-ink3);border:1px solid var(--border-color);border-radius:999px;padding:4px 9px;font-size:12px}.gd-landing-compare{flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;display:flex}.gd-landing-compare-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink4);font-size:12px;text-decoration:none}.gd-landing-compare-label:hover{color:var(--color-ink)}.gd-landing-compare-link{border:1px solid var(--color-amber);color:var(--color-amber);border-radius:999px;padding:7px 14px;font-size:14px;text-decoration:none;transition:background .15s,color .15s}.gd-landing-compare-link:hover{background:var(--color-amber);color:#fff}#gd-compare-title{scroll-margin-top:120px}.gd-compare{margin-top:72px}.gd-compare-head{max-width:720px;margin-bottom:24px}.gd-compare-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--color-ink);margin:0 0 12px;font-size:clamp(28px,4vw,40px);font-weight:400;line-height:1.1}.gd-compare-sub{color:var(--color-ink3);margin:0;font-size:16px;line-height:1.6}.gd-compare-list{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.gd-compare-card{border:1px solid var(--border-color);background:var(--color-bg1);border-radius:14px;flex-direction:column;gap:10px;padding:24px 26px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.gd-compare-card:hover{box-shadow:var(--card-shadow,0 12px 30px #00000014);border-color:var(--color-amber);transform:translateY(-2px)}.gd-compare-pair{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink4);font-size:12px}.gd-compare-name{font-family:var(--font-serif);color:var(--color-ink);font-size:24px;line-height:1.15}.gd-compare-blurb{color:var(--color-ink3);font-size:15px;line-height:1.6}.gd-compare-mins{color:var(--color-ink4)}.gd-compare-card .gd-card-cta{color:var(--color-amber)}.gd-card-cta{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gd-ac,var(--color-amber));margin-top:auto;padding-top:8px;font-size:12px}.gd-shell{grid-template-columns:256px minmax(0,1fr);align-items:start;gap:56px;max-width:1200px;margin:0 auto;padding:96px 32px 88px;display:grid}.gd-aside{align-self:start;position:sticky;top:72px}.gd-shell--wide,.gd-shell--wide .gd-main{max-width:none}.gd-shell--wide .gd-toc-grid{grid-template-columns:repeat(3,1fr)}@media (max-width:1100px){.gd-shell--wide .gd-toc-grid{grid-template-columns:repeat(2,1fr)}}.gd-nav-toggle{display:none}.gd-nav-switch{flex-wrap:wrap;gap:6px;margin-bottom:28px;display:flex}.gd-nav-switch-item{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border-color);color:var(--color-ink3);border-radius:999px;padding:7px 12px;font-size:12px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.gd-nav-switch-item:hover{color:var(--color-ink)}.gd-nav-switch-item.is-active{background:var(--color-amber);border-color:var(--color-amber);color:#fff}.gd-nav-overview{width:100%;color:var(--color-ink3);border-radius:7px;align-items:center;gap:9px;margin-bottom:22px;padding:8px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.gd-nav-overview:hover{background:var(--color-bg2);color:var(--color-ink)}.gd-nav-overview.is-active{background:var(--color-amber);color:#fff}.gd-nav-overview-num{font-family:var(--font-mono);opacity:.7;font-size:11px}.gd-nav-cat{margin-bottom:24px}.gd-nav-cat-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink4);margin-bottom:10px;font-size:11px}.gd-nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.gd-nav-link{color:var(--color-ink3);border-left:2px solid #0000;border-radius:0 6px 6px 0;padding:6px 12px;font-size:14px;line-height:1.35;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:block}.gd-nav-link:hover{color:var(--color-ink);background:var(--color-bg2)}.gd-nav-link.is-active{color:var(--color-amber);border-left-color:var(--color-amber);background:var(--amberdim,#2f6bff12);font-weight:600}.gd-main{min-width:0;max-width:760px}.gd-crumb{font-family:var(--font-mono);color:var(--color-ink4);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;font-size:12px;display:flex}.gd-crumb a{color:var(--color-ink3);text-decoration:none}.gd-crumb a:hover{color:var(--color-amber)}.gd-crumb-sep{opacity:.5}.gd-head{border-bottom:1px solid var(--border-color);margin-bottom:36px;padding-bottom:28px}.gd-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--color-ink);margin:0 0 16px;font-size:clamp(32px,4.4vw,48px);font-weight:400;line-height:1.05}.gd-meta{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.gd-meta-item{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink3);border:1px solid var(--border-color);border-radius:999px;padding:5px 10px;font-size:11px}.gd-intro{color:var(--color-ink2);margin:0;font-size:19px;line-height:1.6}.gd-eyebrow-blue{color:var(--color-amber);margin-bottom:14px}.gd-reqs{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.gd-req{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-ink3);border:1px solid var(--border-color);background:var(--color-bg2);border-radius:999px;padding:6px 12px;font-size:12px}.gd-toc-cat{margin-bottom:40px}.gd-toc-head{margin-bottom:18px}.gd-toc-label{font-family:var(--font-serif);color:var(--color-ink);margin:0 0 6px;font-size:24px;font-weight:400;line-height:1.2}.gd-toc-blurb{color:var(--color-ink3);margin:0;font-size:15px;line-height:1.55}.gd-toc-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.gd-toc-card{border:1px solid var(--border-color);background:var(--color-bg1);border-radius:12px;flex-direction:column;gap:7px;padding:18px 20px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.gd-toc-card:hover{border-color:var(--color-amber);transform:translateY(-1px);box-shadow:0 8px 22px #0000000f}.gd-toc-num{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-amber);font-size:11px}.gd-toc-title{color:var(--color-ink);font-size:17px;font-weight:600;line-height:1.25}.gd-toc-desc{color:var(--color-ink3);font-size:14px;line-height:1.55}.gd-toc-meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-ink4);margin-top:2px;font-size:11px}.gd-callout{color:var(--color-ink2);background:var(--color-bg2);border:1px solid var(--border-color);border-radius:10px;margin-bottom:24px;padding:16px 18px 16px 20px;font-size:15px;line-height:1.6;position:relative}.gd-callout-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink4);margin-bottom:6px;font-size:10px;display:block}.gd-callout-prereq{border-left:3px solid var(--color-amber)}.gd-callout-admin{border-left:3px solid #b5761f}.gd-videos{max-width:640px;margin:0 0 34px}.gd-videos--multi{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:900px;display:grid}.gd-video{margin:0}.gd-playlist{border:1px solid var(--color-amber);color:var(--color-amber);border-radius:999px;align-items:center;gap:8px;margin-top:20px;padding:8px 14px;font-size:14px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.gd-playlist:hover{background:var(--color-amber);color:#fff}.gd-playlist:focus-visible{outline:2px solid var(--color-amber);outline-offset:2px}.gd-playlist--compact{border:0;border-radius:0;grid-column:1/-1;justify-self:start;margin-top:0;padding:0;font-size:13px}.gd-videos:not(.gd-videos--multi) .gd-playlist--compact{margin-top:12px}.gd-playlist--compact:hover{color:var(--color-amber2);background:0 0;text-decoration:underline}.gd-video-frame{aspect-ratio:16/9;border:1px solid var(--border-color);background:#0d0d0d;border-radius:12px;position:relative;overflow:hidden}.gd-video-poster{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.gd-video-poster img{object-fit:cover;width:100%;height:100%;transition:opacity .2s;display:block}.gd-video-poster:hover img{opacity:.85}.gd-video-play{color:#fff;background:var(--color-amber);border-radius:50%;place-items:center;width:56px;height:56px;padding-left:3px;transition:transform .15s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0000004d}.gd-video-poster:hover .gd-video-play{transform:translate(-50%,-50%)scale(1.06)}.gd-video-poster:focus-visible{outline:2px solid var(--color-amber);outline-offset:3px}.gd-video-cap{color:var(--color-ink3);margin-top:10px;font-size:14px}@media (max-width:640px){.gd-video-play{width:54px;height:54px}}.gd-lightbox{z-index:9000;-webkit-backdrop-filter:blur(12px);background:#08080899;place-items:center;padding:24px;animation:.2s ease-out gd-lb-fade;display:grid;position:fixed;inset:0}.gd-lightbox-player{aspect-ratio:16/9;background:#000;border-radius:14px;width:min(1100px,100%,177.778vh - 213.333px);animation:.25s cubic-bezier(.2,.9,.3,1.1) gd-lb-pop;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000080}.gd-lightbox-player iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.gd-lightbox-close{color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:42px;height:42px;font-size:16px;transition:background .15s;display:grid;position:absolute;top:18px;right:18px}.gd-lightbox-close:hover,.gd-lightbox-close:focus-visible{background:#ffffff38;outline:none}:is(body:has(.gd-lightbox iframe:hover) #dot,body:has(.gd-lightbox iframe:hover) #ring){opacity:0}@keyframes gd-lb-fade{0%{opacity:0}}@keyframes gd-lb-pop{0%{opacity:0;transform:scale(.94)}}@media (max-width:640px){.gd-lightbox{padding:12px}.gd-lightbox-close{top:12px;right:12px}}@media (prefers-reduced-motion:reduce){.gd-lightbox,.gd-lightbox-player{animation:none}}.gd-sec{margin-bottom:34px}.gd-sec-h{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--color-ink);margin:0 0 14px;font-size:26px;font-weight:400;line-height:1.2}.gd-p{color:var(--color-ink2);margin:0 0 14px;font-size:16px;line-height:1.7}.gd-ul,.gd-ol{flex-direction:column;gap:9px;margin:0 0 16px;padding-left:0;list-style:none;display:flex}.gd-ul li,.gd-ol li{color:var(--color-ink2);padding-left:26px;font-size:16px;line-height:1.6;position:relative}.gd-ul li:before{content:"";background:var(--color-amber);border-radius:50%;width:6px;height:6px;position:absolute;top:11px;left:6px}.gd-ol{counter-reset:gd}.gd-ol li{counter-increment:gd}.gd-ol li:before{content:counter(gd);background:var(--color-amber);color:#fff;width:20px;height:20px;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:11px;display:grid;position:absolute;top:1px;left:0}.gd-defs{border:0;border-left:2px solid var(--border-color);border-radius:0;flex-direction:column;gap:22px;margin:4px 0 20px;padding:2px 0 2px 22px;display:flex;overflow:visible}.gd-def{border-top:0;padding:0;display:block}.gd-def:first-child{border-top:0}.gd-def dt{font-family:var(--font-sans);letter-spacing:0;color:var(--color-ink);margin-bottom:5px;font-size:16px;font-weight:600}.gd-def dd{color:var(--color-ink3);margin:0;font-size:15px;line-height:1.6}.gd-cmd{background:#0f1523;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:12px 12px 12px 16px;display:flex}.gd-cmd-text{font-family:var(--font-mono);color:#d7e2f2;white-space:pre;font-size:13.5px;overflow-x:auto}.gd-cmd-copy{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#0f1523;cursor:pointer;background:#cdd8ea;border:0;border-radius:6px;flex:none;padding:7px 12px;font-size:11px;transition:background .15s}.gd-cmd-copy:hover{background:#fff}.gd-code{color:#d7e2f2;background:#0f1523;border-radius:10px;margin:0 0 18px;padding:18px 20px;overflow-x:auto}.gd-code code{font-family:var(--font-mono);white-space:pre;font-size:13px;line-height:1.6}.gd-table-wrap{border:1px solid var(--border-color);border-radius:10px;margin:0 0 20px;overflow-x:auto}.gd-table{border-collapse:collapse;width:100%;font-size:14.5px}.gd-table th,.gd-table td{text-align:left;border-bottom:1px solid var(--border-color);vertical-align:top;padding:11px 16px;line-height:1.5}.gd-table th{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink4);background:var(--color-bg2);font-size:12px}.gd-table td{color:var(--color-ink2)}.gd-table tr:last-child td{border-bottom:0}.gd-highlight{color:var(--color-amber);margin:0 0 18px;font-size:16px;font-weight:600;line-height:1.7}.gd-warn{color:#6b4d18;background:#fdf4e3;border:1px solid #f0d9a8;border-radius:10px;margin:0 0 18px;padding:14px 18px;font-size:15px;line-height:1.6}.gd-quote{border-left:3px solid var(--color-amber);color:var(--color-ink2);margin:0 0 18px;padding:4px 0 4px 18px;font-size:17px;font-style:italic;line-height:1.6}.gd-caption{color:var(--color-ink4);margin:-6px 0 18px;font-size:13px;font-style:italic}.gd-figure{max-width:980px;margin:0 0 22px}.gd-figure img{border:1px solid var(--border-color);background:var(--color-bg2);border-radius:12px;width:100%;height:auto;display:block}.gd-figure figcaption{color:var(--color-ink4);margin-top:10px;font-size:13px;line-height:1.5}.gd-pager{border-top:1px solid var(--border-color);grid-template-columns:1fr 1fr;gap:16px;margin-top:48px;padding-top:28px;display:grid}.gd-pager-link{border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:6px;padding:16px 18px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.gd-pager-link:hover{border-color:var(--color-amber);background:var(--color-bg2)}.gd-pager-next{text-align:right}.gd-pager-dir{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-amber);font-size:11px}.gd-pager-title{color:var(--color-ink);font-size:15px}@media (max-width:900px){.gd-cards,.gd-compare-list{grid-template-columns:1fr}.gd-shell{grid-template-columns:1fr;gap:24px;padding-top:84px}.gd-aside{position:static}.gd-nav-toggle{width:100%;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border-color);background:var(--color-bg1);color:var(--color-ink);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.gd-nav-body{padding-top:18px;display:none}.gd-nav.is-open .gd-nav-body{display:block}.gd-def{grid-template-columns:1fr;gap:4px}.gd-toc-grid,.gd-shell--wide .gd-toc-grid,.gd-pager{grid-template-columns:1fr}.gd-pager-next{text-align:left}}
.cmpx{--cx-ink:var(--color-ink);--cx-body:#2a3140;--cx-muted:#4a5263;--cx-faint:#7a8394;--cx-line:#e3e7ef;--cx-line2:#d9dee8;--cx-row:#f0f2f6;--cx-bg:var(--color-bg);--cx-surface:#fff;--cx-chip:#eef1f7;--cx-blue:#2f5bff;--cx-blue-hover:#1a3fd6;--cx-orange:#c2581b;--cx-orange-ink:#a4470f;--cx-tint-a:#f4f7ff;--cx-tint-b:#fdf5f0;--cx-ok:#137a45;--cx-ok-bg:#e7f6ee;--cx-off-bg:#fbece3;--cx-navy:#0b1430;--cx-dark:#141a26;--cx-check:#d3d8e2;--cx-mono:var(--font-mono);--cx-sans:var(--font-sans);--cx-serif:var(--font-serif);--cz:var(--cx-blue);--cz-ink:var(--cx-blue-hover);--cz-soft:var(--cx-tint-a);--rv:var(--cx-orange);--rv-ink:var(--cx-orange-ink);--rv-soft:var(--cx-tint-b);--gf:var(--rv);--gf-ink:var(--rv-ink);--gf-soft:var(--rv-soft);--both:#8a5a00;--both-soft:#fbf0dc;--surface-2:var(--cx-chip);--cmpx-nav:calc(var(--announce-h) + 48px);padding-top:var(--cmpx-nav);background:var(--cx-bg);font-family:var(--cx-sans);color:var(--cx-ink)}[data-theme=dark] .cmpx{--cx-body:var(--color-ink3);--cx-muted:var(--color-ink4);--cx-faint:#8a93a6;--cx-line:#ffffff1a;--cx-line2:#ffffff29;--cx-row:#ffffff12;--cx-surface:var(--color-bg1);--cx-chip:#ffffff14;--cx-blue:#6f8dff;--cx-blue-hover:#9db2ff;--cx-orange:#e8834a;--cx-orange-ink:#f0a273;--cx-tint-a:#6f8dff1a;--cx-tint-b:#e8834a1a;--cx-ok:#5fd39a;--cx-ok-bg:#5fd39a1f;--cx-off-bg:#e8834a24;--cx-check:#ffffff40;--both:#e0b266;--both-soft:#241c0d}.cmpx a{color:var(--cx-blue);text-decoration:none}.cmpx a:hover{color:var(--cx-blue-hover)}.cmpx code{font-family:var(--cx-mono);background:var(--cx-chip);padding:1px 5px;font-size:.88em}.cmpx strong{color:var(--cx-ink);font-weight:600}.cx-label{font-family:var(--cx-mono);letter-spacing:.14em;color:var(--cx-faint);text-transform:uppercase;font-size:11px}.cmpx .cx-label--link{color:var(--cx-blue)}.cx-progress{background:var(--cx-line);height:3px;top:var(--cmpx-nav);z-index:20;position:sticky}.cx-progress span{background:var(--cx-blue);width:0;height:3px;display:block}.cx-layout{grid-template-columns:200px minmax(0,1fr) 280px;gap:56px;max-width:1440px;margin:0 auto;padding:48px 40px 64px;display:grid}.cx-toc,.cx-rail{top:calc(var(--cmpx-nav) + 34px);flex-direction:column;align-self:start;display:flex;position:sticky}.cx-toc{gap:28px}.cx-rail{gap:24px}.cx-toc__list{border-left:1px solid var(--cx-line2);flex-direction:column;gap:10px;margin-top:12px;font-size:14px;line-height:1.4;display:flex}.cmpx .cx-toc__list a{color:var(--cx-muted);border-left:2px solid #0000;margin-left:-1px;padding-left:14px}.cmpx .cx-toc__list a.active{border-left-color:var(--cx-blue);color:var(--cx-ink);font-weight:500}.cx-checked{margin-top:6px;font-size:14px}.cx-checked__sub{color:var(--cx-faint);margin-top:4px;font-size:12px;line-height:1.5}.cx-share{gap:8px;margin-top:10px;display:flex}.cmpx .cx-share a{font-family:var(--cx-mono);border:1px solid var(--cx-line2);background:var(--cx-surface);color:var(--cx-ink);padding:6px 10px;font-size:12px}.cx-article{flex-direction:column;gap:28px;min-width:0;display:flex}.cx-crumbs{font-family:var(--cx-mono);letter-spacing:.14em;flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.cx-crumbs span{color:#b4bac6}.cx-crumbs b{color:var(--cx-muted);font-weight:400}.cx-article h1{font-family:var(--cx-serif);letter-spacing:-.01em;color:var(--cx-ink);text-wrap:balance;margin:-8px 0 0;font-size:46px;font-weight:400;line-height:1.12}.cx-lede{color:var(--cx-muted);text-wrap:pretty;margin:0;font-size:19px;line-height:1.6}.cx-products{background:var(--cx-line2);border:1px solid var(--cx-line2);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;display:grid}.cx-product{background:var(--cx-surface);border-top:3px solid var(--cx-blue);flex-direction:column;gap:6px;padding:20px 24px;display:flex}.cx-product--b{border-top-color:var(--cx-orange)}.cx-product__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cx-product__name{font-family:var(--cx-serif);font-size:24px}.cx-product__meta{color:var(--cx-muted);font-size:14px}.cx-status{font-family:var(--cx-mono);letter-spacing:.1em;background:var(--cx-ok-bg);color:var(--cx-ok);padding:4px 8px;font-size:11px}.cx-status--off{background:var(--cx-off-bg);color:var(--cx-orange-ink)}.cx-verdict{background:var(--cx-surface);border:1px solid var(--cx-line)}.cmpx .cx-verdict{gap:0;padding-top:0}.cx-verdict__title{font-family:var(--cx-mono);letter-spacing:.14em;color:var(--cx-blue);padding:18px 24px 6px;font-size:12px;font-weight:600}.cx-verdict__row{border-top:1px solid var(--cx-row);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px 20px;padding:16px 24px;display:grid}.cx-verdict__row .cx-label{padding-top:3px}.cx-verdict__row p{color:var(--cx-body);grid-column:span 2;margin:0;font-size:16px;line-height:1.6}.cx-sec{scroll-margin-top:calc(var(--cmpx-nav) + 90px);flex-direction:column;gap:14px;padding-top:12px;display:flex}.cx-sec__head{align-items:baseline;gap:14px;display:flex}.cx-sec__head span{font-family:var(--cx-mono);color:var(--cx-blue);font-size:14px}.cx-article h2{font-family:var(--cx-serif);color:var(--cx-ink);margin:0;font-size:30px;font-weight:400;line-height:1.2}.cx-sec>p{color:var(--cx-body);text-wrap:pretty;margin:0;font-size:18px;line-height:1.7}.cx-sec figure{color:var(--cx-ink);flex-direction:column;gap:8px;margin:0;display:flex}.cx-sec .figbox{background:var(--cx-surface);border:1px solid var(--cx-line2);padding:18px clamp(10px,2vw,22px) 14px;overflow-x:auto}.cx-sec figure svg{width:100%;min-width:600px;max-width:880px;height:auto;margin:0 auto;display:block}.cx-sec figure svg text{font-family:var(--cx-mono)}.cx-sec figcaption{color:var(--cx-faint);font-size:13px;line-height:1.5}.cx-sec figcaption b{color:var(--cx-muted);font-weight:600}.cx-key{background:var(--cx-surface);border:1px solid var(--cx-line);top:calc(var(--cmpx-nav) + 3px);z-index:5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky}.cx-key__items{color:var(--cx-muted);flex-wrap:wrap;gap:18px;font-size:13px;display:flex}.cx-key__items span{align-items:center;gap:6px;display:flex}.cx-m{flex:none;width:10px;height:10px;display:inline-block}.cx-m--a{background:var(--cx-blue)}.cx-m--b{background:var(--cx-orange)}.cx-m--mix{border:1px solid var(--cx-faint);background:repeating-linear-gradient(135deg, var(--cx-faint) 0 2px, var(--cx-surface) 2px 4px)}.cx-m--na{border:1px solid #b4bac6}.cx-ctable{background:var(--cx-surface);border:1px solid var(--cx-line2)}.cx-r{border-bottom:1px solid var(--cx-row);grid-template-columns:minmax(110px,160px) minmax(0,1fr) minmax(0,1fr);font-size:15px;line-height:1.55;display:grid}.cx-r:last-child{border-bottom:0}.cx-r>*{color:var(--cx-body);padding:14px 18px}.cx-r>*+*{border-left:1px solid var(--cx-row)}.cx-r>:first-child{color:var(--cx-ink);align-items:flex-start;gap:10px;font-weight:500;display:flex}.cx-r>:first-child:before{content:"";border:1px solid #b4bac6;flex:none;width:10px;height:10px;margin-top:6px}.cx-r.cx-win-a>:first-child:before{background:var(--cx-blue);border-color:var(--cx-blue)}.cx-r.cx-win-b>:first-child:before{background:var(--cx-orange);border-color:var(--cx-orange)}.cx-r.cx-mix>:first-child:before{border-color:var(--cx-faint);background:repeating-linear-gradient(135deg, var(--cx-faint) 0 2px, var(--cx-surface) 2px 4px)}.cx-r.cx-win-a>:nth-child(2){background:var(--cx-tint-a)}.cx-r.cx-win-b>:nth-child(3){background:var(--cx-tint-b)}.cx-r .win{color:var(--cx-ink);font-weight:500}.cx-r .none{color:var(--cx-faint)}.cx-r.cx-th{background:var(--cx-bg);border-bottom-color:var(--cx-line2);font-family:var(--cx-mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.cx-r.cx-th>*{color:var(--cx-muted);padding:12px 18px}.cx-r.cx-th>:first-child:before{display:none}.cx-r.cx-th>:nth-child(2){color:var(--cx-blue)}.cx-r.cx-th>:nth-child(3){color:var(--cx-orange-ink)}.cx-about{border-top:1px solid var(--cx-line2);flex-direction:column;gap:8px;padding-top:20px;display:flex}.cmpx .cx-about{gap:8px;padding-top:20px}.cx-about p{color:var(--cx-muted);margin:0;font-size:14px;line-height:1.65}.cx-card{background:var(--cx-surface);border:1px solid var(--cx-line);flex-direction:column;gap:16px;padding:20px;display:flex}.cx-who{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cx-who div{border-top:3px solid var(--cx-blue);background:var(--cx-tint-a);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.cx-who div+div{border-top-color:var(--cx-orange);background:var(--cx-tint-b)}.cx-who b{font-size:14px;font-weight:500}.cx-who small{font-family:var(--cx-mono);letter-spacing:.1em;color:var(--cx-ok);font-size:10px}.cx-who div+div small{color:var(--cx-orange-ink)}.cx-grid-head,.cx-grid-row{grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;display:grid}.cx-grid-head{font-family:var(--cx-mono);letter-spacing:.1em;border-bottom:1px solid var(--cx-line);padding-bottom:8px;font-size:10px}.cx-grid-head span{text-align:center}.cx-grid-head span:first-child{text-align:left;color:var(--cx-faint)}.cx-grid-head span:nth-child(2){color:var(--cx-blue)}.cx-grid-head span:nth-child(3){color:var(--cx-orange-ink)}.cmpx .cx-grid-row{border-bottom:1px solid var(--cx-row);color:var(--cx-ink);padding:7px 0;font-size:13px}.cmpx .cx-grid-row:hover{background:var(--cx-bg);color:var(--cx-ink)}.cx-grid-row i{border:1.5px solid var(--cx-check);justify-self:center;width:14px;height:14px}.cx-grid-row i:first-of-type{--c:var(--cx-blue)}.cx-grid-row i:nth-of-type(2){--c:var(--cx-orange)}.cx-grid-row i.y{background:var(--c);border-color:var(--c)}.cx-grid-row i.p{border-color:var(--c);background:linear-gradient(135deg, var(--c) 50%, transparent 50%)}.cx-grid-legend{color:var(--cx-faint);flex-wrap:wrap;gap:6px 14px;padding-top:12px;font-size:11px;display:flex}.cx-grid-legend span{align-items:center;gap:6px;display:flex}.cx-grid-legend i{border:1.5px solid var(--cx-check);width:12px;height:12px}.cx-grid-legend i.y{background:var(--cx-muted);border-color:var(--cx-muted)}.cx-grid-legend i.p{border-color:var(--cx-muted);background:linear-gradient(135deg, var(--cx-muted) 50%, transparent 50%)}.cx-cta{background:var(--cx-navy);color:#fff;flex-direction:column;gap:14px;padding:24px;display:flex}.cx-cta .cx-label{color:#8ea3d9}.cx-cta__title{font-family:var(--cx-serif);font-size:22px;line-height:1.25}.cmpx .cx-btn{text-align:center;color:#fff;font-family:var(--cx-mono);letter-spacing:.12em;background:#2f5bff;padding:12px 20px;font-size:12px;display:block}.cmpx .cx-btn:hover{color:#fff;background:#1a3fd6}.cmpx .cx-cta__alt{font-family:var(--cx-mono);letter-spacing:.12em;color:#c3cde8;text-align:center;font-size:11px}.cmpx .cx-cta__alt:hover{color:#fff}.cx-others{background:var(--cx-surface);border-top:1px solid var(--cx-line)}.cx-wrap{flex-direction:column;gap:24px;max-width:1440px;margin:0 auto;padding:48px 40px 56px;display:flex}.cx-others__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.cx-others__head h2{font-family:var(--cx-serif);color:var(--cx-ink);margin:0;font-size:28px;font-weight:400}.cx-others__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.cmpx .cx-ocard{border:1px solid var(--cx-line);background:var(--cx-bg);color:var(--cx-ink);flex-direction:column;gap:14px;padding:20px;display:flex}.cmpx .cx-ocard:hover{border-color:var(--cx-blue);background:var(--cx-surface);color:var(--cx-ink)}.cx-ocard__names{font-family:var(--cx-serif);flex-direction:column;gap:2px;font-size:21px;line-height:1.25;display:flex}.cx-ocard__names small{font-family:var(--cx-mono);color:var(--cx-faint);letter-spacing:.12em;font-size:11px}.cx-ocard__go{font-family:var(--cx-mono);letter-spacing:.12em;color:var(--cx-muted);margin-top:auto;font-size:11px}@media (max-width:1240px){.cx-layout{grid-template-columns:minmax(0,1fr) 280px;gap:40px}.cx-toc{display:none}}@media (max-width:1000px){.cx-layout{grid-template-columns:minmax(0,1fr)}.cx-rail{position:static}}@media (max-width:700px){.cx-layout,.cx-wrap{padding-left:20px;padding-right:20px}.cx-article h1{font-size:34px}.cx-key{position:static}.cx-r{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cx-r>:first-child{border-bottom:1px solid var(--cx-row);grid-column:1/-1}.cx-r>:nth-child(2){border-left:0}.cx-sec figure svg{min-width:560px}}@media print{.cx-progress,.cx-toc,.cx-rail,.cx-others{display:none}.cx-layout{display:block}.cx-key{position:static}}
.learn-shell{max-width:760px;margin:0 auto;padding:128px 32px 96px}.learn-main{max-width:none}.learn-faq{border-top:1px solid var(--border-color);padding-top:28px}.learn-faq-item{margin-bottom:22px}.learn-faq-q{color:var(--color-ink);margin:0 0 6px;font-size:17px;font-weight:600;line-height:1.4}.learn-faq .gd-p a{color:var(--color-amber);text-underline-offset:3px;text-decoration:underline}.learn-cta{border:1px solid var(--border-color);border-top:3px solid var(--color-amber);background:var(--color-bg1);border-radius:14px;margin-top:48px;padding:28px 28px 26px}.learn-cta-heading{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--color-ink);margin:0 0 18px;font-size:26px;line-height:1.2}.learn-cta-btn{background:var(--color-amber);color:#fff;border-radius:8px;padding:12px 20px;font-size:15px;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-block}.learn-cta-btn:hover{opacity:.88}.learn-cta-note{color:var(--color-ink3);margin:12px 0 0;font-size:14px}@media (max-width:640px){.learn-shell{padding:104px 20px 72px}}.learn-main .gd-intro{font-size:20px}.learn-main .gd-sec-h{font-size:28px}.learn-main .gd-p,.learn-main .gd-highlight,.learn-main .gd-ul li,.learn-main .gd-ol li{font-size:18px;line-height:1.7}.learn-main .gd-ul li:before{top:12px}.learn-main .gd-ol li:before{top:5px}.learn-main .gd-def dt{font-size:18px}.learn-main .gd-def dd,.learn-main .gd-callout,.learn-main .gd-warn{font-size:17px}.learn-main .gd-quote{font-size:20px}.learn-main .gd-table{font-size:16px}.learn-main .gd-code code,.learn-main .gd-cmd-text,.learn-main .gd-caption,.learn-main .gd-figure figcaption{font-size:14px}.learn-main .learn-faq-q{font-size:19px}.learn-main .learn-cta-note{font-size:15px}@media (max-width:860px){.learn-main .gd-p,.learn-main .gd-highlight,.learn-main .gd-ul li,.learn-main .gd-ol li{font-size:17px}.learn-main .gd-intro{font-size:18px}.learn-main .gd-sec-h{font-size:24px}}
