/* Patch 3: scoped additions; the existing tool/card/theme rules stay intact. */
.fts-category-bar { display:flex; align-items:center; gap:6px; padding:9px; margin:-24px 0 24px; border:1px solid rgba(76,63,242,.08); border-radius:50px; background:#fff; box-shadow:0 9px 30px rgba(30,30,80,.05); min-width:0; }
.fts-category-scroll { display:flex; flex:1 1 auto; align-items:center; gap:7px; overflow-x:auto; min-width:0; scrollbar-width:none; -ms-overflow-style:none; overscroll-behavior-x:contain; scroll-padding-inline:8px; }
.fts-category-scroll::-webkit-scrollbar { display:none; }
.fts-category-pill { display:inline-flex; flex:0 0 auto; align-items:center; gap:10px; min-height:48px; padding:11px 19px; background:transparent; color:#555465; border:0; border-radius:40px; font:inherit; font-size:15px; font-weight:500; white-space:nowrap; transition:background .15s,color .15s; }
.fts-category-pill i { width:19px; text-align:center; font-size:18px; }
.fts-category-pill:hover { background:rgba(76,63,242,.07); color:#4c3ff2; }
.fts-category-pill.is-active { color:#fff; background:#4c3ff2; box-shadow:0 3px 10px rgba(76,63,242,.15); }
.fts-category-pill:focus-visible,.fts-scroll-arrow:focus-visible,.fts-share-button:focus-visible { outline:3px solid #8b83ff; outline-offset:2px; }
.fts-scroll-arrow { flex:0 0 32px; width:32px; height:40px; display:grid; place-items:center; border:0; border-radius:24px; color:#625b85; background:transparent; }
.fts-scroll-arrow:hover:enabled { background:rgba(76,63,242,.08); }
.fts-scroll-arrow:disabled { opacity:.2; cursor:default; }
[dir="rtl"] .fts-scroll-arrow svg { transform:rotate(180deg); }
.fts-filter-status { font-size:13px; margin:8px 14px 16px; color:#747086; min-height:1em; }
.fts-filter-status:empty { min-height:0; margin:0; }
.fts-no-results { padding:28px; margin-top:22px; border-radius:16px; background:rgba(76,63,242,.05); text-align:center; }
#fts-home-tools [data-category][hidden],.fts-category-bar[hidden],.fts-no-results[hidden],.fts-tool-share [hidden] { display:none !important; }
.fts-tool-heading { position:relative; }
.fts-tool-heading .single-page-main-title,.fts-tool-heading .single-page-main-desc { padding-inline:0px; }
.fts-tool-share {
    position: absolute;
    top: 4px;
    inset-inline-end: 6px;
    z-index: 5;
}

.fts-share-button {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;

    border: 1px solid rgba(76, 63, 242, .25);
    border-radius: 50%;

    color: #4c3ff2;
    background: #ffffff;

    box-shadow: 0 5px 18px rgba(20, 20, 55, .12);

    transition:
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.fts-share-button:hover {
    background: #f7f6ff;
    border-color: rgba(76, 63, 242, .45);
    box-shadow: 0 7px 22px rgba(20, 20, 55, .16);
    transform: translateY(-1px);
}

.dark .fts-share-button {
    color: #c4beff;
    background: #302c47;
    border-color: #554d79;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .25);
}

.dark .fts-share-button:hover {
    background: #393451;
    border-color: #7168a2;
}
.fts-share-feedback { position:absolute; inset-inline-end:0; top:52px; width:min(300px,75vw); border:1px solid rgba(76,63,242,.15); border-radius:12px; padding:12px; background:#fff; color:#353047; box-shadow:0 6px 25px rgba(25,25,65,.12); font-size:13px; text-align:start; }
.fts-share-feedback p { margin:0; }
.fts-share-feedback input { margin-top:8px; width:100%; padding:7px; border:1px solid #d9d6ef; border-radius:6px; background:transparent; color:inherit; }
.fts-about-tool { text-align:start; line-height:1.85; overflow-wrap:anywhere; }
.fts-about-tool h2 { font-size:1.55rem; font-weight:600; margin-bottom:22px; }
.fts-about-tool h3 { font-size:1.16rem; margin:25px 0 12px; font-weight:500; }
.fts-about-tool h4 { font-size:1.05rem; margin:20px 0 10px; }
.fts-about-tool p { margin-bottom:17px; }
.fts-about-tool ul,.fts-about-tool ol { padding-inline-start:24px; margin-bottom:17px; }
.fts-about-tool li { margin-bottom:8px; }
.fts-about-tool blockquote { border-inline-start:3px solid #4c3ff2; padding-inline-start:16px; }
.dark .fts-category-bar,.dark .fts-share-feedback { background:#252435; border-color:#3d3a55; color:#e8e7f4; }
.dark .fts-category-pill { color:#d8d5ea; }
.dark .fts-category-pill:hover { color:#fff; background:#363349; }
.dark .fts-category-pill.is-active { background:#665afa; color:#fff; }
.dark .fts-scroll-arrow,.dark .fts-share-button { color:#c4beff; }
.dark .fts-share-button { border-color:#4b4568; background:#302c47; }
.dark .fts-filter-status { color:#aaa5c1; }
@media (max-width:600px) {
    .fts-category-bar { padding:7px 4px; margin-top:-18px; gap:1px; }
    .fts-category-pill { padding:10px 14px; min-height:44px; font-size:14px; gap:8px; }
    .fts-scroll-arrow { flex-basis:26px; width:26px; }
    .fts-about-tool h2 { font-size:1.3rem; }
}
@media (prefers-reduced-motion:reduce) { .fts-category-pill,.fts-share-button { transition:none; } }

.fts-security-verification {
    padding: 54px 30px 52px;
    text-align: center;
    border: 1px solid rgba(76, 63, 242, .11);
    border-radius: 18px;
    background: #ffffff;
}

.fts-verification-indicator {
    width: 70px;
    height: 70px;
    margin: 0 auto 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(76, 63, 242, .08);
}

.fts-verification-indicator span {
    width: 30px;
    height: 30px;
    border: 3px solid rgba(76, 63, 242, .18);
    border-top-color: #4c3ff2;
    border-radius: 50%;
    animation: fts-security-spin .8s linear infinite;
}

.fts-verification-title {
    margin-bottom: 12px !important;
    font-size: 24px !important;
    font-weight: 600 !important;
}

.fts-verification-description {
    max-width: 650px;
    margin: 0 auto 28px;
    color: #6d6978;
    line-height: 1.6;
}

.fts-turnstile-container {
    display: flex;
    justify-content: center;
}

.fts-turnstile-verified {
    margin-top: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    color: #4c3ff2;
    font-size: 14px;
    font-weight: 500;
}

.fts-turnstile-verified[hidden],
.fts-turnstile-fallback[hidden] {
    display: none !important;
}

.fts-redirect-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(76, 63, 242, .2);
    border-top-color: #4c3ff2;
    border-radius: 50%;
    animation: fts-security-spin .7s linear infinite;
}

.fts-turnstile-fallback {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    color: #6f68cb;
    text-decoration: underline;
}

.fts-turnstile-fallback:hover {
    color: #4c3ff2;
}

.dark .fts-security-verification {
    background: var(--color-dark-lighter);
    border-color: rgba(255, 255, 255, .08);
}

.dark .fts-verification-indicator {
    background: rgba(102, 90, 250, .15);
}

.dark .fts-verification-description {
    color: var(--color-dark-border);
}

.dark .fts-turnstile-verified {
    color: #aaa3ff;
}

.dark .fts-turnstile-fallback {
    color: #b8b3ff;
}

@keyframes fts-security-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 600px) {
    .fts-security-verification {
        padding: 38px 18px;
    }

    .fts-verification-title {
        font-size: 21px !important;
    }

    .fts-verification-description {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fts-verification-indicator span,
    .fts-redirect-spinner {
        animation-duration: 1.8s;
    }
}