:root{--bg-0:#FFFBF5;--bg-1:#FFFFFF;--bg-2:#FFF3EA;--bg-3:#FCE8DA;--border:rgba(43,33,73,.08);--border-strong:rgba(43,33,73,.14);--text:#2B2149;--text-dim:#6E6485;--text-faint:#9C93B0;--coral:#FF6F59;--violet:#A78BFA;--sky:#38BDF8;--mint:#2FCB98;--lemon:#FBBF24;--accent-1:#FF6F59;--accent-2:#A78BFA;--accent-3:#38BDF8;--accent-grad:linear-gradient(100deg,var(--accent-1) 0%,var(--accent-2) 55%,var(--accent-3) 100%);--accent-grad-soft:linear-gradient(100deg,rgba(255,111,89,.16),rgba(167,139,250,.14) 55%,rgba(56,189,248,.14));--accent-solid:#8B5CF6;--glow-1:rgba(255,111,89,.16);--glow-2:rgba(56,189,248,.14);--glow-3:rgba(167,139,250,.14);--glow-4:rgba(251,191,36,.14);--glass-bg:rgba(43,33,73,.03);--glass-bg-strong:rgba(43,33,73,.05);--glass-blur:18px;--r-sm:10px;--r-md:18px;--r-lg:28px;--r-pill:999px;--shadow-soft:0 12px 30px -12px rgba(80,50,140,.18);--shadow-glow:0 0 0 1px rgba(139,92,246,.12),0 20px 44px -16px rgba(139,92,246,.35);--font-sans:'Nunito',system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:'Baloo 2','Nunito',sans-serif;--font-mono:'JetBrains Mono','SFMono-Regular',Consolas,monospace;--ease:cubic-bezier(.34,1.56,.64,1);--dur-fast:.18s;--dur-med:.32s;--success:#16A34A;--danger:#E11D48;--warning:#D97706;color-scheme:light}html.dark{--bg-0:#1B1430;--bg-1:#221A3C;--bg-2:#291F49;--bg-3:#332759;--border:rgba(255,255,255,.08);--border-strong:rgba(255,255,255,.14);--text:#F5F0FF;--text-dim:#C7BADE;--text-faint:#8C7FAE;--glow-1:rgba(255,111,89,.16);--glow-2:rgba(56,189,248,.14);--glow-3:rgba(167,139,250,.18);--glow-4:rgba(251,191,36,.12);--glass-bg:rgba(255,255,255,.05);--glass-bg-strong:rgba(255,255,255,.08);--shadow-soft:0 12px 34px -14px rgba(0,0,0,.55);--success:#34D399;--danger:#FB7185;--warning:#FBBF24;color-scheme:dark}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:NaNs!important;animation-iteration-count:1!important;transition-duration:NaNs!important;scroll-behavior:auto!important}}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:radial-gradient(700px 560px at 6% 6%,var(--glow-1),transparent 60%),radial-gradient(760px 600px at 96% 4%,var(--glow-2),transparent 60%),radial-gradient(820px 640px at 88% 84%,var(--glow-3),transparent 60%),radial-gradient(680px 540px at 4% 88%,var(--glow-4),transparent 60%),var(--bg-0);color:var(--text);font-family:var(--font-sans);font-weight:500;-webkit-font-smoothing:antialiased;min-height:100svh}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:0 0;border:none;cursor:pointer}input,select,textarea{font:inherit;color:inherit}ol,ul{list-style:none}[hidden]{display:none!important}::selection{background:var(--accent-solid);color:#fff}:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:4px}.container{max-width:1200px;margin-inline:auto;padding-inline:32px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.15;font-weight:800}h1{font-size:clamp(1.9rem,3.6vw,2.7rem)}h2{font-size:clamp(1.35rem,2.5vw,1.8rem)}p{color:var(--text-dim);line-height:1.65;font-weight:600}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;border-radius:var(--r-pill);font-size:.84rem;letter-spacing:.02em;background:var(--bg-1);color:var(--violet);font-weight:800;box-shadow:var(--shadow-soft),0 0 0 1px var(--border);animation:eyebrow-glow 3.2s ease-in-out infinite}.eyebrow::before{content:'✨';width:auto;height:auto;border-radius:0;background:0 0;display:inline-block;animation:eyebrow-sparkle 2.4s ease-in-out infinite}@keyframes eyebrow-glow{0%,100%{box-shadow:var(--shadow-soft),0 0 0 1px var(--border)}50%{box-shadow:var(--shadow-glow),0 0 0 1px rgba(139,92,246,.25)}}@keyframes eyebrow-sparkle{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(18deg) scale(1.18)}}.grad-text{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--r-pill);font-weight:800;font-size:.88rem;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);white-space:nowrap}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px) scale(1.02)}.btn-ghost{background:var(--bg-1);border:2px solid var(--border);color:var(--text);box-shadow:var(--shadow-soft)}.btn-ghost:hover{transform:translateY(-2px);border-color:var(--violet)}.btn-sm{padding:9px 18px;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r-pill);font-size:.74rem;font-weight:800;background:var(--bg-1);border:1px solid var(--border);color:var(--text-dim);box-shadow:var(--shadow-soft)}.card{border-radius:var(--r-lg);background:var(--bg-1);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--accent-solid);color:#fff;padding:10px 18px;border-radius:var(--r-pill);transition:top var(--dur-fast) var(--ease)}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}.logo-block{position:relative;display:flex;align-items:center;justify-content:center;padding-block:24px 4px}.logo{display:flex;align-items:center;justify-content:center;border-radius:32px;transition:background var(--dur-med) var(--ease),padding var(--dur-med) var(--ease),box-shadow var(--dur-med) var(--ease)}.logo-banner{display:block;height:168px;width:auto;max-width:100%;animation:logo-float 5s ease-in-out infinite;transition:transform var(--dur-med) var(--ease);filter:drop-shadow(0 18px 30px rgba(139,92,246,.22))}.logo:hover .logo-banner{animation-play-state:paused;transform:scale(1.06) rotate(-1deg)}@keyframes logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.logo-mark{display:block;width:42px;height:42px;border-radius:14px;object-fit:contain;box-shadow:var(--shadow-soft);transform:rotate(-4deg);transition:transform var(--dur-med) var(--ease)}.footer-brand:hover .logo-mark{transform:rotate(4deg) scale(1.08)}.logo-text{display:flex;flex-direction:column;line-height:1.15}.logo-title{font-family:var(--font-display);font-weight:800;font-size:.94rem;letter-spacing:.02em}.logo-tag{font-size:.68rem;color:var(--text-faint);font-weight:700}.icon-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-pill);background:var(--bg-1);box-shadow:var(--shadow-soft);color:var(--violet);transition:transform var(--dur-fast) var(--ease)}.icon-btn:hover{transform:scale(1.08) rotate(8deg)}.back-to-top-float{position:fixed;right:20px;bottom:24px;z-index:60;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--bg-1);border:2px solid var(--border);color:var(--violet);box-shadow:var(--shadow-glow);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.back-to-top-float.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top-float:hover{transform:translateY(-3px) scale(1.06)}.back-to-top-float svg{width:20px;height:20px}.hub-hero{padding:10px 0 0;text-align:center}.hub-hero .eyebrow{justify-content:center;width:fit-content;margin-inline:auto}.hub-hero h1{margin:14px 0 10px;font-size:clamp(2.1rem,4.2vw,3.1rem)}.hub-hero p{max-width:54ch;margin-inline:auto;font-size:1rem}.hero-search-sticky{position:sticky;top:12px;z-index:46;display:flex;justify-content:center;padding-inline:32px;pointer-events:none}.hero-search-wrap{position:relative;width:700px;max-width:100%;margin:18px auto 10px;pointer-events:auto}.hero-search{position:relative;display:flex;align-items:center;gap:12px;padding:17px 26px;border-radius:var(--r-pill);background:var(--bg-1);border:2px solid transparent;color:var(--text-faint);width:100%;box-shadow:var(--shadow-soft);font-size:1.15rem;isolation:isolate;transition:box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.hero-search::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;z-index:-1;background:linear-gradient(135deg,var(--peach,#fdba74),var(--violet),var(--mint,#4ade80));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.35;transition:opacity var(--dur-fast) var(--ease)}.hero-search::after{content:"";position:absolute;inset:-14px;border-radius:calc(var(--r-pill) + 14px);z-index:-2;background:radial-gradient(closest-side,color-mix(in srgb,var(--violet) 30%,transparent),transparent);opacity:0;transition:opacity var(--dur-fast) var(--ease);pointer-events:none}.hero-search:hover{transform:translateY(-1px)}.hero-search:focus-within{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.hero-search:focus-within::before{opacity:1}.hero-search:focus-within::after{opacity:1}.hero-search-icon{width:21px;height:21px;flex-shrink:0;color:var(--violet);transition:color var(--dur-fast) var(--ease)}.hero-search:focus-within .hero-search-icon{color:var(--tool-color,var(--violet))}.hero-search input{background:0 0;border:none;outline:0;flex:1;min-width:0;color:var(--text);font-size:1.08rem;font-weight:700}.hero-search input::placeholder{color:var(--text-faint);font-weight:600}.hero-search .search-shortcut{font-size:.68rem;font-weight:800;color:var(--text-faint);background:var(--bg-2,var(--bg-0));border:1px solid var(--border);border-radius:6px;padding:2px 6px;flex-shrink:0}.hero-search-clear{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;background:var(--bg-2,var(--bg-0));border:none;color:var(--text-faint);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.hero-search-clear:hover{background:color-mix(in srgb,var(--rose,#fb7185) 18%,transparent);color:var(--rose,#fb7185);transform:scale(1.08)}.hero-search-clear svg{width:13px;height:13px}.hero-search-clear[hidden]{display:none}.search-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px;padding-inline:4px}.search-chips-label{font-size:.78rem;font-weight:700;color:var(--text-faint);margin-right:2px}.search-chip{font-size:.78rem;font-weight:700;color:var(--text-dim);background:var(--bg-1);border:1.5px solid var(--border);border-radius:var(--r-pill);padding:6px 14px;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.search-chip:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-1px)}.search-chip.is-active{background:var(--violet);border-color:var(--violet);color:#fff}.search-dropdown{position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:45;background:var(--bg-1);border:2px solid var(--border);border-radius:22px;box-shadow:var(--shadow-glow);padding:8px;max-height:380px;overflow-y:auto;text-align:left}.search-result-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.search-result-item.is-active,.search-result-item:hover{background:color-mix(in srgb,var(--violet) 12%,transparent)}.search-result-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;flex-shrink:0;background:color-mix(in srgb,var(--tool-color,var(--violet)) 18%,transparent);color:var(--tool-color,var(--violet));font-weight:800;font-size:.72rem}.search-result-text{min-width:0}.search-result-name{font-weight:800;font-size:.86rem;color:var(--text)}.search-result-desc{font-size:.74rem;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-empty{padding:16px 12px;font-size:.84rem;color:var(--text-faint);text-align:center}.finder-launch-btn{display:flex;align-items:center;gap:8px;margin:16px auto 0;padding:10px 20px;border-radius:var(--r-pill);background:var(--bg-1);border:1.5px dashed var(--border-strong,var(--border));color:var(--text-dim);font-family:inherit;font-size:.82rem;font-weight:800;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.finder-launch-btn:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-1px)}.finder-launch-btn svg{flex-shrink:0}.finder-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(20,14,34,.55);backdrop-filter:blur(3px);padding:20px}.finder-overlay[hidden]{display:none}.finder-modal{position:relative;width:640px;max-width:100%;max-height:min(680px,90vh);overflow-y:auto;background:var(--bg-1);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-glow);padding:36px 32px 32px}.finder-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--bg-0);border:1.5px solid var(--border);color:var(--text-faint);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.finder-close:hover{color:var(--rose,#fb7185);border-color:var(--rose,#fb7185)}.finder-close svg{width:14px;height:14px}.finder-eyebrow{display:inline-block;font-size:.72rem;font-weight:800;color:var(--violet);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.finder-step h2{margin:0 0 20px;font-size:1.3rem;padding-right:30px}.finder-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;font-size:.8rem;font-weight:800;color:var(--text-faint);transition:color var(--dur-fast) var(--ease)}.finder-back:hover{color:var(--violet)}.finder-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.finder-option{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:var(--r-md);background:var(--bg-0);border:1.5px solid var(--border);color:var(--text);text-align:left;font-family:inherit;font-size:.9rem;font-weight:700;transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.finder-option:hover{border-color:var(--violet);transform:translateY(-2px);box-shadow:var(--shadow-soft)}.finder-option-icon{font-size:1.4rem;flex-shrink:0}.finder-option-sub{font-size:.88rem}@media (max-width:640px){.finder-modal{padding:28px 20px 24px}.finder-options{grid-template-columns:1fr}}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:4px 0 64px}.tool-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--bg-1);text-align:left;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform var(--dur-med) var(--ease),box-shadow var(--dur-med) var(--ease)}.tool-card:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:0 20px 40px -16px color-mix(in srgb,var(--tool-color,var(--violet)) 45%,transparent)}.tool-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--tool-color,var(--violet)) 16%,transparent);color:var(--tool-color,var(--violet));font-size:1.15rem;font-family:var(--font-display);font-weight:800;transition:transform var(--dur-med) var(--ease)}.tool-card:hover .tool-card-icon{transform:scale(1.08) rotate(-6deg)}.tool-card-name{font-family:var(--font-display);font-size:1rem;font-weight:800}.tool-card-desc{font-size:.82rem;line-height:1.5;color:var(--text-dim);font-weight:600}.tool-card-cat{margin-top:auto;align-self:flex-start;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:5px 12px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--tool-color,var(--violet)) 16%,transparent);color:var(--tool-color,var(--violet))}.tool-card-fav{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:none;background:var(--bg-2,var(--bg-1));box-shadow:var(--shadow-soft);color:var(--text-faint);cursor:pointer;transition:transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.tool-card-fav:hover{transform:scale(1.12);color:#fbbf24}.tool-card-fav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;transition:fill var(--dur-fast) var(--ease)}.tool-card-fav.is-fav{color:#fbbf24}.tool-card-fav.is-fav svg{fill:currentColor}.favorites-section{padding-top:8px}.favorites-head{display:flex;align-items:center;gap:8px;margin:8px 0 14px}.favorites-head h2{margin:0;font-size:1.02rem;font-family:var(--font-display);font-weight:800;display:flex;align-items:center;gap:8px}.favorites-head .fav-star{color:#fbbf24}.favorites-section .tool-grid{padding:0 0 40px}.control-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 16px;padding:10px 16px;border-radius:var(--r-pill);background:var(--bg-1);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.grid-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.control-panel-divider{width:1px;height:22px;background:var(--border);flex-shrink:0}.theme-morph-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:var(--bg-1);border:1.5px solid var(--border-strong);cursor:pointer;box-shadow:var(--shadow-soft);transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-med) var(--ease)}.theme-morph-btn::before{content:"";position:absolute;inset:-3px;border-radius:50%;background:var(--accent-grad);opacity:0;z-index:-1;transition:opacity var(--dur-med) var(--ease)}.theme-morph-btn:hover{transform:scale(1.08);border-color:transparent}.theme-morph-btn:hover::before{opacity:.55}html.dark .theme-morph-btn{background:var(--bg-1);border-color:var(--border-strong)}.theme-morph-icon{display:inline-block;font-size:1.15rem;line-height:1;color:#d97706;transition:transform var(--dur-med) var(--ease),color var(--dur-med) var(--ease)}html.dark .theme-morph-icon{color:var(--violet);transform:rotate(180deg)}.fav-only-btn{display:flex;align-items:center;gap:6px;padding:0 14px;height:32px;border-radius:var(--r-pill);background:var(--bg-1);border:1.5px solid var(--border);color:var(--text-faint);font-family:inherit;font-size:.76rem;font-weight:800;white-space:nowrap;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.fav-only-btn svg{flex-shrink:0}.fav-only-btn:hover{color:#fbbf24;border-color:#fbbf24}.fav-only-btn.active{background:#fbbf24;border-color:#fbbf24;color:#1f2937}.fav-only-btn.active svg{fill:currentColor}.sort-control{display:flex;align-items:center;gap:6px}.sort-label{font-size:.72rem;font-weight:800;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.sort-select{height:32px;padding:0 30px 0 12px;border-radius:var(--r-pill);background:var(--bg-1);border:1.5px solid var(--border);color:var(--text);font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}.sort-select:focus,.sort-select:hover{outline:0;border-color:var(--violet)}.view-switcher{display:flex;align-items:center;gap:6px}.view-switcher-label{font-size:.72rem;font-weight:800;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-right:2px}.view-switcher-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg-1);border:1.5px solid var(--border);color:var(--text-faint);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.view-switcher-btn svg{width:16px;height:16px}.view-switcher-btn:hover{color:var(--violet);border-color:var(--violet)}.view-switcher-btn.active{background:var(--violet);border-color:var(--violet);color:#fff}.tool-grid.view-list{grid-template-columns:1fr;gap:10px}.view-list .tool-card{display:grid;grid-template-columns:auto minmax(160px,240px) 1fr auto;align-items:center;gap:16px;padding:12px 54px 12px 16px}.view-list .tool-card-icon{width:36px;height:36px;font-size:.95rem;border-radius:11px}.view-list .tool-card-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.view-list .tool-card-cat{margin:0;flex-shrink:0}.view-list .tool-card:hover{transform:translateX(3px);rotate:none}.tool-grid.view-simple{grid-template-columns:repeat(6,1fr);gap:10px}.view-simple .tool-card{padding:16px 10px;align-items:center;text-align:center;gap:8px}.view-simple .tool-card-cat,.view-simple .tool-card-desc{display:none}.view-simple .tool-card-icon{width:36px;height:36px;font-size:.95rem}.view-simple .tool-card-name{font-size:.78rem;line-height:1.3}.view-simple .tool-card-fav{width:22px;height:22px;top:6px;right:6px}.view-simple .tool-card-fav svg{width:11px;height:11px}.tool-grid.view-large{grid-template-columns:repeat(2,1fr);gap:22px}.view-large .tool-card{padding:30px}.view-large .tool-card-icon{width:60px;height:60px;font-size:1.5rem;border-radius:18px}.view-large .tool-card-name{font-size:1.2rem}.view-large .tool-card-desc{font-size:.92rem}.category-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 16px;justify-content:center}.category-tab{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:var(--r-pill);font-size:.86rem;font-weight:800;background:var(--bg-1);border:1px solid var(--border);color:var(--text-dim);box-shadow:var(--shadow-soft);transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.category-tab-icon{font-size:1rem;line-height:1}.category-tab:hover{transform:translateY(-2px) scale(1.03);color:var(--text)}.category-tab.active{color:#fff;border-color:transparent;transform:translateY(-2px) scale(1.03);box-shadow:var(--shadow-glow)}.category-tab.active[data-cat=all]{background:var(--accent-grad)}.category-tab.active[data-cat=finance]{background:var(--coral)}.category-tab.active[data-cat=time]{background:var(--sky)}.category-tab.active[data-cat=network]{background:var(--violet)}.category-tab.active[data-cat=developer]{background:var(--mint)}.category-tab.active[data-cat=web]{background:#6366f1}.category-tab.active[data-cat=everyday]{background:var(--lemon);color:var(--text)}.category-tab.active[data-cat=medical]{background:#fb7185}.category-tab.active[data-cat=pharmacy]{background:#34d399}.category-tab.active[data-cat=engineering]{background:#a78bfa}.category-tab.active[data-cat=student]{background:#38bdf8}.category-tab.active[data-cat=cooking]{background:#fb923c}.category-tab.active[data-cat=diet]{background:#22c55e}.category-tab.active[data-cat=astronomy]{background:#6d28d9}.category-tab.active[data-cat=security]{background:#ef4444}.category-tab.active[data-cat=hr]{background:#f472b6}.category-tab.active[data-cat=travel]{background:#14b8a6}.category-tab.active[data-cat=auto]{background:#f97316}.category-tab.active[data-cat=event]{background:#d946ef}.category-tab.active[data-cat=design]{background:#c026d3}.category-tab.active[data-cat=parents]{background:#fb6f92}.category-tab.active[data-cat=insurance]{background:#2563eb}.tool-panel{padding:44px 0 76px;max-width:760px;margin-inline:auto}.tool-panel-back{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:700;color:var(--text-dim);margin-bottom:22px}.tool-panel-back:hover{color:var(--violet)}.tool-panel-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:30px}.tool-panel-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;flex-shrink:0;background:color-mix(in srgb,var(--tool-color,var(--violet)) 16%,transparent);color:var(--tool-color,var(--violet));font-size:1.3rem;font-family:var(--font-display);font-weight:800}.tool-panel-head h1{font-size:1.65rem;margin-bottom:4px;letter-spacing:-.01em}.tool-panel-head p{font-size:.9rem}.tool-share-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto;white-space:nowrap}.tool-share-btn svg{width:14px;height:14px}.tool-share-btn.is-copied{background:color-mix(in srgb,var(--mint) 20%,var(--bg-1));border-color:var(--mint);color:var(--mint)}.tool-panel-fav-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin-left:8px;white-space:nowrap}.tool-panel-fav-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.tool-panel-fav-btn.is-fav{color:#fbbf24;border-color:color-mix(in srgb,#fbbf24 50%,var(--border))}.tool-panel-fav-btn.is-fav svg{fill:currentColor}.tool-subheading{font-family:var(--font-display);font-weight:800;font-size:1.05rem;margin:0 0 12px}.dcp-swatch-row{display:flex;gap:8px;flex-wrap:wrap}.dcp-swatch{flex:1 1 90px;min-height:72px;border-radius:var(--r-md);display:flex;align-items:flex-end;justify-content:center;padding:8px 4px;font-size:.7rem;font-weight:700;font-family:monospace;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.tool-features{margin-top:40px;padding-top:28px;border-top:2px dashed var(--border)}.tool-features h2{font-family:var(--font-display);font-weight:800;font-size:1.05rem;margin-bottom:16px}.tool-features ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}.tool-features li{position:relative;padding-left:28px;font-size:.87rem;color:var(--text-dim);font-weight:600;line-height:1.5}.tool-features li::before{content:'✓';position:absolute;left:0;top:0;color:var(--mint);font-weight:800;font-size:.95rem}.field-group{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-label{font-size:.78rem;color:var(--text-dim);font-weight:800;letter-spacing:.01em}.field-input,.field-select,.field-textarea{padding:13px 16px;border-radius:var(--r-md);border:2px solid var(--border);background:var(--bg-1);color:var(--text);font-size:.95rem;font-weight:700;width:100%;transition:border-color var(--dur-fast) var(--ease)}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--violet)}.field-textarea{resize:vertical;min-height:120px;font-family:var(--font-mono);font-size:.86rem;font-weight:500}.field-hint{font-size:.74rem;color:var(--text-faint);font-weight:700}.input-with-suffix{position:relative}.input-with-suffix .field-input{padding-right:52px}.input-suffix{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:.82rem;color:var(--text-faint);font-weight:800}.segmented{display:flex;gap:4px;padding:5px;border-radius:var(--r-pill);background:var(--bg-2);border:1px solid var(--border);width:fit-content}.segmented button{padding:8px 18px;border-radius:var(--r-pill);font-size:.82rem;font-weight:800;color:var(--text-dim)}.segmented button.active{background:var(--accent-grad);color:#fff}.result-panel{margin-top:26px;padding:24px;border-radius:var(--r-lg);background:var(--accent-grad-soft);border:1px solid var(--border)}.result-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--violet);font-weight:800;margin-bottom:8px}.result-value{font-family:var(--font-display);font-size:1.85rem;font-weight:800;word-break:break-word}.result-sub{font-size:.86rem;color:var(--text-dim);margin-top:6px;font-weight:700}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-top:16px}.result-stat{padding:15px;border-radius:var(--r-md);background:var(--bg-1)}.result-stat-label{font-size:.7rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.result-stat-value{font-size:1.12rem;font-weight:800;margin-top:4px;font-family:var(--font-display)}.ping-target-block{margin-bottom:20px}.ping-target-block:last-child{margin-bottom:0}.ping-target-heading{font-family:var(--font-display);font-size:.86rem;font-weight:800;color:var(--text);margin:0 0 8px;word-break:break-all}.ping-live-note{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:9px 14px;border-radius:var(--r-pill);background:var(--bg-1);font-size:.78rem;font-weight:700;color:var(--text-dim);width:fit-content}.ping-live-dot{width:8px;height:8px;border-radius:50%;background:var(--mint,#4ade80);flex-shrink:0;animation:ping-live-pulse 1.2s ease-in-out infinite}.ping-live-dot.is-done{animation:none;opacity:1;transform:none}.ping-live-note.is-done{color:var(--text)}@keyframes ping-live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}#pingStart.is-running{background:var(--rose,#fb7185);box-shadow:none}.progress-track{width:100%;max-width:420px;height:8px;border-radius:var(--r-pill);background:var(--bg-2);overflow:hidden;margin-top:10px}.progress-fill{height:100%;border-radius:var(--r-pill);background:var(--accent-grad);transition:width .3s ease;width:0%}.spd-status-label{font-size:.82rem;font-weight:700;color:var(--text-dim)}.error-text{color:var(--danger);font-size:.82rem;margin-top:6px;font-weight:700}.copy-row{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.table-simple{width:100%;border-collapse:collapse;margin-top:14px;font-size:.86rem}.table-simple td,.table-simple th{padding:10px 10px;text-align:left;border-bottom:1px solid var(--border)}.table-simple th{color:var(--text-faint);font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.dynamic-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dynamic-row .field-input{flex:1;min-width:140px}.dynamic-row .btn{flex-shrink:0}@media (max-width:560px){.dynamic-row .field-input{min-width:100%}}.site-footer{border-top:1px solid var(--border);margin-top:44px;padding:34px 0 22px;background:var(--bg-1);border-radius:28px 28px 0 0;box-shadow:0 -14px 40px -24px rgba(80,50,140,.22)}.footer-compact-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 32px}.footer-suggest-compact{display:flex;align-items:center;gap:8px;flex:0 1 300px;min-width:220px}.footer-suggest-input{flex:1;min-width:0;padding:10px 14px;border-radius:var(--r-pill);background:var(--bg-0);border:2px solid var(--border);color:var(--text);font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color var(--dur-fast) var(--ease)}.footer-suggest-input:focus{outline:0;border-color:var(--mint)}.footer-suggest-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;flex-shrink:0;background:#25d366;color:#fff;box-shadow:0 10px 22px -12px rgba(37,211,102,.6);transition:filter var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.footer-suggest-btn:hover{filter:brightness(1.05);transform:scale(1.06)}.footer-bottom{border-top:1px solid var(--border);margin-top:22px;padding-top:16px;font-size:.72rem;color:var(--text-faint);font-weight:600;line-height:1.6;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.footer-copyright{max-width:70ch}.footer-credit{font-size:.8rem;color:var(--text-faint);font-weight:600;margin:0}.footer-credit-name{color:var(--violet);font-weight:800;transition:color var(--dur-fast) var(--ease)}.footer-credit-name:hover{color:var(--mint)}@media (max-width:900px){.tool-grid{grid-template-columns:repeat(2,1fr)}.tool-grid.view-simple{grid-template-columns:repeat(4,1fr)}.tool-grid.view-large{grid-template-columns:1fr}.view-list .tool-card{grid-template-columns:auto minmax(120px,1fr);padding-right:50px}.view-list .tool-card-cat,.view-list .tool-card-desc{display:none}.field-row{grid-template-columns:1fr}.logo-banner{height:140px}}@media (max-width:560px){.tool-grid{grid-template-columns:1fr}.tool-grid.view-simple{grid-template-columns:repeat(3,1fr)}.logo-banner{height:104px}.logo-block{padding-block:16px 0}.container{padding-inline:20px}.hub-hero{padding:0}.hub-hero p{font-size:.86rem}h1{font-size:clamp(1.75rem,8vw,2.3rem);margin:8px 0 6px}.back-to-top-float{width:44px;height:44px;right:14px;bottom:16px}.hero-search-wrap{margin:12px auto 6px}.hero-search{width:100%;padding:14px 18px;font-size:1.05rem;gap:10px}.hero-search input{font-size:1rem}.hero-search-icon{width:19px;height:19px}.hero-search-sticky{padding-inline:20px;top:10px}.search-chips{gap:6px;margin-top:8px}.search-chips-label{display:none}.search-chip{padding:5px 11px;font-size:.72rem}.category-tabs{flex-wrap:nowrap;overflow-x:auto;margin:14px -20px 12px;padding:0 20px 4px;scrollbar-width:none;-ms-overflow-style:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{flex-shrink:0;padding:9px 16px;font-size:.8rem}.footer-compact-top{flex-direction:column;align-items:stretch;gap:16px}.footer-suggest-compact{width:100%}.footer-bottom{flex-direction:column;gap:12px}.control-panel{flex-direction:column;align-items:stretch;padding:14px}.grid-controls{justify-content:space-between}.control-panel-divider{display:none}.tool-panel-head{flex-wrap:wrap}.tool-share-btn{margin-left:0}.tool-panel-fav-btn{margin-left:0}}@media (max-width:380px){.logo-banner{height:84px}}#typPassage span.typ-correct{color:#22c55e}#typPassage span.typ-wrong{color:#f43f5e;text-decoration:underline;text-decoration-color:#F43F5E}#typPassage span.typ-current{background:rgba(56,189,248,.25);border-radius:2px}