.enhanced-search { display:flex; align-items:center; gap:10px; position:relative; min-width:0; }
.enhanced-search .search-field { position:relative; min-width:0; flex:1; }
.enhanced-search .search-field input { display:block; width:100%; min-width:0; min-height:44px; padding:10px 12px; border:0; border-radius:9px; background:#192f45; color:#edf3f9; font-size:16px; }
.enhanced-search .search-field input::placeholder { color:#aabed1; }
.enhanced-search .search-field.has-hint input::placeholder { color:transparent; }
.enhanced-search .search-field:focus-within input::placeholder { color:#aabed1; }
.enhanced-search .search-go { min-height:44px; flex-shrink:0; padding:9px 14px; border:1px solid #e1b54b; border-radius:9px; color:#102034; background:#e1b54b; font-weight:650; }
.enhanced-search .search-go i { margin-right:5px; }
.search-hint { position:absolute; inset:0 12px; display:flex; align-items:center; gap:8px; min-width:0; pointer-events:none; color:#b7c8d9; transition:opacity .22s,transform .22s; }
.search-hint [data-hint-title] { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.search-hint.is-changing { opacity:0; transform:translateY(-5px); }
.search-hint[hidden],.search-field:focus-within .search-hint { display:none!important; }
.search-kind { display:inline-block; flex-shrink:0; border-radius:5px; padding:3px 7px; font-size:10px; font-weight:650; line-height:1.5; white-space:nowrap; }
.search-kind[data-kind=new] { background:#174e3b; color:#92f0b8; }
.search-kind[data-kind=hot] { background:#653422; color:#ffbd8d; }
.search-kind[data-kind=recent] { background:#203f72; color:#acccff; }
.navbar .enhanced-search { max-width:380px; }
.navbar .enhanced-search .search-go { padding:9px 11px; }
.navbar .enhanced-search .search-go span { display:none; }
.navbar .enhanced-search .search-go i { margin:0; }
.home-search.enhanced-search { padding:3px; margin-bottom:4px; border-radius:10px; }
.sticky-search-bar { position:sticky; top:0; z-index:1030; background:#0a192f; padding:6px 0; }
.sticky-search-bar .site-search { width:100%; margin:0; }
.sticky-search-bar > .container { padding-left:16px!important; padding-right:16px!important; }
.sticky-search-bar .home-tabs { padding-left:4px; padding-right:4px; }
.sticky-search-bar .home-tabs { margin:4px 0 0; }
.sticky-search-bar .search-field input { min-height:32px; padding:6px 10px; font-size:14px; line-height:20px; }
.sticky-search-bar .search-go { min-height:32px; padding:5px 10px; font-size:14px; line-height:20px; }
.search-page .search-header { position:sticky; top:0; z-index:1030; background:#0a192f; }
.enhanced-search .search-suggestions { position:absolute; top:calc(100% + 7px); right:0; left:0; width:auto; max-height:min(65vh,520px); overflow-y:auto; background:#10263c; border:1px solid #3a5670; border-radius:12px; box-shadow:0 16px 40px #0007; z-index:1050; color:#c2d3e2; }
.search-suggestions .search-suggestion { display:block; padding:13px 15px; color:#edf3f9; border-bottom:1px solid #2b435a; line-height:1.5; }
.search-suggestions .search-suggestion:last-child { border-bottom:0; }
.search-suggestions .search-suggestion:hover,.search-suggestions .search-suggestion:focus { background:#233e56; text-decoration:none; outline:2px solid #e1b54b; outline-offset:-2px; }
.search-suggestions .search-suggestion small { display:block; font-size:11px; color:#a9bdd1; }
.search-suggestions > p { padding:12px 15px; margin:0; }
.search-suggestions mark,.search-page mark { background:#e1b54b26; color:#f5ce78; padding:0; border-radius:2px; }
.search-page { max-width:1120px; margin:0 auto; padding-top:8px; }
.search-header { padding:0 0 12px; }
.search-header h1 { font-family:system-ui,sans-serif; font-size:clamp(24px,3.6vw,38px); line-height:1.25; color:#f0f4f9; margin:6px 0 22px; overflow-wrap:anywhere; }
.search-page-form { padding:3px; background:#142c42; border:1px solid #35516b; border-radius:10px; }
.search-page-form.enhanced-search .search-field input,.home-search.enhanced-search .search-field input { min-height:32px; padding:6px 10px; font-size:14px; line-height:20px; border-radius:7px; }
.search-page-form.enhanced-search .search-go,.home-search.enhanced-search .search-go { min-height:32px; padding:5px 10px; font-size:14px; line-height:20px; border-radius:7px; }
.search-page-form.enhanced-search .search-back { width:28px; min-height:32px; }
.search-empty { font-size:12px; line-height:1.8; color:#a7bed1; margin:10px 0 0; }
.enhanced-search .search-back { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:36px; min-height:44px; padding:0; border:0; background:transparent; color:#d5e1ed; font-size:16px; }
.search-history .search-section-heading { margin-bottom:6px; }
.search-history .search-section-heading h2 { font-size:14px; }
.search-history .search-chips { gap:6px; max-height:54px; overflow:hidden; }
.search-history .search-chips a { height:24px; max-width:min(100%,230px); padding:3px 8px; font-size:11px; line-height:16px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.search-history { margin-bottom:20px; }
.search-empty { padding:16px; border:1px dashed #35516b; border-radius:10px; }
.search-section,.search-history { margin:8px 0 32px; }
.search-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }
.search-section-heading h2 { font-family:system-ui,sans-serif; font-size:19px; font-weight:650; line-height:1.4; margin:0; color:#edf3f9; }
.search-section-heading > span { font-size:11px; color:#a9bfd1; white-space:nowrap; }
.search-section-heading button { min-height:44px; padding:7px; background:transparent; color:#a9bfd1; border:0; font-size:12px; }
.search-chips { display:flex; flex-wrap:wrap; gap:8px; }
.search-chips a,.search-chips > span { max-width:100%; border:1px solid #324b61; background:#1b3348; border-radius:20px; color:#c9d9e7; padding:7px 12px; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.search-chips a:hover { color:#f3ce7b; border-color:#b18c41; text-decoration:none; }
.search-shelf { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 72px)/5); gap:18px; overflow-x:auto; scroll-snap-type:x proximity; padding:0 0 14px; scrollbar-color:#41617d #11273c; }
.search-story { display:block; min-width:0; color:#eaf0f6; scroll-snap-align:start; }
.search-story img { display:block; width:100%; height:auto; aspect-ratio:355/200; object-fit:contain; border-radius:10px; border:1px solid #30465b; background:#091a2b; }
.search-story h3 { font-family:system-ui,sans-serif; font-size:14px; font-weight:600; line-height:1.5; margin:9px 0 5px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.search-story p { color:#a9bdd0; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin:0; }
.search-story:hover { color:#f2d080; text-decoration:none; }
.search-top { background:linear-gradient(135deg,#263529,#14283d 60%); border:1px solid #355064; border-radius:16px; padding:22px; }
.search-top h2 { color:#f2cf81; }
.search-ranking { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 28px; list-style:none; padding:0; margin:20px 0 0; }
.search-ranked-story { display:flex; align-items:flex-start; gap:14px; padding:12px 0; border-bottom:1px solid #345066; color:#e9f0f6; }
.search-ranked-cover { position:relative; width:125px; flex-shrink:0; }
.search-ranked-cover img { display:block; width:100%; height:auto; aspect-ratio:355/200; object-fit:contain; border-radius:8px; background:#091a2b; }
.search-rank-number { position:absolute; top:0; left:0; min-width:25px; padding:3px 7px; background:#e1b54b; color:#102034; border-radius:8px 0; text-align:center; font-weight:750; }
.search-ranked-copy { min-width:0; flex:1; }
.search-ranked-copy h3 { font-family:system-ui,sans-serif; font-size:14px; line-height:1.5; margin:0 0 5px; color:#edf3f9; }
.search-ranked-copy p { font-size:11px; color:#a9bfd1; margin:0 0 7px; }
.search-open-count { font-size:11px; color:#f1c971; }
.search-ranked-copy .search-chips { margin-top:8px; gap:4px; }
.search-ranked-copy .search-chips span { padding:3px 7px; font-size:10px; }
.search-page :is(a,button,input):focus-visible { outline:2px solid #f2d080; outline-offset:3px; }
@media(max-width:991px) { .search-shelf { grid-auto-columns:calc((100% - 36px)/3); } }
@media(max-width:575px) {
    .search-shelf { grid-auto-columns:44%; gap:12px; }
    .search-header h1 { margin-bottom:16px; }
    .search-page-form { padding:3px; gap:5px; }
    .enhanced-search .search-go { padding:9px 10px; }
    .search-top { padding:16px; }
    .search-ranking { grid-template-columns:1fr; gap:8px; }
    .search-ranked-cover { width:110px; }
    .search-kind { font-size:9px; padding:3px 5px; }
    .search-section-heading h2 { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .search-hint { transition:none; } }
