.tool-hub{width:100%;max-width:100%;min-height:68vh;margin:0 auto 42px;padding:0 0 64px}.tool-context{margin:18px 0;background:var(--surf,#fff);border:1px solid var(--brd,#e2e8f0);border-radius:16px;padding:18px;color:var(--txt-2,#475569);line-height:1.7;box-shadow:0 4px 18px #0f172a0a}.tool-context h2{margin:0 0 8px;color:var(--txt,#0f172a);font-size:1.05rem;font-weight:800}.tool-context p{margin:0 0 10px;font-size:.9rem}.tool-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.tool-context-card{background:var(--surf2,#f8fafc);border:1px solid var(--brd,#e2e8f0);border-radius:12px;padding:12px;min-width:0}.tool-context-card strong{display:block;color:var(--txt,#0f172a);font-size:.86rem;margin-bottom:4px}.tool-context-card span{display:block;font-size:.8rem;line-height:1.55;color:var(--txt-2,#64748b)}.tool-toolbar{margin:18px 0;display:flex;gap:12px;align-items:center}.tool-search{width:280px;min-height:42px;border:1px solid var(--brd,#e2e8f0);background:var(--surf,#fff);color:var(--txt,#0f172a);border-radius:14px;padding:0 15px;font:inherit;flex-shrink:0}.tool-count{color:var(--txt-2,#64748b);font-size:.9rem;font-weight:700;white-space:nowrap}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card{display:flex;flex-direction:column;gap:14px;min-height:210px;background:var(--surf,#fff);border:1px solid var(--brd,#e2e8f0);border-radius:18px;padding:16px;text-decoration:none;color:inherit;box-shadow:0 4px 18px #0f172a0f;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.tool-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px #0f172a1f;border-color:#14b8a661}.tool-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#14b8a61f;color:#0f766e;font-size:1.05rem}.tool-card h2{margin:0;color:var(--txt,#0f172a);font-size:1.02rem;line-height:1.25;letter-spacing:0}.tool-card p{margin:0;color:var(--txt-2,#64748b);font-size:.86rem;line-height:1.55}.tool-open{margin-top:auto;min-height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;font-size:.84rem;text-decoration:none;background:#0f766e;color:#fff}.tool-empty{background:var(--surf,#fff);border:1px solid var(--brd,#e2e8f0);border-radius:18px;padding:34px;color:var(--txt-2,#64748b);text-align:center}[data-theme=dark] .tool-card,[data-theme=dark] .tool-search,[data-theme=dark] .tool-empty,[data-theme=dark] .tool-context{background:var(--surf,#111f3a);border-color:var(--brd,rgba(255,255,255,.08))}[data-theme=dark] .tool-context-card{background:var(--surf2,#172542);border-color:var(--brd,rgba(255,255,255,.08))}[data-theme=dark] .tool-icon{background:#2dd4bf24;color:#5eead4}@media(max-width:920px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.tool-toolbar{flex-direction:column;align-items:stretch}.tool-search{width:100%}.tool-grid{grid-template-columns:1fr}}.tool-card-featured{position:relative;overflow:hidden;border-color:#2563eb38;background:linear-gradient(145deg,rgba(37,99,235,.1),rgba(20,184,166,.08) 46%,transparent),var(--surf,#fff)}.tool-card-featured:after{content:"";position:absolute;right:-42px;top:-42px;width:132px;height:132px;border:1px solid rgba(37,99,235,.16);border-radius:50%;pointer-events:none}.tool-card-featured .tool-icon{background:linear-gradient(135deg,#2563eb2e,#14b8a629);color:#1d4ed8}.tool-card-featured h2{font-size:1.12rem}.tool-kicker{position:absolute;top:14px;right:14px;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:24px;padding:2px 8px;border-radius:999px;background:#2563eb1f;border:1px solid rgba(37,99,235,.22);color:#1d4ed8;font-size:.72rem;font-weight:900;letter-spacing:0}[data-theme=dark] .tool-card-featured{background:linear-gradient(145deg,rgba(96,165,250,.14),rgba(45,212,191,.1) 48%,transparent),var(--surf,#111f3a);border-color:#60a5fa38}[data-theme=dark] .tool-card-featured .tool-icon{color:#93c5fd}[data-theme=dark] .tool-kicker{background:#60a5fa29;border-color:#60a5fa42;color:#bfdbfe}
