:root{--bg:#f7fafc;--paper:#fff;--line:#d8e4ef;--primary:#2563eb;--primary-dark:#1d4ed8;--teal:#0f766e;--shadow:0 18px 42px rgba(15,23,42,.08);--shadow-soft:0 10px 28px rgba(15,23,42,.07)}body{background:linear-gradient(180deg,#f8fbff 0,#f7fafc 34%,#f8fbff 100%)}h1{font-size:56px}h2{font-size:34px}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#0f766e,#16a34a);transform:scaleX(0);transform-origin:left;z-index:120}.site-header{transition:box-shadow .22s ease,border-color .22s ease,background .22s ease}.site-header.is-scrolled{background:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(15,23,42,.08)}.main-nav a{border-radius:8px;padding:7px 9px;transition:background .18s ease,color .18s ease}.main-nav a:hover,.main-nav a[aria-current=page]{background:#eef6ff;color:var(--primary-dark);text-decoration:none}.brand-mark{box-shadow:inset 0 -10px 16px rgba(15,23,42,.12)}.hero-tool{padding-top:64px}.hero-copy h1{max-width:860px}.hero-stats,.category-stats{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 4px}.hero-stats span,.category-stats span{border:1px solid var(--line);background:rgba(255,255,255,.8);border-radius:8px;padding:8px 11px;color:var(--muted);font-size:14px}.hero-stats strong,.category-stats strong{color:var(--ink)}.hero-search{box-shadow:var(--shadow-soft);border-radius:8px}.hero-search input{border-color:#cbd9e8}.hero-panel{position:relative;overflow:hidden}.hero-panel:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#2563eb,#0f766e,#16a34a)}.section{background:transparent;border:0;box-shadow:none;padding:34px 0}.muted-band{background:transparent}.section-head a{font-weight:900}.tool-card,.category-card,.workflow-card,.mini-tools a,.contact-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.tool-card:hover,.category-card:hover,.workflow-card:hover,.mini-tools a:hover,.contact-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:#b9cbe1;text-decoration:none}.tool-card{position:relative;align-content:start}.tool-card h3 a:after{content:"";position:absolute;inset:0}.tool-icon,.mini-tools span,.category-card span{box-shadow:inset 0 -8px 16px color-mix(in srgb,var(--accent,#2563eb) 14%,transparent)}.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.workflow-card{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:18px;display:grid;gap:8px;min-height:132px}.workflow-card span{color:var(--muted);font-size:14px}.directory-empty{margin-top:18px}.tool-flow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.tool-flow-strip span{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 10px;text-align:center;color:var(--muted);font-size:13px;font-weight:900}.tool-title-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.secondary-button.compact{min-height:36px;padding:7px 11px;font-size:13px}.tool-updated{color:var(--soft);font-size:13px}.tool-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.tool-badges span{border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.tool-title-block,.privacy-box,.sidebar-links,.tool-app,.tool-content{box-shadow:var(--shadow-soft)}.tool-app{position:relative;overflow:hidden}.tool-app:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2563eb,#0f766e)}.mobile-bottom-nav{display:none}.recent-tools{display:grid;gap:8px;margin-top:12px}.recent-tools strong{font-size:13px;color:var(--soft);text-transform:uppercase}.recent-tools a{border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--ink);background:#fff}.sample-row{display:flex;gap:8px;flex-wrap:wrap}.sample-row button{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:34px;padding:6px 10px;font-size:13px;font-weight:800;cursor:pointer}.sample-row button:hover{border-color:#bfdbfe;background:#eff6ff}.search-panel{background:rgba(15,23,42,.5);backdrop-filter:blur(8px)}.search-dialog{border:1px solid rgba(255,255,255,.65)}.search-result:hover{background:#f8fbff;text-decoration:none}.favorite-active{background:#eff6ff!important;border-color:#bfdbfe!important;color:#1e40af!important}.file-drop-zone{border:1px dashed #9db7d6;border-radius:8px;background:#f8fbff;padding:14px}.file-drop-zone.drag-over{border-color:var(--primary);background:#eff6ff}.file-drop-zone input[type=file]{background:#fff}.file-drop-zone [data-file-name]{display:block;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--soft);font-size:13px;font-weight:800;margin-top:8px;padding:9px}.result-box.state-loading{border-color:#bfdbfe;background:#eff6ff;color:#1e3a8a}.result-box.state-success{border-color:#bbf7d0;background:#ecfdf5;color:#14532d}.result-box.state-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.result-box.state-empty{border-color:#fde68a;background:#fffbeb;color:#92400e}.back-to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--primary-dark);display:grid;place-items:center;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;z-index:70;cursor:pointer}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.reveal-ready .section,.reveal-ready .trust-strip,.reveal-ready .tool-card,.reveal-ready .category-card,.reveal-ready .workflow-card,.reveal-ready .tool-app,.reveal-ready .tool-content{opacity:1;transform:none;transition:box-shadow .18s ease,border-color .18s ease,background .18s ease}.button,.header-cta,button.primary,.secondary-button,.danger-button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover,.header-cta:hover,button.primary:hover,.secondary-button:hover,.danger-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08)}:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:3px}@media(max-width:1100px){h1{font-size:48px}h2{font-size:31px}.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.action-row{position:sticky;bottom:70px;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:8px;padding:8px;box-shadow:0 10px 26px rgba(15,23,42,.08)}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -12px 30px rgba(15,23,42,.08)}.mobile-bottom-nav a,.mobile-bottom-nav button{min-height:60px;border:0;background:#fff;color:var(--ink);display:grid;place-items:center;gap:3px;font-size:11px;font-weight:900;text-decoration:none}.mobile-bottom-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mobile-bottom-nav a[aria-current=page]{color:var(--primary-dark);background:#eff6ff}.site-footer{padding-bottom:62px}.back-to-top{bottom:78px}.tool-flow-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){h1{font-size:34px}h2{font-size:26px}.hero-tool{padding-top:36px}.hero-stats,.category-stats{display:grid;grid-template-columns:1fr}.workflow-grid{grid-template-columns:1fr}.tool-title-actions{align-items:flex-start;flex-direction:column}.action-row>*{flex:1 1 auto}.tool-flow-strip{grid-template-columns:1fr 1fr}.page-hero h1,.tool-title-block h1{font-size:30px}.search-panel{padding:68px 12px}.search-dialog{padding:14px}}@media(prefers-reduced-motion:reduce){.button:hover,.header-cta:hover,button.primary:hover,.secondary-button:hover,.danger-button:hover,.tool-card:hover,.category-card:hover,.workflow-card:hover,.mini-tools a:hover,.contact-card:hover{transform:none}.back-to-top{transition:none}}