    /* ------------------------------------------------------------------
       Search-page styles, scoped under .fl-searchpage so the sidebar,
       footer, and every other page styled by db_style_today.css are
       left untouched. Shares the design tokens of the landing page.
       ------------------------------------------------------------------ */
    :root{
        --fl-paper:#F5F7F9;
        --fl-card:#FFFFFF;
        --fl-ink:#17232F;
        --fl-ink-2:#3E5060;
        --fl-muted:#6C7B89;
        --fl-line:#DDE4EA;
        --fl-line-soft:#E8EDF1;
        --fl-teal:#0E7A63;
        --fl-teal-dark:#0B6353;
        --fl-ochre:#BE8629;
        --fl-serif:'Spectral',Georgia,'Times New Roman',serif;
        --fl-sans:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
        --fl-mono:'IBM Plex Mono',ui-monospace,'SF Mono',monospace;
    }
    body{background:var(--fl-paper);}

    .fl-searchpage{
        text-align:left;
        font-family:var(--fl-sans);
        color:var(--fl-ink);
        max-width:1100px;
        margin:0 auto;
        padding-top:16px;
        -webkit-font-smoothing:antialiased;
    }

    /* Page header */
    .fl-page-head{margin-bottom:26px;}
    .fl-eyebrow{
        font-family:var(--fl-mono);
        font-size:12px;
        letter-spacing:.16em;
        text-transform:uppercase;
        color:var(--fl-teal);
        margin:0 0 12px;
    }
    .fl-page-head h1{
        font-family:var(--fl-serif);
        font-weight:600;
        font-size:40px;
        line-height:1.05;
        letter-spacing:-.01em;
        margin:0;
        color:var(--fl-ink);
    }

    /* Search card */
    .fl-search{
        background:var(--fl-card);
        border:1px solid var(--fl-line);
        border-radius:14px;
        padding:24px 24px 22px;
        box-shadow:0 1px 2px rgba(23,35,47,.04),0 10px 30px -18px rgba(23,35,47,.18);
        margin-bottom:14px;
    }
    .fl-search-row{display:flex;gap:12px;align-items:stretch;}
    .fl-search-input{
        flex:1;
        font-family:var(--fl-sans);
        font-size:17px;
        color:var(--fl-ink);
        padding:15px 17px;
        border:1px solid var(--fl-line);
        border-radius:10px;
        background:#FBFCFD;
        outline:none;
        transition:border-color .15s,box-shadow .15s;
    }
    .fl-search-input::placeholder{color:#9AA8B4;}
    .fl-search-input:focus{
        border-color:var(--fl-teal);
        box-shadow:0 0 0 3px rgba(14,122,99,.14);
        background:#fff;
    }
    .fl-btn-search{
        flex:0 0 auto;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        font-family:var(--fl-sans);
        font-size:16px;
        font-weight:600;
        color:#fff;
        background:var(--fl-teal);
        border:none;
        border-radius:10px;
        padding:0 26px;
        cursor:pointer;
        text-decoration:none;
        transition:background .15s,transform .05s;
    }
    .fl-btn-search:hover{background:var(--fl-teal-dark);color:#fff;text-decoration:none;}
    .fl-btn-search:active{transform:translateY(1px);}

    .fl-search-hint{
        font-size:14px;
        color:var(--fl-muted);
        margin:13px 2px 0;
        line-height:1.5;
    }
    .fl-search-hint b{color:var(--fl-ink-2);font-weight:500;}
    .fl-search-hint a{color:var(--fl-teal);text-decoration:none;}
    .fl-search-hint a:hover{text-decoration:underline;}

    .fl-toggle-row{display:flex;align-items:center;margin-top:14px;}
    .fl-adv-toggle{
        font-family:var(--fl-sans);
        font-size:14px;
        color:var(--fl-teal);
        background:none;
        border:none;
        cursor:pointer;
        padding:5px 4px;
        display:inline-flex;
        align-items:center;
        gap:6px;
    }
    .fl-adv-toggle:hover{text-decoration:underline;}
    .fl-adv-toggle .tri{font-size:10px;transition:transform .18s;display:inline-block;}
    .fl-adv-toggle.open .tri{transform:rotate(90deg);}

    /* Advanced panel */
    .fl-advanced{
        margin-top:18px;
        padding-top:20px;
        border-top:1px solid var(--fl-line-soft);
    }
    .fl-adv-field{margin-bottom:20px;}
    .fl-adv-field:last-child{margin-bottom:4px;}
    .fl-adv-label{font-size:14px;font-weight:600;color:var(--fl-ink);margin:0 0 4px;}
    .fl-adv-sub{font-size:13px;color:var(--fl-muted);margin:0 0 10px;line-height:1.5;}
    .fl-adv-sub a{color:var(--fl-teal);text-decoration:none;}
    .fl-adv-sub a:hover{text-decoration:underline;}
    .fl-adv-input{
        width:100%;font-family:var(--fl-sans);font-size:15px;padding:11px 13px;
        border:1px solid var(--fl-line);border-radius:9px;background:#FBFCFD;outline:none;
        transition:border-color .15s,box-shadow .15s;
    }
    .fl-adv-input:focus{border-color:var(--fl-teal);box-shadow:0 0 0 3px rgba(14,122,99,.12);}
    .fl-advanced input[type=range]{width:100%;accent-color:var(--fl-teal);}
    .fl-adv-thresh{font-family:var(--fl-mono);color:var(--fl-teal);font-weight:500;}
    .fl-sources{display:flex;gap:22px;flex-wrap:wrap;}
    .fl-sources label{font-size:14px;color:var(--fl-ink-2);display:flex;align-items:center;gap:8px;cursor:pointer;margin:0;}
    .fl-sources input{accent-color:var(--fl-teal);width:16px;height:16px;}

    /* Results area */
    .fl-results-head{
        margin:38px 0 18px;
        border-top:1px solid var(--fl-line);
        padding-top:30px;
        display:flex;
        align-items:baseline;
        gap:14px;
        flex-wrap:wrap;
    }
    .fl-results-head h2{
        font-family:var(--fl-serif);
        font-weight:500;
        font-size:26px;
        margin:0;
        color:var(--fl-ink);
    }
    .fl-results-head .tag{
        font-family:var(--fl-mono);
        font-size:11px;
        letter-spacing:.12em;
        text-transform:uppercase;
        color:var(--fl-ochre);
    }
	.fl-page-head h2,
	.fl-h2{
		font-family:var(--fl-serif);
		font-weight:600;
		font-size:30px;
		line-height:1.1;
		letter-spacing:-.01em;
		margin:0;
		color:var(--fl-ink);
	}

    /* Motif page: stat boxes */
    .fl-statbar{
        display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
        margin:28px 0 22px;
    }
    .fl-stat{
        flex:1 1 150px;max-width:220px;
        background:var(--fl-card);
        border:1px solid var(--fl-line);
        border-radius:12px;
        padding:18px 16px;
        display:flex;flex-direction:column;align-items:center;gap:6px;
        text-align:center;
        box-shadow:0 1px 2px rgba(23,35,47,.04);
    }
    .fl-stat-num{
        font-family:var(--fl-serif);font-weight:600;font-size:34px;
        line-height:1;color:var(--fl-teal);
    }
    .fl-stat-label{
        font-size:13px;color:var(--fl-muted);line-height:1.4;
    }

    /* Motif page: in-page nav pills */
    .fl-navpills{
        display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
        margin:0 0 26px;
    }
    .fl-pill{
        font-family:var(--fl-mono);font-size:13px;color:var(--fl-ink-2);
        background:#F1F5F4;border:1px solid var(--fl-line-soft);
        border-radius:999px;padding:7px 15px;
        text-decoration:none;transition:all .13s;
    }
    .fl-pill:hover{
        border-color:var(--fl-teal);color:var(--fl-teal);
        background:#EAF4F1;text-decoration:none;
    }

    /* Map */
    #map{
        height:500px;width:100%;margin:0 auto;
        border-radius:12px;border:1px solid var(--fl-line);
        background:linear-gradient(180deg,#FBFCFD,#F3F6F8);
    }
    .fl-map-cap{
        font-size:12.5px;color:var(--fl-muted);font-style:italic;
        text-align:center;margin:9px 0 12px;
    }
    .fl-map-controls{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:8px;}
    .fl-mapgroup{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:center;}
    .fl-map-div{align-self:stretch;width:1px;min-height:22px;background:rgba(23,35,47,.18);flex:0 0 auto;}
    .fl-mapbtn{
        font-family:var(--fl-mono);font-size:13px;color:var(--fl-ink-2);
        background:#F1F5F4;border:1px solid var(--fl-line-soft);
        padding:5px 13px;border-radius:999px;cursor:pointer;text-decoration:none;transition:all .13s;
    }
    .fl-mapbtn:hover{border-color:var(--fl-teal);color:var(--fl-teal);background:#EAF4F1;}
    .fl-mapbtn.active{background:var(--fl-teal);border-color:var(--fl-teal);color:#fff;}
    .fl-btn-quiet{
        font-family:var(--fl-sans);font-size:13.5px;color:var(--fl-ink-2);
        background:var(--fl-card);border:1px solid var(--fl-line);
        padding:6px 14px;border-radius:9px;cursor:pointer;transition:all .13s;
    }
    .fl-btn-quiet:hover{border-color:var(--fl-teal);color:var(--fl-teal);}

    /* Summary card */
    .fl-summary{
        background:var(--fl-card);
        border:1px solid var(--fl-line);
        border-radius:12px;
        padding:18px 22px;
        margin:22px 0 18px;
    }
    .fl-summary h3{
        font-family:var(--fl-serif);font-weight:500;font-size:19px;
        margin:0 0 10px;color:var(--fl-ink);
    }
    .fl-summary p{font-size:14.5px;color:var(--fl-ink-2);line-height:1.65;margin:0 0 10px;}
    .fl-summary strong{color:var(--fl-ink);font-weight:600;}
    .fl-summary details summary{cursor:pointer;font-size:14px;color:var(--fl-ink-2);}
    .fl-summary details summary:hover{color:var(--fl-teal);}
    .fl-summary ul{margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.7;}
    .fl-summary ul a{color:var(--fl-teal);text-decoration:none;}
    .fl-summary ul a:hover{text-decoration:underline;}

    /* Semantic (vector) results */
    .fl-vector{
        background:#FBF7EF;
        border:1px solid #EADFC8;
        border-radius:12px;
        padding:16px 22px;
        margin:0 0 18px;
    }
    .fl-vector summary{cursor:pointer;font-size:14.5px;font-weight:600;color:var(--fl-ink);}
    .fl-vector summary:hover{color:var(--fl-ochre);}
    .fl-vector-item{border-top:1px solid #EADFC8;padding-top:12px;margin-top:12px;}
    .fl-vector-item p{font-size:14px;color:var(--fl-ink-2);margin:0 0 6px;}
    .fl-vector-item a{color:var(--fl-teal);text-decoration:none;}
    .fl-vector-item a:hover{text-decoration:underline;}
    .fl-vector-item blockquote{
        font-family:var(--fl-serif);font-style:italic;font-size:15px;
        color:var(--fl-ink-2);border-left:3px solid var(--fl-ochre);
        margin:0;padding:2px 0 2px 14px;line-height:1.6;
    }
    .fl-vector-score{font-family:var(--fl-mono);color:var(--fl-ochre);font-weight:500;}

    /* Results table */
    .fl-table-bar{
        display:flex;justify-content:space-between;align-items:center;
        gap:14px;flex-wrap:wrap;margin:6px 0 12px;
    }
    .fl-table-bar h4{
        font-family:var(--fl-sans);font-size:15px;font-weight:600;
        color:var(--fl-ink);margin:0;
    }
    .fl-table-bar h4 .num{font-family:var(--fl-mono);color:var(--fl-teal);}

    .fl-table-wrap{
        background:var(--fl-card);
        border:1px solid var(--fl-line);
        border-radius:12px;
        overflow:hidden;
        margin-bottom:40px;
    }
    .results-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:0;}
    .results-table th,.results-table td{
        border:none;border-bottom:1px solid var(--fl-line-soft);border-left:1px solid var(--fl-line-soft);
        padding:10px 12px;text-align:left;vertical-align:top;color:var(--fl-ink-2);
    }
    .results-table th:first-child,.results-table td.type-icon{border-left:none;}
    .results-table tbody tr:last-child td{border-bottom:none;}
    .results-table thead th{
        background:#F7FAF9;
        font-family:var(--fl-mono);
        font-size:11.5px;
        letter-spacing:.08em;
        text-transform:uppercase;
        font-weight:500;
        color:var(--fl-muted);
        border-bottom:1px solid var(--fl-line);
        white-space:nowrap;
    }
    .results-table thead th a{text-decoration:none;color:inherit;}
    .results-table thead th a:hover{color:var(--fl-teal);}
    .results-table tbody tr:hover{background:#F4F8F7;}
    .results-table td a{color:var(--fl-teal);text-decoration:none;}
    .results-table td a:hover{text-decoration:underline;}
    .results-table .type-icon{font-size:1.4em;text-align:center;vertical-align:middle;}
    .fl-mytheme-note{color:var(--fl-muted);font-size:.9em;font-style:italic;}
    .semantic-icon{color:var(--fl-ochre);cursor:help;}

    .fl-noresults{
        font-size:15px;color:var(--fl-ink-2);
        background:var(--fl-card);border:1px solid var(--fl-line);
        border-radius:12px;padding:18px 22px;
    }

    /* Errors */
    .error-message{
        color:#8C2F2F;background:#FBEFEF;border:1px solid #EBCFCF;
        padding:12px 16px;border-radius:10px;margin-top:1rem;font-size:14.5px;
    }

    /* Help panels (shown before a search) */
    .fl-help{margin-top:34px;}
    .fl-help details{
        background:var(--fl-card);border:1px solid var(--fl-line);
        border-radius:12px;padding:14px 20px;margin-bottom:12px;
    }
    .fl-help summary{
        cursor:pointer;font-size:15px;font-weight:600;color:var(--fl-ink);
        padding:2px 0;
    }
    .fl-help summary:hover{color:var(--fl-teal);}
    .fl-help .fl-help-body{padding:12px 4px 4px;color:var(--fl-ink-2);font-size:14.5px;line-height:1.65;}
    .fl-help .fl-help-body a{color:var(--fl-teal);text-decoration:none;}
    .fl-help .fl-help-body a:hover{text-decoration:underline;}
    .fl-help code{
        font-family:var(--fl-mono);font-size:13px;color:var(--fl-teal);
        background:#F1F5F4;border:1px solid var(--fl-line-soft);
        border-radius:5px;padding:1px 5px;
    }

    .hidden{display:none;}

    @media (max-width:860px){
        .fl-page-head h1{font-size:32px;}
        .fl-search-row{flex-direction:column;}
        .fl-btn-search{padding:14px;}
    }
    .fl-searchpage :focus-visible{outline:2px solid var(--fl-teal);outline-offset:2px;border-radius:4px;}