/* Search experience layer: shared tokens and explicit component boundaries. */
:root { --search-surface:#151c25; --search-border:#2c3745; --search-muted:#a7b3c2; --search-ink:#e9eff5; }
body { font-family:"Segoe UI",Tahoma,Arial,sans-serif; }
body:not(.home-view) { background:#10161e; }
body:not(.home-view) .top-bar { height:44px; min-height:44px; }
#search-shell.has-query { padding-top:0; width:min(calc(100% - 48px),1180px); }
.has-query .brand-guide-row { margin-bottom:8px; }
.has-query #brand-home { font-size:38px; margin:0; padding-bottom:.08em; }
.has-query #search-form { width:min(100%,760px); }
.has-query .search-box { box-shadow:none; min-height:48px; border-color:var(--search-border); }
.has-query #search-tabs { margin-block:12px 18px; padding:0; background:transparent; border:0; box-shadow:none; border-bottom:1px solid var(--search-border); border-radius:0; }
.has-query .search-tab { min-height:40px; padding:8px 18px; border-radius:8px 8px 0 0; }
#search-layout { align-items:start; }
#results { gap:16px; grid-template-columns:minmax(0,1fr); }
#results > * { min-width:0; max-width:100%; }
.result-card { padding:12px 0 18px; background:transparent; box-shadow:none; border:0; border-bottom:1px solid var(--search-border); }
.result-skeleton .skeleton-line,.ai-answer-skeleton { background:#25313e; }
.result-title { font-family:inherit; font-size:19px; line-height:1.55; font-weight:600; margin:5px 0; }
.result-title a { color:#a8c9ff; }
.result-snippet { font-size:14px; line-height:1.85; color:#c3ccd8; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.result-address { max-width:100%; color:var(--search-muted); font-size:12px; }
.result-url { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:calc(100% - 32px); }
.result-card:not(.result-card--asset) .result-meta { display:none; }
mark { color:inherit; background:transparent; font-weight:650; }
.ai-answer-panel,.structured-entity-card,.image-preview-panel,.instant-answer-panel { background:var(--search-surface); border:1px solid var(--search-border); border-radius:14px; color:var(--search-ink); padding:16px; box-shadow:none; margin:0; }
.ai-answer-panel::before,.structured-entity-card::before { display:none; }
.ai-answer-body { font-size:14px; line-height:1.85; margin-block:8px; }
.ai-answer-body p { margin:0 0 8px; }
.ai-answer-panel.is-collapsed .ai-answer-body { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.answer-expand { border:0; background:transparent; color:#7edbc8; padding:6px 0; cursor:pointer; font:inherit; font-size:13px; }
.ai-answer-sources { margin-block:8px; gap:6px; }
.ai-answer-source { max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; padding:4px 8px; }
.ai-answer-sources { scrollbar-width:none; }
.ai-answer-sources::-webkit-scrollbar { display:none; }
.ai-answer-sources-label { display:none; }
.ai-answer-footer { padding-top:10px; margin-top:10px; gap:8px; }
.ai-answer-notice { font-size:10px; color:var(--search-muted); }
.structured-entity-title,.structured-entity-card h2 { color:var(--search-ink); font-family:inherit; font-size:18px; margin:0 0 8px; }
.structured-entity-card p,.structured-entity-source,.structured-entity-facts { color:var(--search-muted); font-size:13px; }
.structured-inline-map { height:180px; margin-top:10px; border-color:var(--search-border); border-radius:10px; }
.image-preview-grid { display:flex; gap:10px; overflow-x:auto; padding-bottom:6px; scroll-snap-type:x proximity; }
.image-preview-tile { flex:0 0 140px; width:140px; min-width:0; scroll-snap-align:start; }
.image-preview-tile img { width:140px; height:100px; object-fit:cover; border-radius:8px; }
.image-preview-caption { display:block; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:11px; }
.image-preview-source { font-size:10px; }
.image-preview-title { font-size:15px; }
#ad-panel { background:transparent; border:0; box-shadow:none; padding:0; }
#ad-panel[hidden] { display:none; }
.ad-card { background:var(--search-surface); border:1px solid var(--search-border); box-shadow:none; border-radius:12px; }
.ad-card::before { display:none; }
.ad-card strong { font-family:inherit; }
@media(max-width:1100px) {
  #search-main { display:block; }
  #ad-panel { order:3; margin-top:12px; }
  #search-layout { display:grid; grid-template-columns:minmax(0,1fr); }
}
@media(max-width:760px) {
  #search-shell.has-query { width:calc(100% - 28px); padding-top:0; }
  body:not(.home-view) .top-bar { min-height:24px; height:24px; }
  .has-query #brand-home { font-size:32px; }
  .has-query .brand-guide-row { margin-bottom:12px; }
  .has-query .search-box { min-height:46px; }
  .has-query #search-tabs { margin:8px 0 12px; }
  .has-query .search-tab { padding:8px 14px; font-size:12px; }
  .result-title { font-size:17px; }
  .result-snippet { font-size:13px; }
  .ai-answer-panel,.structured-entity-card,.image-preview-panel,.instant-answer-panel { padding:12px; }
  .ai-answer-body { font-size:13px; }
  .ai-answer-sources { flex-wrap:nowrap; overflow:auto; }
  .ai-answer-source { flex:0 0 auto; max-width:200px; }
  .structured-inline-map { height:160px; }
  .ai-answer-footer { flex-wrap:wrap; }
  body.home-view { display:grid; grid-template-rows:60px minmax(0,1fr) auto; min-height:100svh; height:100dvh; overflow:hidden; }
  body.home-view #search-shell:not(.has-query) { height:auto; min-height:0; align-self:stretch; margin:0 auto; }
  body.home-view .site-footer { min-height:60px; padding:8px 12px max(12px,env(safe-area-inset-bottom)); margin:0; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto; } }
