/* ToolMoko V14: Homepage-only visual polish. Existing tools and handlers unchanged. */
body:has(.hero-section){background:#fff;color:#172554}
.hero-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 22%,rgba(147,197,253,.32),transparent 36%),radial-gradient(ellipse at 12% 80%,rgba(191,219,254,.3),transparent 40%),linear-gradient(155deg,#f8fbff 0%,#eff6ff 52%,#fff 100%);padding:100px 0 92px;border-bottom:1px solid #dbeafe}
.hero-section::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background-image:radial-gradient(#93c5fd 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,transparent 25%,black 100%)}
.hero-section .hero-content{position:relative;z-index:2;max-width:1040px;margin:auto;text-align:center}
.hero-section .hero-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid #bfdbfe;border-radius:999px;background:#fff;padding:10px 17px;color:#1d4ed8;font-weight:700;box-shadow:0 6px 25px rgba(37,99,235,.07)}
.hero-section .hero-title{color:#172554;font-size:clamp(2.65rem,5.8vw,5rem);line-height:1.09;letter-spacing:-.055em;font-weight:800;margin:25px auto 20px;max-width:960px}
.hero-section .gradient-text{background:linear-gradient(100deg,#1d4ed8,#2563eb 55%,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-section .hero-description{color:#475569;font-size:clamp(1rem,1.7vw,1.18rem);line-height:1.85;max-width:720px;margin:0 auto 32px}
.hero-section .hero-search-wrapper{position:relative;max-width:720px;margin:0 auto 20px;background:#fff;border:1.5px solid #bfdbfe;border-radius:18px;box-shadow:0 18px 50px rgba(37,99,235,.13);transition:box-shadow .2s,border-color .2s}
.hero-section .hero-search-wrapper:focus-within{border-color:#2563eb;box-shadow:0 18px 50px rgba(37,99,235,.19)}
.hero-section .hero-search-input{background:transparent;min-height:66px;border:0;border-radius:18px;color:#172554;width:100%;box-shadow:none}
.hero-section .popular-shortcuts{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin:16px auto 29px}
.hero-section .popular-label{color:#64748b;font-weight:600}
.hero-section .shortcut-pill{border:1px solid #dbeafe;background:#fff;border-radius:999px;padding:8px 13px;color:#1e40af;text-decoration:none;font-weight:600;transition:transform .2s,box-shadow .2s}
.hero-section .shortcut-pill:hover{transform:translateY(-2px);box-shadow:0 7px 20px rgba(37,99,235,.12)}
.hero-section .hero-cta-group{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.hero-section .btn-primary{background:#2563eb;color:white;border-color:#2563eb;box-shadow:0 10px 25px rgba(37,99,235,.2)}
.hero-section .btn-secondary{background:white;border:1px solid #bfdbfe;color:#1e40af}
body:has(.hero-section) .section{padding-top:82px;padding-bottom:82px}
body:has(.hero-section) .section-header{margin-bottom:34px}
body:has(.hero-section) .section-title{color:#172554;letter-spacing:-.035em}
body:has(.hero-section) .section-subtitle{color:#64748b;line-height:1.75}
body:has(.hero-section) .category-card,body:has(.hero-section) .tool-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 5px 16px rgba(15,23,42,.035);transition:transform .2s,border-color .2s,box-shadow .2s}
body:has(.hero-section) .category-card:hover,body:has(.hero-section) .tool-card:hover{transform:translateY(-4px);border-color:#93c5fd;box-shadow:0 15px 32px rgba(37,99,235,.11)}
body:has(.hero-section) .category-card-icon{border-radius:15px}
body:has(.hero-section) .filter-pill{border-radius:999px}
body:has(.hero-section) .filter-pill.active{background:#2563eb;color:#fff}
@media(max-width:768px){.hero-section{padding:65px 0 58px}.hero-section .hero-title{letter-spacing:-.04em}.hero-section .hero-search-input{min-height:58px;font-size:14px}.hero-section .popular-shortcuts{gap:7px}.hero-section .shortcut-pill{font-size:12px;padding:7px 10px}body:has(.hero-section) .section{padding-top:54px;padding-bottom:54px}}
@media(prefers-reduced-motion:reduce){.hero-section *,body:has(.hero-section) .category-card,body:has(.hero-section) .tool-card{animation:none!important;transition:none!important}}

/* V15: Two-column directory and single-row category strip on desktop */
body:has(.hero-section) #allToolsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body:has(.hero-section) .categories-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
body:has(.hero-section) .categories-grid .category-card{padding:18px 7px;min-width:0}
body:has(.hero-section) .categories-grid .category-card-title{font-size:13px;overflow-wrap:anywhere}
body:has(.hero-section) .categories-grid .category-card-count{font-size:12px}
.tools-more-wrap{display:flex;justify-content:center;margin:28px 0 0}
.tools-more-btn{cursor:pointer;background:#2563eb;color:#fff;border:1px solid #2563eb;border-radius:999px;padding:14px 28px;font-weight:700;font-size:15px;box-shadow:0 8px 22px rgba(37,99,235,.16)}
.tools-more-btn:hover{background:#1d4ed8;transform:translateY(-2px)}
.tools-more-btn[hidden]{display:none}
@media(max-width:900px){body:has(.hero-section) .categories-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:12px;padding-bottom:12px;scroll-snap-type:x mandatory}body:has(.hero-section) .categories-grid .category-card{flex:0 0 145px;scroll-snap-align:start}}
@media(max-width:560px){body:has(.hero-section) #allToolsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body:has(.hero-section) #allToolsGrid .tool-card{padding:13px 10px;border-radius:14px}body:has(.hero-section) #allToolsGrid .tool-card-title{font-size:14px;overflow-wrap:anywhere}body:has(.hero-section) #allToolsGrid .tool-card-desc{font-size:12px}body:has(.hero-section) #allToolsGrid .tool-card-header{flex-wrap:wrap;gap:6px}}
