*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.left-0{left:0}.left-3{left:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[calc\(100\%\+0\.5rem\)\]{top:calc(100% + .5rem)}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-auto{height:auto}.max-h-56{max-height:14rem}.max-h-\[75vh\]{max-height:75vh}.max-h-\[85vh\]{max-height:85vh}.w-10{width:2.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-72{width:18rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[1\.25rem\]{min-width:1.25rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fade-up .5s ease-out both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1.125rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.875rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-action{border-color:var(--action)}.border-control{border-color:var(--border-control)}.border-line{border-color:var(--border)}.bg-action{background-color:var(--action)}.bg-bg{background-color:var(--bg)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-surface{background-color:var(--card)}.bg-surface-2{background-color:var(--card-2)}.bg-transparent{background-color:transparent}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pl-9{padding-left:2.25rem}.pr-3{padding-right:.75rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.font-display{font-family:var(--font-syne-var),Syne,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.text-blue{color:var(--accent)}.text-gold{color:var(--accent-rare)}.text-line{color:var(--border)}.text-link{color:var(--link)}.text-muted{color:var(--muted)}.text-on-action{color:var(--on-action)}.text-text{color:var(--fg)}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-card,.shadow-premium{--tw-shadow:var(--shadow-card);--tw-shadow-colored:var(--shadow-card);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.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)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-\[120ms\]{transition-duration:.12s}.\[-ms-overflow-style\:none\]{-ms-overflow-style:none}.\[scrollbar-width\:none\]{scrollbar-width:none}:root{color-scheme:light;--w-wide:1200px;--w-read:820px;--bg:#ece9e4;--fg:#16271e;--muted:#51634f;--accent:#315b40;--link:#315b40;--action:#80631e;--on-action:#fff;--focus:#315b40;--border:#cbd4c4;--border-control:#71836a;--card:#fffdf6;--card-2:#f5f2ec;--hover:#f5f2ec;--disabled-bg:#dce3d7;--disabled-fg:#51634f;--shadow:rgba(22,39,30,.1);--shadow-card:0 4px 16px rgba(22,39,30,.1);--shadow-menu:0 8px 24px rgba(22,39,30,.14);--accent-2:#315b40;--accent-rare:#80631e;--success:#315b40;--glow:transparent;--font-syne:var(--font-syne-var,"Syne",system-ui,sans-serif);--font-inter:var(--font-inter-var,"Inter",system-ui,sans-serif)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#07110e;--fg:#edf2e8;--muted:#b7c6b7;--accent:#c9a65b;--link:#c9a65b;--action:#c9a65b;--on-action:#07110e;--focus:#b9debd;--border:#354b3b;--border-control:#66806c;--card:#10211a;--card-2:#183023;--hover:#183023;--disabled-bg:#263b2d;--disabled-fg:#b7c6b7;--shadow:rgba(0,0,0,.2);--shadow-card:0 4px 16px rgba(0,0,0,.2);--shadow-menu:0 8px 24px rgba(0,0,0,.24);--accent-2:#b9debd;--accent-rare:#c9a65b;--success:#b9debd;--glow:transparent}}[data-theme=dark]{color-scheme:dark;--bg:#07110e;--fg:#edf2e8;--muted:#b7c6b7;--accent:#c9a65b;--link:#c9a65b;--action:#c9a65b;--on-action:#07110e;--focus:#b9debd;--border:#354b3b;--border-control:#66806c;--card:#10211a;--card-2:#183023;--hover:#183023;--disabled-bg:#263b2d;--disabled-fg:#b7c6b7;--shadow:rgba(0,0,0,.2);--shadow-card:0 4px 16px rgba(0,0,0,.2);--shadow-menu:0 8px 24px rgba(0,0,0,.24);--accent-2:#b9debd;--accent-rare:#c9a65b;--success:#b9debd;--glow:transparent}*{box-sizing:border-box}body{margin:0;font-family:var(--font-inter);background:var(--bg);color:var(--fg);line-height:1.6;max-width:100%;transition:background-color .2s ease,color .2s ease}.hero__title,.realm-card__name,h1,h2,h3{font-family:var(--font-syne)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:2rem;margin-bottom:.25rem}h2{font-size:1.4rem;margin-top:2rem}.tldr{background:var(--hover);border-left:3px solid var(--accent);padding:.75rem 1rem;border-radius:4px;margin:1rem 0}.muted{color:var(--muted)}.badge{font-size:.8rem;background:var(--hover);color:var(--fg);padding:.15rem .5rem;border-radius:999px;margin-right:.5rem}.badge,.searchbox{display:inline-block}.searchbox{position:relative;width:100%;max-width:420px}.searchbox--compact{max-width:220px}.searchbox__input{width:100%;padding:.5rem .75rem;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:8px;font-size:1rem}.searchbox--compact .searchbox__input{padding:.4rem .6rem;font-size:.95rem}.searchbox__input:focus{outline:none;border-color:var(--accent)}.searchbox__list{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;margin:0;padding:.25rem;list-style:none;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px var(--shadow);max-height:360px;overflow-y:auto}.searchbox__item{padding:.5rem .6rem;border-radius:6px;cursor:pointer;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchbox__item.is-active{background:var(--hover)}.searchbox__name{font-weight:600}.searchbox__desc{color:var(--muted)}.searchbox__all{color:var(--accent);font-weight:600;border-top:1px solid var(--border);margin-top:.25rem}.hero{position:relative;text-align:center;padding:4rem 1rem 3rem;margin-bottom:1rem;border-bottom:1px solid var(--border);overflow:hidden;isolation:isolate}.hero__title{font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;margin:0 0 .5rem;border:none;padding:0;background:linear-gradient(135deg,var(--fg) 0,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .hero__title{text-shadow:0 0 40px var(--glow)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hero__title{text-shadow:0 0 40px var(--glow)}}.hero__tagline{color:var(--muted);font-size:1.05rem;margin:0 auto 1.5rem;max-width:36rem}.hero .searchbox{display:block;margin:0 auto;max-width:560px}.searchbox--hero .searchbox__input{padding:.85rem 1.1rem;font-size:1.15rem;border-radius:12px;box-shadow:0 2px 10px var(--shadow)}.searchbox--hero .searchbox__input:focus{box-shadow:0 4px 18px var(--glow)}.searchbox__examples{text-align:left}.searchbox__exhint{padding:.35rem .6rem .15rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.searchbox__exicon{color:var(--accent);margin-right:.5rem;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.chip{display:inline-block;padding:.4rem .8rem;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--fg);font-size:.9rem;transition:border-color .15s,background .15s}.chip:hover{border-color:var(--accent);background:var(--hover);color:var(--accent)}.lang-switch,.theme-toggle{border:1px solid var(--border);border-radius:6px;padding:.35rem .6rem;font-size:.85rem;cursor:pointer}.lang-switch:hover,.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle{min-width:2.2rem}.roots-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}.section-title{font-family:var(--font-syne);font-size:1.5rem;font-weight:700;margin:2.5rem 0 .4rem;color:var(--fg)}.section-subtitle{color:var(--muted);font-size:.95rem;margin:0 0 1.5rem}.realm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2.5rem}@media (max-width:700px){.realm-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.realm-grid{grid-template-columns:1fr}}.realm-card{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:12px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;cursor:pointer}.realm-card,.realm-card:hover{text-decoration:none;color:var(--fg)}.realm-card:hover{transform:translateY(-4px);box-shadow:0 6px 24px var(--glow);border-color:var(--accent)}.realm-card__kicker{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-2);display:flex;align-items:center;gap:.35rem}.realm-card__rune{font-size:1rem;line-height:1}.realm-card__name{font-family:var(--font-syne);font-size:1.1rem;font-weight:700;color:var(--fg);line-height:1.2}.realm-card__count{font-size:.82rem;color:var(--muted);margin-top:.15rem}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2.5rem}@media (max-width:700px){.featured-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.featured-grid{grid-template-columns:1fr}}.toolcard{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--fg);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative;overflow:hidden}.toolcard:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--glow) 0,transparent 60%);opacity:0;transition:opacity .18s ease;pointer-events:none}.toolcard:hover{transform:translateY(-4px);box-shadow:0 6px 20px var(--glow);border-color:var(--accent);text-decoration:none;color:var(--fg)}.toolcard:hover:before{opacity:1}.toolcard__header{display:flex;align-items:center;gap:.65rem}.toolcard__logo{-o-object-fit:contain;object-fit:contain;background:var(--hover)}.toolcard__logo,.toolcard__monogram{width:36px;height:36px;border-radius:8px;flex-shrink:0}.toolcard__monogram{display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--bg);background:var(--accent)}.toolcard__monogram,.toolcard__name{font-family:var(--font-syne);font-weight:700}.toolcard__name{font-size:.95rem;color:var(--fg);line-height:1.2;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolcard__badges{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.toolcard__badge{font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--border);background:var(--hover);color:var(--muted);white-space:nowrap}.toolcard__badge--cat{border-color:var(--accent);color:var(--accent);background:transparent}.toolcard__desc{font-size:.85rem;flex:1}.toolcard__desc,.toolcard__reason{color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.toolcard__reason{font-size:.8rem;font-style:italic;margin-top:.25rem}.toolcard__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border)}.toolcard__score{font-size:.78rem;color:var(--muted)}.toolcard__score-star{color:var(--accent-2);margin-right:.15rem}.toolcard__cta{font-size:.82rem;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:.25rem;transition:gap .15s}.toolcard:hover .toolcard__cta{gap:.45rem}.brand{gap:.6rem;font-weight:700}.brand,.brand__logo{display:inline-flex;align-items:center}.brand__logo{justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:8px;background:var(--card);border:1px solid var(--border);overflow:hidden}.brand__logo-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.brand__name{font-family:var(--font-syne);font-size:1.25rem;letter-spacing:-.01em;color:var(--fg)}.brand:hover .brand__logo{border-color:var(--accent)}.star-bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;display:block}.page-shell{position:relative;z-index:1}.tree-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.tree-bg__svg{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.17}[data-theme=light] .tree-bg__svg{opacity:.08}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tree-bg__svg{opacity:.17}}.tree-bg__node{animation:treeNodePulse 3.6s ease-in-out infinite;animation-delay:var(--d,0s);transform-box:fill-box;transform-origin:center}@keyframes treeNodePulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.tree-bg__pulse{stroke-dasharray:14 340;animation:treePulseTravel var(--pd,7s) linear infinite;animation-delay:var(--pdd,0s)}@keyframes treePulseTravel{0%{stroke-dashoffset:354}to{stroke-dashoffset:0}}.tree-bg__leaf{transform-box:fill-box;transform-origin:center;animation:treeLeafFloat var(--ld,6s) ease-in-out infinite}@keyframes treeLeafFloat{0%,to{opacity:.35;transform:translateY(0) rotate(0deg)}50%{opacity:.7;transform:translateY(-8px) rotate(8deg)}}.tree-bg__cluster{transform-box:fill-box;transform-origin:center;animation:treeClusterDrift var(--cd,6s) ease-in-out infinite}@keyframes treeClusterDrift{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.tree-bg__heart{animation:treeHeartBreathe 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes treeHeartBreathe{0%,to{opacity:.7}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.tree-bg__node{animation:none;opacity:.7}.tree-bg__pulse{animation:none;opacity:0}.tree-bg__leaf{animation:none;opacity:.5}.tree-bg__cluster,.tree-bg__heart{animation:none;opacity:.85}}.filterbar{gap:.6rem 1rem;margin:1rem 0 1.25rem;padding:.8rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:12px}.filterbar,.filterbar__group{display:flex;flex-wrap:wrap;align-items:center}.filterbar__group{gap:.4rem}.filterbar__label{font-size:.8rem;color:var(--muted)}.filter-chip{padding:.3rem .7rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--fg);font-size:.85rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.filter-chip.is-active,.filter-chip:hover{border-color:var(--accent)}.filter-chip.is-active{background:var(--hover);color:var(--accent)}.filter-select{padding:.35rem .5rem;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:8px;font-size:.85rem;cursor:pointer}.filter-count{font-size:.85rem;color:var(--muted);margin-left:auto}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem}.site-footer{max-width:var(--w-wide);margin:3rem auto 0;padding:2rem 1rem 1.5rem;border-top:1px solid var(--border);text-align:center;color:var(--muted);font-size:.9rem}.footer-runes{font-size:1.25rem;letter-spacing:.5rem;color:var(--accent);opacity:.55;margin:0 0 .75rem}.footer-tagline{font-family:var(--font-syne);font-size:.95rem;color:var(--muted);margin:0 0 .75rem}.footer-nav{display:flex;justify-content:center;gap:1.5rem;margin:0 0 .75rem;flex-wrap:wrap}.footer-nav a{color:var(--muted);font-size:.875rem;text-decoration:none;transition:color .15s}.footer-nav a:hover{color:var(--accent);text-decoration:none}.footer-copy{font-size:.8rem;color:var(--muted);opacity:.7;margin:0}.footer-roots{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0,var(--accent) 50%,transparent 100%);opacity:.35}.site-footer-wrap{position:relative}.reading{max-width:var(--w-read);margin-left:auto;margin-right:auto}.cmp-verdict{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:var(--hover);border:1px solid var(--accent);border-radius:12px;padding:.9rem 1.2rem;margin:1rem 0 1.75rem}.cmp-verdict__label{font-family:var(--font-syne);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2)}.cmp-verdict__text{font-size:1.02rem}.cmp-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}@media (max-width:640px){.cmp-cards{grid-template-columns:1fr}}.cmp-card{position:relative;display:flex;flex-direction:column;gap:.6rem;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.25rem}.cmp-card--win{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 8px 28px var(--glow)}.cmp-card__pick{position:absolute;top:-.65rem;left:1rem;background:var(--accent);color:var(--bg);font-size:.7rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.cmp-card__head{display:flex;align-items:center;gap:.7rem}.cmp-card__logo,.cmp-card__mono{width:48px;height:48px;border-radius:10px;flex-shrink:0}.cmp-card__logo{-o-object-fit:contain;object-fit:contain;background:var(--hover)}.cmp-card__mono{display:flex;align-items:center;justify-content:center;color:var(--bg)}.cmp-card__mono,.cmp-card__name{font-family:var(--font-syne);font-weight:700;font-size:1.3rem}.cmp-card__name{line-height:1.1}.cmp-card__vendor{color:var(--muted);font-size:.85rem}.cmp-card__score{font-family:var(--font-syne);font-size:2rem;font-weight:800;color:var(--accent);line-height:1}.cmp-card__score small{font-size:.9rem;color:var(--muted);font-weight:600}.cmp-card__meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.cmp-card__cta{margin-top:auto;align-self:flex-start;border:1px solid var(--accent);color:var(--accent);border-radius:8px;padding:.4rem .85rem;font-size:.85rem;font-weight:600}.cmp-card__cta:hover{background:var(--accent);color:var(--bg);text-decoration:none}.cmp-table{width:100%;border-collapse:collapse;margin:1rem 0 2rem;font-size:.92rem}.cmp-table td,.cmp-table th{padding:.7rem .85rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.cmp-table thead th{font-family:var(--font-syne);font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.cmp-table tbody th{font-weight:600;color:var(--muted);width:28%}.cmp-table td.is-better{color:var(--accent);font-weight:700}.cmp-proscons{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width:640px){.cmp-proscons{grid-template-columns:1fr}}.cmp-pc__col h3{font-family:var(--font-syne);font-size:1.05rem;margin:.6rem 0 .4rem}.cmp-pc__list{list-style:none;padding:0;margin:0 0 1rem}.cmp-pc__list li{position:relative;padding:.3rem 0 .3rem 1.4rem;font-size:.9rem}.cmp-pc__list--pro li:before{content:"+";position:absolute;left:0;color:#19b36b;font-weight:800}.cmp-pc__list--con li:before{content:"\2013";position:absolute;left:0;color:#e0556b;font-weight:800}.toolcard__badge--match{border-color:var(--accent-2);color:var(--accent-2);background:transparent;font-weight:700}.filter-reset{padding:.3rem .7rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:.82rem;cursor:pointer;transition:border-color .15s,color .15s}.filter-reset:hover{border-color:var(--accent);color:var(--accent)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.75rem}.empty-state__rune{font-size:2.5rem;color:var(--accent);opacity:.5;line-height:1}.hero__stats{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;color:var(--muted);font-size:.95rem;margin:0 0 1.5rem}.hero__stats strong{color:var(--fg);font-family:var(--font-syne)}.hero__stats-sep{color:var(--accent);opacity:.6}.browse-all{text-align:center;margin:2.5rem 0 1rem}.browse-all__btn{display:inline-block;padding:.6rem 1.4rem;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-weight:600;font-size:.95rem;transition:background .15s,color .15s,box-shadow .15s}.browse-all__btn:hover{background:var(--accent);color:var(--bg);text-decoration:none;box-shadow:0 4px 18px var(--glow)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;justify-content:center;margin:1.25rem auto .5rem;max-width:800px;padding:0 1rem}.home-filters__select{padding:.45rem .65rem;background:var(--card);color:var(--fg);border:1px solid var(--border);border-radius:8px;font-size:.9rem;cursor:pointer;min-width:130px;transition:border-color .15s}.home-filters__select:focus,.home-filters__select:hover{border-color:var(--accent);outline:none}.home-filters__cta{padding:.45rem 1rem;background:var(--accent);color:var(--bg);border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s,box-shadow .15s;white-space:nowrap}.home-filters__cta:hover{opacity:.88;box-shadow:0 3px 12px var(--glow)}@media (max-width:560px){.home-filters{justify-content:stretch}.home-filters__cta,.home-filters__select{width:100%;min-width:0}}.tree-bg__layer{position:absolute;inset:-4%;transform:translate3d(calc((var(--px, .5) - .5) * -26px),calc((var(--py, .5) - .5) * -18px),0) scale(1.07);transition:transform .7s cubic-bezier(.2,.6,.3,1)}.tree-bg__reveal{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.55;-webkit-mask-image:radial-gradient(circle 190px at var(--mx,-999px) var(--my,-999px),rgba(0,0,0,.95) 0,rgba(0,0,0,.35) 55%,transparent 78%);mask-image:radial-gradient(circle 190px at var(--mx,-999px) var(--my,-999px),rgba(0,0,0,.95) 0,rgba(0,0,0,.35) 55%,transparent 78%)}[data-theme=light] .tree-bg__reveal{opacity:.3}.tree-bg__runes{position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle 150px at var(--mx,-999px) var(--my,-999px),rgba(0,0,0,.9) 0,transparent 72%);mask-image:radial-gradient(circle 150px at var(--mx,-999px) var(--my,-999px),rgba(0,0,0,.9) 0,transparent 72%)}.tree-bg__rune{position:absolute;transform:translate(-50%,-50%);color:var(--accent-rare,#d4af6a);text-shadow:0 0 14px var(--accent,#2ee6d6),0 0 30px var(--accent,#2ee6d6);opacity:.9;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tree-bg__ring{position:absolute;left:49%;top:56%;width:26px;height:26px;margin:-13px 0 0 -13px;border:2px solid var(--success,#4ade80);border-radius:50%;opacity:0}.tree-bg--awake .tree-bg__svg{opacity:.34;transition:opacity .8s ease}[data-theme=light] .tree-bg--awake .tree-bg__svg{opacity:.16}.tree-bg--awake .tree-bg__runes{-webkit-mask-image:none;mask-image:none}.tree-bg--awake .tree-bg__rune{animation:treeRuneGlow 1.6s ease-in-out infinite}.tree-bg--awake .tree-bg__ring{animation:treeRingWave 1.9s ease-out 3}@keyframes treeRingWave{0%{transform:scale(.4);opacity:.9}to{transform:scale(10);opacity:0}}@keyframes treeRuneGlow{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.tree-bg__layer{transition:none;transform:scale(1.05)}.tree-bg__reveal,.tree-bg__ring,.tree-bg__runes{display:none}}body,html{overflow-x:clip}:root{--hero-mob:image-set(url("/hero/hero-lumiere-750.avif") type("image/avif"),url("/hero/hero-lumiere-750.webp") type("image/webp"));--hero-desk:image-set(url("/hero/hero-lumiere-1600.avif") type("image/avif"),url("/hero/hero-lumiere-1600.webp") type("image/webp"))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--hero-mob:image-set(url("/hero/hero-foret-750.avif") type("image/avif"),url("/hero/hero-foret-750.webp") type("image/webp"));--hero-desk:image-set(url("/hero/hero-foret-1600.avif") type("image/avif"),url("/hero/hero-foret-1600.webp") type("image/webp"))}}[data-theme=dark]{--hero-mob:image-set(url("/hero/hero-foret-750.avif") type("image/avif"),url("/hero/hero-foret-750.webp") type("image/webp"));--hero-desk:image-set(url("/hero/hero-foret-1600.avif") type("image/avif"),url("/hero/hero-foret-1600.webp") type("image/webp"))}.skip-link{position:absolute;left:16px;top:-64px;z-index:100;padding:10px 16px;border-radius:8px;background:var(--card);color:var(--fg);font-weight:600;box-shadow:var(--shadow-menu)}.skip-link:focus{top:12px;outline:2px solid var(--focus);outline-offset:2px;text-decoration:none}.site-header{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--border)}.site-header__inner{max-width:1184px;margin:0 auto;min-height:64px;padding:0 16px;display:flex;align-items:center;gap:8px}@media (min-width:768px){.site-header__inner{padding:0 32px;gap:16px}}@media (min-width:1280px){.site-header__inner{min-height:72px}}.wordmark{font-family:var(--font-syne);font-weight:700;font-size:1.25rem;line-height:1;letter-spacing:-.02em;display:inline-flex;align-items:center;min-height:44px}.wordmark,.wordmark:hover{color:var(--fg);text-decoration:none}.home-link:focus-visible,.lang-switch:focus-visible,.site-foot__link:focus-visible,.site-header__link:focus-visible,.theme-toggle:focus-visible,.wordmark:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:8px}.wordmark--small{font-size:1.125rem}.site-header__nav{display:flex;align-items:center;margin-left:4px}.site-header__link{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:var(--fg);font-weight:600;font-size:1rem;text-decoration:none}.site-header__link:hover{text-decoration:underline;color:var(--fg)}.site-header__tools{margin-left:auto;display:flex;align-items:center;gap:8px}.site-header__search{display:none}@media (min-width:1024px){.site-header__search{display:block;width:220px}}.site-header__search .searchbox{max-width:220px}.site-header__search .searchbox__input{min-height:44px;border-color:var(--border-control);background:var(--card)}.lang-switch,.theme-toggle{min-width:44px;min-height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-control);border-radius:8px;background:var(--card);color:var(--fg);font-size:.875rem;font-weight:600;line-height:1;transition:background-color .12s ease-out}.lang-switch:hover,.theme-toggle:hover{background:var(--hover);border-color:var(--border-control);color:var(--fg)}.theme-toggle{font-size:1.125rem}.site-main{max-width:1184px;margin:0 auto;padding:24px 16px 0}@media (min-width:768px){.site-main{padding:24px 32px 0}}.home-hero{position:relative;isolation:isolate;margin-top:-24px}.home-hero__art{height:260px;background-color:var(--bg);background-image:var(--hero-mob);background-size:cover;background-position:top;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 64px),transparent);pointer-events:none;margin-inline:calc(50% - 50vw)}@media (min-width:768px) and (max-width:1023.98px){.home-hero__art{height:320px;background-image:var(--hero-desk);background-position:100% 0}}.home-hero__inner{padding:8px 0 0}@media (min-width:1024px){.home-hero__art{position:absolute;top:0;bottom:0;left:50%;z-index:-1;height:auto;width:100vw;margin-inline:0;transform:translateX(-50%);background-image:var(--hero-desk);background-position:100% 0;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 96px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 96px),transparent)}.home-hero__inner{padding:64px 0 96px}}.home-hero__copy{max-width:640px}@media (min-width:1024px) and (max-width:1279.98px){.home-hero__copy{max-width:560px}}.home-hero__eyebrow{margin:0 0 16px;font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--link)}.home-hero__title{margin:0;padding:0;border:0;font-family:var(--font-syne);font-weight:700;font-size:2.25rem;line-height:2.5rem;letter-spacing:-.02em;color:var(--fg)}@media (min-width:768px){.home-hero__title{font-size:3rem;line-height:3.25rem}}@media (min-width:1280px){.home-hero__title{font-size:3.5rem;line-height:3.75rem}}.home-hero__intro{margin:16px 0 24px;font-size:1rem;line-height:1.5rem;color:var(--fg)}@media (min-width:768px){.home-hero__intro{font-size:1.125rem;line-height:1.75rem}}.hero-search{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow-card)}@media (min-width:768px){.hero-search{padding:24px}}.hero-search__label{display:block;margin-bottom:8px;font-weight:600;font-size:1rem;line-height:1.5rem;color:var(--fg)}.hero-search__row{display:flex;flex-direction:column;gap:8px}@media (min-width:768px){.hero-search__row{flex-direction:row}}.hero-search__field{position:relative;flex:1;min-width:0}.hero-search__icon{position:absolute;left:14px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--muted);pointer-events:none}.hero-search__input{width:100%;min-height:56px;margin:0;padding:0 48px 0 44px;background:var(--card);color:var(--fg);border:1px solid var(--border-control);border-radius:8px;font:inherit;font-size:1rem;line-height:1.5rem}.hero-search__input::-moz-placeholder{color:var(--muted);opacity:1}.hero-search__input::placeholder{color:var(--muted);opacity:1}.hero-search__input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--focus)}.hero-search__input[aria-invalid=true]{border-color:var(--fg)}.hero-search__clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);cursor:pointer}.hero-search__clear svg{width:18px;height:18px}.hero-search__clear:hover{background:var(--hover);color:var(--fg)}.hero-search__clear:focus-visible{outline:2px solid var(--focus);outline-offset:0}.hero-search__submit{min-height:48px;padding:0 24px;margin:0;border:0;border-radius:8px;cursor:pointer;background:var(--action);color:var(--on-action);font:inherit;font-weight:600;font-size:1rem;line-height:1.5rem}@media (min-width:768px){.hero-search__submit{min-height:56px;width:120px;padding:0 12px}}.hero-search__submit:hover{text-decoration:underline;text-underline-offset:3px}.hero-search__submit:active{box-shadow:inset 0 0 0 2px var(--on-action)}.hero-search__submit:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hero-search__submit[aria-busy=true]{cursor:progress;text-decoration:none}.hero-search__msg{margin:8px 0 0;font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--fg)}.hero-search__msg:empty{margin:0}.hero-search__trust{margin:12px 0 0;font-size:.875rem;line-height:1.25rem;color:var(--muted)}.home-sections{display:flex;flex-direction:column;gap:48px;margin-top:48px}@media (min-width:768px){.home-sections{gap:64px;margin-top:64px}}@media (min-width:1280px){.home-sections{gap:80px;margin-top:16px}}.home-h2{margin:0;padding:0;border:0;font-family:var(--font-syne);font-weight:700;font-size:1.5rem;line-height:1.75rem;letter-spacing:-.02em;color:var(--fg)}@media (min-width:768px){.home-h2{font-size:1.75rem;line-height:2rem}}@media (min-width:1280px){.home-h2{font-size:2rem;line-height:2.25rem}}.home-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--link);font-weight:600;text-decoration:none}.home-link:hover{color:var(--link);text-decoration:underline;text-underline-offset:3px}.home-empty{margin:0;color:var(--muted)}.needs__head{margin-bottom:24px}.needs__sub{margin:8px 0 0;font-size:1rem;line-height:1.5rem;color:var(--muted)}.needs__rail{position:relative;padding-left:24px}.needs__rail-line{position:absolute;left:0;top:0;width:16px;height:100%;overflow:visible}.need-branch__line,.need-tile__twig path,.need-tile__up path,.needs__rail-line path{fill:none;stroke:var(--border-control);stroke-width:1.5;stroke-linecap:round;transition:stroke .12s ease-out}.need-row__branch,.need-tile__twig,.need-tile__up,.needs__rail-line{pointer-events:none}.need-row+.need-row{margin-top:12px}.need-row__branch,.need-tile__up{display:none}.need-row__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.need-row__item{position:relative}.need-tile__twig{position:absolute;left:-16px;top:50%;width:16px;height:16px;transform:translateY(-50%);overflow:visible}.need-row__item:focus-within .need-tile__twig path,.need-row__item:focus-within .need-tile__up path,.need-row__item:hover .need-tile__twig path,.need-row__item:hover .need-tile__up path{stroke:var(--action)}@media (min-width:768px){.needs__rail{padding-left:0}.need-tile__twig,.needs__rail-line{display:none}.need-row+.need-row{margin-top:0}.need-row__branch{display:block;width:100%;height:24px;overflow:visible}.need-row__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.need-tile__up{display:block;position:absolute;top:-24px;left:50%;width:12px;height:24px;transform:translateX(-50%);overflow:visible}}.need-tile{display:flex;align-items:center;gap:12px;min-height:64px;height:100%;padding:16px;background:var(--card);color:var(--fg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card);font-weight:600;font-size:1rem;line-height:1.5rem;text-decoration:none;transition:border-color .12s ease-out,background-color .12s ease-out}@media (min-width:768px){.need-tile{min-height:72px}}.need-tile:hover{border-color:var(--action);color:var(--fg);text-decoration:none}.need-tile:active{background:var(--hover)}.need-tile:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.need-tile__icon{flex:none;display:inline-flex;color:var(--fg)}.need-tile__icon,.need-tile__icon svg{width:20px;height:20px}.need-tile__label{flex:1;min-width:0}.need-tile__arrow{flex:none;width:20px;height:20px;color:var(--muted)}.home-tools__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:24px}.home-tools__grid{list-style:none;margin:0;padding:0;display:grid;gap:16px}@media (min-width:768px){.home-tools__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}.feat-card{display:flex;align-items:flex-start;gap:16px;height:100%;padding:16px;background:var(--card);color:var(--fg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card);text-decoration:none;transition:border-color .12s ease-out,background-color .12s ease-out}@media (min-width:768px){.feat-card{padding:24px}}.feat-card:hover{border-color:var(--border-control);color:var(--fg);text-decoration:none}.feat-card:active{background:var(--hover)}.feat-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.feat-card__logo,.feat-card__mono{flex:none;width:40px;height:40px;border-radius:8px}.feat-card__logo{-o-object-fit:contain;object-fit:contain;background:var(--card-2)}.feat-card__mono{display:inline-flex;align-items:center;justify-content:center;background:var(--card-2);border:1px solid var(--border);font-family:var(--font-syne);font-weight:700;font-size:1.25rem;color:var(--fg)}.feat-card__body{display:flex;flex-direction:column;min-width:0}.feat-card__name{font-weight:600;font-size:1.25rem;line-height:1.75rem}.feat-card__serves{font-size:.875rem;line-height:1.25rem;color:var(--muted)}.feat-card__cta{margin-top:8px;font-weight:600;color:var(--link)}.feat-card:focus-visible .feat-card__cta,.feat-card:hover .feat-card__cta{text-decoration:underline;text-underline-offset:3px}.site-foot{margin-top:80px;border-top:1px solid var(--border);background:var(--bg)}.site-foot__inner{max-width:1184px;margin:0 auto;padding:32px 16px;display:grid;gap:24px}@media (min-width:768px){.site-foot__inner{padding:40px 32px;grid-template-columns:1fr auto}}@media (min-width:1280px){.site-foot__inner{grid-template-columns:1fr auto 1fr;align-items:start}}.site-foot__tagline{margin:4px 0 0;font-size:.875rem;line-height:1.25rem;color:var(--muted)}.site-foot__nav{display:flex;flex-wrap:wrap;gap:0 16px}.site-foot__link{display:inline-flex;align-items:center;min-height:44px;color:var(--fg);font-size:.875rem;font-weight:600;text-decoration:none}.site-foot__link:hover{color:var(--fg);text-decoration:underline}.site-foot__legal{font-size:.875rem;line-height:1.25rem;color:var(--muted)}.site-foot__legal p{margin:0 0 4px}@media (min-width:768px){.site-foot__legal{grid-column:1/-1}}@media (min-width:1280px){.site-foot__legal{grid-column:auto;text-align:right}}@media (prefers-reduced-motion:reduce){.feat-card,.lang-switch,.need-branch__line,.need-tile,.need-tile__twig path,.need-tile__up path,.needs__rail-line path,.theme-toggle{transition:none}}.placeholder\:text-muted::-moz-placeholder{color:var(--muted)}.placeholder\:text-muted::placeholder{color:var(--muted)}.hover\:border-blue:hover{border-color:var(--accent)}.hover\:border-control:hover{border-color:var(--border-control)}.hover\:bg-surface-2:hover{background-color:var(--card-2)}.hover\:text-text:hover{color:var(--fg)}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-focus:focus-visible{--tw-ring-color:var(--focus)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-bg:focus-visible{--tw-ring-offset-color:var(--bg)}.active\:ring-2:active{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\:ring-inset:active{--tw-ring-inset:inset}.active\:ring-on-action:active{--tw-ring-color:var(--on-action)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:underline{text-decoration-line:underline}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:640px){.sm\:mx-0{margin-left:0;margin-right:0}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-wrap{flex-wrap:wrap}.sm\:whitespace-normal{white-space:normal}.sm\:rounded-2xl{border-radius:1.125rem}.sm\:border{border-width:1px}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}@font-face{font-family:__Syne_4fbc0a;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Syne_4fbc0a;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Syne_4fbc0a;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Syne_Fallback_4fbc0a;src:local("Arial");ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.00%;size-adjust:98.47%}.__className_4fbc0a{font-family:__Syne_4fbc0a,__Syne_Fallback_4fbc0a;font-style:normal}.__variable_4fbc0a{--font-syne-var:"__Syne_4fbc0a","__Syne_Fallback_4fbc0a"}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_d8ebd1;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_d8ebd1{font-family:__Inter_d8ebd1,__Inter_Fallback_d8ebd1;font-style:normal}.__variable_d8ebd1{--font-inter-var:"__Inter_d8ebd1","__Inter_Fallback_d8ebd1"}