:root{--bg:#0b0f19;--surface:rgba(17,24,39,.94);--surface-2:rgba(12,19,32,.97);--surface-hover:rgba(23,32,53,.98);--text:#e8f0ff;--muted:#8aa0b7;--accent:#6ee7ff;--accent-soft:rgba(110,231,255,.11);--accent-border:rgba(110,231,255,.34);--border:rgba(255,255,255,.09);--border-strong:rgba(255,255,255,.15);--shadow:0 18px 48px rgba(0,0,0,.34)}
*{box-sizing:border-box}html,body{min-height:100%}body.tools-hub-page{margin:0;padding:0 18px;color:var(--text);background:var(--bg);font-family:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}button,input{font:inherit}#bgCanvas{position:fixed;inset:0;z-index:-2;width:100vw;height:100vh}.hub-overlay{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(850px 480px at 15% -12%,rgba(91,139,255,.11),transparent 62%),radial-gradient(760px 430px at 105% 8%,rgba(110,231,255,.055),transparent 65%),linear-gradient(180deg,rgba(11,15,25,.14),rgba(11,15,25,.66))}
.hub-topbar{width:min(1220px,100%);margin:0 auto;padding:20px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:30}.hub-brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.02em}.hub-brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--accent-border);border-radius:11px;background:var(--accent-soft);color:var(--accent);box-shadow:0 10px 24px rgba(0,0,0,.22)}.hub-home,.tool-button,.reset-filters{appearance:none;border:1px solid var(--border-strong);border-radius:13px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);font-weight:700;cursor:pointer;transition:transform .17s ease,background-color .17s ease,border-color .17s ease,box-shadow .17s ease}.hub-home{min-height:38px;padding:9px 14px;background:rgba(255,255,255,.045);font-size:13px}.hub-home:hover,.tool-button:hover,.reset-filters:hover{transform:translateY(-2px);background:var(--accent-soft);border-color:var(--accent-border);box-shadow:0 12px 26px rgba(0,0,0,.26)}
.hub-hero{width:min(900px,100%);margin:0 auto;padding:54px 0 34px;text-align:center;position:relative;z-index:1}.hub-eyebrow,.section-kicker{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.18em}.hub-hero h1{margin:8px 0 10px;font-size:clamp(38px,7vw,68px);line-height:1;letter-spacing:-.055em}.hub-hero>p{max-width:760px;margin:0 auto;color:var(--muted);font-size:clamp(14px,2vw,17px);line-height:1.72}.hub-summary{margin:24px auto 0;display:flex;justify-content:center;flex-wrap:wrap;gap:9px}.summary-pill{min-height:38px;padding:8px 13px;border:1px solid var(--border);border-radius:13px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.035);color:#a9b9ca;font-size:11px;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.15)}.summary-pill strong,.summary-symbol{color:var(--accent);font-size:12px}.summary-symbol{font-size:18px;line-height:1}
.hub-main{width:min(1220px,100%);margin:0 auto;padding-bottom:34px}.tool-discovery{position:relative;z-index:20;margin:0 0 42px;padding:22px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(145deg,rgba(19,28,46,.94),rgba(12,18,31,.97));box-shadow:var(--shadow)}.discovery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.discovery-head h2{margin:4px 0 0;font-size:clamp(20px,3vw,28px);letter-spacing:-.025em}.reset-filters{min-height:36px;padding:8px 12px;background:rgba(255,255,255,.035);font-size:11px}.search-wrap{position:relative}.search-wrap>svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.8;pointer-events:none}.search-wrap input{width:100%;height:56px;padding:0 52px 0 48px;border:1px solid var(--border-strong);border-radius:16px;outline:none;color:var(--text);background:rgba(7,12,22,.72);font-size:14px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.search-wrap input:focus{border-color:var(--accent-border);box-shadow:0 0 0 4px rgba(110,231,255,.075);background:rgba(8,14,25,.95)}.search-wrap input::placeholder{color:#697c91}.clear-search{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:22px;cursor:pointer}.clear-search:hover{color:var(--text);background:rgba(255,255,255,.06)}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;padding:7px;border:1px solid var(--border-strong);border-radius:16px;background:rgba(13,20,34,.995);box-shadow:0 22px 50px rgba(0,0,0,.48);z-index:80}.suggestion{width:100%;min-height:48px;padding:8px 10px;border:0;border-radius:11px;display:flex;align-items:center;gap:10px;color:var(--text);background:transparent;text-align:left;cursor:pointer}.suggestion:hover,.suggestion.active{background:var(--accent-soft)}.suggestion-mark{width:32px;height:32px;flex:0 0 32px;border-radius:9px;display:grid;place-items:center;background:rgba(110,231,255,.1);color:var(--accent);font-size:9px;font-weight:800}.suggestion-copy{min-width:0;flex:1}.suggestion-copy strong,.suggestion-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-copy strong{font-size:12px}.suggestion-copy span{margin-top:2px;color:var(--muted);font-size:10px}.suggestion-arrow{color:var(--accent);font-size:14px}
.filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:13px}.custom-filter{position:relative;min-width:0}.filter-label{display:block;margin-bottom:6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.filter-trigger{width:100%;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);background:rgba(9,15,26,.78);outline:none;font-size:11px;font-weight:700;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.filter-trigger:hover,.custom-filter.open .filter-trigger{border-color:var(--accent-border);background:rgba(14,24,39,.96);box-shadow:0 0 0 3px rgba(110,231,255,.055)}.filter-trigger svg{width:17px;height:17px;fill:none;stroke:var(--muted);stroke-width:1.8;transition:transform .16s ease}.custom-filter.open .filter-trigger svg{transform:rotate(180deg)}.filter-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:70;padding:7px;border:1px solid var(--border-strong);border-radius:15px;background:rgba(13,20,34,.995);box-shadow:0 20px 46px rgba(0,0,0,.46);max-height:285px;overflow:auto}.filter-menu button{width:100%;min-height:39px;padding:8px 10px;border:0;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#b6c5d5;background:transparent;text-align:left;font-size:10.5px;font-weight:700;cursor:pointer}.filter-menu button:hover,.filter-menu button[aria-selected="true"]{color:var(--text);background:var(--accent-soft)}.menu-check{color:var(--accent);font-size:13px}.results-line{margin-top:14px;color:var(--muted);font-size:11px}.results-line strong{color:var(--accent)}
.tools-catalog{display:grid;gap:44px}.category-section{scroll-margin-top:20px}.category-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px;padding:0 3px}.category-title-wrap{display:flex;align-items:center;gap:12px}.category-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--accent-border);border-radius:13px;color:var(--accent);background:var(--accent-soft);font-size:12px;font-weight:800}.category-head h2{margin:0;font-size:clamp(19px,3vw,25px);letter-spacing:-.025em}.category-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.category-count{padding:6px 9px;border:1px solid var(--border);border-radius:9px;color:var(--muted);background:rgba(255,255,255,.025);font-size:9px;font-weight:800;white-space:nowrap}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card{min-width:0;min-height:290px;padding:18px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:20px;background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:0 14px 34px rgba(0,0,0,.24);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.tool-card:hover{transform:translateY(-4px);border-color:var(--accent-border);background:linear-gradient(145deg,var(--surface-hover),var(--surface-2));box-shadow:0 22px 44px rgba(0,0,0,.34)}.tool-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tool-icon{width:45px;height:45px;display:grid;place-items:center;border:1px solid var(--accent-border);border-radius:14px;color:var(--accent);background:var(--accent-soft);font-size:10px;font-weight:800;letter-spacing:-.02em}.tool-button{margin-top:15px;min-height:41px;padding:9px 12px;background:rgba(255,255,255,.04);font-size:11px;gap:8px}.tool-button span{color:var(--accent);font-size:15px}.empty-state{padding:54px 18px;border:1px dashed var(--border-strong);border-radius:22px;text-align:center;background:rgba(17,24,39,.68)}.empty-icon{font-size:40px;color:var(--accent)}.empty-state h2{margin:8px 0 6px}.empty-state p{margin:0 0 18px;color:var(--muted);font-size:12px}.empty-state .tool-button{margin:0 auto}
@media(max-width:980px){.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){body.tools-hub-page{padding:0 12px}.hub-topbar{padding-top:max(14px,env(safe-area-inset-top));gap:8px}.hub-brand{font-size:11px}.hub-brand-mark{width:31px;height:31px;border-radius:10px}.hub-home{min-height:34px;padding:7px 10px;font-size:10.5px}.hub-hero{padding:39px 0 26px}.hub-hero h1{font-size:42px}.hub-hero>p{font-size:13px;line-height:1.65}.hub-summary{margin-top:18px}.summary-pill{min-height:34px;padding:7px 9px;border-radius:11px;font-size:9.5px}.tool-discovery{padding:16px;border-radius:19px;margin-bottom:32px}.discovery-head{align-items:flex-start}.discovery-head h2{font-size:20px}.reset-filters{min-height:32px;padding:7px 9px;font-size:9px}.search-wrap input{height:50px;font-size:12px}.filter-row{grid-template-columns:1fr}.filter-trigger{height:42px}.tools-catalog{gap:36px}.category-head{align-items:center}.category-icon{width:36px;height:36px;border-radius:11px}.category-head h2{font-size:18px}.category-head p{font-size:9.5px}.tools-grid{grid-template-columns:1fr}.tool-card{min-height:0;padding:16px;border-radius:18px}.tool-button{min-height:39px}.category-count{display:none}.filter-menu{position:relative;top:5px;margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.discovery-copy{margin:6px 0 0;max-width:720px;color:var(--muted);font-size:11px;line-height:1.55}.filter-row{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-card{min-height:315px}.tool-kind{padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.025);font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tool-card h3{margin:17px 0 8px;font-size:17px}.tool-card p{margin:0 0 14px;color:var(--muted);font-size:11px;line-height:1.62}.tool-features{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 17px}.tool-features span{padding:5px 7px;border:1px solid rgba(110,231,255,.13);border-radius:8px;background:rgba(110,231,255,.035);color:#a9bed2;font-size:8.5px;font-weight:700}.suite-card{border-color:rgba(110,231,255,.2)}@media(max-width:930px){.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:570px){.filter-row{grid-template-columns:1fr}.discovery-head{align-items:flex-start}.tool-card{min-height:0}}
/* File Uploader is the primary tool: full-width, visually prioritized, still responsive. */
.tool-card.featured-card{position:relative;grid-column:1/-1;min-height:250px;padding:24px 26px;border-color:rgba(110,231,255,.34);background:linear-gradient(125deg,rgba(22,35,56,.98),rgba(12,19,32,.98));overflow:hidden}
.tool-card.featured-card::after{content:"";position:absolute;inset:auto -8% -65% 38%;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(110,231,255,.12),transparent 66%);pointer-events:none}
.featured-card .featured-label{position:absolute;top:18px;right:20px;padding:6px 9px;border:1px solid rgba(110,231,255,.26);border-radius:999px;background:rgba(110,231,255,.08);color:#cceff7;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.featured-card .tool-card-top{padding-right:120px}.featured-card .tool-icon{width:58px;height:58px;border-radius:17px;font-size:12px}.featured-card h3{max-width:620px;margin-top:20px;font-size:clamp(22px,3vw,30px)}.featured-card p{max-width:780px;font-size:12.5px}.featured-card .tool-features{max-width:820px}.featured-card .tool-button{position:relative;z-index:1;align-self:flex-start;min-width:180px}
@media(max-width:680px){.tool-card.featured-card{padding:20px 18px}.featured-card .featured-label{top:14px;right:14px}.featured-card .tool-card-top{padding-right:108px}.featured-card .tool-button{width:100%;align-self:stretch}}

/* v48 — File Uploader in evidenza, filtri avanzati e ritmo responsive */
.filter-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tool-card-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tool-runtime{padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:#a8bbcf;background:rgba(255,255,255,.025);font-size:8.5px;font-weight:800;white-space:nowrap}.tool-runtime.server{border-color:rgba(110,231,255,.24);color:#cfefff;background:rgba(110,231,255,.055)}.tool-runtime.hybrid{border-color:rgba(247,226,164,.22);color:#f7e2a4;background:rgba(247,226,164,.045)}
.tool-card.featured-card{grid-column:1/-1;min-height:260px;padding:28px 30px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(190px,.4fr);grid-template-rows:auto 1fr;column-gap:30px;border-color:rgba(110,231,255,.34);background:linear-gradient(135deg,rgba(21,34,55,.98),rgba(11,19,33,.98));box-shadow:0 22px 54px rgba(0,0,0,.36)}.featured-card .tool-card-top{grid-column:1/-1}.featured-card .tool-card-copy{align-self:center}.featured-card h3{font-size:clamp(25px,3vw,36px)}.featured-card p{max-width:760px;font-size:13.5px;line-height:1.7}.featured-card .tool-button{align-self:end;justify-self:stretch;min-height:52px;font-size:13px}.featured-ribbon{position:absolute;top:16px;right:16px;padding:6px 9px;border:1px solid rgba(110,231,255,.32);border-radius:999px;background:rgba(110,231,255,.09);color:#dffaff;font-size:9px;font-weight:800;letter-spacing:.04em}.featured-card .tool-card-tags{padding-right:90px}
@media(max-width:900px){.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-card.featured-card{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:0}.featured-card .tool-button{margin-top:22px;justify-self:start;min-width:180px}}
@media(max-width:620px){.filter-row{grid-template-columns:1fr}.tool-card.featured-card{padding:22px 18px;min-height:0}.featured-ribbon{position:static;justify-self:start;margin-bottom:10px}.featured-card .tool-card-tags{padding-right:0}.featured-card .tool-button{width:100%;justify-self:stretch}.tool-card-tags{justify-content:flex-start}}
/* v49 — ricerca essenziale e strumenti prioritari */
.simplified-filters{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.priority-card:not(.featured-card){position:relative;border-color:rgba(126,226,184,.34);box-shadow:0 16px 38px rgba(0,0,0,.25),inset 0 1px 0 rgba(126,226,184,.04)}.priority-card:not(.featured-card):hover{border-color:rgba(126,226,184,.58);box-shadow:0 22px 46px rgba(0,0,0,.34),0 0 0 1px rgba(126,226,184,.06)}.priority-card:not(.featured-card) .tool-icon{color:#7ee2b8;border-color:rgba(126,226,184,.28);background:rgba(126,226,184,.08)}.priority-card:not(.featured-card) .tool-button{border-color:rgba(126,226,184,.25);background:rgba(126,226,184,.07)}.priority-card:not(.featured-card) .tool-button span{color:#7ee2b8}.priority-ribbon{position:absolute;top:14px;right:14px;padding:5px 8px;border:1px solid rgba(126,226,184,.32);border-radius:999px;background:rgba(126,226,184,.09);color:#bff3dc;font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.priority-card .tool-card-tags{padding-right:72px}.featured-card.priority-card{border-color:rgba(126,226,184,.40);background:linear-gradient(135deg,rgba(18,42,43,.98),rgba(11,24,32,.98))}.featured-card.priority-card .featured-ribbon{border-color:rgba(126,226,184,.35);background:rgba(126,226,184,.10);color:#d8ffed}.featured-card.priority-card .tool-icon{color:#7ee2b8;border-color:rgba(126,226,184,.30);background:rgba(126,226,184,.08)}
html[data-theme="light"] .priority-card:not(.featured-card){border-color:rgba(23,142,91,.32)!important}html[data-theme="light"] .priority-card:not(.featured-card) .tool-icon,html[data-theme="light"] .priority-ribbon{color:#14764f;background:rgba(23,142,91,.08);border-color:rgba(23,142,91,.25)}html[data-theme="light"] .featured-card.priority-card{background:linear-gradient(135deg,#f4fffa,#eef9f7)!important}
@media(max-width:620px){.simplified-filters{grid-template-columns:1fr}.priority-card .tool-card-tags{padding-right:0}.priority-ribbon{position:static;align-self:flex-start;margin-bottom:8px}}

/* v50: evidenza verde limitata al badge; tutte le card mantengono il branding blu. */
.priority-card:not(.featured-card),.featured-card.priority-card{border-color:rgba(110,231,255,.28)!important;background:linear-gradient(135deg,rgba(21,34,55,.98),rgba(11,19,33,.98))!important;box-shadow:0 16px 38px rgba(0,0,0,.25)!important}.priority-card:not(.featured-card):hover,.featured-card.priority-card:hover{border-color:rgba(110,231,255,.5)!important;box-shadow:0 22px 46px rgba(0,0,0,.34)!important}.priority-card .tool-icon,.featured-card.priority-card .tool-icon{color:var(--accent)!important;border-color:var(--accent-border)!important;background:var(--accent-soft)!important}.priority-card .tool-button{border-color:var(--border)!important;background:rgba(255,255,255,.04)!important}.priority-card .tool-button span{color:var(--accent)!important}.tool-card-tags{padding-right:0!important}.highlight-ribbon{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:5px 9px;border:1px solid rgba(126,226,184,.38);border-radius:999px;background:rgba(126,226,184,.10);color:#c9f8e2;font-size:8.5px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.featured-card .highlight-ribbon{font-size:9px}.featured-ribbon,.priority-ribbon{display:none!important}html[data-theme="light"] .priority-card:not(.featured-card),html[data-theme="light"] .featured-card.priority-card{background:linear-gradient(145deg,#fff,#f7f9fc)!important;border-color:rgba(8,126,164,.24)!important}html[data-theme="light"] .highlight-ribbon{color:#116a47;background:rgba(23,142,91,.09);border-color:rgba(23,142,91,.28)}
@media(max-width:620px){.tool-card-tags{justify-content:flex-start}.highlight-ribbon{order:-1}}


/* v51 — badge uniformi, compatti e realmente allineati al bordo destro */
.tool-card-top{width:100%;align-items:flex-start!important}.tool-card-tags{margin-left:auto!important;max-width:calc(100% - 58px);display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important;padding:0!important}.featured-card .tool-card-top{padding-right:0!important}.tool-kind{display:none!important}.highlight-ribbon,.tool-runtime{min-height:25px!important;padding:5px 9px!important;border-radius:999px!important;font-size:8.5px!important;font-weight:800!important;line-height:1!important;letter-spacing:.065em!important;text-transform:uppercase!important;white-space:nowrap!important}.highlight-ribbon{border-color:rgba(126,226,184,.4)!important;background:rgba(126,226,184,.11)!important;color:#c9f8e2!important}.tool-runtime.server{border-color:rgba(110,231,255,.34)!important;background:rgba(110,231,255,.09)!important;color:#d8f7ff!important}.tool-runtime.browser{border-color:rgba(224,181,79,.4)!important;background:rgba(224,181,79,.1)!important;color:#f5d98e!important}.tool-runtime.hybrid{border-color:rgba(224,181,79,.34)!important;background:rgba(224,181,79,.08)!important;color:#f3d58b!important}html[data-theme="light"] .highlight-ribbon{color:#116a47!important;background:rgba(23,142,91,.09)!important;border-color:rgba(23,142,91,.28)!important}html[data-theme="light"] .tool-runtime.server{color:#076b8d!important;background:rgba(8,126,164,.08)!important;border-color:rgba(8,126,164,.28)!important}html[data-theme="light"] .tool-runtime.browser,html[data-theme="light"] .tool-runtime.hybrid{color:#7b5a0a!important;background:rgba(177,128,23,.09)!important;border-color:rgba(177,128,23,.28)!important}@media(max-width:620px){.tool-card-top{gap:12px!important}.tool-card-tags{max-width:calc(100% - 54px);justify-content:flex-end!important}.highlight-ribbon{order:0!important}}
