/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-700:oklch(50.8% .118 165.612);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.min-h-\[60vh\]{min-height:60vh}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.resize{resize:both}.resize-none{resize:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-slate-200{border-color:var(--color-slate-200)}.bg-violet-600{background-color:var(--color-violet-600)}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.p-1{padding:var(--spacing)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-2{padding-top:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.text-amber-700{color:var(--color-amber-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-slate-200{color:var(--color-slate-200)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.placeholder-slate-400::placeholder{color:var(--color-slate-400)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:bg-violet-50:hover{background-color:var(--color-violet-50)}.hover\:bg-violet-700:hover{background-color:var(--color-violet-700)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-violet-700:hover{color:var(--color-violet-700)}}.focus\:border-violet-400:focus{border-color:var(--color-violet-400)}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@font-face{font-family:Inter Fallback;src:local(Arial);size-adjust:107.4%;ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%}:root{color:var(--ink);background:var(--paper);font-family:Inter Variable,Inter Fallback,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(100% - 64px,1280px);max-width:none;margin-inline:auto}.skip-link{z-index:1000;color:#111;background:#fff;padding:10px;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}.site-header{z-index:30;color:#fff;background:var(--navy);position:relative}.header-inner{align-items:center;gap:40px;width:min(100% - 64px,1280px);max-width:none;height:70px;display:flex}.brand{color:#fff;letter-spacing:-.075em;white-space:nowrap;align-items:center;gap:10px;font-size:29px;font-weight:800;display:inline-flex}.desktop-nav{align-items:center;gap:27px;font-size:13px;font-weight:500;display:flex}.desktop-nav>a{color:#dbe7e9}.desktop-nav a:hover,.site-footer a:hover{color:var(--teal)}.header-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.header-auth-login{color:#ffffffbf;font-size:14px;font-weight:500}.header-search{place-items:center;width:28px;height:28px;display:grid}.header-cta{white-space:nowrap;color:#12252b;background:linear-gradient(120deg,#ff9474,#f56841);border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 18px;font-size:13px;font-weight:700;display:inline-flex}.header-cta:hover{filter:brightness(1.06)}.mobile-nav{margin-left:auto;display:none}.footer-grid{grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:42px;display:grid}.footer-grid p{color:#a8b9bc;max-width:240px;font-size:13px;line-height:1.7}.footer-grid h2{color:#fff;letter-spacing:.01em;margin:4px 0 14px;font-size:14px;font-weight:700}.footer-grid a:not(.brand){color:#bbcacd;margin:10px 0;font-size:13px;display:block}.newsletter-form{gap:8px;max-width:320px;margin-top:16px;display:flex}.newsletter-form input{color:#e5eeee;background:#0d2932;border:1px solid #2a4149;border-radius:6px;flex:1;min-width:0;padding:10px 12px;font-size:13px}.newsletter-form button{background:var(--coral);color:#12252b;white-space:nowrap;cursor:pointer;border:0;border-radius:6px;padding:0 14px;font-size:12px;font-weight:700}.newsletter-form button:hover{filter:brightness(1.05)}.newsletter-status{color:#7ce5df;min-height:1em;margin:8px 0 0;font-size:12px}.footer-social-row{gap:14px;margin-top:16px;display:flex}.footer-social{color:#a8b9bc;display:inline-flex}.footer-social:hover{color:var(--teal)}.footer-bottom{color:#84989e;border-top:1px solid #2a4149;justify-content:space-between;margin-top:45px;padding-top:22px;font-size:12px;display:flex}.section{padding:50px 0}.eyebrow{color:#617078;letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:12px;font-size:10px;font-weight:700;display:flex}.eyebrow:before{content:"";background:var(--coral);width:27px;height:2px}h1,h2,h3,p{margin-top:0}.section-title{letter-spacing:-.055em;font-size:clamp(31px,3.4vw,47px);font-weight:800;line-height:1.06}.muted{color:var(--muted)}.inline-link{color:#bb4a26;font-size:13px;font-weight:700}.inline-link:hover{text-decoration:underline}.pill{color:#1f3039;white-space:nowrap;background:#eaeff2;border:1px solid #c8d4d8;border-radius:5px;align-items:center;padding:5px 10px;font-size:13px;font-weight:500;display:inline-flex}.dark-pill{color:#d8f1f0;background:#0b3039;border:1px solid #537b80}.coral-button{color:#12252b;background:linear-gradient(120deg,#ff9474,#f56841);border:0;border-radius:8px;justify-content:center;align-items:center;gap:11px;min-height:44px;padding:11px 20px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 6px 18px #e8664540}.coral-button:hover{filter:brightness(1.05)}.outline-button{color:#bb4a26;background:#fff;border:1px solid #e09080;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:10px 18px;font-size:14px;font-weight:700;display:inline-flex}.hero{color:#fff;background:radial-gradient(ellipse at 62% 28%,#0e4596 0%,#081d48 45%,var(--navy) 100%);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#061b22 0%,#061b22f2 31%,#061b2270 55%,#0000 100%);position:absolute;inset:0}.hero .container{z-index:2;position:relative}.hero-inner{align-items:center;min-height:530px;display:flex}.hero-copy{max-width:530px;padding:35px 0 90px}.hero-art{object-fit:contain;z-index:0;pointer-events:none;width:min(70vw,970px);height:auto;position:absolute;top:0;right:max(-50px,50vw - 685px)}.hero h1{letter-spacing:-.072em;margin:22px 0 14px;font-size:clamp(44px,5.2vw,77px);font-weight:850;line-height:.99}.hero h1 em{color:var(--coral);font-style:normal}.hero-lead{color:#d1e0e2;max-width:500px;margin-bottom:26px;font-size:16px;line-height:1.55}.search-form{background:#fff;border:1px solid #dbe1e3;border-radius:8px;align-items:center;width:min(100%,525px);padding:5px 5px 5px 15px;display:flex;box-shadow:0 7px 25px #0002}.search-form svg{color:#77858a;flex:none}.search-form input{color:#1a252d;background:0 0;border:0;outline:none;flex:1;min-width:0;height:42px;margin:0 11px;font-size:15px}.search-form input::placeholder{color:#64727a}.search-form button{color:#15272c;background:linear-gradient(120deg,#ff9675,#f56a42);border:0;border-radius:6px;flex:none;place-items:center;width:45px;height:42px;display:grid}.popular{margin-top:20px;font-size:13px}.popular span{color:#89abb0;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:9px;font-weight:700;display:block}.popular a{color:#d6e5e6}.popular a+a:before{content:"/";color:#7a9aa0;margin:0 14px;display:inline-block}.hero-short{clip-path:polygon(0 0,100% 0,100% 93%,63% 100%,0 92%);min-height:330px}.hero-short .hero-inner{min-height:300px}.hero-short .hero-copy{max-width:760px;padding:26px 0 72px}.hero-short h1{font-size:clamp(37px,4.3vw,59px)}.hero-short .hero-art{opacity:.9;width:min(57vw,690px);top:-90px}.hero-short .hero-lead{font-size:19px}.section-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-heading .section-title{margin:10px 0 0}.vendor-mark{color:#1e333a;background:#fff;border:1px solid #e1e7e8;border-radius:8px;flex:none;place-items:center;width:44px;height:44px;font-size:19px;font-weight:800;display:inline-grid;overflow:hidden}.vendor-mark img{object-fit:contain;width:100%;height:100%}.vendor-mark[data-vendor=zabbix]{color:#fff;background:#d71d19;border:0;border-radius:3px}.vendor-mark[data-vendor=grafana]{color:#f45b26}.vendor-mark[data-vendor=datadog]{color:#fff;background:#673ab6}.vendor-mark[data-vendor=checkmk]{color:#fff;background:#00b483}.vendor-mark[data-vendor=uptime-kuma]{color:#269462;background:#c6f3da}.listing-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;display:grid}.listing-card{background:#fff;border:1px solid #dde3e5;border-radius:8px;flex-direction:column;gap:14px;padding:21px;display:flex}.listing-card:hover{border-color:#aac8cc;box-shadow:0 6px 22px #0b25281c}.listing-card h3{margin:0;font-size:18px}.listing-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.listing-card .inline-link{margin-top:auto}.breadcrumbs{color:#a5bec0;margin-bottom:20px;font-size:12px}.breadcrumbs a:hover{color:#fff}.breadcrumbs span{margin:0 9px}.content-panel{padding:58px 0 78px}.content-panel h1{letter-spacing:-.065em;font-size:clamp(34px,4vw,56px);line-height:1.06}.prose{color:#3d4a52;max-width:770px;font-size:15px;line-height:1.65}.prose h2,.prose h3{color:#17252e;letter-spacing:-.035em;margin:1.5em 0 .45em;line-height:1.18}.prose h2{font-size:25px}.prose h3{font-size:20px}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose a{color:#cd5837;text-decoration:underline}.prose img{border-radius:8px}.account-shell{background:#f8faf9;min-height:65vh;padding:65px max(20px,50vw - 400px)}.account-shell h1{letter-spacing:-.055em;margin:7px 0;font-size:clamp(32px,4vw,48px)}.account-shell>p,.account-panel>p{color:#607077;font-size:14px;line-height:1.6}.account-shell a:not(.coral-button):not(.outline-button){color:#bb4a26;text-decoration:underline}.account-panel{background:#fff;border:1px solid #e1e7e8;border-radius:10px;padding:32px;box-shadow:0 10px 35px #162c310b}.auth-panel{max-width:480px;margin-inline:auto}.auth-panel .coral-button{width:100%}.auth-switch{text-align:center;margin:22px 0 0;font-size:13px}.submit-auth-actions{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.plan-options label:has(input:checked){background:#fff8f5;border-color:#ed7c58;box-shadow:0 0 0 1px #ed7c58}.account-form{gap:20px;margin-top:25px;display:grid}.account-form>label,.account-form fieldset{color:#263841;gap:8px;font-size:13px;font-weight:700;display:grid}.account-form fieldset{border:0;margin:0;padding:0}.account-form legend{margin-bottom:10px}.account-form input:not([type=radio]),.account-form textarea,.account-form select{width:100%;font:inherit;background:#fff;border:1px solid #cbd7d9;border-radius:5px;padding:11px 13px;font-weight:400}.account-form textarea{resize:vertical}.account-form input:focus,.account-form textarea:focus,.account-form select:focus{outline-offset:1px;outline:2px solid #15b1a6}.account-note{color:#627178;font-size:11px;font-weight:400}.form-error{color:#a52f1d;background:#fff1ed;border-left:3px solid #df5536;padding:12px}.review-form{background:#fafcfc;border:1px solid #dce5e6;border-radius:8px;gap:15px;margin-top:25px;padding:23px;display:grid}.review-form h3{margin:0;font-size:19px}.review-form label{gap:7px;font-size:12px;font-weight:700;display:grid}.review-form fieldset{border:0;margin:0;padding:0;font-size:12px}.review-form legend{margin-bottom:7px;font-weight:700}.review-form input:not([type=radio]),.review-form textarea{width:100%;font:inherit;border:1px solid #ccd8da;border-radius:5px;padding:10px;font-weight:400}.review-form input[type=radio]{accent-color:#ed6b47}.rating-options{flex-wrap:wrap;gap:13px;display:flex}.rating-options label{align-items:center;gap:4px;display:flex}.review-form p{margin:0;font-size:12px}@media (width<=700px){.account-shell{padding:35px 16px}.account-panel{padding:20px}}@media (width<=900px){.container{width:min(100% - 40px,1280px)}.header-inner{gap:20px}.desktop-nav{gap:15px}.hero-art{opacity:.65;width:850px;right:-180px}}@media (width<=1050px){.desktop-nav,.header-actions{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;flex-direction:column;gap:5px;padding:10px;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{background:#fff;width:22px;height:2px;display:block}.mobile-nav nav{background:#071428;flex-direction:column;padding:10px 20px 18px;display:flex;position:absolute;top:70px;left:0;right:0;box-shadow:0 15px 25px #0004}.mobile-nav nav a{border-bottom:1px solid #224149;padding:11px 0}}@media (width<=700px){.container{width:min(100% - 32px,1280px)}.header-inner{height:66px}.brand{font-size:25px}.desktop-nav,.header-actions{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;flex-direction:column;gap:5px;padding:10px;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{background:#fff;width:22px;height:2px;display:block}.mobile-nav nav{background:#071428;flex-direction:column;padding:10px 20px 18px;display:flex;position:absolute;top:66px;left:0;right:0;box-shadow:0 15px 25px #0004}.mobile-nav nav a{border-bottom:1px solid #224149;padding:11px 0}.hero:before{background:linear-gradient(#061b22f2 0%,#061b22de 52%,#061b2285 100%)}.hero-inner{align-items:start;min-height:0}.hero-copy{width:100%;padding:36px 0 95px}.hero h1{max-width:550px;font-size:clamp(43px,11vw,60px)}.hero-lead{max-width:370px;font-size:14px}.hero-art{opacity:.65;width:610px;max-width:none;top:230px;right:-198px}.hero-short{clip-path:polygon(0 0,100% 0,100% 96%,0 100%);min-height:0}.hero-short .hero-inner{min-height:0}.hero-short .hero-copy{padding:26px 0 50px}.hero-short h1{font-size:clamp(35px,9vw,48px)}.hero-short .hero-art{opacity:.48;width:450px;top:130px;right:-150px}.popular{z-index:2;position:relative}.popular a+a:before{margin:0 7px}.search-form input{font-size:12px}.section{padding:42px 0}.section-title{font-size:33px}.section-heading{flex-direction:column;align-items:start;gap:6px}.listing-card p{font-size:13px}.listing-grid{grid-template-columns:1fr}.site-footer{padding:42px 0 22px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid a:not(.brand){margin:8px 0;font-size:13px}.footer-bottom{flex-direction:column;gap:6px;margin-top:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.affiliate-banner{border-radius:10px;margin:28px 0;line-height:0;transition:opacity .2s;display:block;overflow:hidden;box-shadow:0 4px 18px #00000018}.affiliate-banner:hover{opacity:.93}.affiliate-banner img{width:100%;height:auto;display:block}.affiliate-banner-mid{margin:0 0 12px}@media (pointer:coarse),(width<=700px){.mobile-nav summary,.header-search,.search-form button,.pagination a{min-width:44px;min-height:44px}.mobile-nav summary,.header-search,.search-form button{justify-content:center;align-items:center;display:inline-flex}}.commerce-options{background:#faf8ff;border:1px solid #e5def4;border-radius:12px;margin:26px 0;padding:22px}.commerce-options h2{font-size:22px}.commerce-options p{color:#657493;font-size:13px;line-height:1.6}.pro-entry{border:1px solid #e5def4;border-radius:9px;margin:15px 0;padding:16px}.analytics-scroll{margin-top:16px;overflow-x:auto}.analytics-scroll table{border-collapse:collapse;width:100%;font-size:12px}.analytics-scroll th,.analytics-scroll td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5def4;padding:10px}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff}.container{width:min(100% - 64px,1320px)}:focus-visible{outline-offset:4px;outline:3px solid #8b6aff}::selection{color:#24184f;background:#e1d8ff}.site-header{color:var(--ink);background:#fffffff7;border-bottom:1px solid #edf0f7}.header-inner{gap:48px;width:min(100% - 64px,1320px);height:72px}.brand{color:#0a1022;flex-shrink:0;line-height:0}.brand-logo{width:174px;height:auto;display:block}.footer-brand .brand-logo{width:192px}.desktop-nav{align-self:stretch;gap:28px;font-size:13px;font-weight:450}.desktop-nav>a{color:#354460;white-space:nowrap;align-self:stretch;align-items:center;display:flex;position:relative}.desktop-nav>a:hover,.desktop-nav>a[aria-current]{color:var(--accent)}.desktop-nav>a[aria-current]:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:9px;left:12%;right:12%}.header-actions{gap:17px}.header-auth-login{color:#354460;white-space:nowrap;font-size:13px}.header-auth-login:hover{color:var(--accent)}.header-search{color:#0b1530;width:34px}.header-cta{color:#fff;background:linear-gradient(120deg,#7542ff,#5527f5);border-radius:8px;min-height:42px;padding:10px 18px;font-size:12px;font-weight:550;box-shadow:0 4px 12px #6334ff16}.header-cta:hover{box-shadow:0 6px 18px #6334ff30}.mobile-nav summary span{background:#18223c}.mobile-nav nav{color:#354460;border-bottom:1px solid var(--line);background:#fff;top:72px;box-shadow:0 14px 30px #30266312}.mobile-nav nav a{border-color:var(--line)}.mobile-nav nav a[aria-current]{color:var(--accent);font-weight:650}.site-footer{color:#18223c;background:#fff;padding:35px 0 20px}.footer-grid{grid-template-columns:1.35fr .8fr .8fr .9fr 1.25fr;gap:40px}.footer-brand{font-size:27px}.footer-grid h2{color:#141a2c;margin:4px 0 14px;font-size:12px}.footer-grid p{color:#70809d;margin:10px 0;font-size:12px;line-height:1.6}.footer-grid a:not(.brand){color:#657493;margin:7px 0;font-size:12px}.footer-grid a:hover{color:var(--accent)}.footer-social-row{gap:15px;margin-top:14px}.footer-social-row a.footer-social{color:#334564}.newsletter-form{margin-top:12px}.newsletter-form input{color:#192139;background:#fff;border-color:#dce3ef;padding:11px 12px;font-size:12px}.newsletter-form input::placeholder{color:#7585a1}.newsletter-form button{color:#fff;background:linear-gradient(120deg,#7542ff,#5527f5);font-weight:500}.footer-grid .newsletter-status{color:#5840b0}@media (width<=700px){.site-header .brand-logo{width:136px}}@media (width<=360px){.header-actions .header-cta{display:none}}.footer-bottom{border-color:var(--line);color:#7887a2;gap:15px;margin-top:25px;padding-top:17px;font-size:11px}.inline-link{color:var(--accent);font-weight:550}.coral-button{color:#fff;background:linear-gradient(120deg,#7542ff,#5527f5);font-weight:600;box-shadow:0 4px 12px #6334ff20}.outline-button{color:#354460;background:#fff;border-color:#dce3ef;font-weight:550}.outline-button:hover{color:var(--accent);border-color:#bba7ff}.search-form{border-color:#e0e5ef;box-shadow:0 5px 18px #4150800a}.search-form button{color:#fff;background:linear-gradient(120deg,#7542ff,#5527f5)}.search-form button svg{color:#fff}.eyebrow{color:#6d7691;letter-spacing:.1em}.pill{color:#5a6b89;background:#f1f4fa;border-color:#e5eaf3}.vendor-mark{border-color:#e8ecf4;border-radius:10px}.section-soft{background:#fafbff}@media (width>=1051px) and (width<=1200px){.header-inner{gap:28px}.desktop-nav{gap:18px}.header-actions{gap:12px}.header-cta{padding-inline:13px}}@media (width<=1050px){.header-inner{gap:22px}.header-actions{display:flex}.header-auth-login{display:none}.mobile-nav{margin-left:0}.footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:28px}.footer-grid>div:last-child{grid-column:2/4}.newsletter-form{max-width:360px}}@media (width<=700px){.container,.header-inner{width:calc(100% - 36px)}.header-inner{gap:12px;height:64px}.brand{font-size:28px}.header-actions{gap:8px}.header-cta{min-height:38px;padding:8px 11px;font-size:11px}.header-search{display:none}.mobile-nav nav{padding:12px 22px 20px;top:64px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px 22px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.site-footer{padding-top:28px}.footer-bottom{flex-direction:column;align-items:flex-start;line-height:1.5}.newsletter-form{max-width:100%}.footer-grid a:not(.brand){align-items:center;min-height:26px;display:flex}.footer-social-row a.footer-social{min-height:32px}.footer-grid p{max-width:320px}}#main{--catalog-ink:#101326;--catalog-muted:#657391;--catalog-line:#e7eaf3;--surface-soft:#f8f9ff;--accent:#6334ff;--accent-dark:#4b22cf;--accent-soft:#f0ebff}#main .hero,#main .catalog-hero{color:#101326;clip-path:none;background:radial-gradient(at 88% 20%,#e1dcff 0%,#0000 48%),linear-gradient(120deg,#f7fbff 5%,#fafaff 55%,#eeecff);border-bottom:1px solid #eeedf8;border-radius:0 0 48% 3%/0 0 4% 1%}#main .hero:before,#main .catalog-hero:after{background:0 0}#main .hero-art,#main .catalog-hero-art{display:none}#main .hero-short,#main .hero-short .hero-inner{min-height:290px}#main .hero-short .hero-copy{max-width:880px;padding:48px 0 55px}#main .hero h1,#main .catalog-hero h1{color:#101326;letter-spacing:-.055em;font-weight:780;line-height:1.08}#main .hero-short h1{font-size:clamp(36px,4.2vw,57px)}#main .hero-lead,#main .catalog-hero-copy>p,#main .hero-audience{color:#596987}#main .hero-audience{border-color:#b7a5ff}#main .hero .eyebrow,#main .catalog-hero .eyebrow{color:#6944ce}#main .hero .breadcrumbs,#main .hero .breadcrumbs a,#main .hero .breadcrumbs span,#main .catalog-proof li{color:#677391}#main .hero .breadcrumbs a:hover,#main .catalog-proof svg{color:var(--accent)}#main .catalog-hero-copy{width:76%;max-width:920px}#main .catalog-hero--collections h1{white-space:normal}#main .catalog-search--hero,#main .category-hero-search{border-color:#e2e3f0;box-shadow:0 6px 25px #3b28690a}#main .catalog-search--hero .coral-button{color:#fff}#main .catalog{--catalog-ink:#101326;--catalog-muted:#657391;--catalog-line:#e7eaf3}#main .catalog-notice{background:#f6f4ff;border-color:#e9e2ff;border-radius:12px}#main .catalog-notice-icon,#main .catalog--collections .catalog-notice-icon{color:var(--accent);background:#eee7ff;border-color:#e5dcff;border-radius:13px}#main .catalog-outline-button{box-shadow:none;border-color:#d8d4ed;border-radius:8px}#main .catalog-outline-button:hover{color:var(--accent);background:#fcfbff;border-color:#b8a4fa}#main .catalog-view{background:#f8f7fd}#main .catalog-view button[aria-pressed=true]{color:var(--accent);background:#eee8ff;box-shadow:inset 0 0 0 1px #e2d8ff}#main .category-card,#main .collection-card,#main .comparison-card{background:linear-gradient(125deg,#fff 45%,#fbfaff);border-color:#e7eaf3;box-shadow:0 4px 20px #32285703}#main .category-card--business{background:linear-gradient(125deg,#fff 45%,#fffaf6);border-color:#e7eaf3}#main .category-symbol{color:var(--accent);background:#f0eaff;border-radius:14px}#main .category-card:nth-child(3n+2) .category-symbol{color:#0a9f97;background:#e7faf4}#main .category-card:nth-child(3n) .category-symbol{color:#1580ff;background:#eef6ff}#main .category-card h3,#main .collection-card h3{font-weight:700}#main .category-children a{color:#62718e;background:#fff;border-color:#e3e5ee;border-radius:6px}#main .category-children a:hover{color:var(--accent);border-color:#baabef}#main .catalog-round-link,#main .collection-card .catalog-round-link{color:#6b51a8;box-shadow:none;border-color:#e8e4f5}#main .catalog-round-link:hover{color:var(--accent);background:#f2eeff;border-color:#cdbefa}#main .collection-card .catalog-count,#main .catalog-text-link,#main .category-card h3 a:hover,#main .collection-card h3 a:hover,#main .comparison-tools a:hover,#main .comparison-tools b,#main .comparison-category svg{color:var(--accent)}#main .catalog-empty{background:#faf9ff;border-color:#d7ccf1}#main .catalog-art{opacity:.85}#main .comparison-criteria li{color:#68718a;background:#f5f5fc;border-color:#e7e5f1}#main .category-hero .catalog-hero-copy{width:64%}#main .category-hero-visual:before,#main .category-hero-visual:after{background:linear-gradient(145deg,#ffffff70,#d6cbff45);border-color:#d2c7fc}#main .category-glass-panel{color:#383052;background:linear-gradient(135deg,#ffffffb8,#e8e2ffbf);border-color:#fff;box-shadow:inset 0 1px 4px #fff,0 22px 45px #5c32c51a}#main .category-panel-title svg,#main .category-panel-row svg{color:#7446f8}#main .category-panel-row{color:#68708e;background:#ffffff85;border-color:#ded7f6}#main .category-hero-symbol{color:#6540ff;background:linear-gradient(145deg,#fff,#e9e3ff);border-color:#fff;box-shadow:inset 0 0 9px #fff,0 15px 35px #6747bb25}#main .category-hero-metric{background:linear-gradient(140deg,#a87bff,#6334ff);border-color:#cdbdff;box-shadow:0 15px 25px #704ddf2b}#main .category-hero-object{filter:drop-shadow(0 15px 14px #5435851c)}#main .category-guide-layout{grid-template-columns:minmax(0,1fr)}#main .guide-checklist,#main .cluster-resources{background:#faf9ff;border-color:#e6dff6 #e6dff6 #e6dff6 #a184ee;border-radius:12px}#main .guide-icon{color:var(--accent);background:#f1eaff;border-color:#e5dcfa}#main .guide-columns>section,#main .guide-depth>section,#main .resource-columns>div{background:#fff;border-color:#e8e8f1;border-radius:12px}#main .guide-links a,#main .resource-columns a,#main .resource-policy a{color:#5c3fb2}#main .category-empty-note{color:#66718b;background:#f7f5ff;border-color:#e5dcf8}#main .filter-choice,#main .row-main small{color:#657391}#main .filter-rail,#main .directory-list,#main .newsletter-card,#main .popular-card{border-color:#e7eaf3;border-radius:12px;box-shadow:0 4px 18px #312a6003}#main .filter-head a,#main .filter-choice:has(input:checked),#main .featured-note{color:var(--accent)}#main .filter-choice input,#main .compare-check{accent-color:var(--accent)}#main .filter-apply,#main .category-detail .filter-column .filter-apply,#main .newsletter-card button{color:#fff;background:linear-gradient(120deg,#7446ff,#5930f3);border-radius:8px}#main .directory-row{transition:background .18s}#main .directory-row:hover{background:#fcfbff}#main .row-main strong{color:#171a31;font-size:15px}#main .row-main small{font-size:12px;line-height:1.55}#main .row-tags .pill,#main .row-meta,#main .category-detail .row-tags .pill,#main .category-detail .row-meta{color:#687694;background:#f2f4fa}#main .row-arrow{color:#6c589c}#main .submit-tool-card,#main .newsletter-card{background:linear-gradient(135deg,#faf8ff,#fff);border-color:#ebe5f6}#main .submit-tool-icon,#main .newsletter-icon{color:var(--accent);background:#eee7ff;border-radius:10px}#main .submit-tool-card a{color:var(--accent);border-color:#ccbaf7}#main .popular-card h2 span{color:var(--accent)}#main .pagination a[aria-current]{background:var(--accent);border-color:var(--accent);color:#fff}#main .compare-tray{color:#19162d;background:#fff;border-color:#ddd5ef;box-shadow:0 12px 35px #35245824}#main .compare-tray #compare-names{color:#6a7191}#main .detail-hero{min-height:360px}#main .detail-hero-inner{min-height:360px;padding-top:26px;padding-bottom:42px}#main .detail-identity .vendor-mark{box-shadow:0 8px 25px #5a487a16}#main .detail-title-row h1{color:#111427}#main .detail-title-row>span{color:#6c42c5;background:#ede5ff}#main .detail-identity p{color:#4a5676;font-weight:500}#main .detail-summary{color:#63718b;font-size:14px;line-height:1.65}#main .dark-pill{color:#65547f;background:#ffffffa6;border-color:#dcd4eb;border-radius:6px}#main .glass-button,#main .github-button{color:#49425f;background:#ffffffb3;border-color:#d5cee5}#main .glass-button:hover,#main .github-button:hover{background:#fff;border-color:#b6a3e4}#main #compare-feedback{color:#5b3bb0}#main .detail-main h2{color:#17182c;font-size:27px}#main .detail-main .prose{color:#5a647b;font-size:14px;line-height:1.75}#main .capability-grid>.prose li,#main .capability-extra,#main .decision-review-grid>section{box-shadow:none;border-color:#e7e7f1;border-radius:12px}#main .capability-grid>.prose li,#main .capability-extra{font-size:13px;line-height:1.6}#main .technical-details{border-color:#e7e7f1;border-radius:9px;font-size:12px}#main .technical-details div:nth-child(odd),#main .decision-review-grid>section,#main .why-panel blockquote{background:#faf9fd}#main .why-panel blockquote:before{color:#9a75e3}#main .profile-official-resources a,#main .technical-details a,#main .detail-editorial .prose a,#main .why-panel .prose a,#main .screenshot-source a,#main .decision-checks a{color:#6643b5}#main .profile-tool-cta{color:#22183e;box-shadow:none;background:radial-gradient(at 85% 80%,#d8c5ff,#0000 55%),linear-gradient(120deg,#edf5ff,#f4ecff);border-radius:14px}#main .profile-tool-cta h2{color:#22183e}#main .profile-tool-cta p,#main .profile-tool-cta li{color:#6c5e82}#main .profile-tool-cta>div>span,#main .profile-tool-cta li svg{color:var(--accent)}#main .reviews blockquote{background:#faf9fe;border-color:#b89af0}#main .selected-tool{border:1px solid #e0daee;border-radius:9px}#main .selected-tools select{color:#5a4b77;background:#ffffffa3;border-color:#baaadf;border-radius:9px}#main .comparison-scroll{border-color:#e6e5ef;border-radius:12px;box-shadow:0 6px 25px #362a5105}#main .comparison-table thead th,#main .comparison-table .group-row th,#main .decision-matrix thead th{background:#f8f6ff}#main .group-row th:before{background:var(--accent)}#main .external-link,#main .comparison-card-links,#main .compare-note a,#main .comparison-sources a,#main .method-links a,#main .decision-matrix a,#main .collection-layout>aside a,#main .results-head>a,#main .pagination a{color:#6340b4}#main .editorial-context,#main .decision-note,#main .collection-layout>aside,#main .decision-box,#main .alternative-note,#main .poc,#main .poc-frame{background:#faf8ff;border-color:#e4dcee #e4dcee #e4dcee #a68bdb;border-radius:12px}#main .alternative-note a,#main .alternative-index b,#main .candidate-links a{color:var(--accent)}#main .article-hero{padding:35px 0 50px}#main .article-hero .breadcrumbs,#main .article-hero .breadcrumbs a,#main .article-hero .breadcrumbs span{color:#6b7290}#main .article-subhead{color:#63718d}#main .article-byline,#main .article-byline time{color:#7c8297}#main .article-byline a{color:#6c46b7}#main .share-bar-article .share-label{color:#78758b}#main .share-btn-article{color:#67547e;background:#ffffff9c;border-color:#dcd3ec;border-radius:9px}#main .share-btn-article:hover{background:#fff;border-color:#bba4df}#main .article-cover{border-radius:15px;box-shadow:0 8px 32px #4032580c}#main .article-content a,#main .article-sidebar>a:hover,#main .article-sidebar>a span,#main .author-box a,#main .editorial-note a{color:#6540b8}#main .article-content h3{border-left-color:#b093e3}#main .article-content code:not(pre code){color:#604781;background:#f3eefa;border-color:#e6dcf1}#main .article-content blockquote{color:#655574;background:#f9f6ff;border-color:#b594e9}#main .article-content thead,#main .article-content th{background:#f6f2fb}#main .article-content tr:nth-child(2n),#main .related-tool,#main .author-box,#main .editorial-note{background:#fcfbfe;border-color:#e8e4ef;border-radius:12px}#main .article-disclosure,#main .paid-disclosure{background:#faf5ff;border-color:#ac82df}#main .account-shell{background:linear-gradient(145deg,#f8faff,#faf8ff)}#main .account-panel,#main .contact-form{background:#fff;border-color:#e7e5f0;border-radius:15px;box-shadow:0 8px 30px #3e2d5e07}#main .account-form input:not([type=radio]),#main .account-form textarea,#main .account-form select,#main .contact-form input,#main .contact-form textarea,#main .review-form input:not([type=radio]),#main .review-form textarea{border-color:#dcddea;border-radius:8px}#main .review-form{background:#fcfbff;border-color:#e7e2ef;border-radius:12px}#main .review-form input[type=radio]{accent-color:var(--accent)}#main .account-form input:focus,#main .account-form textarea:focus,#main .account-form select:focus{outline-color:#ac8cfa}#main .plan-options label:has(input:checked){background:#faf6ff;border-color:#9974ed;box-shadow:0 0 0 1px #9974ed}#main .contact-topics,#main .coverage,#main .author-policy,#main .vendor-copy aside,#main .author-layout aside{background:#faf8ff;border-color:#e5dced #e5dced #e5dced #b093df;border-radius:12px}#main .account-shell a:not(.coral-button):not(.outline-button),#main .contact-layout .muted a,#main .editorial-process a,#main .vendor-copy aside a,#main .vendor-grid span,#main .author-card strong,#main .author-layout aside a,#main .author-policy a,#main .author-articles span{color:#6945b6}#main .vendor-grid article,#main .author-card,#main .alternative-index>a,#main .award-card,#main .production-frame,#main .candidate-notes article{box-shadow:none;border-color:#e7e5ef;border-radius:12px}#main .author-card>span{color:#755196;background:#f2e9fb;border-radius:12px}#main .award-category{color:var(--accent)}#main .dashboard-shell{border:1px solid #e8e5f0;border-radius:16px;margin-block:28px;overflow:hidden;box-shadow:0 10px 35px #3e2d5e06}#main .dashboard-shell .border{background-color:#fff;border-radius:12px}#main .dashboard-shell nav button,#main .dashboard-shell a.bg-violet-600,#main .dashboard-shell button.bg-violet-600,#main .dashboard-shell input,#main .dashboard-shell textarea{border-radius:8px}#main .dashboard-shell input:focus,#main .dashboard-shell textarea:focus{outline-offset:2px;outline:2px solid #c4aff3}@media (width>=1051px){#main .directory-shell.has-discovery-rail .directory-row{grid-template-columns:18px minmax(0,1fr) minmax(145px,195px) 24px;gap:12px}}@media (width<=850px){#main .catalog-hero-copy{width:100%}#main .category-hero .catalog-hero-copy{width:76%}#main .category-hero-visual{opacity:.5}}@media (width<=700px){#main .hero-short,#main .hero-short .hero-inner,#main .detail-hero,#main .detail-hero-inner{min-height:0}#main .hero-short .hero-copy{padding:35px 0 40px}#main .hero-short h1{font-size:clamp(32px,8.7vw,45px)}#main .catalog-hero-copy,#main .category-hero .catalog-hero-copy{width:100%}#main .category-hero-visual{display:none}#main .detail-hero-inner{padding:20px 0 35px}#main .detail-main .prose{font-size:14px}#main .article-hero{padding:26px 0 35px}#main .article-hero h1{font-size:clamp(32px,8.5vw,46px)}#main .article-subhead{font-size:16px}#main .dashboard-shell{border-inline:0;border-radius:0;margin-block:0}}.account-controls[hidden],.account-controls [hidden]{display:none!important}.account-controls-header{flex:none;align-items:center;min-width:0;max-width:116px;display:flex}.account-controls-header .account-guest{align-items:center;min-height:40px;display:flex}.account-controls-header .account-member{min-width:0;max-width:100%}.account-menu{color:#354460;max-width:100%;position:relative}.account-menu>summary{cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:6px;min-width:0;max-width:116px;min-height:40px;padding:8px 0;font-size:13px;line-height:1.4;list-style:none;display:flex}.account-menu>summary::-webkit-details-marker{display:none}.account-menu [data-account-name]{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:98px;display:block;overflow:hidden}.account-menu-chevron{flex:none;transition:transform .15s}.account-menu[open]>summary,.account-menu>summary:hover{color:#6334ff}.account-menu[open] .account-menu-chevron{transform:rotate(180deg)}.account-menu-panel{z-index:50;white-space:normal;background:#fff;border:1px solid #e6e1f1;border-radius:10px;width:208px;max-width:calc(100vw - 36px);padding:7px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 10px 32px #35235418}.account-menu-panel>a,.account-menu-panel>button{color:#354460;width:100%;min-height:40px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;margin:0;padding:10px 12px;font-size:13px;line-height:1.4;text-decoration:none;display:flex}.account-menu-panel>a:hover,.account-menu-panel>button:hover{color:#6334ff;background:#f5f0ff}.account-controls button:disabled{cursor:wait;opacity:.6}.account-controls a:focus-visible,.account-controls button:focus-visible,.account-menu>summary:focus-visible{outline-offset:3px;outline:3px solid #a58aff}.account-controls .account-error{color:#b42332;overflow-wrap:anywhere;white-space:normal;margin:8px 5px 3px;font-size:12px;line-height:1.5}.account-controls-mobile,.account-controls-mobile .account-guest,.account-controls-mobile .account-member{width:100%;min-width:0}.account-controls-mobile a,.account-controls-mobile .account-logout-link{border:0;color:#354460;width:100%;min-height:44px;font:inherit;text-align:left;background:0 0;border-bottom:1px solid #e8ecf4;border-radius:0;justify-content:flex-start;align-items:center;margin:0;padding:11px 0;font-size:14px;line-height:1.4;text-decoration:none;display:flex}.account-controls-mobile a:hover,.account-controls-mobile .account-logout-link:hover{color:#6334ff}.account-controls-mobile .account-error{margin:10px 0 0}.account-controls-footer .account-logout-link{color:#657493;width:fit-content;min-height:20px;font:inherit;text-align:left;background:0 0;border:0;margin:7px 0;padding:0;font-size:12px;line-height:1.4;display:block}.account-controls-footer .account-logout-link:hover{color:#6334ff}.account-controls-footer .account-error{margin:8px 0 0;font-size:11px}@media (width>=1051px) and (width<=1200px){.account-controls-header,.account-menu>summary{max-width:100px}.account-menu [data-account-name]{max-width:82px}}@media (width<=1050px){.account-controls-header{display:none!important}}@media (width<=700px){.account-controls-footer .account-logout-link{align-items:center;min-height:26px;display:flex}}:root{--layout-max:1320px;--layout-gutter:32px;--reading-max:790px;--form-max:520px;--color-heading:#101426;--color-body:#435474;--color-muted:#657493;--color-accent:#6334ff;--color-line:#e8ecf4;--color-surface:#f8f9ff;--type-page-title:clamp(32px,4vw,52px);--type-compact-title:clamp(32px,3vw,40px);--type-section-title:clamp(24px,2.2vw,28px);--type-form-title:32px;--type-subtitle:17px;--type-body:16px;--type-small:13px;--space-section:48px;--space-block:24px;--hero-space-top:48px;--hero-space-bottom:56px;--hero-surface:radial-gradient(ellipse at 86% 25%,#e3ddff 0%,transparent 52%),linear-gradient(120deg,#f7fbff,#fafaff 55%,#f0edff);--ink:var(--color-heading);--muted:var(--color-muted);--accent:var(--color-accent);--line:var(--color-line);--navy:var(--color-heading);--navy2:#252044;--coral:var(--color-accent);--teal:var(--color-accent);--paper:#fff;--accent-soft:#f1edff}#main{--catalog-ink:var(--color-heading);--catalog-muted:var(--color-muted);--catalog-line:var(--color-line);--accent:var(--color-accent);--surface-soft:var(--color-surface)}body :is(.header-inner,.footer-grid,.footer-bottom,.visual-container),body #main :is(.container,.about-wrap,.terms-wrap,.vendor-wrap,.submission-container,.dashboard-shell){width:min(var(--layout-max),calc(100% - var(--layout-gutter) - var(--layout-gutter)));max-width:none;margin-inline:auto}body #main .dashboard-shell{padding-inline:0}body #main :is(.about-section-1,.about-stats,.about-section-2 .about-cards){margin-inline:0}body #main :is(.section,.section-soft){padding-block:var(--space-section)}body #main :is(.catalog-body,.hub-content,.editorial-content,.insights-layout,.comparison-layout,.terms-layout,.detail-layout,.about-body,.vendor-body){padding-top:var(--space-section);padding-bottom:var(--space-section)}.site-breadcrumbs{color:var(--color-muted);background:#f8f9ff;font-size:12px;line-height:1.5}.site-breadcrumbs ol{flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding-block:16px;padding-inline:0;list-style:none;display:flex}.site-breadcrumbs li{overflow-wrap:anywhere;align-items:baseline;gap:10px;min-width:0;display:inline-flex}.site-breadcrumbs li+li:before{content:"›";color:#8b91a5}.site-breadcrumbs a:hover{color:var(--color-accent);text-decoration:underline}.site-breadcrumbs [aria-current]{color:var(--color-heading);font-weight:500}html #main [data-visual-hero]{background:var(--hero-surface);height:auto;min-height:0;color:var(--color-heading);border-bottom:1px solid var(--color-line);clip-path:none;border-radius:0;padding:0}html #main [data-visual-hero]>:is(.container,.about-wrap,.terms-wrap,.vendor-wrap):not(.browse-tabs){min-height:340px;padding-block:var(--hero-space-top) var(--hero-space-bottom);align-items:start}html #main [data-visual-hero] :is(.hero-copy,.stack-hero-copy,.terms-hero-copy,.directory-hero-copy,.catalog-hero-copy){min-width:0;max-width:790px;padding-block:0}html #main h1,html #main [data-visual-hero] h1{color:var(--color-heading);font-family:inherit;font-size:var(--type-page-title);letter-spacing:-.045em;white-space:normal;text-wrap:balance;overflow-wrap:anywhere;margin:16px 0;font-weight:760;line-height:1.08}html #main [data-visual-hero] h1 em{color:var(--color-accent);font-style:normal}html #main [data-visual-hero] :is(.hero-lead,.article-subhead,.detail-summary,.terms-intro,.about-intro p,.stack-hero-copy>p,.hub-hero-inner>div>p,.browse-hero-inner>div>p,.catalog-hero-copy>p,.vendor-hero-grid>div>p,.submission-hero>p){font-size:var(--type-subtitle);letter-spacing:normal;color:var(--color-body);max-width:690px;margin:0 0 24px;font-weight:400;line-height:1.65}html #main [data-visual-hero] :is(.terms-updated,p:has(>time),.article-byline){font-size:var(--type-small);color:var(--color-muted);line-height:1.6}html #main :is(.stack-kicker,.browse-kicker,.hub-kicker,.about-kicker,.terms-kicker,.vendor-kicker,.eyebrow,.submission-kicker){color:var(--color-muted);letter-spacing:.09em;text-transform:uppercase;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:0;font-size:11px;font-weight:650;line-height:1.5;display:flex}html #main :is(.stack-kicker,.browse-kicker,.hub-kicker,.about-kicker,.terms-kicker,.vendor-kicker,.eyebrow,.submission-kicker):before{content:"";background:var(--color-accent);flex:none;width:24px;height:2px;display:block}html #main .stack-kicker>span{display:none}html #main :is(.stack-heading,.section-header,.about-section,.about-faq,.catalog-section-heading,.vendor-section-heading,.editorial-article>section,.profile-screenshots,.profile-reviews,.newsletter-principles,.comparison-section) h2,html #main :is(.hub-section-title,.vendor-section-title){font-size:var(--type-section-title);letter-spacing:-.03em;color:var(--color-heading);font-weight:720;line-height:1.25}html #main :is(.hero-lead,.prose,.editorial-article){color:var(--color-body)}html #main .detail-identity{align-items:flex-start;max-width:870px}html #main .detail-identity>div{flex:1;min-width:0}html #main .detail-identity .vendor-mark{flex:none;order:2}html #main .detail-identity p{font-size:var(--type-subtitle);color:var(--color-body);margin:0;line-height:1.65}html #main .detail-title-row{align-items:center}html #main .article-hero h1{max-width:1000px}html #main .article-layout{width:min(var(--layout-max),calc(100% - var(--layout-gutter) - var(--layout-gutter)))}html #main .account-shell{padding:var(--space-section) var(--layout-gutter);background:var(--color-surface)}html #main .auth-panel{width:100%;max-width:var(--form-max);margin-inline:auto}html #main .account-shell>.account-panel{max-width:var(--reading-max);margin-inline:auto}html #main .account-shell>.auth-panel{max-width:var(--form-max)}html #main :is(.account-panel,.dashboard-main) h1{font-size:var(--type-form-title);letter-spacing:-.035em;line-height:1.15}html #main .submission-hero[data-visual-hero]{padding:var(--hero-space-top) 0 var(--space-block);background:0 0;border:0}html #main .submission-page{padding-inline:0;padding-top:0}body .site-footer{padding-top:var(--space-section);padding-bottom:24px}html #main .newsletter-wrap aside{border-color:var(--color-line);background:#fff}html #main .newsletter-wrap aside :is(h2,ul,small),html #main .newsletter-page-form label{color:var(--color-body)}html #main .newsletter-page-form button{background:var(--color-accent)}@media (width<=1050px){:root{--layout-gutter:24px}}@media (width<=700px){:root{--layout-gutter:18px;--type-subtitle:16px;--type-form-title:28px;--space-section:32px;--space-block:20px;--hero-space-top:32px;--hero-space-bottom:36px}html #main [data-visual-hero]>:is(.container,.about-wrap,.terms-wrap,.vendor-wrap):not(.browse-tabs){min-height:0}html #main [data-visual-hero] :is(.hero-copy,.stack-hero-copy,.terms-hero-copy){max-width:none}.site-breadcrumbs ol{padding-block:12px;font-size:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.operator-address{color:var(--color-body);font-style:normal;line-height:1.65}html body .mobile-nav>summary{min-width:44px;min-height:44px}html .vendor-mark{box-sizing:border-box;aspect-ratio:1;flex:none}html #main .author-box>img{float:left;object-fit:cover;border-radius:8px;margin:0 16px 8px 0}html #main .author-box{display:flow-root}@media (width<=700px){html body :is(button,select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),summary){min-height:44px}html body :is(.header-search,.mobile-nav>summary,.footer-social,.site-footer a,.footer-bottom button){min-width:44px;min-height:44px}html body .site-footer a{align-items:center;display:inline-flex}html #main :is(.pagination a,.filter-choice,.filter-apply,.sort-form select,.browse-controls a,.browse-controls button,.directory-search button,.directory-chips a,.browse-tabs a,.directory-hints a,.row-arrow,.row-compare){min-width:44px;min-height:44px}html #main .row-compare{cursor:pointer;place-items:center;display:grid}html #main .directory-list:not([data-view=grid]) .directory-row{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}html #main .directory-list[data-view=grid] .row-compare{top:4px;right:4px}html #main .directory-list[data-view=grid] .row-main{padding-right:38px}html #main .pagination{flex-wrap:wrap}html #main .resource-columns{grid-template-columns:1fr}html #main :is(.resource-columns a,.comparison-sources a,.catalog-outline-button,.filter-head a,.category-filter-search){align-items:center;min-height:44px;display:flex}html #main :is(.pagination a,.directory-chips a,.directory-hints a){justify-content:center;align-items:center;display:inline-flex}html #main :is(.collection-layout>aside a,.collection-layout .results-head>a,.collection-layout h3>a,.collection-layout .decision-note li>a,.tool-links a,.candidate-links a,.alternative-sources a,.comparison-table .external-link,.article-byline a,.detail-pills a,.detail-layout dd a,.profile-official-resources>div>a,.detail-aside a,.detail-actions a,.detail-actions button,.profile-tool-cta a,.inline-link,.decision-checks>a){align-items:center;min-width:44px;max-width:100%;min-height:44px;display:inline-flex}html #main :is(.coral-button,.glass-button,.outline-button,.side-action,.github-button){min-width:44px;min-height:44px}html #main .github-button{justify-content:center}html #main .comparison-table :is(th:first-child,td:first-child){position:static;left:auto}}html #main [data-visual-hero=compact]{--hero-space-top:24px;--hero-space-bottom:28px;background:linear-gradient(120deg,#fff,#fcfcff)}html #main [data-visual-hero=compact]>:is(.container,.about-wrap,.terms-wrap,.vendor-wrap):not(.browse-tabs){min-height:0}html #main [data-visual-hero=compact] h1{font-size:var(--type-compact-title);margin:0 0 8px;line-height:1.15}html #main [data-visual-hero=compact] .eyebrow{margin-bottom:12px}html #main [data-visual-hero=compact] .hero-lead{margin-bottom:0;font-size:16px}@media (width<=700px){html #main [data-visual-hero=compact]{--hero-space-top:18px;--hero-space-bottom:22px}}html #main .browse-hero-compact .browse-hero-inner{display:block}html #main .browse-hero-compact .browse-hero-copy{grid-template-columns:minmax(0,1fr) auto;column-gap:24px;min-width:0;display:grid}html #main .browse-hero-compact .browse-hero-heading{grid-area:1/1}html #main .browse-hero-compact .browse-hero-copy>:is(p,ul,form,nav){grid-column:1/-1}html #main .browse-hero-compact .browse-guide-link{grid-area:1/2;align-self:center}html #main .browse-guide-link{min-height:44px;color:var(--color-accent);background:#fff;border:1px solid #d9cef9;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:13px;line-height:1.4;display:inline-flex}html #main .browse-guide-link svg{flex:none}html #main .browse-hero-compact[data-visual-hero] .browse-hero-copy>p{max-width:none;margin:0 0 4px;font-size:16px;line-height:1.5}html #main .browse-inline-stats{color:var(--color-muted);flex-wrap:wrap;gap:8px 20px;margin:0 0 12px;padding:0;font-size:13px;line-height:1.6;list-style:none;display:flex}html #main .browse-inline-stats li+li{border-left:1px solid #d8ddeb;padding-left:20px}html #main .browse-inline-stats strong{color:var(--color-body);font-weight:650}html #main .browse-hero-compact .browse-search{border-color:#dce1ee;border-radius:10px;gap:12px;padding:2px 2px 2px 16px;box-shadow:0 4px 12px #2e255408}html #main .browse-hero-compact .browse-search input{padding-block:10px;font-size:15px;line-height:1.5}html #main .browse-hero-compact .browse-search button{background:var(--color-accent);width:auto;min-width:106px;height:44px;box-shadow:none;justify-content:center;align-items:center;gap:12px;padding-inline:16px;font-size:13px;font-weight:600;display:flex}html #main .browse-hero-compact .browse-tabs{gap:8px;margin-top:12px;padding-bottom:0}html #main .browse-hero-compact .browse-tabs a{border:1px solid var(--color-line);min-height:44px;color:var(--color-body);box-shadow:none;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:9px 14px;font-size:13px;line-height:1.4;display:inline-flex}html #main .browse-hero-compact .browse-tabs a[aria-current=page]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}html #main .browse-tab-count{color:var(--color-accent);font-variant-numeric:tabular-nums;background:#ede9ff;border-radius:5px;padding:2px 6px;font-size:11px;line-height:1.4}html #main .browse-tabs a[aria-current=page] .browse-tab-count{color:#fff;background:#ffffff26}html #main .directory-shell.is-browse{gap:24px;margin-top:0;padding-top:24px}html #main .is-browse .filter-rail{border-color:var(--color-line);border-radius:10px;padding:20px 16px}html #main .is-browse .filter-rail>form{padding:0}html #main .is-browse .filter-head{align-items:center;font-size:15px}html #main .is-browse .filter-head a{color:var(--color-accent);font-size:12px}html #main .filter-auto-note{color:var(--color-muted);margin:8px 0 0;font-size:12px;line-height:1.5}html #main [data-filter-apply][hidden]{display:none}html #main .is-browse .filter-rail fieldset{border-bottom-color:var(--color-line);padding-block:16px}html #main .is-browse .filter-rail legend{color:var(--color-heading);margin-bottom:4px;font-size:13px;font-weight:650}html #main .is-browse .filter-choice{min-height:28px;color:var(--color-body);cursor:pointer;gap:10px;margin:4px 0;font-size:13px;line-height:1.5}html #main .is-browse .filter-choice input{width:15px;height:15px;accent-color:var(--color-accent)}html #main .is-browse .filter-choice small{color:var(--color-muted);font-size:12px}html #main .is-browse .submit-tool-card{background:#faf8ff;border-color:#e1d8f7;padding:20px 16px}html #main .is-browse .submit-tool-card h2{font-size:15px}html #main .is-browse .submit-tool-card p{color:var(--color-muted);font-size:13px}html #main .is-browse .submit-tool-card a{min-height:44px;color:var(--color-accent);align-items:center;font-size:13px}html #main .is-browse .results-top{flex-wrap:wrap;gap:12px;margin:0 0 16px}html #main .is-browse .results-top h2{letter-spacing:-.025em;font-size:20px;line-height:1.4}html #main .is-browse .browse-controls{gap:8px}html #main .is-browse .browse-controls>a{min-height:44px;color:var(--color-body);border-color:var(--color-line);align-items:center;gap:5px;padding:9px 12px;font-size:12px;display:inline-flex}html #main .is-browse .browse-controls button{min-height:38px;color:var(--color-muted);gap:6px;padding:8px 10px;font-size:12px}html #main .is-browse .browse-controls button[aria-pressed=true]{color:var(--color-accent);background:#ede8ff}html #main .is-browse .sort-form{gap:8px;font-size:12px}html #main .is-browse .sort-form select{min-height:44px;color:var(--color-body);border-color:var(--color-line);background:#fff;padding:10px 28px 10px 12px;font-size:12px}html #main .directory-quick-filters{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:12px;display:flex}html #main .directory-quick-filters a{border:1px solid var(--color-line);background:var(--color-surface);min-height:36px;color:var(--color-body);border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:12px;line-height:1.5;display:inline-flex}html #main .directory-quick-filters a[aria-pressed=true],html #main .directory-quick-filters a[aria-current=true]{color:var(--color-accent);background:#ede8ff;border-color:#d6c7ff}html #main .is-browse .directory-list{border-color:var(--color-line);border-radius:10px}html #main .is-browse .directory-list:not([data-view=grid]) .directory-row{border-bottom-color:var(--color-line);grid-template-columns:24px minmax(0,1fr) 160px 110px;gap:16px;min-height:108px;padding:20px 16px}html #main .is-browse .row-main{gap:16px}html #main .is-browse .row-main strong{letter-spacing:-.02em;color:var(--color-heading);font-size:15px;font-weight:650;line-height:1.4}html #main .is-browse .row-main small{color:var(--color-muted);margin-top:4px;font-size:13px;line-height:1.6}html #main .is-browse .row-tags{gap:6px}html #main .is-browse .row-tags .pill{background:var(--color-surface);color:var(--color-body);border-radius:5px;padding:5px 8px;font-size:11px;font-weight:600;line-height:1.4}html #main .is-ai .row-tags .row-type{color:#5933b8;background:#eee9ff}html #main .is-browse .row-meta{background:var(--color-surface);color:var(--color-muted);padding:4px 6px;font-size:11px;line-height:1.4}html #main .is-browse .row-activity{display:none}html #main .is-browse .row-arrow{min-height:44px;color:var(--color-accent);white-space:nowrap;justify-content:flex-end;align-items:center;gap:7px;font-size:12px;display:flex}html #main .is-browse .row-arrow svg{flex:none}html #main .is-browse .directory-list[data-view=grid]{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}html #main .is-browse [data-view=grid] .directory-row{border-color:var(--color-line);grid-template-columns:minmax(0,1fr);gap:16px;padding:20px}html #main .is-browse [data-view=grid] .row-main{padding-right:24px}html #main .is-browse [data-view=grid] .row-arrow{grid-column:1/-1;justify-content:flex-start}html #main .is-browse .pagination{gap:8px;margin-top:24px}html #main .is-browse .pagination a{justify-content:center;align-items:center;min-width:36px;min-height:36px;font-size:13px;display:inline-flex}html #main .choosing-guide-compact{margin-top:32px;scroll-margin-top:24px}html #main .choosing-guide-compact .choosing-panel{background:#faf8ff;border-color:#e3daf9;padding:20px}html #main .choosing-guide-compact .choosing-panel header{align-items:flex-start;gap:16px;padding:0}html #main .choosing-guide-compact .choosing-panel h2{margin-bottom:5px;font-size:18px}html #main .choosing-guide-compact .choosing-panel header p{color:var(--color-muted);font-size:13px}html #main .choosing-guide-compact .choosing-panel header>a{min-height:44px;color:var(--color-accent);align-items:center;gap:8px;font-size:12px;display:inline-flex}html #main .choosing-guide-compact [data-guide-dismiss]{place-items:center;width:32px;height:32px;display:grid}html #main .choosing-details>summary{width:fit-content;min-height:44px;color:var(--color-accent);cursor:pointer;align-content:center;margin-top:8px;padding:8px 0;font-size:13px;font-weight:600}html #main .choosing-details[open] .choosing-cards{margin-top:12px}html #main .choosing-guide-compact .choosing-cards :is(h3,p){font-size:13px}html #main .choosing-guide-compact .choosing-checklist :is(strong,span){font-size:12px}html #main .choosing-guide-compact .guide-reopen{min-height:44px;font-size:13px}@media (width<=1100px){html #main .is-browse .directory-list:not([data-view=grid]) .directory-row{grid-template-columns:24px minmax(0,1fr) 130px 44px;gap:12px}html #main .is-browse .row-arrow-label{display:none}html #main .is-browse [data-view=grid] .row-arrow-label{display:inline}html #main .is-browse .directory-list[data-view=grid]{grid-template-columns:repeat(2,minmax(0,1fr))}html #main .choosing-guide-compact .choosing-panel header{flex-wrap:wrap}html #main .choosing-guide-compact .choosing-panel header>div{flex-basis:calc(100% - 120px)}}@media (width<=700px){html #main .browse-hero-compact .browse-hero-copy{display:block}html #main .browse-hero-compact .browse-guide-link{margin-bottom:20px}html #main .browse-inline-stats{gap:6px 14px;margin-bottom:20px;font-size:12px}html #main .browse-inline-stats li+li{border:0;padding-left:0}html #main .browse-hero-compact .browse-search{gap:8px;padding-left:12px}html #main .browse-hero-compact .browse-search input{font-size:16px}html #main .browse-hero-compact .browse-search button{gap:0;min-width:76px;padding-inline:12px}html #main .browse-hero-compact .browse-search button svg{display:none}html #main .browse-hero-compact .browse-tabs{gap:8px;padding-bottom:6px}html #main .browse-hero-compact .browse-tabs a{padding-inline:12px;font-size:12px}html #main .directory-shell.is-browse{margin-top:0;padding-top:24px}html #main .guide-links a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}html #main .is-browse .filter-rail{padding:12px 16px}html #main .is-browse .filter-rail>summary{align-content:center;align-items:center;min-height:44px;padding:0;font-size:14px}html #main .is-browse .filter-choice{min-height:44px;margin:0}html #main .is-browse .results-top{margin-top:20px}html #main .is-browse .results-top h2{width:100%;font-size:19px}html #main .is-browse .browse-controls{flex-wrap:wrap;gap:6px}html #main .is-browse .browse-controls button{min-height:44px;padding-inline:9px}html #main .is-browse .sort-form select{max-width:120px;padding-inline:10px}html #main .directory-quick-filters a{min-height:44px}html #main .is-browse .directory-list:not([data-view=grid]) .directory-row{grid-template-columns:44px minmax(0,1fr) 44px;gap:10px 8px;padding:16px 10px}html #main .is-browse .directory-list:not([data-view=grid]) .row-main{grid-column:2/-1;gap:12px}html #main .is-browse .directory-list:not([data-view=grid]) .row-tags{grid-area:2/2}html #main .is-browse .directory-list:not([data-view=grid]) .row-arrow{grid-area:2/3;justify-content:center}html #main .is-browse .row-main small{-webkit-line-clamp:3}html #main .is-browse .directory-list[data-view=grid]{grid-template-columns:minmax(0,1fr)}html #main .is-browse [data-view=grid] .row-main{padding-right:38px}html #main .is-browse .pagination a{min-width:44px;min-height:44px}html #main .choosing-guide-compact .choosing-panel{padding:16px}html #main .choosing-guide-compact .choosing-panel header{gap:12px}html #main .choosing-guide-compact .choosing-panel header>div{flex-basis:calc(100% - 64px)}html #main .choosing-guide-compact [data-guide-dismiss]{min-width:44px;min-height:44px;margin-left:auto}html #main .choosing-guide-compact .choosing-panel header>a{max-width:calc(100% - 56px)}html #main .choosing-guide-compact .choosing-cards article{padding-left:60px}}html #main .author-profile-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:32px;display:grid}html #main .author-profile-hero .author-profile-role{margin-bottom:12px}html #main .author-profile-location{color:var(--color-body);align-items:center;gap:10px;margin:0 0 12px;font-size:14px;display:flex}html #main .author-profile-location svg{color:var(--color-accent);flex:none}html #main .author-profile-tagline{color:var(--color-body);max-width:690px;margin:0 0 16px;font-size:16px;line-height:1.65}html #main .author-profile-socials{flex-wrap:wrap;gap:12px;display:flex}html #main .author-profile-socials a{border:1px solid var(--color-accent);min-height:44px;color:var(--color-accent);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:8px 16px;font-size:14px;font-weight:650;display:inline-flex}html #main .author-profile-socials a:hover{background:#f1edff}html #main .author-profile-portrait{border-radius:8px;justify-self:end;width:100%;height:auto;display:block}html #main .author-profile-nav{border-bottom:1px solid var(--color-line)}html #main .author-profile-nav>.container{flex-wrap:wrap;column-gap:32px;display:flex}html #main .author-profile-nav a{min-height:48px;color:var(--color-muted);border-bottom:2px solid #0000;align-items:center;padding:8px 0;font-size:14px;display:inline-flex}html #main .author-profile-nav a:is(:hover,:focus-visible),body:not(:has(.author-profile-body :target)) #main .author-profile-nav a[href=\#about],body:has(#about:target) #main .author-profile-nav a[href=\#about],body:has(#companies:target) #main .author-profile-nav a[href=\#companies],body:has(#media-community:target) #main .author-profile-nav a[href=\#media-community],body:has(#open-source:target) #main .author-profile-nav a[href=\#open-source],body:has(#articles:target) #main .author-profile-nav a[href=\#articles]{color:var(--color-accent);border-bottom-color:var(--color-accent)}html #main .author-profile-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;display:grid}html #main .author-profile-layout-solo{grid-template-columns:minmax(0,1fr)}html #main .profile-canvas{background:#fff}html #main .tool-profile-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-areas:"navigation navigation""orientation orientation""content side";align-items:start;gap:0 32px;padding-bottom:32px;display:grid}html #main .profile-canvas>.detail-hero{background:var(--hero-surface);border:0;border-bottom:1px solid var(--color-line);box-shadow:none;border-radius:0}html #main .profile-canvas .detail-hero-inner{padding-block:var(--hero-space-top) var(--hero-space-bottom);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:32px;min-width:0;min-height:0;display:grid}html #main .profile-canvas .detail-identity{align-items:center;gap:16px;max-width:none;display:flex}html #main .profile-canvas .detail-identity .vendor-mark{border:1px solid var(--color-line);background:#fff;border-radius:14px;order:2;box-shadow:0 8px 24px #412c7814}html #main .profile-canvas .detail-identity>div{min-width:0}html #main .profile-canvas .detail-title-row{display:block}html #main .profile-canvas .detail-title-row h1{margin:0 0 8px}html #main .profile-canvas .detail-hero-commands{border:0;min-width:0;margin-top:20px;padding:0}html #main .profile-canvas .detail-title-row>span:not(.operator-owned-badge){color:#86521e;background:#fff2d8;border-radius:5px;margin:0 6px 8px 0;padding:5px 8px;font-size:12px;line-height:1.4;display:inline-block}html #main .profile-canvas .detail-identity p{color:var(--color-body);margin:0;font-size:16px;font-weight:400;line-height:1.6}html #main .profile-canvas .detail-summary{color:var(--color-body);max-width:var(--reading-max);margin:16px 0 0;font-size:16px;line-height:1.65}html #main .profile-canvas .detail-pills{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}html #main .profile-canvas .dark-pill{color:#435a60;background:#fff;border:1px solid #dce4e4;border-radius:6px;align-items:center;min-height:28px;padding:4px 8px;font-size:12px;line-height:1.5;display:inline-flex}html #main .profile-canvas .detail-pills a{background:var(--color-surface);color:var(--color-body)}html #main .profile-canvas .detail-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:0;display:flex}html #main .profile-canvas :is(.coral-button,.glass-button,.github-button,.side-action){min-height:44px;color:var(--color-heading);box-shadow:none;backdrop-filter:none;background:#fff;border:1px solid #dce1ed;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;line-height:1.5;display:inline-flex}html #main .profile-canvas .coral-button:first-child{background:var(--color-accent);border-color:var(--color-accent);color:#fff}html #main .profile-canvas .github-button{width:44px;padding:10px}html #main .profile-canvas #compare-feedback{color:var(--color-body);font-size:13px}html #main .profile-canvas #compare-feedback a{color:var(--color-accent);text-decoration:underline}html #main .profile-canvas .claim-link{min-height:44px;color:var(--color-muted);align-items:center;font-size:12px;display:inline-flex}html #main .profile-canvas .detail-hero-copy{min-width:0}html #main .profile-canvas .detail-hero-copy>.eyebrow{margin-bottom:12px}html #main .profile-hero-summary{background:#ffffffd9;border:1px solid #e4ddfa;border-radius:14px;align-self:center;min-width:0;padding:24px;box-shadow:0 12px 36px #412c780d}html #main .profile-summary-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--color-accent);border-radius:12px;place-items:center;margin-bottom:16px;display:grid}html #main .profile-hero-summary h2{color:var(--color-heading);margin:0 0 16px;font-size:20px;font-weight:700;line-height:1.35}html #main .profile-hero-summary ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}html #main .profile-hero-summary li{color:var(--color-body);align-items:center;gap:10px;font-size:14px;line-height:1.5;display:flex}html #main .profile-hero-summary li svg{color:var(--color-accent);flex:none}html #main .profile-hero-summary>a{border-top:1px solid var(--color-line);min-height:44px;color:var(--color-accent);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:12px;font-size:13px;line-height:1.5;display:flex}html #main .profile-hero-metrics{border-top:1px solid #e1ddf2;flex-wrap:wrap;gap:16px 24px;margin-top:24px;padding-top:20px;display:flex}html #main .profile-hero-metrics>*{align-items:center;gap:10px;min-width:0;min-height:44px;display:flex}html #main .profile-hero-metrics svg{color:var(--color-accent);flex:none}html #main .profile-hero-metrics strong{color:var(--color-heading);font-size:18px;font-weight:700;line-height:1.35;display:block}html #main .profile-hero-metrics small{color:var(--color-muted);margin-top:3px;font-size:12px;line-height:1.5;display:block}html #main .profile-hero-metrics a:hover strong{color:var(--color-accent)}html #main .detail-orientation{grid-area:orientation;min-width:0}html #main .tool-profile-layout .paid-disclosure{color:var(--color-body);background:#fff9ed;border-left:3px solid #b39245;border-radius:4px;margin:0 0 16px;padding:12px 16px;font-size:13px;line-height:1.6}html #main .tool-profile-layout .detail-main{border:0;grid-area:content;min-width:0;padding-top:0}html #main .tool-profile-layout .detail-main>section,html #main .tool-profile-layout .detail-main>.detail-two-column{margin-bottom:24px}html #main .tool-profile-layout .profile-card{border:0;border-bottom:1px solid var(--color-line);box-shadow:none;background:#fff;border-radius:0;padding:0 0 32px}html #main .tool-profile-layout :is(.profile-data-panel,.decision-checks,.profile-reviews,.tool-evidence){border:1px solid var(--color-line);background:var(--color-surface);border-radius:12px;padding:24px}html #main .tool-profile-layout .profile-card>:last-child{margin-bottom:0}html #main .tool-profile-layout .profile-card-heading{display:block}html #main .tool-profile-layout .detail-main h2{letter-spacing:-.025em;color:var(--color-heading);overflow-wrap:anywhere;margin:0 0 16px;font-size:24px;font-weight:680;line-height:1.3}html #main .tool-profile-layout .detail-main h3{color:var(--color-heading);margin:24px 0 8px;font-size:19px;font-weight:650;line-height:1.4}html #main .tool-profile-layout .detail-main .prose{max-width:var(--reading-max);color:var(--color-body);overflow-wrap:anywhere;font-size:16px;line-height:1.65}html #main .tool-profile-layout .detail-main :is(section[id],.detail-anchor){scroll-margin-top:110px}html #main .tool-profile-layout .detail-anchor{display:block}html #main .tool-profile-layout .detail-main :is(p,li){color:var(--color-body);font-size:16px;line-height:1.65}html #main .tool-profile-layout .detail-main p{margin:0 0 16px}html #main .tool-profile-layout .detail-main a{color:var(--color-accent);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}html #main .tool-profile-layout .detail-main :is(ul,ol){padding-left:24px}html #main .tool-profile-layout .detail-main li+li{margin-top:8px}html #main .tool-profile-layout .detail-main pre{white-space:pre;overflow-wrap:normal;border:1px solid var(--color-line);max-width:100%;color:var(--color-heading);background:#f5f6fb;border-radius:8px;padding:16px;font-size:13px;line-height:1.65;overflow-x:auto}html #main .tool-profile-layout .detail-main pre code{color:inherit;white-space:inherit;overflow-wrap:normal;background:0 0;padding:0}html #main .tool-profile-layout .detail-main :not(pre)>code{color:#593c7b;overflow-wrap:anywhere;background:#f2effa;border-radius:4px;padding:2px 5px}html #main .tool-profile-layout .detail-main table{border-collapse:collapse;width:100%;max-width:100%;font-size:14px;display:block;overflow-x:auto}html #main .tool-profile-layout .detail-main :is(th,td){border:1px solid var(--color-line);text-align:left;vertical-align:top;padding:12px}html #main .tool-profile-layout .detail-main th{background:var(--color-surface);color:var(--color-heading)}html #main .tool-profile-layout .capability-grid{display:block}html #main .tool-profile-layout .capability-grid>.prose>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}html #main .tool-profile-layout .capability-grid>.prose>ul>li{border:1px solid var(--color-line);background:linear-gradient(135deg,#fff,var(--color-surface));border-radius:10px;min-width:0;margin:0;padding:20px;font-size:14px;line-height:1.65}html #main .tool-profile-layout .capability-grid strong{color:var(--color-heading);margin-bottom:6px;font-size:15px;display:block}html #main .tool-profile-layout .capability-extra{color:var(--color-body);border-left:2px solid #d8cef7;padding:16px 20px;font-size:16px}html #main .tool-profile-layout .capability-strip{flex-wrap:wrap;gap:12px 20px;margin-top:16px;display:flex}html #main .tool-profile-layout .capability-strip span{color:var(--color-muted);align-items:center;gap:7px;font-size:13px;display:inline-flex}html #main .tool-profile-layout .capability-strip svg{color:var(--color-accent)}html #main .tool-profile-layout .detail-two-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}html #main .tool-profile-layout .detail-two-column>section{min-width:0}html #main .tool-profile-layout .detail-two-column .profile-card{border:0;padding:0}html #main .tool-profile-layout .detail-two-column .profile-data-panel{border:1px solid var(--color-line);background:var(--color-surface);padding:20px}html #main .tool-profile-layout .why-panel blockquote{color:var(--color-muted);background:0 0;border-left:2px solid #a7afc0;margin:16px 0;padding:8px 0 8px 20px;font-size:16px;font-style:italic;line-height:1.65}html #main .tool-profile-layout .technical-details{border:0;border-radius:0;margin:16px 0 0;font-size:13px;display:block}html #main .tool-profile-layout .technical-details>div{border:0;border-bottom:1px solid var(--color-line);background:0 0;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px;padding:10px 0;display:grid}html #main .tool-profile-layout .technical-details dt{color:var(--color-muted);font-weight:500}html #main .tool-profile-layout .technical-details dd{min-width:0;color:var(--color-body);overflow-wrap:anywhere;margin:0}html #main .tool-profile-layout .decision-review-grid{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:24px;display:grid}html #main .tool-profile-layout .decision-review-grid>section:not(.adsense-slot),html #main .tool-profile-layout .decision-review-grid>.adsense-slot{margin:0}html #main .tool-profile-layout .review-form{background:0 0;border:0;border-radius:0;gap:16px;margin-top:24px;padding:0}html #main .tool-profile-layout .review-form h3{margin:0}html #main .tool-profile-layout .review-form :is(label,fieldset){font-size:13px}html #main .tool-profile-layout .review-form .rating-options label{border:1px solid var(--color-line);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:8px;display:inline-flex}html #main .tool-profile-layout .review-form .rating-options{gap:4px;display:flex}html #main .tool-profile-layout .review-form .rating-options label{color:var(--color-muted);padding:0;font-size:28px;position:relative}html #main .tool-profile-layout .review-form .rating-options input{opacity:0;width:1px;height:1px;position:absolute}html #main .tool-profile-layout .review-form .rating-options .rating-filled{color:var(--color-accent)}html #main .tool-profile-layout .review-form .rating-options label:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:3px}html #main .tool-profile-layout .review-form .rating-options label:has(input:checked){border-color:var(--color-accent);background:var(--accent-soft);color:var(--color-accent)}html #main .tool-profile-layout .review-form :is(input:not([type=radio]),textarea){background:#fff;border-color:#dce1ed;border-radius:8px;min-height:44px;font-size:16px}html #main .tool-profile-layout .review-form .review-note{color:var(--color-muted);font-size:12px}html #main .tool-profile-layout .review-form button{background:var(--color-accent);color:#fff;border-color:var(--color-accent);justify-self:start}html #main .tool-profile-layout .reviews blockquote{background:var(--color-surface);border-left:2px solid #c9baf7;margin:16px 0;padding:16px 20px}html #main .tool-profile-layout .reviews blockquote>span{color:var(--color-muted);margin:4px 0 12px;font-size:13px;display:block}html #main .tool-profile-layout .detail-aside{flex-direction:column;grid-area:side;align-self:start;gap:24px;min-width:0;padding-top:0;display:flex;position:static}html #main .tool-profile-layout .profile-side-panel{border:1px solid var(--color-line);background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 20px #231a4b08}html #main .tool-profile-layout .profile-evidence{box-shadow:none;background:#fff;border:1px solid #e0e5e8;border-radius:6px;margin:0;padding:20px}html #main .tool-profile-layout .profile-evidence h2{color:var(--color-heading);margin:0 0 12px;font-size:19px;font-weight:650}html #main .tool-profile-layout .profile-evidence p{color:var(--color-muted);margin:0;font-size:14px;line-height:1.65}html #main .tool-profile-layout .profile-evidence>a{min-height:44px;color:var(--color-accent);border-top:1px solid #e5dffa;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:13px;display:flex}html #main .tool-profile-layout .detail-interface-preview{border:1px solid var(--color-line);border-radius:8px;margin-bottom:24px}html #main .tool-profile-layout .detail-interface-preview summary{min-height:44px;color:var(--color-accent);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;display:flex}html #main .tool-profile-layout .detail-interface-preview figure{margin:0;padding:0 16px 16px}html #main .tool-profile-layout .detail-interface-preview img{max-width:100%;height:auto;display:block}html #main .tool-profile-layout .screenshot-grid,html #main .tool-profile-layout .pro-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}html #main .tool-profile-layout .screenshot-grid figure{border:1px solid var(--color-line);border-radius:8px;min-width:0;margin:0;overflow:hidden}html #main .tool-profile-layout .screenshot-grid figure>a{display:block;position:relative}html #main .tool-profile-layout .screenshot-grid img{aspect-ratio:16/10;object-fit:contain;background:var(--color-surface);width:100%;height:auto;display:block}html #main .tool-profile-layout .screenshot-grid figure>a>span{border:1px solid var(--color-line);color:var(--color-accent);background:#fff;border-radius:5px;padding:5px 8px;font-size:11px;position:absolute;bottom:8px;right:8px}html #main .tool-profile-layout .screenshot-grid figcaption{padding:16px}html #main .tool-profile-layout :is(.screenshot-grid figcaption p,.detail-interface-preview figcaption){color:var(--color-muted);margin:8px 0 0;font-size:13px;line-height:1.6}html #main .tool-profile-layout .pro-gallery img{border-radius:8px;width:100%;height:auto;display:block}html #main .tool-profile-layout .pro-use-cases{white-space:pre-line}html #main .tool-profile-layout .profile-official-resources>div{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}html #main .tool-profile-layout .profile-official-resources>div>a{border:1px solid var(--color-line);border-radius:6px;align-items:center;min-height:44px;padding:8px 12px;font-size:13px;text-decoration:none;display:inline-flex}html #main .tool-profile-layout .source-alert{color:var(--color-body);background:#fff9ed;border-left:3px solid #c28f32;border-radius:4px;margin:24px 0;padding:16px}html #main .tool-profile-layout .source-alert p{margin:8px 0 0;font-size:14px}html #main .profile-related .listing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}html #main .profile-related .section-title{font-size:var(--type-section-title);font-weight:720;line-height:1.25}html #main .profile-related .listing-card{border:1px solid var(--color-line);border-radius:8px;gap:12px;min-width:0;padding:20px}html #main .profile-related .listing-card h3{color:var(--color-heading);margin:4px 0 0;font-size:18px;font-weight:650;line-height:1.4}html #main .profile-related .listing-card p{color:var(--color-body);font-size:14px;line-height:1.6}html #main .profile-related .listing-card .inline-link{color:var(--color-accent);font-size:13px}html #main .profile-navigation{z-index:20;box-shadow:none;background:#fff;border:0;border-bottom:1px solid #dce1e7;border-radius:0;grid-area:navigation;align-items:center;gap:12px;margin:0 0 24px;padding:0;display:flex;position:sticky;top:0}html #main .profile-tabs{flex:1;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;min-width:0;display:grid}html #main .profile-tabs>a{min-height:48px;color:var(--color-muted);text-align:center;border-bottom:2px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:600;display:flex}html #main .profile-tabs>a:is(:hover,[aria-current]){color:var(--color-accent);border-bottom-color:var(--color-accent);background:0 0}html #main .profile-all-sections{border-left:1px solid var(--color-line);padding-left:8px;position:relative}html #main .profile-all-sections>summary{cursor:pointer;min-height:48px;color:var(--color-body);justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:13px;list-style:none;display:flex}html #main .profile-all-sections>summary::-webkit-details-marker{display:none}html #main .profile-all-sections>summary>svg:last-child{transform:rotate(90deg)}html #main .profile-all-sections[open]>summary{color:var(--color-accent)}html #main .profile-all-sections nav{border:1px solid var(--color-line);background:#fff;border-radius:14px;width:360px;max-width:calc(100vw - 52px);max-height:65vh;padding:12px;display:grid;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 16px 48px #19143724}html #main .profile-all-sections nav a{min-height:44px;color:var(--color-body);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}html #main .profile-all-sections nav a>span{color:var(--color-muted);font-size:11px}html #main .profile-all-sections nav a:is(:hover,[aria-current]){color:var(--color-accent);background:var(--accent-soft)}html #main .tool-profile-layout .decision-checks{background:var(--color-surface)}html #main .tool-profile-layout .decision-checks>ul{counter-reset:checks;margin:20px 0;padding:0;list-style:none}html #main .tool-profile-layout .decision-checks>ul>li{border-bottom:1px solid var(--color-line);counter-increment:checks;align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}html #main .tool-profile-layout .decision-checks>ul>li:before{content:counter(checks);background:var(--accent-soft);width:28px;height:28px;color:var(--color-accent);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:650;display:grid}@media (width<=700px){html #main .profile-canvas .profile-share{width:44px;padding:10px}html #main .profile-share-label{display:none}html #main .tool-profile-layout :is(.profile-data-panel,.decision-checks,.profile-reviews,.tool-evidence){border-radius:12px;padding:20px}html #main .tool-profile-layout .capability-grid>.prose>ul,html #main .tool-profile-layout .technical-details{grid-template-columns:minmax(0,1fr)}html #main .profile-navigation{flex-wrap:wrap;gap:4px;padding:6px;top:0}html #main .profile-tabs{flex-basis:100%;gap:2px}html #main .profile-tabs>a{flex-direction:column;gap:4px;min-height:52px;padding:6px 2px;font-size:11px}html #main .profile-all-sections{border-left:0;border-top:1px solid var(--color-line);width:100%;padding-left:0}html #main .profile-all-sections>summary{min-height:44px;padding:6px 12px}html #main .profile-all-sections nav{width:100%;max-width:none;max-height:55vh}html #main .tool-profile-layout .detail-main :is(section[id],.detail-anchor){scroll-margin-top:140px}html #main .tool-profile-layout .profile-card-heading{align-items:flex-start;font-size:22px}}html #main .profile-side-index{padding:8px 0}html #main .profile-side-index h2{letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted);margin:0 0 16px;font-size:11px;font-weight:650}html #main .profile-side-index a{border-left:2px solid var(--color-line);min-height:36px;color:var(--color-muted);padding:8px 16px;font-size:13px;line-height:1.5;display:block}html #main .profile-side-index a:is(:hover,[aria-current]){border-color:var(--color-accent);color:var(--color-accent);background:0 0;font-weight:600}html #main .profile-side-related{border-top:1px solid var(--color-line);padding:20px 0}html #main .profile-side-related h2{color:var(--color-heading);margin:8px 0 12px;font-size:20px;font-weight:700}html #main .profile-side-related>a{border-bottom:1px solid var(--color-line);align-items:flex-start;gap:12px;min-width:0;padding:14px 0;display:flex}html #main .profile-side-related>a>span:not(.vendor-mark){flex:1;min-width:0}html #main .profile-side-related strong{color:var(--color-heading);font-size:14px;font-weight:650;display:block}html #main .profile-side-related small{-webkit-line-clamp:2;color:var(--color-muted);-webkit-box-orient:vertical;margin-top:4px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}html #main .profile-side-related>a>svg{color:var(--color-accent);flex:none;margin-top:8px}html #main .tool-profile-layout .prose blockquote{background:var(--color-surface);border-left:3px solid var(--color-accent);border-radius:0 6px 6px 0;margin:20px 0;padding:16px 20px}html #main .home-intro{border-bottom:1px solid var(--color-line);padding-block:8px 32px}html #main .home-intro-body{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;display:grid}html #main .home-intro p{color:var(--color-body);max-width:var(--reading-max);margin:0;font-size:16px;line-height:1.65}html #main .home-intro strong{color:var(--color-heading);font-weight:650}html #main .home-intro-body>div{border-left:2px solid var(--color-line);padding-left:24px}html #main .home-intro h3{color:var(--color-heading);margin:0 0 8px;font-size:15px;font-weight:650;line-height:1.5}html #main .home-intro-body>div p{font-size:14px}html #main .home-intro p a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}@media (width<=900px){html #main .home-intro-body{grid-template-columns:minmax(0,1fr);gap:20px}html #main .home-intro-body>div{border-left:0;border-top:1px solid var(--color-line);padding:16px 0 0}}html #main .profile-side-panel h2{color:var(--color-heading);margin:8px 0 16px;font-size:20px;font-weight:700;line-height:1.35}html #main .profile-essentials dl{margin:0}html #main .profile-essentials dl>div{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;padding:10px 0;font-size:13px;line-height:1.55;display:grid}html #main .profile-essentials dt{color:var(--color-muted)}html #main .profile-essentials dd{min-width:0;color:var(--color-heading);overflow-wrap:anywhere;margin:0}html #main .profile-essentials dd a{color:var(--color-accent)}html #main .profile-data-date{color:var(--color-muted);margin:12px 0 0;font-size:11px;line-height:1.5}html #main .profile-side-actions{gap:8px;margin-top:20px;display:grid}html #main .profile-side-actions>a{justify-content:space-between}html #main .profile-rating p{color:var(--color-muted);margin:0 0 12px;font-size:13px;line-height:1.6}html #main .profile-rating>a,html #main .profile-methodology{min-height:44px;color:var(--color-accent);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}@media (width<=1150px){html #main .tool-profile-layout .detail-two-column{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){html #main .tool-profile-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"navigation""orientation""content""side"}html #main .profile-canvas .detail-hero-inner{grid-template-columns:minmax(0,1fr);gap:20px}html #main .profile-hero-summary{display:none}html #main .tool-profile-layout .detail-aside{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}html #main .detail-aside :is(.profile-side-index,.profile-side-related,.profile-methodology){display:none}}@media (width<=700px){html #main .profile-canvas .detail-identity{gap:16px}html #main .profile-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}html #main .profile-hero-metrics strong{font-size:16px}html #main .tool-profile-layout .detail-aside{grid-template-columns:minmax(0,1fr)}html #main .profile-essentials dd a{min-height:44px}html #main .profile-canvas .detail-identity p{font-size:15px}html #main .profile-canvas .detail-pills a{min-height:44px}html #main .profile-canvas .detail-actions>*{max-width:100%}html #main .tool-profile-layout .technical-details>div{grid-template-columns:minmax(0,1fr);gap:6px}html #main .tool-profile-layout :is(.technical-details dd a,.detail-main li>a){align-items:center;min-width:44px;min-height:44px;display:inline-flex}html #main .tool-profile-layout .screenshot-grid,html #main .tool-profile-layout .pro-gallery,html #main .profile-related .listing-grid{grid-template-columns:minmax(0,1fr)}}html #main .authors-index-hero-inner{justify-content:space-between;gap:32px;display:flex}html #main .authors-index-hero-inner>.authors-index-text-link{flex:none;align-self:center}html #main .authors-index-content{padding-block:var(--space-section)}html #main .authors-index-text-link{min-height:44px;color:var(--color-accent);align-items:center;gap:10px;font-size:14px;line-height:1.5;display:inline-flex}html #main .authors-index-text-link svg{flex:none}html #main .authors-index-list{gap:24px;display:grid}html #main .authors-index-card{border:1px solid var(--color-line);background:#fff;border-radius:12px;grid-template-columns:220px minmax(0,1fr) 240px;align-items:center;gap:32px;padding:24px;display:grid}html #main .authors-index-portrait{border-radius:8px;width:220px;height:auto;display:block}html #main .authors-index-initial{aspect-ratio:4/5;background:var(--hero-surface);width:220px;color:var(--color-accent);border-radius:8px;place-items:center;font-size:64px;font-weight:700;display:grid}html #main .authors-index-copy{min-width:0}html #main .authors-index-card h2{font-size:var(--type-section-title);letter-spacing:-.03em;color:var(--color-heading);margin:0 0 8px;font-weight:720;line-height:1.25}html #main .authors-index-role{color:var(--color-muted);margin:0 0 12px;font-size:16px;line-height:1.6}html #main .authors-index-location{color:var(--color-body);align-items:center;gap:8px;margin:0 0 16px;font-size:14px;line-height:1.5;display:flex}html #main .authors-index-location svg{flex:none}html #main .authors-index-bio{color:var(--color-body);margin:0 0 16px;font-size:16px;line-height:1.65}html #main .authors-index-expertise{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}html #main .authors-index-expertise li{color:var(--color-accent);background:#f3efff;border-radius:8px;padding:7px 10px;font-size:12px;line-height:1.5}html #main .authors-index-actions{border-left:1px solid var(--color-line);flex-direction:column;justify-content:center;align-self:stretch;gap:24px;padding-left:32px;display:flex}html #main .authors-index-button{background:var(--color-accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:12px 20px;font-size:14px;font-weight:600;line-height:1.5;display:inline-flex}html #main .authors-index-button svg{flex:none}html #main .authors-index-button:hover{background:#5225df}html #main .authors-index-socials{justify-content:center;align-items:center;gap:16px;display:flex}html #main .authors-index-socials a{background:var(--color-surface);width:48px;height:48px;color:var(--color-heading);border-radius:8px;place-items:center;display:grid}html #main .authors-index-socials a:hover{color:var(--color-accent)}html #main .authors-index-contribute{background:var(--hero-surface);border-radius:12px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:32px;margin-top:24px;padding:32px;display:grid}html #main .authors-index-contribute h2,html #main .authors-index-discovery h2{font-size:var(--type-section-title);letter-spacing:-.03em;color:var(--color-heading);margin:0 0 12px;font-weight:720;line-height:1.25}html #main .authors-index-contribute>div>p{color:var(--color-body);margin:0 0 20px;font-size:16px;line-height:1.65}html #main .authors-index-contribute-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}html #main .authors-index-contribute-topics{background:#ffffffde;border-radius:12px;padding:8px 24px 16px}html #main .authors-index-contribute-topics ul{margin:0;padding:0;list-style:none}html #main .authors-index-contribute-topics li{border-bottom:1px solid var(--color-line);min-height:56px;color:var(--color-heading);align-items:center;gap:20px;padding:12px 0;font-size:14px;display:flex}html #main .authors-index-contribute-topics svg{color:var(--color-accent);flex:none}html #main .authors-index-contribute .authors-index-contribute-topics>p{color:var(--color-muted);margin:12px 0 0;font-size:13px;line-height:1.5}html #main .authors-index-discovery{margin-top:var(--space-section);padding-top:var(--space-section);border-top:1px solid var(--color-line)}html #main .authors-index-discovery .tool-link{color:var(--color-accent)}html #main .authors-index-section-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}html #main .authors-index-section-heading p{color:var(--color-muted);margin:0;font-size:14px;line-height:1.65}html #main .authors-index-section-heading>a{flex:none}html #main .authors-index-articles{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}html #main .authors-index-article{border:1px solid var(--color-line);background:#fff;border-radius:12px;flex-direction:column;min-width:0;display:flex;overflow:hidden}html #main .authors-index-article:hover{border-color:#c5b6f8}html #main .authors-index-article-image{aspect-ratio:1.9;background:var(--hero-surface);color:var(--color-accent);place-items:center;display:grid;overflow:hidden}html #main .authors-index-article-image img{object-fit:cover;width:100%;height:100%;display:block}html #main .authors-index-article-copy{flex-direction:column;flex:1;padding:20px;display:flex}html #main .authors-index-article time{color:var(--color-muted);margin-bottom:8px;font-size:12px}html #main .authors-index-article h3{letter-spacing:-.02em;color:var(--color-heading);margin:0 0 12px;font-size:18px;font-weight:650;line-height:1.4}html #main .authors-index-article p{color:var(--color-body);margin:0 0 20px;font-size:14px;line-height:1.65}html #main .authors-index-article-copy>span{color:var(--color-accent);align-items:center;gap:10px;margin-top:auto;font-size:13px;font-weight:600;display:flex}@media (width<=1050px){html #main .authors-index-card{grid-template-columns:180px minmax(0,1fr);gap:24px}html #main .authors-index-portrait,html #main .authors-index-initial{width:180px}html #main .authors-index-actions{border:0;flex-flow:wrap;grid-column:2;justify-content:flex-start;align-self:auto;align-items:center;padding:0}html #main .authors-index-hero-inner{flex-wrap:wrap}html #main .authors-index-hero-inner>.authors-index-text-link{align-self:flex-start}html #main .authors-index-contribute{gap:24px;padding:24px}}@media (width<=700px){html #main .authors-index-card{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px}html #main .authors-index-actions{border-top:1px solid var(--color-line);grid-column:auto;justify-content:space-between;gap:16px;padding-top:20px}html #main .authors-index-contribute,html #main .authors-index-articles{grid-template-columns:minmax(0,1fr)}html #main .authors-index-contribute{padding:20px}html #main .authors-index-section-heading{flex-direction:column;align-items:flex-start;gap:12px}html #main .authors-index-contribute-actions{flex-direction:column;align-items:flex-start;gap:8px}}html #main .author-profile-body :is(article[id],section[id]){scroll-margin-top:32px}html #main .author-profile-body{padding-block:32px}html #main .author-profile-body h2{font-size:var(--type-section-title);letter-spacing:-.03em;color:var(--color-heading);margin:0 0 12px;font-weight:720;line-height:1.25}html #main .author-profile-about .prose{max-width:var(--reading-max);font-size:var(--type-body);line-height:1.65}html #main .author-profile-about .prose h3{color:var(--color-heading);letter-spacing:normal;margin:20px 0 8px;font-size:17px;font-weight:650;line-height:1.45}html #main .author-profile-about .prose p:last-child{margin-bottom:0}html #main .author-profile-about .prose a{color:var(--color-accent)}html #main .author-profile-aside{flex-direction:column;align-self:start;gap:24px;min-width:0;display:flex}html #main .author-profile-aside-panel{border:1px solid var(--color-line);background:#fff;border-radius:8px;padding:24px}html #main .author-profile-aside h2{margin:0 0 20px;font-size:19px}html #main .author-profile-facts dl{gap:16px;margin:0;display:grid}html #main .author-profile-facts dl>div{min-height:44px;padding-left:40px;position:relative}html #main .author-profile-fact-icon{width:26px;height:28px;color:var(--color-accent);place-items:center;display:grid;position:absolute;top:0;left:0}html #main .author-profile-facts dt{color:var(--color-heading);margin-bottom:4px;font-size:13px}html #main .author-profile-facts dd{color:var(--color-body);margin:0;font-size:14px;line-height:1.5}html #main .author-profile-website{min-height:44px;color:var(--color-accent);align-items:center;gap:8px;margin-top:12px;font-size:13px;display:inline-flex}html #main .author-profile-facts+.author-profile-expertise{border-top:1px solid var(--color-line);margin-top:20px;padding-top:20px}html #main .author-profile-expertise ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}html #main .author-profile-expertise li{color:var(--color-body);font-size:13px;line-height:1.5}html #main .author-profile-principle{color:var(--color-body);border-left:2px solid #a4acc0;margin:0;padding:4px 0 4px 20px}html #main .author-profile-principle p{margin:0;font-size:17px;font-style:italic;line-height:1.6}html #main :is(.author-profile-projects,.author-profile-articles){border-top:1px solid var(--color-line);margin-top:32px;padding-top:32px}html #main .author-profile-section-intro{color:var(--color-muted);margin:0 0 20px;font-size:14px;line-height:1.6}html #main .author-profile-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}html #main .author-profile-project-card{min-width:0;padding:0}html #main .author-profile-project-card+.author-profile-project-card{border-left:1px solid var(--color-line);padding-left:24px}html #main .author-profile-project-card h3{color:var(--color-heading);margin:0 0 8px;font-size:16px;font-weight:650;line-height:1.4}html #main .author-profile-project-card ul{margin:0;padding:0;list-style:none}html #main .author-profile-project-card li+li{border-top:1px solid var(--color-line)}html #main .author-profile-project-card li>:is(a,div){justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:8px 0;display:flex}html #main .author-profile-project-card li strong{color:var(--color-heading);overflow-wrap:anywhere;font-size:14px;font-weight:650;display:block}html #main .author-profile-project-card li small{color:var(--color-muted);margin-top:3px;font-size:12px;line-height:1.5;display:block}html #main .author-profile-project-card li a>svg{color:var(--color-accent);flex:none}html #main .author-profile-project-card li a:hover strong{color:var(--color-accent)}html #main .author-profile-article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;display:grid}html #main .author-profile-article-grid>a{border-bottom:1px solid var(--color-line);min-height:44px;color:var(--color-body);justify-content:space-between;align-items:center;gap:20px;padding:8px 0;font-size:14px;line-height:1.5;display:flex}html #main .author-profile-article-grid>a:hover{color:var(--color-accent)}html #main .author-profile-article-grid svg{color:var(--color-accent);flex:none}html #main .author-profile-policy{color:var(--color-muted);margin:24px 0 0;font-size:13px;line-height:1.65}html #main .author-profile-policy a{color:var(--color-accent);text-decoration:underline}html #main :is(.author-box>img,.author-card img){object-position:center 25%}@media (width<=1050px){html #main .author-profile-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:32px}html #main .author-profile-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px}html #main .author-profile-aside-panel{padding:20px}}@media (width<=700px){html #main .author-profile-hero-inner{grid-template-columns:minmax(0,1fr);gap:24px}html #main .author-profile-portrait{justify-self:start;width:180px}html #main .author-profile-nav>.container{column-gap:24px}html #main .author-profile-nav a{min-width:44px;min-height:48px}html #main .author-profile-layout,html #main .author-profile-project-grid,html #main .author-profile-article-grid{grid-template-columns:minmax(0,1fr)}html #main .author-profile-aside{gap:20px}html #main .author-profile-project-card+.author-profile-project-card{border-left:0;border-top:1px solid var(--color-line);padding:20px 0 0}}html #main .author-profile-hero-inner:not(:has(.author-profile-portrait)),html #main .author-profile-layout-solo{grid-template-columns:minmax(0,1fr)}html #main .article-hero[data-visual-hero=compact] .article-subhead{max-width:var(--reading-max);margin-bottom:16px}html #main .article-byline{color:var(--color-muted);font-size:var(--type-small);flex-wrap:wrap;align-items:center;gap:4px 8px;line-height:1.6;display:flex}html #main .article-byline :is(a,time){color:inherit}html #main .article-byline a{text-underline-offset:3px;font-weight:600;text-decoration:underline}html #main .share-bar-article{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}html #main .share-bar-article .share-label{font-size:var(--type-small);color:var(--color-muted);margin-right:4px}html #main .share-btn-article{border:1px solid var(--color-line);width:44px;height:44px;color:var(--color-body);cursor:pointer;background:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}html #main .share-btn-article:hover,html #main .share-copy-article.copied{color:var(--color-accent);background:var(--color-surface);border-color:#d3c5ff}html #main .article-layout{padding-block:var(--space-block) var(--space-section);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}html #main .article-main{min-width:0;max-width:var(--reading-max);grid-area:1/1}html #main .article-cover-figure{margin:0 0 24px}html #main .article-cover{width:100%;height:auto;box-shadow:none;border-radius:8px;margin:0;display:block}html #main .article-cover-figure figcaption{color:var(--color-muted);font-size:var(--type-small);margin-top:8px;line-height:1.55}html #main .article-disclosure{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-body);font-size:var(--type-small);border-left:2px solid #d8cef7;border-radius:6px;margin:0 0 20px;padding:12px 16px;line-height:1.65}html #main .article-disclosure a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}html #main .article-content{max-width:none;font-size:var(--type-body);color:var(--color-body);overflow-wrap:anywhere;line-height:1.65}html #main .article-content p{margin:0 0 20px}html #main .article-content a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline 1px}html #main .article-content strong{color:var(--color-heading);font-weight:650}html #main .article-content :is(h2,h3,h4){color:var(--color-heading);overflow-wrap:anywhere;scroll-margin-top:24px}html #main .article-content h2{font-size:var(--type-section-title);letter-spacing:-.03em;border:0;margin:40px 0 16px;padding:0;font-weight:720;line-height:1.25}html #main .article-content h3{letter-spacing:-.015em;border:0;margin:28px 0 12px;padding:0;font-size:19px;font-weight:650;line-height:1.4}html #main .article-content h4{margin:24px 0 8px;font-size:17px;font-weight:650;line-height:1.45}html #main .article-content :is(ul,ol){margin:0 0 20px;padding-left:24px}html #main .article-content li{margin-bottom:8px}html #main .article-content li>p{margin:0}html #main .article-content figure{background:0 0;border:0;border-radius:0;margin:24px 0;padding:0}html #main .article-content figure img{object-fit:contain;max-width:100%;height:auto;margin-inline:auto;display:block}html #main .article-content figcaption{font-size:var(--type-small);color:var(--color-muted);margin-top:8px;line-height:1.55}html #main .article-content code:not(pre code){border:1px solid var(--color-line);color:var(--color-heading);white-space:normal;overflow-wrap:anywhere;background:#f5f6fb;border-radius:4px;padding:2px 4px;font-family:Consolas,Liberation Mono,monospace;font-size:.875em}html #main .article-content pre{border:1px solid var(--color-line);max-width:100%;color:var(--color-heading);box-shadow:none;background:#f5f6fb;border-radius:6px;margin:24px 0;padding:16px;font-size:13px;line-height:1.65;overflow:auto}html #main .article-content pre:before{content:none}html #main .article-content pre code{color:inherit;font-family:Consolas,Liberation Mono,monospace;font-size:inherit;white-space:pre;overflow-wrap:normal;background:0 0;border:0;padding:0}html #main .article-content blockquote{background:var(--color-surface);color:var(--color-body);border:0;border-left:2px solid #d8cef7;border-radius:0;margin:24px 0;padding:16px 20px;font-style:normal}html #main .article-content blockquote p:last-child{margin-bottom:0}html #main .article-content table{border-collapse:collapse;width:100%;max-width:100%;margin:24px 0;font-size:14px;line-height:1.6;display:block;overflow-x:auto}html #main .article-content :is(th,td){border:0;border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;color:var(--color-body);padding:12px 16px}html #main .article-content th{color:var(--color-heading);font-weight:650}html #main .article-content :is(thead,th,tr:nth-child(2n)){background:0 0}html #main .article-content :is(table,pre):focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}html #main .article-sidebar{border:0;grid-area:1/2;align-self:start;min-width:0;padding:0;position:sticky;top:24px}html #main .article-sidebar-panel{scrollbar-width:thin;max-height:calc(100vh - 48px);padding-right:8px;overflow-y:auto}html #main .article-sidebar-panel>summary{display:none}html #main .article-sidebar :is(h2,h3){letter-spacing:-.02em;color:var(--color-heading);margin:0 0 16px;font-size:19px;font-weight:650;line-height:1.4}html #main .article-toc ol{margin:0;padding:0;list-style:none}html #main .article-toc li{border-bottom:1px solid var(--color-line);margin:0;padding:0}html #main .article-toc a{min-height:44px;color:var(--color-body);align-items:baseline;gap:16px;padding:12px 0;font-size:14px;line-height:1.5;display:flex}html #main .article-toc a>span:first-child{font-variant-numeric:tabular-nums;color:var(--color-muted);flex:none}html #main .article-toc a[aria-current],html #main .article-toc a[aria-current]>span:first-child,html #main .article-toc a:hover{color:var(--color-accent)}html #main .article-tool-card{border:1px solid var(--color-line);background:var(--color-surface);border-radius:6px;margin-top:32px;padding:20px}html #main .article-tool-card h2{color:var(--color-muted);font-size:14px}html #main .article-tool-card>div{align-items:flex-start;gap:16px;min-width:0;display:flex}html #main .article-tool-card>div>span{min-width:0}html #main .article-tool-card strong{color:var(--color-heading);font-size:17px;line-height:1.4}html #main .article-tool-card p{color:var(--color-muted);font-size:var(--type-small);margin:4px 0 0;line-height:1.6}html #main .article-tool-card>a{background:var(--color-accent);color:#fff;text-align:center;border-radius:6px;justify-content:center;align-items:center;gap:12px;min-height:44px;margin-top:20px;padding:10px 16px;font-size:14px;font-weight:600;display:flex}html #main .article-more{margin-top:32px}html #main .article-more>a{border-bottom:1px solid var(--color-line);color:var(--color-heading);padding:16px 0;font-size:14px;line-height:1.5;display:block}html #main .article-more>a strong{font-weight:600}html #main .article-more>a>span{font-size:var(--type-small);color:var(--color-accent);margin-top:8px;font-weight:500;display:block}html #main .article-layout :is(.related-tool,.author-box,.editorial-note){border:1px solid var(--color-line);color:var(--color-body);background:#fff;border-radius:6px;margin-top:24px;padding:20px;font-size:14px;line-height:1.65}html #main .article-layout .related-tool>a{min-height:44px;color:var(--color-heading);align-items:center;gap:16px;margin-top:12px;display:flex}html #main .article-layout .related-tool>a>span{flex:1;min-width:0}html #main .article-layout .related-tool :is(strong,small){display:block}html #main .article-layout .related-tool small{color:var(--color-muted);font-size:var(--type-small);margin-top:4px}html #main .article-layout :is(.author-box,.editorial-note) p{color:var(--color-body);margin:8px 0 0;font-size:14px;line-height:1.65}html #main .article-layout :is(.author-box,.editorial-note) a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}@media (width<=1050px){html #main .article-layout{gap:32px}}@media (width<=900px){html #main .article-layout{grid-template-columns:minmax(0,1fr);gap:24px}html #main .article-main{max-width:var(--reading-max);grid-area:2/1}html #main .article-sidebar{max-width:var(--reading-max);grid-area:1/1;position:static}html #main .article-sidebar-panel{border-block:1px solid var(--color-line);max-height:none;padding:0;overflow:visible}html #main .article-sidebar-panel>summary{cursor:pointer;min-height:44px;color:var(--color-heading);padding:12px 0;font-size:14px;font-weight:600;display:list-item}html #main .article-sidebar-panel[open]{padding-bottom:20px}html #main .article-toc h2{display:none}}@media (width<=700px){html #main .article-layout{gap:20px}html #main .article-byline{gap:6px 8px}html #main .article-content :is(th,td){padding:10px 12px}html #main .article-layout :is(.related-tool,.author-box,.editorial-note,.article-tool-card){padding:16px}}html #main .operator-owned-badge{background:var(--color-surface);width:fit-content;max-width:100%;color:var(--color-body);white-space:normal;text-overflow:clip;overflow-wrap:anywhere;text-transform:none;letter-spacing:normal;border:1px solid #ddd4f7;border-radius:5px;margin:8px 0;padding:6px 8px;font-size:12px;font-weight:500;line-height:1.5;display:block;overflow:visible}html #main .operator-relationship{color:var(--color-body);font-size:var(--type-small);margin:12px 0 0;line-height:1.65}html #main .operator-relationship a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}html #main .tool-evidence-date{color:var(--color-muted);font-size:var(--type-small)}html #main .tool-evidence dl{border-top:1px solid var(--color-line);margin:20px 0}html #main .tool-evidence dl>div{border-bottom:1px solid var(--color-line);grid-template-columns:130px minmax(0,1fr);gap:16px;padding:12px 0;display:grid}html #main .tool-evidence dt{color:var(--color-heading);font-weight:600}html #main .tool-evidence dd{overflow-wrap:anywhere;margin:0}html #main .tool-evidence-gotcha{border-left:3px solid var(--color-accent);background:var(--color-surface);margin:20px 0;padding:16px 20px}html #main .tool-evidence-gotcha p{margin:4px 0 0}html #main .tool-evidence figure{margin:24px 0}html #main .tool-evidence figure>a{display:block}html #main .tool-evidence img{object-fit:cover;object-position:top;border:1px solid var(--color-line);border-radius:6px;width:100%;height:auto;max-height:360px;display:block}html #main .tool-evidence figcaption{color:var(--color-muted);font-size:var(--type-small);margin-top:8px;line-height:1.6}html #main .tool-evidence-links,.research-actions{flex-wrap:wrap;gap:8px 20px;display:flex}html #main .tool-evidence-links a,.research-actions a{min-height:44px;color:var(--color-accent);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}html #main .research-content{padding-top:var(--space-block);padding-bottom:var(--space-section)}html #main .research-content>section+section{margin-top:var(--space-section)}html #main .research-content p,.research-method li{max-width:var(--reading-max);font-size:var(--type-body);line-height:1.65}html #main .research-content h2{font-size:var(--type-section-title);color:var(--color-heading);line-height:1.25}html #main .research-content a{color:var(--color-accent);text-underline-offset:3px}html #main .research-counts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:24px 0;display:grid}html #main .research-counts>div{border:1px solid var(--color-line);background:var(--color-surface);border-radius:6px;padding:16px}html #main .research-counts dt{font-size:var(--type-small);line-height:1.5}html #main .research-counts dd{color:var(--color-heading);margin:8px 0 0;font-size:28px;font-weight:700}html #main .research-table-wrap{border:1px solid var(--color-line);border-radius:6px;max-width:100%;overflow-x:auto}html #main .research-table{border-collapse:collapse;text-align:left;width:100%;min-width:840px;font-size:14px;line-height:1.5}html #main .research-table caption{text-align:left;font-size:var(--type-small);color:var(--color-muted);padding:16px}html #main .research-table :is(th,td){border-top:1px solid var(--color-line);vertical-align:top;padding:12px 16px}html #main .research-table thead{background:var(--color-surface);color:var(--color-heading)}html #main .research-table th[scope=row]{min-width:220px;font-weight:600}html #main .research-table a{overflow-wrap:anywhere;display:block}html #main .research-table small{color:var(--color-muted);margin-top:4px;font-size:12px;font-weight:400;display:block}html #main .research-status{color:var(--color-heading);font-weight:500}html #main .research-status:is(.is-archived,.is-unmaintained){color:#86521e}html #main .research-method ol{padding-left:24px}html #main .research-method li+li{margin-top:12px}@media (width<=700px){html #main .editorial-content :is(.hub-note>a,.editorial-cards a,.editorial-button){align-items:center;min-height:44px;display:inline-flex}html #main .tool-evidence dl>div{grid-template-columns:minmax(0,1fr);gap:4px}html #main .tool-evidence figcaption a{align-items:center;min-height:44px;display:inline-flex}html #main .research-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}html #main .research-counts>div{padding:12px}html #main .research-table a{align-items:center;min-height:44px;display:flex}}.footer-bottom[data-astro-cid-hkbrpulz] button[data-astro-cid-hkbrpulz]{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.footer-bottom[data-astro-cid-hkbrpulz] button[data-astro-cid-hkbrpulz]:hover{text-decoration:underline}.footer-bottom[data-astro-cid-hkbrpulz] button[data-astro-cid-hkbrpulz]:focus-visible{outline-offset:4px;outline:2px solid #6334ff}
