:root{--background:#0d0d0d;--foreground:#f4f4f5;--card:#131316;--card-foreground:#f4f4f5;--popover:#131316;--popover-foreground:#f4f4f5;--primary:#10b981;--primary-foreground:#0d0d0d;--secondary:#1a1a1d;--secondary-foreground:#f4f4f5;--muted:#1a1a1d;--muted-foreground:#b1b1bd;--accent:#1a1a1d;--accent-foreground:#f4f4f5;--destructive:#ef4444;--border:#ffffff14;--input:#ffffff14;--ring:#10b981;--radius:.75rem;--color-emerald:#10b981;--color-sky:#0ea5e9;--color-amber:#f59e0b;--color-violet:#8b5cf6;--color-pink:#ec4899;--color-red:#ef4444;--color-cyan:#06b6d4;--color-gray:#6b7280;--hero-emerald:#34d399;--hero-sky:#38bdf8;--hero-white:#fff;--glass-bg:#13131699;--glass-strong-bg:#131316eb;--glass-border:#ffffff14;--surface-overlay:#13131699}@media (prefers-color-scheme:light){:root{--background:#f5f8f8;--foreground:#0b1416;--card:#fff;--card-foreground:#0b1416;--popover:#fff;--popover-foreground:#0b1416;--primary:#059f74;--primary-foreground:#fff;--secondary:#eef3f3;--secondary-foreground:#0b1416;--muted:#eef3f3;--muted-foreground:#57696b;--accent:#eef3f3;--accent-foreground:#0b1416;--destructive:#dc2626;--border:#0b14161a;--input:#0b14161a;--ring:#059f74;--color-emerald:#059f74;--color-sky:#0891c4;--color-amber:#b45309;--color-violet:#7c4ddb;--color-pink:#d8317c;--color-red:#cf4038;--color-cyan:#0e7490;--color-gray:#57696b;--hero-emerald:#059f74;--hero-sky:#0891c4;--hero-white:#0b1416;--glass-bg:#ffffffb8;--glass-strong-bg:#fffffff5;--glass-border:#0b141614;--surface-overlay:#fffc}}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;font-family:Sora,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;overflow-x:hidden}:focus-visible{outline:3px solid var(--ring);outline-offset:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}svg{display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.glass-strong{background:var(--glass-strong-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border)}.container{width:100%;max-width:80rem;margin:0 auto;padding:0 1.5rem}.main{flex:1 0 auto}.site-header{z-index:50;border-bottom:1px solid var(--border);position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.site-header{background:var(--card)}}.site-header .bar{justify-content:space-between;align-items:center;gap:1rem;height:4rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.brand-logo{background:linear-gradient(135deg, var(--color-emerald), var(--color-sky));color:#fff;border-radius:.5rem;place-items:center;width:2rem;height:2rem;display:grid}.brand-mark{align-items:baseline;gap:.5rem;display:flex}.brand-name{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.brand-suffix{color:#38bdf8;background:#0ea5e926;border-radius:.375rem;padding:.125rem .5rem;font-size:.8rem;font-weight:500}.header-left{align-items:center;gap:1.5rem;display:flex}.header-right{align-items:center;gap:1rem;display:flex}.cat-toggle{color:var(--muted-foreground);background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.25rem;padding:.375rem .5rem;font-size:.875rem;font-weight:500;transition:color .15s,background .15s;display:flex}.cat-toggle:hover{color:var(--foreground);background:#ffffff0a}.cat-toggle svg{transition:transform .2s}.cat-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.cat-dropdown{border-radius:.75rem;width:14rem;margin-top:.5rem;padding:.5rem;position:absolute;top:100%;left:0;box-shadow:0 20px 40px -10px #00000080}.cat-dropdown a{color:var(--muted-foreground);border-radius:.5rem;align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.875rem;transition:color .15s,background .15s;display:flex}.cat-dropdown a:hover{color:var(--foreground);background:#ffffff0d}.cat-dropdown .dot{border-radius:999px;width:.5rem;height:.5rem}.cat-dropdown .sep{background:var(--border);height:1px;margin:.25rem 0}.login-btn{border:1px solid var(--border);color:var(--foreground);background:0 0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.login-btn:hover{color:var(--primary);border-color:#10b98180}.hero{text-align:center;flex-direction:column;align-items:center;padding:2.5rem 1.5rem;display:flex;position:relative;overflow:hidden}.hero-glow{opacity:.4;pointer-events:none;filter:blur(60px);background:radial-gradient(#10b9811f 0%,#0000 70%);border-radius:999px;width:700px;height:500px;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.hero-inner{z-index:1;max-width:48rem;margin:0 auto;position:relative}.eyebrow{border:1px solid var(--border);background:var(--surface-overlay);color:var(--muted-foreground);border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.hero h1{letter-spacing:-.03em;margin:0 0 .75rem;font-size:2.25rem;font-weight:600;line-height:1.05}@media (min-width:768px){.hero h1{font-size:3.25rem}}.hero h1 .g-emerald{color:var(--hero-emerald)}.hero h1 .g-sky{color:var(--hero-sky)}.hero h1 .g-white{color:var(--hero-white)}.hero .subtitle{color:var(--muted-foreground);max-width:36rem;margin:0 auto 1.25rem;font-size:1.0625rem;line-height:1.55}.pills{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin:1.25rem 0 .75rem;display:flex}.pill{border:1px solid var(--border);background:var(--surface-overlay);color:var(--foreground);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.pill svg{width:.875rem;height:.875rem}.stats-row{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.stats-row strong{color:var(--foreground);font-weight:600}.stats-row .sep{color:var(--border)}.search-wrap{max-width:42rem;margin:.5rem auto 0;position:relative}.search-wrap .search-icon{color:var(--muted-foreground);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-wrap input{background:var(--surface-overlay);width:100%;color:var(--foreground);border:1px solid #10b98133;border-radius:1rem;outline:none;padding:1rem 1.5rem 1rem 3rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.search-wrap input::placeholder{color:#b1b1bd99}.search-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10b98133}.search-clear{width:2.25rem;height:2.25rem;color:var(--muted-foreground);background:0 0;border:0;border-radius:.5rem;font-size:1.4rem;line-height:1;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.search-clear:hover{background:var(--muted);color:var(--foreground)}.hub-controls{padding-top:.5rem;padding-bottom:1rem}.hub-control-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:.75rem;display:grid}.hub-control-grid label{min-width:0;color:var(--muted-foreground);gap:.35rem;font-size:.8rem;display:grid}.hub-control-grid .hub-checkbox{min-height:2.5rem;color:var(--foreground);align-items:center;gap:.5rem;display:flex}.hub-control-grid .btn{min-height:2.5rem}.hub-state{color:var(--muted-foreground);margin:0 0 1rem}.hub-card-badges{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.tool-card.is-active{border-color:var(--primary);box-shadow:0 0 0 2px #10b98140}.tool-card mark{color:inherit;background:#10b98147;border-radius:.15rem;padding:0 .08em}.cat-nav{z-index:30;background:var(--surface-overlay);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);margin:0 -1.5rem .5rem;padding:.75rem 1.5rem;position:sticky;top:4rem}.cat-nav .scroll{align-items:center;gap:.5rem;display:flex;overflow-x:auto}.cat-nav .scroll::-webkit-scrollbar{display:none}.chip{color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:.5rem;flex-shrink:0;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:color .15s,background .15s;display:inline-flex}.chip:hover{color:var(--foreground);background:var(--muted)}.chip.active{color:var(--primary);background:#10b9811a;border-color:#10b98133}.chip .dot{border-radius:999px;width:.5rem;height:.5rem}.hub-only-local{color:var(--muted-foreground);align-items:center;gap:.5rem;margin:0 1.5rem 1.5rem;font-size:.875rem;display:flex}.rail{scrollbar-width:thin;gap:.625rem;padding-bottom:.375rem;display:flex;overflow-x:auto}.rail a{background:var(--card);border:1px solid var(--border);color:var(--foreground);white-space:nowrap;border-radius:.75rem;flex:none;align-items:center;gap:.625rem;padding:.625rem .9rem .625rem .6rem;font-size:.8rem;font-weight:500;transition:border-color .15s;display:flex}.rail a:hover{border-color:#10b98159}.rail .ic{border-radius:.5rem;flex:none;place-items:center;width:1.75rem;height:1.75rem;display:grid}.privacy-band{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem;display:grid}.privacy-band .pr{border:1px solid var(--border);background:var(--card);border-radius:.875rem;padding:1.25rem}.privacy-band .pr h4{letter-spacing:-.02em;margin:.75rem 0 .375rem;font-size:1.75rem;font-weight:700}.privacy-band .pr p{color:var(--muted-foreground);margin:0;font-size:.8125rem;line-height:1.5}.category-rail{z-index:45;-webkit-backdrop-filter:blur(10px);background:#070b0a7a;border:1px solid #94a3b81a;border-radius:999px;flex-direction:column;align-items:center;gap:.55rem;padding:.75rem .42rem;transition:opacity .18s,border-color .18s,background .18s;display:flex;position:fixed;top:50%;right:clamp(.5rem,1.7vw,1.75rem);transform:translateY(-50%);box-shadow:0 12px 32px #0000002e}.category-rail:hover,.category-rail:focus-within{background:#070b0aad;border-color:#94a3b833}.category-rail__track{pointer-events:none;background:linear-gradient(#0000,#94a3b838 12% 88%,#0000);width:1px;position:absolute;top:1rem;bottom:1rem;left:50%;transform:translate(-50%)}.category-rail__dot{z-index:1;width:1.35rem;height:1.35rem;color:var(--rail-color,var(--color-emerald));border-radius:50%;outline:none;place-items:center;display:grid;position:relative}.category-rail__dot>span{background:color-mix(in srgb, var(--rail-color,var(--color-emerald)) 36%, #64748b 64%);opacity:.48;border-radius:50%;width:.38rem;height:.38rem;transition:width .18s,height .18s,opacity .18s,transform .18s,background .18s,box-shadow .18s;transform:scale(1);box-shadow:0 0 0 1px #ffffff0a}.category-rail__dot:hover>span,.category-rail__dot:focus-visible>span{opacity:.78;transform:scale(1.18)}.category-rail__dot.is-active>span{background:var(--rail-color,var(--color-emerald));width:.58rem;height:.58rem;box-shadow:0 0 0 .25rem color-mix(in srgb, var(--rail-color,var(--color-emerald)) 14%, transparent), 0 0 .85rem color-mix(in srgb, var(--rail-color,var(--color-emerald)) 58%, transparent);opacity:1;transform:scale(1.22)}.category-rail__dot:after{content:attr(data-label);width:max-content;max-width:12rem;color:var(--foreground);opacity:0;pointer-events:none;background:#070b0aeb;border:1px solid #94a3b829;border-radius:.4rem;padding:.32rem .5rem;font-size:.72rem;font-weight:600;line-height:1;transition:opacity .15s,transform .15s;position:absolute;top:50%;right:calc(100% + .65rem);transform:translate(.25rem,-50%)}.category-rail__dot:hover:after,.category-rail__dot:focus-visible:after{opacity:1;transform:translateY(-50%)}@media (max-width:720px){.category-rail{background:#070b0a61;gap:.38rem;padding:.58rem .25rem;right:.22rem}.category-rail__dot{width:1.15rem;height:1.15rem}.category-rail__dot:after{display:none}}.sections{max-width:80rem;margin:0 auto;padding:0 1.5rem 3rem}.section{border-top:1px solid #ffffff0f;padding:2.5rem 0;scroll-margin-top:8rem}.section:first-child{border-top:0}.section-head{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.section-head .bar{border-radius:999px;width:.375rem;height:1.75rem}.section-head h2{letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:600}.section-head .count{background:var(--muted);color:var(--muted-foreground);border-radius:.375rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.section-desc{color:var(--muted-foreground);margin:0 0 1.5rem;font-size:.875rem}.grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.grid{grid-template-columns:repeat(4,1fr)}}.tool-card{border:1px solid var(--border);background:var(--card);border-radius:.75rem;flex-direction:column;height:100%;padding:1.25rem;transition:border-color .3s,transform .3s,box-shadow .3s;display:flex;position:relative}.tool-card:hover{border-color:#10b9814d;transform:translateY(-4px);box-shadow:0 10px 30px -10px #10b9811a}.tool-card .accent{opacity:.6;border-radius:0 0 999px 999px;height:2px;transition:opacity .3s;position:absolute;top:0;left:1rem;right:1rem}.tool-card:hover .accent{opacity:1}.tool-card .top{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.tool-card .icon-box{border-radius:.5rem;place-items:center;width:2.5rem;height:2.5rem;display:grid}.tool-card .name{margin:0 0 .25rem;font-size:1rem;font-weight:600;transition:color .2s}.tool-card:hover .name{color:var(--primary)}.tool-card .desc{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 1rem;font-size:.875rem;line-height:1.4;display:-webkit-box;overflow:hidden}.tool-card .footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.tool-card .open{color:var(--primary);opacity:0;font-size:.875rem;font-weight:500;transition:opacity .2s}.tool-card:hover .open{opacity:1}.tool-card.dim{opacity:.55;cursor:not-allowed}.tool-card.dim:hover{border-color:var(--border);box-shadow:none;transform:none}.tool-card.dim:hover .name{color:inherit}.tool-card.dim:hover .open{opacity:0}.star{z-index:1;width:1.75rem;height:1.75rem;color:var(--muted-foreground);opacity:0;background:0 0;border:0;border-radius:.375rem;place-items:center;transition:opacity .13s,color .13s;display:grid;position:absolute;top:.75rem;right:.75rem}.tool-card:hover .star,.star.on{opacity:1}.star.on{color:#f59e0b}.star:hover{background:var(--muted)}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.25rem;height:1.25rem;padding:0 .5rem;font-size:.625rem;font-weight:500;display:inline-flex}.badge svg{width:.75rem;height:.75rem}.badge-new{color:var(--primary);border-color:#10b9814d}.badge-status-coming_soon,.badge-status-broken{color:#fca5a5;background:#ef44441a;border-color:#ef444459}.badge-status-limited,.badge-status-experimental{color:#fcd34d;background:#f59e0b1a;border-color:#f59e0b59}.badge-loc-local{color:#34d399;background:#10b9811a;border-color:#10b98133}.badge-loc-other{color:var(--muted-foreground);background:#1a1a1d80}.badge-loc-server{color:#d1d5db;background:#6b728029;border-color:#6b72804d}.badge-loc-ai{color:#7dd3fc;background:#0ea5e91f;border-color:#0ea5e94d}.btn{height:2rem;color:var(--foreground);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;gap:.375rem;padding:0 .625rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn svg{flex-shrink:0;width:1rem;height:1rem}.btn:active{transform:translateY(1px)}.btn:disabled{pointer-events:none;opacity:.5}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{background:#10b981cc}.btn-secondary{background:var(--secondary);color:var(--secondary-foreground)}.btn-secondary:hover{background:#242428}.btn-ghost{color:var(--muted-foreground)}.btn-ghost:hover{background:var(--muted);color:var(--foreground)}.btn-outline{border-color:var(--border);background:var(--background)}.btn-outline:hover{background:var(--muted);color:var(--foreground)}.btn-sm{border-radius:.5rem;height:1.75rem;padding:0 .625rem;font-size:.8rem}.btn-icon{width:2rem;height:2rem;padding:0}.btn-icon-sm{border-radius:.5rem;width:1.75rem;height:1.75rem;padding:0}.btn-lg{height:3.5rem;padding:0 1rem}.btn-block{width:100%}@media (max-width:900px){.hub-control-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.container,.sections,.hero{padding-left:1rem;padding-right:1rem}.hero h1{overflow-wrap:anywhere;font-size:2.35rem}.hero .subtitle{font-size:1rem}.search-wrap{width:100%}.hub-control-grid{grid-template-columns:1fr 1fr}.hub-control-grid>*,.tool-card{min-width:0}.tool-card .name,.tool-card .desc{overflow-wrap:anywhere}.header-left{gap:.5rem;min-width:0}.cat-toggle{min-height:2.5rem}.login-btn{min-height:2.5rem;padding:.5rem .65rem}.cat-wrap,.brand-logo{display:none}.header-right{gap:.4rem;min-width:0}.header-right>*{flex-shrink:0}.header-right .vv-locale{grid-template-columns:repeat(var(--vv-locale-count), minmax(34px, 1fr))}.header-right .vv-locale__btn{padding-inline:6px}.header-right .vv-locale__label{display:none}.header-right .vv-session--anonymous{padding:.45rem .6rem;font-size:.8125rem}}@media (max-width:380px){.hub-control-grid{grid-template-columns:1fr}.brand-mark,.cat-wrap{display:none}.brand-logo{display:grid}.header-right{gap:.25rem;min-width:0;margin-left:auto}.header-right .login-btn{justify-content:center;width:2.5rem;padding:0;font-size:0}.site-header .bar{gap:.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.input,.textarea,.select{border:1px solid var(--input);width:100%;color:var(--foreground);background:0 0;border-radius:.5rem;outline:none;padding:.375rem .625rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.input,.select{min-height:2.75rem}@media (min-width:768px){.input,.textarea,.select{font-size:.875rem}}.input:focus,.textarea:focus,.select:focus{border-color:var(--ring);box-shadow:0 0 0 3px #10b98133}.textarea{resize:vertical;min-height:4rem;line-height:1.5}.input::placeholder,.textarea::placeholder{color:#b1b1bd99}.input-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.input-lg{font-size:1.125rem}.field-label{color:var(--muted-foreground);margin-bottom:.25rem;font-size:.875rem;font-weight:500;display:block}.tool-page{width:100%;max-width:80rem;margin:0 auto;padding:2rem 1.5rem}.breadcrumb{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.875rem;display:flex}.breadcrumb a{align-items:center;gap:.25rem;transition:color .15s;display:inline-flex}.breadcrumb a:hover{color:var(--foreground)}.breadcrumb .sep{opacity:.5}.tool-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.tool-header .bar{border-radius:999px;width:.25rem;height:1.5rem}.tool-header h1{letter-spacing:-.02em;margin:0;font-size:1.875rem;font-weight:600}.tool-header .loc-tag{border:1px solid;border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.tool-desc{color:var(--muted-foreground);margin:0 0 2rem}.tool-shell{border-radius:.75rem;padding:1.5rem}@media (min-width:768px){.tool-shell{padding:2rem}}.tool-placeholder{text-align:center;max-width:42rem;color:var(--muted-foreground);margin:0 auto;padding:5rem 0}.tool-placeholder .t{color:var(--foreground);margin-bottom:.5rem;font-size:1.125rem;font-weight:500}.tool-info-only{max-width:48rem;color:var(--muted-foreground);text-align:left;grid-template-columns:auto minmax(0,1fr);gap:1rem;margin:0 auto;padding:2rem 0;display:grid}.tool-info-only .t{color:var(--foreground);margin:0 0 .35rem;font-size:1.1rem;font-weight:650}.tool-info-only p{margin:0;font-size:.86rem;line-height:1.6}.tool-info-icon{width:3rem;height:3rem;color:var(--color-amber);background:#f59e0b1a;border-radius:.75rem;place-items:center;display:grid}.tool-alternative{border:1px solid var(--border);background:#13131673;border-radius:.625rem;grid-column:2;padding:1rem}.tool-alternative strong{color:var(--foreground);margin-bottom:.3rem;font-size:.8rem;display:block}@media (max-width:520px){.tool-info-only{grid-template-columns:1fr}.tool-alternative{grid-column:1}}.tool-tool{max-width:100%}.tool-tool .btn-primary{min-height:2.75rem}.tool-tool>.stack{width:100%}.tool-tool[data-tool-state=processing]{cursor:progress}.tool-tool[data-tool-state=error] .tool-auto-result{display:none}.tool-auto-result{margin-top:1.25rem}.tool-tool fieldset{min-width:0}.tool-steps{color:var(--muted-foreground);grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.tool-steps li{border:1px solid var(--border);background:#1313165c;border-radius:.625rem;align-items:center;gap:.5rem;min-width:0;padding:.625rem .75rem;font-size:.78rem;font-weight:600;display:flex;position:relative}.tool-steps li span{background:var(--secondary);width:1.5rem;height:1.5rem;color:var(--muted-foreground);border-radius:999px;flex:none;place-items:center;display:grid}.tool-steps li.is-current{color:var(--foreground);background:#10b98112;border-color:#10b98161}.tool-steps li.is-current span{background:var(--primary);color:var(--primary-foreground)}.tool-trust{color:var(--muted-foreground);background:#10b9810b;border:1px solid #10b98133;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1rem;padding:1rem 1.125rem;display:grid}.tool-trust-main{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.tool-trust-main>svg{color:var(--primary);flex:none}.tool-trust strong{color:var(--foreground);margin-bottom:.2rem;font-size:.85rem;display:block}.tool-trust p{margin:0;font-size:.78rem;line-height:1.5}.tool-requirements{position:relative}.tool-requirements summary{cursor:pointer;color:var(--foreground);white-space:nowrap;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.tool-requirements summary::marker{content:""}.tool-requirements[open] summary svg{transform:rotate(180deg)}.tool-requirements ul{max-width:34rem;margin:.75rem 0 0;padding-left:1.2rem;font-size:.75rem;line-height:1.55}.tool-requirements li+li{margin-top:.25rem}@media (max-width:640px){.tool-page{padding:1.25rem 1rem}.breadcrumb{margin-bottom:1rem}.tool-header{flex-wrap:wrap;align-items:flex-start}.tool-header h1{flex:calc(100% - 2rem);font-size:1.5rem}.tool-desc{margin-bottom:1.25rem}.tool-shell{padding:1rem}.tool-steps li{justify-content:center;padding:.5rem .25rem;font-size:.7rem}.tool-steps li span{width:1.25rem;height:1.25rem}.tool-trust{grid-template-columns:1fr}}.row{align-items:center;gap:.75rem;display:flex}.row-end{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.row-between{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.grow{flex:1}.stack{flex-direction:column;gap:1.5rem;display:flex}.stack-sm{flex-direction:column;gap:.5rem;display:flex}.muted{color:var(--muted-foreground)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}.text-destructive{color:var(--destructive)}.error-text{color:var(--destructive);font-size:.875rem}.certificate-status{color:var(--primary);font-weight:700}.certificate-status-expires_soon{color:#b45309}.tool-status-coming_soon,.tool-status-broken{color:#fca5a5;background:#ef44441a;border-color:#ef444461}.tool-status-limited,.tool-status-experimental{color:#fcd34d;background:#f59e0b1a;border-color:#f59e0b61}.two-col{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:768px){.two-col{grid-template-columns:1fr 1fr}}.uuid-row{border:1px solid var(--border);background:#13131666;border-radius:.5rem;justify-content:space-between;align-items:center;padding:.75rem;font-family:ui-monospace,monospace;font-size:.875rem;display:flex}.uuid-row span{word-break:break-all}.strength-track{background:var(--secondary);border-radius:999px;height:.5rem;overflow:hidden}.strength-fill{border-radius:999px;height:100%;transition:width .3s,background .3s}.pw-options{border:1px solid var(--border);background:#13131666;border-radius:.75rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.pw-opt{cursor:pointer;font-size:.875rem}.pw-options.is-passphrase>.row-between,.pw-options.is-passphrase>.pw-opt{display:none}.regex-out{border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;background:#1313164d;border-radius:.5rem;padding:.75rem;font-size:.875rem}.swatch{border:1px solid var(--border);border-radius:.75rem;width:5rem;height:5rem;box-shadow:inset 0 0 0 1px #0003}.nb-row{border:1px solid var(--border);background:#1313164d;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem;display:flex}.nb-row .label{color:var(--muted-foreground);flex-shrink:0;width:5rem;font-size:.75rem;font-weight:500}.nb-row .input{background:0 0;border:0}.nb-row .btn-icon{flex-shrink:0}input[type=range]{accent-color:var(--primary)}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary)}.select-native{border:1px solid var(--input);background:var(--card);height:2.5rem;color:var(--foreground);border-radius:.375rem;padding:0 .75rem;font-size:.875rem}.ai-chat{flex-direction:column;max-width:48rem;height:calc(100vh - 12rem);margin:0 auto;display:flex}.ai-head{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.ai-connection{color:var(--muted-foreground);align-items:center;gap:.35rem;font-size:.7rem;display:inline-flex}.ai-connection>span{background:var(--primary);border-radius:999px;width:.45rem;height:.45rem;box-shadow:0 0 0 3px #10b9811a}.ai-connection.is-active>span{animation:1.2s ease-in-out infinite ai-pulse}@keyframes ai-pulse{50%{opacity:.35}}.ai-messages{flex-direction:column;flex:1;gap:1rem;margin-bottom:1rem;padding-right:.5rem;display:flex;overflow-y:auto}.ai-empty{text-align:center;color:var(--muted-foreground);padding:3rem 0}.ai-empty-icon svg{opacity:.3;width:2.5rem;height:2.5rem;margin:0 auto 1rem}.ai-empty-title{color:var(--foreground);margin:0 0 .25rem;font-size:1.125rem;font-weight:500}.ai-starters{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;max-width:42rem;margin:1.25rem auto 0;display:grid}.ai-starter{border:1px solid var(--border);min-height:4.5rem;color:var(--foreground);font:inherit;text-align:left;background:#1313168c;border-radius:.625rem;padding:.75rem;font-size:.78rem;line-height:1.4}.ai-starter:hover{background:#10b9810f;border-color:#10b98159}.msg{gap:.75rem;display:flex}.msg.user{justify-content:flex-end}.msg .avatar{border-radius:.5rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;margin-top:.25rem;display:grid}.msg .avatar.bot{color:#34d399;background:#10b9811a}.msg .avatar.user{color:#38bdf8;background:#0ea5e91a}.bubble{border-radius:1rem;max-width:80%;padding:.75rem 1rem;font-size:.875rem;line-height:1.6}.msg.user .bubble{background:var(--primary);color:var(--primary-foreground);border-bottom-right-radius:.375rem}.msg.bot .bubble{background:var(--card);border:1px solid var(--border);border-bottom-left-radius:.375rem}.msg-actions{opacity:.72;gap:.25rem;margin:.5rem -.5rem -.4rem;display:flex}.ai-disclaimer{color:var(--muted-foreground);text-align:center;margin:.6rem 0 0;font-size:.7rem;line-height:1.45}@media (max-width:600px){.ai-chat{height:calc(100dvh - 10rem)}.ai-starters{grid-template-columns:1fr}.bubble{max-width:92%}}.ai-typing{color:var(--muted-foreground);align-items:center;gap:.5rem;padding:.75rem 0;font-size:.875rem;display:flex}.spinner{border:2px solid #10b98133;border-top-color:var(--primary);border-radius:999px;width:1rem;height:1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-error{color:var(--destructive);background:#ef44440d;border:1px solid #ef444433;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;display:flex}.ai-error-icon{flex-shrink:0;display:inline-flex}.ai-error-icon svg{width:1rem;height:1rem}.ai-input{align-items:flex-end;gap:.5rem;display:flex}.ai-input .textarea{background:#131316cc;min-height:3.5rem;max-height:10rem}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:.5rem 0;font-weight:600}.markdown-body p{margin:0 0 .5rem}.markdown-body ul{margin:0 0 .5rem;padding-left:1.25rem;list-style:outside}.markdown-body code{background:#ffffff0f;border-radius:.25rem;padding:.125rem .375rem;font-family:ui-monospace,monospace;font-size:.85em}.markdown-body pre{background:#ffffff0a;border-radius:.5rem;margin:0 0 .5rem;padding:2.5rem .75rem .75rem;position:relative;overflow-x:auto}.markdown-body pre .code-copy{position:absolute;top:.35rem;right:.35rem}.markdown-body pre code{background:0 0;padding:0}.toaster{z-index:100;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1rem;right:1rem}.toast{border-radius:var(--radius);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);align-items:center;gap:.5rem;min-width:16rem;padding:.75rem 1rem;font-size:.875rem;animation:.2s toast-in;display:flex;box-shadow:0 10px 30px -10px #00000080}.toast.success svg{color:#34d399}.toast.error svg{color:var(--destructive)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.site-footer{border-top:1px solid var(--border);margin-top:auto}.site-footer .bar{max-width:80rem;color:var(--muted-foreground);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:2rem 1.5rem;font-size:.875rem;display:flex}.site-footer a{align-items:center;gap:.5rem;transition:color .15s;display:inline-flex}.site-footer a:hover{color:var(--foreground)}.site-footer .privacy{align-items:center;gap:.5rem;display:inline-flex}.site-footer .privacy svg{color:var(--color-emerald)}.empty-state{text-align:center;color:var(--muted-foreground);padding:5rem 0}.empty-state svg{opacity:.3;width:2.5rem;height:2.5rem;margin:0 auto 1rem}.empty-state .t{font-size:1.125rem;font-weight:500}.hidden{display:none!important}.dropzone{text-align:center;cursor:pointer;background:#1313164d;border:1.5px dashed #ffffff24;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:11rem;padding:2.5rem 1.5rem;transition:border-color .2s,background .2s,transform .1s;display:flex;position:relative}.dropzone:hover{background:#13131680;border-color:#10b98166}.dropzone:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px #10b98133}.dropzone.dragover{border-color:var(--primary);background:#10b98114;transform:scale(1.01)}.dropzone .dz-ico{color:var(--muted-foreground);place-items:center;margin-bottom:.25rem;display:grid}.dropzone:hover .dz-ico{color:var(--primary)}.dropzone .dz-title{color:var(--foreground);font-size:.95rem;font-weight:500}.dropzone .dz-hint{color:var(--muted-foreground);font-size:.8rem}.dropzone .dz-accept{color:var(--muted-foreground);opacity:.7;font-size:.75rem}.file-list{flex-direction:column;gap:.5rem;display:flex}.file-item{border:1px solid var(--border);background:#13131666;border-radius:.5rem;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.file-item .fi-ico{color:var(--muted-foreground);flex-shrink:0;display:inline-flex}.file-item .fi-meta{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.file-item .fi-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.file-item .fi-size{color:var(--muted-foreground);font-size:.75rem}.file-item .fi-remove{color:var(--muted-foreground);flex-shrink:0}.file-item .fi-remove:hover{color:var(--destructive);background:#ef444414}.file-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;display:grid}.file-grid-card{border:1px solid var(--border);background:#1313166b;border-radius:.625rem;grid-template-columns:1fr auto;align-items:center;gap:.35rem;min-width:0;padding:.75rem;display:grid}.file-grid-preview{min-height:5rem;color:var(--muted-foreground);background:#0000001f;border-radius:.45rem;grid-column:1/-1;place-items:center;display:grid}.file-grid-card strong,.file-grid-card span{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.file-grid-card span{color:var(--muted-foreground)}.progress-track{background:var(--secondary);border-radius:999px;height:.5rem;overflow:hidden}.progress-fill{background:var(--primary);border-radius:999px;width:0;height:100%;transition:width .25s}.progress-track.is-indeterminate .progress-fill{width:35%;animation:1.2s ease-in-out infinite tool-progress}@keyframes tool-progress{0%{transform:translate(-110%)}to{transform:translate(300%)}}.progress-label{color:var(--muted-foreground);margin-top:.5rem;font-size:.8rem}.result-card{background:#10b9810f;border:1px solid #10b98140;border-radius:.75rem;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.result-card .rc-meta{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.result-card .rc-title{color:var(--foreground);font-size:.95rem;font-weight:500}.result-card .rc-sub{color:var(--muted-foreground);font-size:.8rem}.result-card .rc-sub strong{color:#34d399;font-weight:600}.result-card-icon{width:2.25rem;height:2.25rem;color:var(--primary);background:#10b9811f;border-radius:999px;flex:none;place-items:center;display:grid}@media (max-width:560px){.row,.row-end,.row-between{flex-wrap:wrap}.result-card{flex-wrap:wrap;align-items:stretch}.result-card .rc-meta{min-width:calc(100% - 3.25rem)}.result-card .btn{width:100%}.file-item{flex-wrap:wrap}.file-item .fi-meta{min-width:calc(100% - 3rem)}.split-2 textarea,.split-2 .preview{min-height:16rem}}@media (prefers-reduced-motion:reduce){.progress-track.is-indeterminate .progress-fill{animation-duration:2.4s}}.privacy-note{color:#9fd9b8;background:#10b9810d;border:1px solid #10b98133;border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8rem;display:flex}.privacy-note svg{color:var(--primary);flex-shrink:0}.before-after{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:768px){.before-after{grid-template-columns:1fr 1fr}}.ba-pane{flex-direction:column;gap:.5rem;display:flex}.ba-pane .ba-label{color:var(--muted-foreground);font-size:.75rem;font-weight:500}.ba-frame{border:1px solid var(--border);background:#13131666;border-radius:.5rem;place-items:center;min-height:8rem;display:grid;overflow:hidden}.ba-frame img{object-fit:contain;max-width:100%;max-height:24rem}details.accordion{border:1px solid var(--border);background:#1313164d;border-radius:.5rem;overflow:hidden}details.accordion+details.accordion{margin-top:.5rem}details.accordion>summary{cursor:pointer;color:var(--foreground);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;list-style:none;display:flex}details.accordion>summary::-webkit-details-marker{display:none}details.accordion>summary .acc-chev{color:var(--muted-foreground);transition:transform .2s}details.accordion[open]>summary .acc-chev{transform:rotate(180deg)}details.accordion>.acc-body{color:var(--muted-foreground);padding:0 1rem 1rem;font-size:.875rem}.btn-touch{height:auto;min-height:2.75rem;padding:.5rem 1rem}.seg{border:1px solid var(--border);background:#13131666;border-radius:.5rem;flex-wrap:wrap;gap:.25rem;padding:.25rem;display:inline-flex}.seg button{color:var(--muted-foreground);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.375rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.seg button:hover{color:var(--foreground)}.seg button.active{background:var(--primary);color:var(--primary-foreground)}.kv{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 0;display:flex}.kv:last-child{border-bottom:0}.kv .k{color:var(--muted-foreground);font-size:.875rem}.kv .v{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:600}.kv .v.accent{color:var(--primary)}.tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.8rem}.tbl th,.tbl td{text-align:right;border-bottom:1px solid var(--border);padding:.5rem .625rem}.tbl th{color:var(--muted-foreground);text-align:right;background:var(--card);font-weight:500;position:sticky;top:0}.tbl td:first-child,.tbl th:first-child{text-align:left}.tbl-wrap{border:1px solid var(--border);border-radius:.5rem;max-height:22rem;overflow-y:auto}.split-2{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:900px){.split-2{grid-template-columns:1fr 1fr}}.split-2 textarea,.split-2 .preview{min-height:24rem}.preview{border:1px solid var(--border);background:#1313164d;border-radius:.5rem;padding:1rem;overflow-y:auto}.editor-meta{color:var(--muted-foreground);font-variant-numeric:tabular-nums;align-self:flex-end;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.pdf-page-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.75rem;max-height:31rem;padding:.25rem;display:grid;overflow:auto}.pdf-page-card{border:1px solid var(--border);min-width:0;color:var(--muted-foreground);font:inherit;background:#1313168c;border-radius:.625rem;flex-direction:column;align-items:center;gap:.45rem;padding:.5rem;font-size:.72rem;transition:border-color .15s,background .15s,transform .15s;display:flex}button.pdf-page-card{cursor:pointer}.pdf-page-card.is-selected{color:var(--foreground);background:#10b98111;border-color:#10b9816b}.pdf-page-card.is-dragging{opacity:.5;transform:scale(.96)}.pdf-page-card canvas,.pdf-page-thumb{place-items:center;max-width:100%;min-height:5rem;transition:transform .2s;display:grid}.pdf-page-card canvas{object-fit:contain;background:#fff;width:auto;max-width:100%;height:8rem;box-shadow:0 3px 12px #00000047}.pdf-page-thumb canvas{height:8rem}.pdf-page-actions{justify-content:center;gap:.15rem;width:100%;display:flex}.tool-action-bar{z-index:4;border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d0d0de6;border-radius:.75rem;justify-content:flex-end;margin-top:1rem;padding:.625rem;display:flex;position:sticky;bottom:.5rem}.field-help{min-height:1.2em;color:var(--muted-foreground);margin:.25rem 0 0;font-size:.75rem}.crop-fields{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:.75rem 0 0;padding:0;display:grid}.crop-fields label{color:var(--muted-foreground);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.crop-fields .input{min-width:0}@media (max-width:480px){.crop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.media-preview{border:1px solid var(--border);background:#050505;border-radius:.75rem;width:100%;max-height:28rem}.media-range{border:1px solid var(--border);background:#13131666;border-radius:.625rem;grid-template-columns:1fr;gap:.35rem;margin-top:1rem;padding:.75rem;display:grid}.media-range output{color:var(--muted-foreground);justify-self:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.loan-chart{border:1px solid var(--border);background:#13131666;border-radius:.75rem;padding:1rem}.loan-chart-bar{background:var(--secondary);border-radius:999px;height:.9rem;display:flex;overflow:hidden}.loan-chart-bar span:first-child{background:var(--primary);width:0;transition:width .3s}.loan-chart-bar span:last-child{background:var(--color-amber);width:0;transition:width .3s}.loan-chart p{color:var(--muted-foreground);justify-content:space-between;gap:1rem;margin:.65rem 0 0;font-size:.75rem;display:flex}.loan-chart strong{color:var(--foreground);font-variant-numeric:tabular-nums}@media print{.site-header,.site-footer,.breadcrumb,.tool-steps,.tool-trust,#ln-print{display:none!important}body,.glass,.tool-shell{color:#111!important;box-shadow:none!important;background:#fff!important}.tool-page{max-width:none;padding:0}.tbl-wrap{max-height:none;overflow:visible}}@media (max-width:560px){.pdf-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-action-bar .btn{width:100%}}.outbox{position:relative}.outbox .textarea{min-height:8rem}.outbox .out-copy{position:absolute;top:.5rem;right:.5rem}.range-row{align-items:center;gap:.75rem;display:flex}.range-row input[type=range]{flex:1}.range-row .range-val{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-align:right;min-width:4rem;font-size:.8rem}.beta-section{padding:2.5rem 0 4rem;scroll-margin-top:8rem}.beta-card{border-radius:1rem;max-width:46rem;margin:0 auto;padding:1.75rem}.beta-head{color:#10b981;align-items:center;gap:.5rem;display:flex}.beta-tag{letter-spacing:.12em;color:#10b981;background:#10b9811f;border:1px solid #10b98140;border-radius:999px;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.beta-title{letter-spacing:-.03em;margin:.5rem 0 .35rem;font-size:2.2rem;font-weight:800;line-height:1.1}.beta-sub{color:var(--muted-foreground);max-width:38rem;margin:0 0 1.25rem;font-size:.95rem}.beta-form{flex-direction:column;gap:.75rem;display:flex}.beta-form .textarea{resize:vertical;min-height:6rem}.beta-note{color:#34d399;margin:1rem 0 0;font-size:.9rem}.beta-note span{font-variant-numeric:tabular-nums}.beta-small{color:var(--muted-foreground);max-width:42rem;margin:1.25rem 0 0;font-size:.78rem;line-height:1.5}.beta-small strong{color:#34d399;font-weight:600}@media (max-width:560px){.beta-title{font-size:1.7rem}.beta-card{padding:1.25rem}}.tools-hub{--hub-border:color-mix(in srgb, var(--foreground) 14%, transparent);--hub-border-hover:color-mix(in srgb, var(--foreground) 26%, transparent);--hub-surface:var(--card);--hub-surface-hover:var(--muted);flex-direction:column;min-height:100vh;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}.tools-hub h1,.tools-hub h2,.tools-hub h3,.tools-hub .brand-name{letter-spacing:-.025em;font-family:Inter,system-ui,sans-serif}.tools-hub .site-header{background:var(--background);-webkit-backdrop-filter:none;border-bottom:1px solid var(--hub-border)}.tools-hub .brand-suffix{color:var(--color-emerald);text-transform:uppercase;letter-spacing:.1em;background:0 0;border-radius:0;padding:0;font-size:.7rem}.tools-hub .brand-logo,.tools-hub .cat-toggle,.tools-hub .login-btn,.tools-hub .cat-dropdown,.tools-hub .cat-dropdown a{border-radius:0}.tools-hub .hero{text-align:left;padding:3.5rem 1.5rem 0}.hub-hero-inner{text-align:left;width:100%;max-width:80rem}.hub-hero-top{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end;gap:3rem;margin-bottom:2.5rem;display:grid}.hub-hero-copy .hub-eyebrow{color:var(--color-emerald);text-transform:uppercase;letter-spacing:.1em;background:0 0;border:0;border-radius:0;padding:0;font-size:.75rem;font-weight:600;display:inline-block}.hub-hero-copy h1{max-width:18ch;margin:.75rem 0}.hub-hero-copy .subtitle{max-width:52ch;margin:0}.hub-hero-stats{border-left:1px solid var(--hub-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hub-stat{border-left:1px solid var(--hub-border);padding:0 1rem}.hub-stat:first-child{border-left:0}.hub-stat .n{letter-spacing:-.02em;font-family:Inter,sans-serif;font-size:1.9rem;font-weight:800;line-height:1;display:block}.hub-stat .l{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin-top:.35rem;font-size:.7rem;display:block}.hub-search-wrap{border:1px solid var(--hub-border);background:var(--hub-surface);border-radius:0;align-items:center;gap:0;max-width:none;margin:0;padding:4px;display:flex}.hub-search-wrap .search-icon{flex:none;margin:0 .5rem 0 .75rem;position:static}.hub-search-wrap input{background:0 0;border:0;border-radius:0;flex:1;width:auto;min-width:0;padding:.85rem .5rem;position:static}.hub-search-wrap input:focus{box-shadow:none}.hub-search-wrap .search-clear{flex:none;position:static}.hub-search-btn{border-radius:0;align-self:stretch;height:auto;padding:.85rem 1.75rem}.hub-suggestions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0 0;display:flex}.hub-suggestions-label{color:var(--muted-foreground);margin-right:.25rem;font-size:.75rem}.hub-suggestion-chip{cursor:pointer;background:var(--hub-surface);color:var(--foreground);border:1px solid var(--hub-border);border-radius:999px;padding:.4rem .85rem;font-family:inherit;font-size:.75rem;transition:background .15s,border-color .15s}.hub-suggestion-chip:hover{background:var(--hub-surface-hover);border-color:var(--color-emerald)}.tools-hub .pills{justify-content:flex-start;margin:1.5rem 0 0}.hub-cat-grid{-webkit-backdrop-filter:none;margin:0;background:0 0;border-bottom:0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;max-width:80rem;margin-inline:auto;padding:2rem 1.5rem 0;display:grid;position:static}.hub-cat-tile{text-align:left;border:1px solid var(--hub-border);border-top:2px solid var(--tile-color,var(--hub-border));background:var(--hub-surface);color:var(--foreground);border-radius:0;flex-direction:column;flex-shrink:1;align-items:flex-start;gap:.6rem;padding:1rem;transition:background .15s,border-color .15s;display:flex}.hub-cat-tile:hover{background:var(--hub-surface-hover);border-color:var(--hub-border-hover);border-top-color:var(--tile-color,var(--hub-border))}.hub-cat-tile.active{background:var(--hub-surface-hover);box-shadow:inset 0 0 0 1px var(--tile-color,var(--color-emerald))}.hub-cat-tile-icon{color:var(--tile-color,var(--foreground))}.hub-cat-tile-name{font-family:Inter,sans-serif;font-size:.9rem;font-weight:800}.hub-cat-tile-count{color:var(--muted-foreground);font-size:.75rem}.tools-hub .hub-only-local{margin:1.25rem 1.5rem 0}.tools-hub .hub-controls{padding-top:2rem}.tools-hub .hub-controls .select,.tools-hub .hub-control-grid .btn,.tools-hub .rail a,.tools-hub .rail .ic{border-radius:0}.tools-hub .section{border-top-color:var(--hub-border)}.tools-hub .section-head .bar,.tools-hub .section-head .count{border-radius:0}.tools-hub .tool-card{border-color:var(--hub-border);background:var(--hub-surface);border-radius:0;padding-top:1.5rem}.tools-hub .tool-card:hover{box-shadow:none;background:var(--hub-surface-hover);border-color:var(--hub-border-hover);transform:none}.tools-hub .tool-card .accent{opacity:1;border-radius:0;height:2px;top:0;left:0;right:0}.tools-hub .tool-card .icon-box,.tools-hub .badge,.tools-hub .star,.tools-hub .privacy-band .pr{border-radius:0}.tools-hub .site-footer{border-top-color:var(--hub-border)}@media (max-width:900px){.hub-hero-top{grid-template-columns:1fr;gap:1.5rem}.hub-hero-stats{border-left:0;border-top:1px solid var(--hub-border);padding-top:1rem}}@media (max-width:640px){.tools-hub .hero{padding-top:2rem}.hub-search-wrap{flex-wrap:wrap}.hub-search-btn{width:100%}.hub-cat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));padding-left:1rem;padding-right:1rem}}
