body:has(.o),body:has(.ochrome){background:#0B0C10}html:has(.promo-banner){--promo-h:48px}.o,.ochrome{--accent:#3B6DF0;--link:#8AB4FF;--bg:#0B0C10;--bg2:#0B0C10;--card:#141519;--card2:#1A1B20;--raised:#1C1D23;--active:#23252B;--border:#262830;--rule:#1F2127;--control:#3A3D47;--txt:#E6E7EB;--head:#F4F5F7;--body:#C9CCD3;--dim:#A7ABB6;--muted:#8E93A0;--faint:#7C8190;--hover:#FFFFFF;--on-bg:#F4F5F7;--on-txt:#0B0C10;--ok:#3FC07A;--ok-bg:#172A1D;--ok-txt:#3FC07A;--err:#E5566F;--warn:#E5A93B;--lime:var(--ok);--cyan:var(--link);--violet:var(--accent);--magenta:var(--accent);--amber:var(--accent);--hair:var(--border);--stroke:var(--border);--hairhi:var(--control);--field:var(--card);--wash:var(--raised);--wash2:var(--active);--glass:var(--bg);--glass2:var(--bg);--menu:var(--card);--shadow:rgba(0,0,0,0.4);--radius:10px;--radius-sm:6px;--control-h:36px;--ease:cubic-bezier(.22,1,.36,1);--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:relative;min-height:100vh;background:var(--bg);color:var(--txt);font-family:var(--font-sans),system-ui,sans-serif;font-size:14px;line-height:1.45;overflow-x:hidden;-webkit-font-smoothing:antialiased;isolation:isolate}.o *{margin:0;padding:0;box-sizing:border-box}:where(.o,.ochrome) a{color:inherit;text-decoration:none}.o ::-moz-selection,.ochrome ::-moz-selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}.o ::selection,.ochrome ::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}.ochrome :is(input,textarea,select):not([class*=bg-]):not([type=checkbox]):not([type=radio]):not([type=range]){background-color:var(--card);color:var(--head)}.ochrome :is(input,textarea,select):not([class*=bg-])::-moz-placeholder{color:var(--muted)}.ochrome :is(input,textarea,select):not([class*=bg-])::placeholder{color:var(--muted)}.ochrome .blur-2xl:is([class*=bg-white]),.ochrome .blur-3xl:is([class*=bg-white]){opacity:.06}.ochrome .resume-paper{background:#fff;color:#111827;color-scheme:light;border-radius:6px;overflow:hidden}.ochrome .resume-paper ::-moz-selection{background:rgba(59,109,240,.25)}.ochrome .resume-paper ::selection{background:rgba(59,109,240,.25)}@keyframes ospin{to{transform:rotate(1turn)}}@keyframes opulse{50%{opacity:.35}}.onav{position:fixed;top:max(0px,calc(var(--promo-h,0px) - var(--scroll-y,0px)));left:0;right:0;z-index:800;height:56px;display:flex;align-items:center;gap:16px;padding-inline:max(16px,calc((100vw - 1240px) / 2));background:var(--bg);border-bottom:1px solid var(--border);transition:transform .2s var(--ease)}.onav.retracted{transform:translateY(-100%);pointer-events:none}@media(prefers-reduced-motion:reduce){.onav{transition:none}}.onav .brand{display:flex;align-items:center;gap:8px;flex:none;margin-right:8px}.onav .brandmark{flex:none;display:block}.onav .brandname{font-weight:700;font-size:16px;letter-spacing:-.02em;color:var(--head);white-space:nowrap}.onav .navlinks{display:flex;align-items:center;gap:2px;font-size:14px;color:var(--muted);white-space:nowrap}.onav .navlinks a{display:inline-flex;align-items:center;height:32px;padding:0 10px;border-radius:var(--radius-sm);transition:background .15s var(--ease),color .15s}.onav .navlinks a:hover{color:var(--head);background:var(--raised)}.onav .navlinks a[aria-current=page]{color:var(--head);background:var(--active)}.onav .navdrop{position:relative}.onav .navdropbtn{display:inline-flex;align-items:center;gap:5px;cursor:pointer;height:32px;padding:0 10px;border-radius:var(--radius-sm);background:none;border:0;font:inherit;font-size:14px;color:var(--muted);transition:background .15s var(--ease),color .15s}.onav .navdropbtn:hover,.onav .navdropbtn[aria-expanded=true]{color:var(--head);background:var(--raised)}.onav .navdropbtn svg{transition:transform .25s}.onav .navdropbtn[aria-expanded=true] svg{transform:rotate(180deg)}.onav .navmenu{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;display:grid;gap:2px;padding:6px;border-radius:var(--radius);background:var(--card);border:1px solid var(--border);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s var(--ease),transform .15s var(--ease),visibility .15s}.onav .navmenu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.onav .navmenu a{height:32px;padding:0 10px;border-radius:var(--radius-sm);font-size:14px;color:var(--body);white-space:nowrap}.onav .navmenu a:hover{background:var(--raised);color:var(--head)}.onav .navmenuall{margin-top:4px;border-top:1px solid var(--rule);border-radius:0;color:var(--head)}.onav .navburger{display:none;align-items:center;justify-content:center;cursor:pointer;width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--control);color:var(--head)}@media(max-width:1080px){.onav{gap:10px}.onav .navburger{display:flex}.onav .navlinks{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;padding:8px;border-radius:0 0 var(--radius) var(--radius);background:var(--card);border:1px solid var(--border);border-top:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,transform .24s ease,visibility .24s}.onav .navlinks.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.onav .navdropbtn,.onav .navlinks>a{height:40px;padding:0 12px;font-size:14px}.onav .navdrop{width:100%}.onav .navdropbtn{width:100%;justify-content:space-between}.onav .themebtn{margin-left:auto}.onav .navmenu{position:static;transform:none;min-width:0;margin:2px 0 2px 10px;padding:4px;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;display:none}.onav .navmenu.open{display:grid;transform:none}}.o section{position:relative}.o .sec-pad{padding:40px 24px}.o .sec-tight{padding-top:32px;padding-bottom:32px}.o .sec-airy{padding-top:64px;padding-bottom:64px}.o .wrap{max-width:1240px;margin:0 auto}.o .eyebrow{font-size:16px;font-weight:600;margin-bottom:6px}.o .eyebrow,.o h2.title{color:var(--head);text-wrap:balance}.o h2.title{font-weight:700;font-size:clamp(22px,2.8vw,30px);text-align:center;line-height:1.15;letter-spacing:-.02em}.o h2.title em{font-style:normal;color:inherit}.o .sub{text-align:center;color:var(--muted);max-width:60ch;margin:12px auto 0;font-size:15px;line-height:1.55;text-wrap:pretty}.o .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;height:var(--control-h);padding:0 14px;border-radius:var(--radius-sm);font-weight:500;font-size:14px;font-family:inherit;cursor:pointer;border:1px solid var(--control);background:var(--card);color:var(--head);transition:background .15s var(--ease),border-color .15s}.o .btn.primary{background:var(--accent);color:#fff;border:none}.o .btn.primary:hover{background:var(--accent);color:#fff;filter:brightness(1.08)}.o .btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.o .btn.ghost:hover,.o .btn:hover{background:var(--raised)}.o .btn.ghost:hover{color:var(--head)}.o .tabbar{display:inline-flex;gap:2px;padding:2px;border-radius:8px;background:var(--raised);margin:8px auto 18px}.o .tabbtn{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:var(--radius-sm);font-family:inherit;font-size:13.5px;font-weight:500;color:var(--muted);background:transparent;border:0;cursor:pointer;transition:color .15s,background .15s}.o .tabbtn.on,.o .tabbtn:hover{color:var(--head)}.o .tabbtn.on{background:var(--card)}.o .toolbar{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;margin:34px 0 22px}.o .search{position:relative;flex:1 1 320px;max-width:440px}.o .search input{width:100%;height:36px;padding:0 14px 0 40px;border-radius:var(--radius-sm);color:var(--head);font-size:14px;background:var(--card);border:1px solid var(--control);outline:none;font-family:inherit;transition:border-color .15s}.o .search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.o .search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);opacity:.6}.o .chips{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}.o .chip{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;font-size:13.5px;cursor:pointer;border:1px solid var(--control);background:var(--card);color:var(--body);transition:background .15s,color .15s}.o .chip u{width:6px;height:6px;border-radius:50%;background:var(--muted);text-decoration:none;flex:none}.o .chip:hover{color:var(--head);background:var(--raised)}.o .chip.on{color:var(--on-txt);background:var(--on-bg);border-color:transparent;font-weight:700}.o .chip.on u{background:var(--on-txt)}.o .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.o .card{position:relative;padding:16px;border-radius:var(--radius);background:var(--card);border:1px solid var(--border);overflow:hidden;transition:background .15s var(--ease);cursor:pointer;display:flex;flex-direction:column;gap:10px}.o .card:hover{background:var(--raised)}.o .card>*{position:relative;z-index:1}.o .cardtop{display:flex;gap:14px;align-items:center;min-width:0}.o .cardtop>div{min-width:0}.o .cardcat{display:block;margin-top:2px;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.o .card .visits,.o .cardcat{white-space:nowrap}.o .logo{flex:none;overflow:hidden;display:grid;place-items:center;font-weight:600;color:var(--head);background:var(--raised);border:1px solid var(--rule)}.o .logo.s40{width:40px;height:40px;border-radius:8px;font-size:15px}.o .logo.s48{width:48px;height:48px;border-radius:10px;font-size:18px}.o .card h4{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--head);line-height:1.3;-webkit-line-clamp:2}.o .card h4,.o .card p{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.o .card p{color:var(--muted);font-size:13.5px;line-height:1.5;-webkit-line-clamp:3}.o .card .foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--rule);font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.o .card .free{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;color:var(--ok-txt);background:var(--ok-bg)}.o .empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:48px 0;font-size:14px}.ofooter{position:relative;overflow:hidden;padding:40px 24px 24px;margin-top:24px;border-top:1px solid var(--border)}.ofooter .fwrap{position:relative;z-index:2;max-width:1240px;margin:0 auto}.ofooter .fgrid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.1fr;gap:44px}@media(max-width:820px){.ofooter .fgrid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.ofooter .fgrid{grid-template-columns:1fr}}.ofooter .fsocial{display:flex;gap:10px;margin-top:16px}.ofooter .fsocial a{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--dim);background:var(--wash);border:1px solid var(--hair);transition:color .25s,border-color .25s,background .25s,transform .25s}.ofooter .fsocial a:hover{color:var(--hover);border-color:var(--hairhi);background:rgba(160,164,176,.14)}.ofooter .fbrand{font-weight:700;font-size:16px;letter-spacing:-.02em;color:var(--head)}.ofooter .fgrid>div>p{color:var(--muted);font-size:13.5px;line-height:1.55;margin-top:10px;max-width:34ch}.ofooter .fcol h6{font-size:13px;font-weight:600;color:var(--head);margin-bottom:10px}.ofooter .fcol a{display:block;color:var(--muted);font-size:13.5px;padding:4px 0;transition:color .15s}.ofooter .fcol a:hover{color:var(--head)}.ofooter .fbot{position:relative;z-index:2;max-width:1240px;margin:28px auto 0;padding-top:14px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.ofooter .live{display:flex;align-items:center;gap:8px}.ofooter .live b{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);animation:opulse 1.5s infinite}.o .bloggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px}.o .blogcard{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--border);transition:background .15s var(--ease)}.o .blogcard:hover{background:var(--raised)}.o .blogimg{aspect-ratio:3/2;position:relative;overflow:hidden}.o .blogimg img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;transition:transform .5s}.o .blogbody{padding:14px 16px 16px}.o .blogmetarow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.o .insights-head,.o .insights-head .sub,.o .insights-head .title{text-align:left}.o .insights-head .sub{margin-left:0}.o .insights{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;margin-top:36px;align-items:start}@media(max-width:1000px){.o .insights{grid-template-columns:1fr}}.o .infeat{display:block;border-radius:10px;overflow:hidden;background:var(--card);border:1px solid var(--hair);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s}.o .infeat:hover{background:var(--raised)}.o .blogimg,.o .infeatimg,.o .inthumb{background:linear-gradient(135deg,var(--raised),var(--card2))}.o .blogimg img,.o .infeatimg img,.o .inthumb img{filter:saturate(.82) brightness(.86) contrast(1.04)}.o .blogimg:after,.o .infeatimg:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(4,5,14,0) 42%,rgba(4,5,14,.55) 80%,rgba(6,8,22,.95)),linear-gradient(180deg,rgba(59,109,240,.1),rgba(59,109,240,.14) 60%,rgba(59,109,240,.1));mix-blend-mode:normal}.o .inthumb img{filter:saturate(.85) brightness(.88)}.o .infeatimg{position:relative;aspect-ratio:3/2;overflow:hidden}.o .infeatimg img{-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.o .infeatbadge{position:absolute;top:14px;left:14px;z-index:2;padding:6px 13px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--accent)}.o .infeatbody{padding:24px}.o .infeat h3{margin-top:12px;font-family:var(--font-sans);font-weight:700;font-size:clamp(19px,2vw,26px);line-height:1.25;color:var(--head)}.o .infeat p{margin-top:10px;color:var(--dim);font-size:14.5px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.o .infeat .blogmore{display:inline-block;margin-top:16px}.o .insidelist{display:grid;gap:12px;align-content:start}.o .inrow{display:flex;gap:14px;padding:13px;border-radius:8px;background:var(--card);border:1px solid var(--hair);transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}.o .inrow:hover{background:var(--raised)}.o .inthumb{position:relative;flex:none;width:76px;height:76px;border-radius:8px;overflow:hidden}.o .inthumb img{-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.o .inbody{min-width:0}.o .inbody h4{font-size:14.5px;font-weight:700;line-height:1.35;color:var(--head)}.o .inbody h4,.o .inbody p{margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.o .inbody p{font-size:12.5px;line-height:1.6;color:var(--dim)}.o .viewall{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--link);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);transition:color .3s,background .3s,border-color .3s}.o .viewall:hover{color:var(--hover);background:color-mix(in srgb,var(--accent) 18%,transparent)}.o .blogdate{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.o .catlabel{display:inline-flex;align-items:center;gap:7px;color:var(--muted)}.o .catlabel i{width:5px;height:5px;border-radius:50%;flex:none}.o .blogcat{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;color:var(--head);background:var(--active)}.o .blogbody h4{font-weight:600;letter-spacing:-.01em;font-size:15px;margin-top:8px;color:var(--head);line-height:1.3}.o .blogbody h4,.o .blogbody p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.o .blogbody p{line-height:1.5;margin-top:6px}.o .blogbody p,.o .blogmore{color:var(--muted);font-size:13px}.o .blogmore{display:inline-block;margin-top:10px;font-weight:500;transition:color .15s}.o .blogcard:hover .blogmore{color:var(--head)}.o .authpage{min-height:100dvh;display:grid;place-items:center;padding:calc(var(--promo-h,0px) + 56px + 40px) 20px 64px}.o .authcard{width:100%;max-width:440px;text-align:center;padding:40px 32px;border-radius:10px;background:var(--card);border:1px solid var(--hair)}.o .authcard h1{font-family:var(--font-sans);font-weight:700;font-size:clamp(26px,3.4vw,38px);line-height:1.1;letter-spacing:-.02em;color:var(--head)}.o .authcard h1 em{font-style:normal;color:var(--link)}.o .authcard .authsub{margin-top:12px;color:var(--dim);font-size:14.5px;line-height:1.7}.o .authcard .authbody{margin-top:28px;display:grid;gap:14px;text-align:left}.o .gbtn{display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;width:100%;padding:15px 18px;border-radius:8px;background:#fff;border:1px solid rgba(255,255,255,.7);color:#1f2430;font-family:inherit;font-size:15.5px;font-weight:600;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,opacity .2s}.o .gbtn:hover:not(:disabled){;box-shadow:0 14px 34px rgba(160,164,176,.28)}.o .gbtn:disabled{opacity:.6;cursor:not-allowed}.o .gspin{width:19px;height:19px;border-radius:50%;border:2px solid rgba(60,70,90,.35);border-top-color:transparent;animation:ospin .8s linear infinite}.o .ghbtn{display:flex;align-items:center;justify-content:center;gap:11px;cursor:pointer;width:100%;padding:15px 18px;border-radius:8px;background:var(--wash2);border:1px solid rgba(160,190,255,.28);color:var(--head);font-family:inherit;font-size:15px;font-weight:600;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s,opacity .2s}.o .ghbtn:hover:not(:disabled){;border-color:var(--hairhi);background:rgba(255,255,255,.11)}.o .ghbtn:disabled{opacity:.6;cursor:not-allowed}.o .authdiv{display:flex;align-items:center;gap:14px;margin:4px 0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.o .authdiv:after,.o .authdiv:before{content:"";flex:1;height:1px;background:var(--hair)}.o .authform{display:grid;gap:15px}.o .authreveal{position:relative}.o .authreveal input{padding-right:44px}.o .authreveal button{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;cursor:pointer;width:32px;height:32px;border-radius:6px;background:none;border:0;color:var(--muted);transition:color .2s,background .2s}.o .authreveal button:hover{color:var(--hover);background:rgba(160,164,176,.12)}.o .authforgot{text-align:right;font-size:12.5px;margin-top:-4px}.o .authforgot a{color:var(--link)}.o .authcheck{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.6;color:var(--muted)}.o .authcheck input{flex:none;width:16px;height:16px;margin-top:1px;accent-color:var(--accent);cursor:pointer}.o .authsubmit{width:100%;margin-top:4px;text-align:center;justify-content:center}.o .authsubmit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.o .authfield{display:grid;gap:7px}.o .authfield label{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.o .authfield input{width:100%;padding:13px 16px;border-radius:8px;background:var(--card);border:1px solid var(--control);outline:none;color:var(--head);font-family:inherit;font-size:14.5px;transition:.3s}.o .authfield input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.o .authfield input::-moz-placeholder{color:var(--muted)}.o .authfield input::placeholder{color:var(--muted)}.o .autherr{border-radius:8px;color:#ffc9d8;background:rgba(255,75,120,.1);border:1px solid rgba(255,75,120,.3)}.o .autherr,.o .authok{padding:12px 14px;font-size:13.5px;line-height:1.6}.o .authok{border-radius:8px;color:#c9ffd8;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.3)}.o .authnote{margin-top:22px;font-size:12.5px;line-height:1.7;color:var(--muted)}.o .authnote a{color:var(--link);text-decoration:underline;text-underline-offset:3px}.o .authalt{margin-top:18px;padding-top:18px;border-top:1px solid var(--hair);font-size:13.5px;color:var(--dim)}.o .authalt a{color:var(--link)}.o .newsletter{position:relative;max-width:680px;margin:0 auto;text-align:center;padding:52px 36px;border-radius:10px;background:var(--card);border:1px solid var(--hair)}.o .nlnote{margin-top:18px;font-size:12px;line-height:1.7;color:var(--muted)}.o .nlform{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}.o .nlform input{flex:1 1 280px;max-width:360px;height:38px;padding:0 12px;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--control);outline:none;color:var(--head);font-size:14px;font-family:inherit;transition:border-color .15s}.o .nlform input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.o .nlform button{flex:none}.o .nlmsg{flex-basis:100%;margin-top:6px;font-size:13px}.o .nlmsg.ok{color:var(--ok)}.o .nlmsg.err{color:var(--err)}.ofooter.nocanvas{padding-top:40px}.o .phero{position:relative;padding:calc(var(--promo-h,0px) + 56px + 24px) 24px 0;text-align:left}.o .phero .wrap{max-width:1240px}.o .phero.narrow .wrap{max-width:760px}.o .phero .crumbs{justify-content:flex-start}.o .phero h1{font-weight:700;letter-spacing:-.025em;line-height:1.15;font-size:clamp(26px,3vw,34px);color:var(--head);text-wrap:balance}.o .phero h1 em{font-style:normal;color:inherit}.o .phero .sub{margin:6px 0 0;text-align:left;max-width:68ch}.o .crumbs{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:14px;flex-wrap:wrap}.o .crumbs a{color:var(--muted);transition:color .15s}.o .crumbs a:hover{color:var(--head)}.o .crumbs s{text-decoration:none;opacity:.5}.o .pager{display:flex;gap:6px;margin-top:24px;flex-wrap:wrap}.o .pager,.o .pager a,.o .pager span{justify-content:center;align-items:center}.o .pager a,.o .pager span{min-width:34px;height:34px;padding:0 10px;display:inline-flex;border-radius:var(--radius-sm);border:1px solid var(--control);background:var(--card);font-size:13.5px;color:var(--body);font-variant-numeric:tabular-nums;transition:background .15s}.o .pager a:hover{color:var(--head);background:var(--raised)}.o .pager .on{color:var(--on-txt);background:var(--on-bg);border-color:transparent;font-weight:700}.o .pager .gap{border:none;background:none;color:var(--faint)}.o .article{max-width:760px;margin:0 auto}.o .article .cover{position:relative;width:100%;aspect-ratio:16/8;border-radius:10px;overflow:hidden;border:1px solid var(--hair);background:var(--raised);margin-bottom:40px}.o .article .cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.o .prose{color:var(--body);font-size:16px;line-height:1.7}.o .prose>*+*{margin-top:16px}.o .prose h2{letter-spacing:-.01em;font-size:18px;margin-top:32px}.o .prose h2,.o .prose h3{font-weight:600;color:var(--head)}.o .prose h3{font-size:16px;margin-top:24px}.o .prose h4{font-family:var(--font-sans);font-weight:600;font-size:17px;color:var(--head);margin-top:26px}.o .prose a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(160,164,176,.35);transition:.25s}.o .prose a:hover{color:var(--hover);text-decoration-color:var(--hover)}.o .prose strong{color:var(--head);font-weight:700}.o .prose ul{list-style:disc;padding-left:22px}.o .prose ol{list-style:decimal;padding-left:22px}.o .prose li{margin-top:6px;padding-left:2px}.o .prose li::marker{color:var(--faint)}.o .prose blockquote{border-left:2px solid var(--accent);padding:4px 0 4px 20px;color:var(--dim);font-style:italic}.o .prose code{font-family:var(--font-mono);font-size:13px;background:var(--wash);border:1px solid var(--hair);border-radius:6px;padding:2px 6px;color:var(--link)}.o .prose pre{background:var(--card);border:1px solid var(--control);border-radius:8px;padding:20px;overflow-x:auto}.o .prose pre code{background:none;border:none;padding:0;font-size:12.5px;line-height:1.7;color:var(--head)}.o .prose img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--hair)}.o .prose hr{border:none;height:1px;background:var(--hair);margin:40px 0}.o .byline{display:flex;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:22px}.o .byline s{width:1px;height:14px;background:rgba(160,164,176,.3);text-decoration:none}.o .panel{padding:20px;border-radius:10px;background:var(--card);border:1px solid var(--hair)}.o .panel h3{font-size:12.5px;font-weight:500;color:var(--muted);margin-bottom:12px}.o .speclist{display:flex;flex-direction:column;gap:12px}.o .speclist div{display:flex;justify-content:space-between;gap:14px;font-size:14px;color:var(--dim);padding-bottom:12px;border-bottom:1px solid var(--hair)}.o .speclist div:last-child{border-bottom:none;padding-bottom:0}.o .speclist b{color:var(--head);font-weight:600;text-align:right}.o .split{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start;max-width:1240px;margin:0 auto}@media(max-width:940px){.o .split{grid-template-columns:1fr}}.o .resultbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--hair)}.o .resultbar b{color:var(--head);font-weight:600}.o .filters{position:sticky;top:16px;transition:top .2s var(--ease)}.o:has(.onav:not(.retracted)) .filters{top:calc(max(0px,calc(var(--promo-h,0px) - var(--scroll-y,0px))) + 72px)}.o .filters .fgroup+.fgroup{margin-top:20px}.o .filters h3{margin-bottom:8px;font-size:13px;font-weight:600;color:var(--head)}.o .ftoggle{display:none}.o .filters .fsearch{position:relative}.o .filters .fsearch input{width:100%;height:36px;padding:0 12px 0 38px;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--control);outline:none;color:var(--head);font-size:13.5px;font-family:inherit;transition:border-color .15s}.o .filters .fsearch input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.o .filters .fsearch input::-moz-placeholder{color:var(--muted)}.o .filters .fsearch input::placeholder{color:var(--muted)}.o .filters .fsearch svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.o .filters .flist{display:flex;flex-direction:column;gap:2px}.o .filters .flist.scroll{max-height:300px;overflow-y:auto;margin-top:8px;padding-right:4px}.o .filters .flist::-webkit-scrollbar{width:5px}.o .filters .flist::-webkit-scrollbar-track{background:transparent}.o .filters .flist::-webkit-scrollbar-thumb{background:rgba(160,164,176,.22);border-radius:6px}.o .filters .flist::-webkit-scrollbar-thumb:hover{background:rgba(160,164,176,.5)}.o .filters label{display:flex;align-items:center;gap:10px;min-height:32px;padding:0 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--body);transition:background .15s}.o .filters label:hover{background:var(--raised);color:var(--head)}.o .filters label input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;flex:none;border-radius:4px;border:1px solid var(--control);background:var(--card);cursor:pointer;position:relative;transition:.2s}.o .filters label input:checked{background:var(--on-bg);border-color:transparent}.o .filters label input:checked:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid var(--on-txt);border-width:0 2px 2px 0;transform:rotate(45deg)}.o .filters label:has(input:checked){color:var(--head)}.o .skel{border-radius:10px;border:1px solid var(--hair);background:linear-gradient(160deg,var(--wash),rgba(255,255,255,.02));height:196px;position:relative;overflow:hidden}.o .skel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(160,164,176,.09),transparent);animation:oshimmer 1.5s infinite}@keyframes oshimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.o .status{text-align:center;padding:26px 0;font-size:13.5px;color:var(--muted)}.o .status.err{color:var(--err)}.o .spinner{width:26px;height:26px;margin:0 auto;border-radius:50%;border:2px solid rgba(160,164,176,.2);border-top:2px solid var(--cyan);animation:ospin .8s linear infinite}.o .linkbtn{background:none;border:none;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--link);transition:.25s;display:inline-flex;align-items:center;gap:7px}.o .linkbtn:hover:not(:disabled){color:var(--hover)}.o .linkbtn:disabled{opacity:.5;cursor:default}.o .spin{animation:ospin .8s linear infinite;transform-origin:center}.o .split.rev{grid-template-columns:340px 1fr}@media(max-width:940px){.o .split.rev{grid-template-columns:1fr}.o .filters{position:static}}.o .sk{position:relative;overflow:hidden;border-radius:8px;background:rgba(255,255,255,.045);border:1px solid var(--stroke)}.o .sk:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(160,164,176,.13),transparent);animation:skshimmer 1.5s infinite}@keyframes skshimmer{to{transform:translateX(100%)}}.o .sk-field{height:42px;margin-top:10px}.o .sk-row{height:20px;margin-top:12px;width:78%}.o .sk-row:nth-child(3n){width:58%}.o .sk-row:nth-child(3n+1){width:88%}.o .sk-card{height:210px;border-radius:10px}@media(prefers-reduced-motion:reduce){.o .sk:after{animation:none}}.o .fnote{color:var(--dim);font-size:14px;line-height:1.6;padding:6px 2px}.o .lspin{display:inline-block;width:1em;height:1em;margin-left:.55em;flex:none;border-radius:50%;border:2px solid rgba(160,164,176,.28);border-top:2px solid var(--cyan);animation:ospin .7s linear infinite;vertical-align:-.12em}@media(prefers-reduced-motion:reduce){.o .lspin{animation:none;border-top-color:rgba(160,164,176,.28);border-right-color:var(--cyan);opacity:.8}}html[data-theme=light] :is(.o,.ochrome){--accent:#1D4ED8;--link:#1D4ED8;--bg:#F7F7F8;--bg2:#F7F7F8;--card:#FFFFFF;--card2:#F4F5F6;--raised:#F2F3F5;--active:#ECEDF0;--border:#E6E7EA;--rule:#EEEFF1;--control:#CFD2D8;--txt:#1B1D22;--head:#111318;--body:#33363E;--dim:#4F5460;--muted:#5F6470;--faint:#7B808C;--hover:#000000;--on-bg:#111318;--on-txt:#FFFFFF;--ok:#247B50;--ok-bg:#DCFAE5;--ok-txt:#04250E;--err:#C4242A;--warn:#92400E;--shadow:rgba(20,23,30,0.12);color-scheme:light}html[data-theme=light] body:has(.o),html[data-theme=light] body:has(.ochrome){background:#F7F7F8}html[data-theme=light] .o ::-moz-selection{background:rgba(11,99,196,.18)}html[data-theme=light] .o ::selection{background:rgba(11,99,196,.18)}html[data-theme=light] .o .btn.primary{box-shadow:0 8px 24px rgba(59,109,240,.25)}.onav .themebtn{display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer;margin-left:auto;width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--control);color:var(--muted);transition:color .15s,background .15s}.onav .themebtn:hover{color:var(--head);background:var(--raised)}.o .home-hero{padding:calc(var(--promo-h,0px) + 56px + 40px) 24px 4px;text-align:center}.o .home-hero h1{font-weight:800;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.03em;color:var(--head);max-width:20ch;margin:0 auto;text-wrap:balance}.o .home-hero h1 em{font-style:normal;color:inherit}.o .home-hero .lead{margin:12px auto 0;max-width:56ch;color:var(--muted);font-size:16px;line-height:1.5;text-wrap:pretty}.o .home-search{display:flex;align-items:center;gap:8px;max-width:680px;margin:24px auto 0;padding:4px 4px 4px 14px;border-radius:var(--radius);background:var(--card);border:1px solid var(--control);transition:border-color .15s}.o .home-search:focus-within{border-color:var(--accent)}.o .home-search svg{flex:none;color:var(--muted)}.o .home-search input{flex:1;min-width:0;background:none;border:0;outline:0;height:36px;color:var(--head);font-family:inherit;font-size:15px}.o .home-search input::-moz-placeholder{color:var(--muted)}.o .home-search input::placeholder{color:var(--muted)}.o .home-search .btn{padding:0 18px}.o .home-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:20px auto 0;max-width:960px}.o .home-chips .chip b{font-weight:500;color:var(--muted)}.o .home-chips .chip.on b{color:inherit}.o .stats{display:flex;justify-content:center;gap:10px 28px;flex-wrap:wrap;margin-top:22px;font-size:14px;color:var(--muted)}.o .stats b{color:var(--head);font-weight:700}.o .home-sec{padding:28px 24px}.o .sechead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.o .sechead h2{font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--head)}.o .sechead p{flex-basis:100%;color:var(--muted);font-size:14px;margin-top:-8px}.o .sechead .more{font-size:13.5px;font-weight:500;color:var(--muted);white-space:nowrap}.o .sechead .more:hover{color:var(--head)}.o .catgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.o .catcard{display:block;min-width:0;padding:14px 16px;background:var(--card);transition:background .15s var(--ease)}.o .catcard:hover{background:var(--raised)}.o .catcard h3{font-size:14.5px;font-weight:600;color:var(--head);display:flex;justify-content:space-between;gap:10px;align-items:baseline}.o .catcard h3 small{font-weight:400;font-size:12.5px;font-variant-numeric:tabular-nums}.o .catcard h3 small,.o .catcard p{color:var(--muted);white-space:nowrap}.o .catcard p{margin-top:3px;font-size:13px;line-height:1.45;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.o .catgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.o .catgrid{grid-template-columns:1fr}}.o .home-blogs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.o .home-news{max-width:none;display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;text-align:left;padding:20px 24px}.o .home-news h2{font-weight:600;font-size:18px;color:var(--head)}.o .home-news p{color:var(--muted);font-size:14px;margin-top:4px}.o .home-news .nlform{margin-top:0;flex:1 1 380px;justify-content:flex-end}.o .home-news .nlmsg{text-align:right}@media(max-width:640px){.o .home-hero{padding-top:calc(var(--promo-h,0px) + 56px + 28px)}.o .home-search{flex-wrap:wrap;padding:10px;border-radius:8px}.o .home-search input{flex-basis:100%;padding:8px 6px}.o .home-search .btn{flex:1}.o .home-chips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-width:none;margin:16px -24px 0;padding:4px 24px;scrollbar-width:none}.o .home-chips::-webkit-scrollbar{display:none}.o .home-chips .chip{flex:none}.o .home-news .nlform{justify-content:flex-start}.o .home-news .nlmsg{text-align:left}}.o .kbd{font-size:11.5px;color:var(--muted);padding:3px 7px;border-radius:6px;border:1px solid var(--hair);background:var(--card2);white-space:nowrap;flex:none}@media(max-width:640px){.o .kbd{display:none}}.o .quick{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}.o .quick a{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--body);background:var(--card);border:1px solid var(--control);transition:background .15s var(--ease),color .15s}.o .quick a:hover{background:var(--raised);color:var(--head)}.o .quick a svg{width:15px;height:15px;color:var(--muted);stroke-width:1.75}.o .spot{display:flex;align-items:center;gap:14px;max-width:680px;margin:28px auto 0;padding:12px 14px;border-radius:var(--radius);text-align:left;background:var(--card);border:1px solid var(--border);transition:background .15s var(--ease)}.o .spot:hover{background:var(--raised)}.o .spotlbl{flex:none;display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;color:var(--head);background:var(--active)}.o .spot-body{flex:1;min-width:0}.o .spot-body h3{font-size:15px;font-weight:600;color:var(--head)}.o .spot-body p{margin-top:2px;font-size:13px;overflow:hidden;text-overflow:ellipsis}.o .spot-body p,.o .spot-go{color:var(--muted);white-space:nowrap}.o .spot-go{flex:none;font-size:13.5px;font-weight:500}.o .tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border);margin-bottom:4px}.o .tabs::-webkit-scrollbar{display:none}.o .tab{flex:none;gap:8px;height:40px;padding:0 10px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;font:inherit;font-size:14px;cursor:pointer;transition:color .15s}.o .tab,.o .tab b{display:inline-flex;align-items:center;font-weight:500;color:var(--muted)}.o .tab b{height:20px;padding:0 7px;border-radius:999px;font-size:12px;background:var(--active);font-variant-numeric:tabular-nums}.o .tab.on,.o .tab:hover{color:var(--head)}.o .tab.on{border-bottom-color:var(--head)}.o .tab.on b{color:var(--head)}.o .rows{display:flex;flex-direction:column}.o .trow{display:grid;grid-template-columns:40px minmax(0,1fr) auto minmax(150px,auto);align-items:center;gap:14px;min-height:60px;padding:8px 10px;border-radius:var(--radius-sm);transition:background .15s var(--ease)}.o .trow+.trow{border-top:1px solid var(--rule)}.o .trow:hover{background:var(--raised)}.o .trow-main{min-width:0}.o .trow-title{display:flex;align-items:center;gap:8px;min-width:0}.o .trow-title h3{font-size:15px;font-weight:600;color:var(--head);min-width:0}.o .trow-main p,.o .trow-title h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o .trow-main p{margin-top:2px;font-size:13px;color:var(--muted)}.o .pill{flex:none;display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;color:var(--head);background:var(--active);white-space:nowrap}.o .pill.ok{color:var(--ok-txt);background:var(--ok-bg)}.o .trow-tag{max-width:190px;overflow:hidden;text-overflow:ellipsis}.o .trow-meta,.o .trow-tag{font-size:12.5px;color:var(--muted);white-space:nowrap}.o .trow-meta{display:flex;gap:14px;justify-content:flex-end;font-variant-numeric:tabular-nums}.o .trow-meta span{display:inline-flex;align-items:center;gap:5px}.o .trow-meta svg{width:14px;height:14px;opacity:.85}.o .feed-more{display:flex;justify-content:center;margin-top:16px}@media(max-width:760px){.o .trow{grid-template-columns:40px minmax(0,1fr);row-gap:4px;padding:10px 8px}.o .trow-tag{display:none}.o .trow-meta{grid-column:2;justify-content:flex-start;gap:12px}.o .spot{flex-wrap:wrap}.o .spot .trow-tag{display:none}}.onav .navlinks a.navcta{margin-left:6px;padding:0 12px;border:1px solid var(--control);background:var(--card);color:var(--head);font-weight:500}.onav .navlinks a.navcta:hover{background:var(--raised)}@media(max-width:1080px){.onav .navlinks>a.navcta{margin:6px 0 2px;justify-content:center}}.o .charttip,.onav .navmenu{box-shadow:0 8px 24px var(--shadow)}.o :focus-visible,.onav :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.o input:focus-visible,.o select:focus-visible,.o textarea:focus-visible{outline:none;border-color:var(--accent)}.o .tool-hero{padding:calc(var(--promo-h,0px) + 56px + 24px) 24px 0}.o .tool-hero .crumbs{justify-content:flex-start;margin-bottom:20px;flex-wrap:nowrap;min-width:0}.o .tool-hero .crumbs a{white-space:nowrap}.o .tool-hero .crumbs span[aria-current]{color:var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.o .toolhead{display:flex;align-items:center;gap:18px}.o .logo.s64{width:64px;height:64px;border-radius:14px;font-size:24px}.o .toolhead-main{flex:1;min-width:0}.o .toolhead h1{font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.025em;line-height:1.15;color:var(--head);text-wrap:balance}.o .toolhead .tagline{margin-top:4px;max-width:64ch;font-size:15.5px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.o .toolhead-actions{flex:none;display:flex;align-items:center;gap:8px}.o .sociallinks{display:flex;gap:6px}.o .sociallinks a{width:36px;height:36px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--muted);border:1px solid var(--control);background:var(--card);transition:background .15s,color .15s}.o .sociallinks a:hover{color:var(--head);background:var(--raised)}.o .facts{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:1px;margin-top:24px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.o .facts>div{min-width:0;padding:12px 16px;background:var(--card)}.o .facts dt{font-size:12.5px;color:var(--muted)}.o .facts dd{margin-top:3px;font-size:16px;font-weight:600;color:var(--head);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o .facts dd.factnote{margin-top:1px;font-size:12.5px;font-weight:400;color:var(--muted)}.o .tool-body{padding:28px 24px 8px}.o .tool-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}.o .tool-grid.solo{grid-template-columns:minmax(0,1fr)}.o .tool-main{min-width:0}.o .tool-side{display:flex;flex-direction:column;gap:12px;min-width:0}.o .tool-side .panel{padding:14px 16px}.o .preview{margin:0;aspect-ratio:16/9;max-width:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--raised)}.o .preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;display:block}.o .subnav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;margin:24px 0 0;background:var(--bg);border-bottom:1px solid var(--border);transition:top .2s var(--ease)}.o:has(.onav:not(.retracted)) .subnav{top:calc(max(0px,calc(var(--promo-h,0px) - var(--scroll-y,0px))) + 56px)}.o .subnav-links{flex:1;min-width:0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.o .subnav-links::-webkit-scrollbar{display:none}.o .subnav-links a{flex:none;display:inline-flex;align-items:center;height:44px;padding:0 10px;font-size:14px;font-weight:500;color:var(--muted);transition:color .15s,box-shadow .15s}.o .subnav-links a:hover{color:var(--head)}.o .subnav-links a.on{color:var(--head);box-shadow:inset 0 -2px 0 var(--head)}.o .subnav-cta{flex:none;height:32px;padding:0 12px;font-size:13.5px}@media(prefers-reduced-motion:reduce){.o .subnav{transition:none}}.o .h2bar{font-weight:600;letter-spacing:-.01em;font-size:20px;color:var(--head);margin-bottom:14px}.o .tool-main .sect{margin-top:40px;scroll-margin-top:112px}.o .tool-main .subnav+.sect{margin-top:24px}.o .tool-main .prose{max-width:72ch}.o .featlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.o .featlist li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--card);font-size:14.5px;line-height:1.5;color:var(--body)}.o .featlist li:last-child:nth-child(odd){grid-column:1/-1}.o .featlist svg{flex:none;margin-top:3px;color:var(--muted)}.o .pclist{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.o .pccol{padding:14px 16px;background:var(--card);min-width:0}.o .pccol h3{margin-bottom:6px;font-size:13.5px;font-weight:600;color:var(--head)}.o .pcitem{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:14.5px;line-height:1.5;color:var(--body)}.o .pcitem svg{flex:none;margin-top:3px}.o .pccol.good .pcitem svg{color:var(--ok)}.o .pccol.bad .pcitem svg{color:var(--err)}.o .pricegrid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:12px}.o .plan{display:flex;flex-direction:column;min-width:0;padding:16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card)}.o .plan.pop{border-color:var(--accent)}.o .plan .tier{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;font-weight:600;color:var(--muted)}.o .plan .price{margin-top:6px;font-size:19px;font-weight:700;letter-spacing:-.015em;line-height:1.3;color:var(--head);overflow-wrap:anywhere}.o .plan .per{margin-top:2px;font-size:13px;color:var(--muted)}.o .plan ul{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:8px}.o .plan li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--body)}.o .plan li svg{flex:none;margin-top:3px;color:var(--muted)}.o .statgrid{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.o .stat{min-width:0;padding:12px 16px;background:var(--card)}.o .stat .k{font-size:12.5px;color:var(--muted)}.o .stat .v{margin-top:3px;font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--head);font-variant-numeric:tabular-nums}.o .stat .d{margin-top:2px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.o .stat .d.up{color:var(--ok)}.o .stat .d.down{color:var(--err)}.o .trafficgrid{display:grid;gap:12px;margin-top:12px}.o .trafficgrid.two{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.o .chartwrap{min-width:0;padding:14px 16px;border-radius:var(--radius);background:var(--card);border:1px solid var(--border)}.o .chartwrap .cap{margin-bottom:12px;font-size:13.5px;font-weight:600;color:var(--head)}.o .chartwrap .recharts-area-curve{stroke:var(--accent)}.o .chartwrap .recharts-area-area{fill:var(--accent);fill-opacity:.12}.o .chartwrap .recharts-dot{fill:var(--accent);stroke:var(--card);stroke-width:2}.o .chartwrap .recharts-cartesian-grid line{stroke:var(--rule)}.o .chartwrap .recharts-cartesian-axis-tick-value{fill:var(--muted)}.o .chartwrap .recharts-tooltip-cursor{stroke:var(--control)}.o .charttip{padding:8px 12px;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--border);font-size:13px;color:var(--head)}.o .charttip .tk{margin-bottom:2px;font-size:12px;color:var(--muted)}.o .geolist{display:flex;flex-direction:column;gap:12px}.o .georow .top{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:13.5px}.o .georow .cn{min-width:0;color:var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o .georow .pc{color:var(--muted);font-variant-numeric:tabular-nums}.o .geobar{height:6px;border-radius:3px;background:var(--active);overflow:hidden}.o .geobar i{display:block;height:100%;border-radius:3px;background:var(--accent)}.o .srcnote{margin-top:10px;font-size:12.5px;color:var(--muted)}.o .rvhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.o .rvavg{font-size:20px;font-weight:700;color:var(--head);font-variant-numeric:tabular-nums}.o .rvcount{font-size:13.5px;color:var(--muted)}.o .stars2{display:inline-flex;gap:2px;align-items:center}.o .stars2 button{background:none;border:none;padding:0;line-height:0;color:var(--faint)}.o .stars2 button.lit{color:#F5B83D}.o .stars2 button.lit svg{fill:currentColor}.o .stars2 button:not(:disabled){cursor:pointer}.o .note{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;border-radius:var(--radius-sm);font-size:13.5px}.o .note.ok{color:var(--ok-txt);background:var(--ok-bg)}.o .note.bad{color:var(--err);background:color-mix(in srgb,var(--err) 12%,transparent)}.o .rvinvite{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;padding:12px 16px;font-size:14px;color:var(--muted)}.o .rvform,.o .rvinvite{border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.o .rvform{padding:16px}.o .rvform label{display:block;margin-bottom:8px;font-size:13.5px;font-weight:600;color:var(--head)}.o .rvform .fld+.fld{margin-top:16px}.o .rvform .ratebox{display:flex;align-items:center;gap:12px}.o .rvform .ratebox .lbl{font-size:13.5px;color:var(--muted)}.o .rvform textarea{width:100%;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--control);outline:none;color:var(--head);font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .15s}.o .rvform textarea:focus{border-color:var(--accent)}.o .rvform textarea::-moz-placeholder{color:var(--faint)}.o .rvform textarea::placeholder{color:var(--faint)}.o .rvform .hint{margin-top:6px;font-size:12.5px;color:var(--muted)}.o .rvform button[type=submit]{margin-top:16px}.o .rvform button[type=submit]:disabled{opacity:.45;cursor:not-allowed}.o .rvlist{margin-top:8px}.o .rvitem{padding:14px 0}.o .rvitem+.rvitem{border-top:1px solid var(--rule)}.o .rvtop{display:flex;gap:12px;align-items:center}.o .rvav{width:36px;height:36px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;color:var(--muted);background:var(--raised)}.o .rvav img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.o .rvmeta{flex:1;min-width:0}.o .rvmeta .nm{font-size:14px;font-weight:600;color:var(--head)}.o .rvmeta .dt{font-size:12.5px;color:var(--muted)}.o .rvbody{margin-top:8px;font-size:14.5px;line-height:1.6;color:var(--body)}.o .faq{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.o .faqitem+.faqitem{border-top:1px solid var(--rule)}.o .faqq{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;cursor:pointer;list-style:none;font-size:14.5px;font-weight:500;color:var(--head);transition:background .15s}.o .faqq::-webkit-details-marker{display:none}.o .faqq:hover{background:var(--raised)}.o .faqq svg{flex:none;color:var(--muted);transition:transform .2s var(--ease)}.o .faqitem[open] .faqq svg{transform:rotate(180deg)}.o .faqa{max-width:75ch;padding:0 16px 16px;font-size:14.5px;line-height:1.65;color:var(--body)}.o .linklist{display:flex;flex-direction:column;margin:0 -8px}.o .linklist a,.o .linklist span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:0 8px;border-radius:var(--radius-sm);font-size:14px;color:var(--body)}.o .linklist a:hover{background:var(--raised);color:var(--head)}.o .linklist svg{flex:none;color:var(--faint)}.o .topics{display:flex;flex-wrap:wrap;gap:6px}.o .topics .chip{height:28px;padding:0 10px;font-size:13px}.o .taglist{display:flex;flex-wrap:wrap;gap:8px}.o .taglist a,.o .taglist span{padding:6px 13px;border-radius:999px;font-size:13.5px;color:var(--body);background:var(--card);border:1px solid var(--border);transition:background .15s}.o .taglist a:hover{color:var(--head);background:var(--raised)}.o .tagrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:8px;border:1px solid var(--border);transition:background .15s}.o .tagrow:hover{background:var(--raised)}@media(max-width:900px){.o .tool-grid,.o .trafficgrid.two{grid-template-columns:minmax(0,1fr)}.o .facts,.o .pricegrid,.o .statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.o .facts>div:last-child:nth-child(odd),.o .statgrid>div:last-child:nth-child(odd){grid-column:1/-1}}@media(max-width:640px){.o .tool-hero{padding-top:calc(var(--promo-h,0px) + 56px + 16px)}.o .toolhead{flex-wrap:wrap;align-items:flex-start;gap:14px}.o .logo.s64{width:52px;height:52px;border-radius:12px;font-size:20px}.o .toolhead-main{flex:1 1 calc(100% - 66px)}.o .toolhead-actions{width:100%}.o .toolhead-actions .btn{flex:1}.o .featlist,.o .pclist,.o .pricegrid{grid-template-columns:minmax(0,1fr)}.o .featlist li:last-child:nth-child(odd){grid-column:auto}.o .subnav-cta{display:none}}.o .sec-pad.lbody{padding-top:20px;padding-bottom:16px}.o .ltoolbar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;min-height:40px;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--border);font-size:13.5px;color:var(--muted)}.o .ltoolbar b{color:var(--head);font-weight:600;font-variant-numeric:tabular-nums}.o .ltoolbar .tabbar{margin:0}.o .phero .quick{justify-content:flex-start;margin-top:16px}.o .activechips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px}.o .activechips .chip{gap:6px;color:var(--head)}.o .activechips .chip svg,.o .clearall{color:var(--muted)}.o .clearall{margin-left:6px;font-size:13.5px}.o .clearall:hover{color:var(--head)}.o .catlinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.o .catlinks a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:42px;padding:0 14px;margin:0 -1px -1px 0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:14px;color:var(--body);transition:background .15s}.o .catlinks a:hover{background:var(--raised);color:var(--head)}.o .catlinks span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o .catlinks b{flex:none;font-weight:500;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.o .related{margin-top:40px}.o .catgroup{scroll-margin-top:80px}.o .catgroup+.catgroup{margin-top:32px}.o .sgrid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}.o .sk-trow{height:52px;margin-top:8px;border-radius:var(--radius-sm)}.o .articlefoot{margin-top:48px;padding-top:20px;border-top:1px solid var(--border)}@media(max-width:900px){.o .catlinks{grid-template-columns:repeat(2,minmax(0,1fr))}.o .sgrid{grid-template-columns:minmax(0,1fr);gap:16px}.o .filters{position:static}.o .ftoggle{display:inline-flex}.o .filters .fbody{display:none;margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.o .filters.open .fbody{display:block}}@media(max-width:560px){.o .catlinks{grid-template-columns:minmax(0,1fr)}}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_532bb9{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_532bb9{--font-sans:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}