:root {
  color-scheme: dark;
  --page: #03070b;
  --panel: #050a10;
  --panel-soft: #07111a;
  --text: #eaf5fb;
  --muted: #a2b1bf;
  --faint: #708795;
  --line: #1a2a36;
  --cyan: #15d9f5;
  --link: #8beeff;
  font-family: Arial, Helvetica, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
* { box-sizing: border-box; }
html, body { min-width: 320px; min-height: 100%; margin: 0; background: var(--page); color: var(--text); }
body { font-size: 14px; line-height: 1.55; }
a { color: inherit; }
button, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
button:focus-visible, a:focus-visible, input:focus-visible, [role="tabpanel"]:focus-visible { outline: 2px solid #58eaff; outline-offset: 3px; }
::selection { color: #001016; background: #58eaff; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:fixed;top:-60px;left:12px;z-index:100;padding:9px 13px;border-radius:6px;background:#eaf5fb;color:#081017;text-decoration:none; }
.skip-link:focus { top:12px; }

.app-shell { display:flex;flex-direction:column;min-height:100svh;background:var(--page); }
.home-panel,.results-panel { display:flex;width:100%;min-width:0;min-height:100svh;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,rgba(0,121,171,.09),transparent 37rem),linear-gradient(180deg,#03070b,#050a10 64%,#03070b); }
.home-panel { border-right:0; }
/* Conventional search flow: one homepage before search, one full-width results page afterward. */
.results-panel { display:none; }
.app-shell.has-results .home-panel { display:none; }
.app-shell.has-results .results-panel { display:flex; }
.site-header,.results-header { display:flex;min-height:72px;align-items:center;gap:18px;padding:10px 28px;border-bottom:1px solid rgba(33,65,81,.26); }
.brand,.results-brand { display:inline-flex;flex:0 0 auto;align-items:center;gap:10px;color:#f3fbff;text-decoration:none; }
.brand-symbol,.results-brand img { display:block;width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(0,208,245,.2)); }
.brand-name,.results-brand span { font-family:"Orbitron",Arial,sans-serif;font-size:18px;font-weight:500;letter-spacing:.035em; }
.top-nav { display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,1.7vw,26px);margin-left:auto;white-space:nowrap; }
.top-nav a { color:#c2d0d8;font-size:12px;text-decoration:none; }
.top-nav a:hover { color:#72ecff; }
.results-header { gap:20px; }
.results-brand span { font-size:18px; }
.results-header .search-form { display:none;flex:1 1 auto;width:auto;max-width:720px;margin-left:auto; }
/* The results search field is only shown after a query, avoiding a duplicate on the home screen. */
.app-shell.has-results .results-header .search-form { display:flex; }

.home-view { display:flex;flex:1 0 auto;min-height:0;align-items:center;justify-content:center;padding:12px 34px 18px; }
.home-center { width:min(650px,100%);margin:-34px auto 0;text-align:center; }
.home-logo-art { display:block;width:min(100%,470px);height:auto;margin:0 auto 0;object-fit:contain;mix-blend-mode:screen; }
.home-byline { display:flex;align-items:baseline;justify-content:center;gap:8px;margin:-2px 0 24px;color:#9fb8c5;font-size:16px;line-height:1.4; }
.home-by { font-weight:300;letter-spacing:.04em; }
.orbitron-brand { display:inline-flex;align-items:baseline;gap:7px;font-family:"Orbitron",Arial,sans-serif;font-size:17px;font-weight:500;letter-spacing:.02em; }
.orbitron-cyan { color:#12d8ed; }
.orbitron-labs { color:#e0edf3; }
.home-note { margin:16px auto 0;max-width:420px;color:#8299a7;font-size:11px;letter-spacing:.04em; }
.home-error { margin:12px auto 0;color:#ffaaa8;font-size:12px; }
.home-features { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:38px auto 0;max-width:560px; }
.feature { display:flex;min-width:0;flex-direction:column;align-items:center;gap:4px;padding:0 9px;text-align:center; }
.feature + .feature { border-left:1px solid #132b37; }
.feature svg { width:28px;height:28px;color:#15d9f5; }
.feature strong { color:#eaf7fc;font-size:12px;font-weight:700; }
.feature span { color:#8ca3b1;font-size:10px;line-height:1.4; }

.search-form { display:flex;min-width:0;height:56px;align-items:center;gap:12px;padding:0 8px 0 20px;border:1px solid #4c788e;border-radius:32px;background:rgba(8,17,24,.92);box-shadow:0 0 0 1px rgba(20,169,208,.03),0 7px 28px rgba(0,0,0,.2);transition:border-color .16s ease,box-shadow .16s ease; }
.search-form:hover,.search-form:focus-within { border-color:#48d5ee;box-shadow:0 0 0 3px rgba(0,190,226,.07),0 5px 25px rgba(0,0,0,.35); }
.home-search-form { width:min(100%,650px);height:60px;margin:0 auto; }
.search-icon { width:21px;height:21px;flex:0 0 auto;color:#a6d6e3; }
.search-form input { width:100%;min-width:0;height:100%;flex:1 1 auto;border:0;outline:0;background:transparent;color:#f4fbff;font-size:15px; }
.search-form input:focus-visible { outline:none; }
.search-form input::placeholder { color:#90a6b5;opacity:1; }
.search-form input::-webkit-search-cancel-button { display:none; }
.clear-search { display:grid;width:28px;height:28px;flex:0 0 auto;padding:5px;place-items:center;border:0;border-radius:50%;background:transparent;color:#a4bac7;cursor:pointer; }
.clear-search:hover { background:#132632;color:#eafaff; }
.clear-search svg { width:17px;height:17px; }
.search-button { display:grid;width:40px;min-width:40px;height:40px;flex:0 0 auto;place-items:center;padding:0;border:1px solid #10cbe7;border-radius:50%;background:linear-gradient(135deg,#16d8f3,#079ebd);color:#031016;cursor:pointer;box-shadow:0 0 17px rgba(0,191,222,.13); }
.search-button:hover { border-color:#75f1ff;background:linear-gradient(135deg,#6cecff,#12bfdf);box-shadow:0 0 22px rgba(0,191,222,.18); }
.search-button:disabled { cursor:not-allowed;opacity:.55; }
.search-button svg { width:21px;height:21px; }
.search-button:focus-visible { outline-color:#72edff; }

.right-welcome { display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px clamp(26px,4vw,64px); }
.eyebrow { margin:0 0 16px;color:#38d9f3;font-size:10px;font-weight:700;letter-spacing:.2em; }
.right-welcome h2 { max-width:520px;margin:0;color:#ecf9ff;font-family:"Orbitron",Arial,sans-serif;font-size:clamp(23px,2.5vw,36px);font-weight:500;line-height:1.25; }
.right-welcome > p:not(.eyebrow) { max-width:470px;color:#93aab7;font-size:13px;line-height:1.8; }
.welcome-index { display:flex;flex-direction:column;gap:3px;margin-top:16px;color:#7f97a4;font-size:12px; }
.welcome-index strong { color:#dff9ff;font-size:22px;font-weight:600; }
.welcome-note { margin-top:20px;color:#6b8392 !important;font-size:11px !important; }

.results-view { display:flex;min-height:0;flex:1;flex-direction:column;padding:0 clamp(20px,2.1vw,36px); }
.search-tabs { display:flex;min-height:48px;align-items:stretch;gap:clamp(14px,2vw,28px);border-bottom:1px solid #19303d; }
.search-tab { position:relative;display:inline-flex;align-items:center;padding:0 3px;border:0;background:transparent;color:#8aa0ae;cursor:pointer;font-size:13px;white-space:nowrap; }
.search-tab:hover { color:#e9faff; }
.search-tab.is-active { color:#66eaff; }
.search-tab.is-active::after { position:absolute;right:0;bottom:-1px;left:0;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#08b7da,#55f3ff);box-shadow:0 0 12px rgba(0,210,242,.25);content:""; }
.results-content { width:100%;min-width:0;flex:1;overflow:auto;padding:16px 8px 36px;scrollbar-color:#244958 transparent; }
.results-summary { min-height:18px;margin:0 0 22px;color:#8297a5;font-size:12px; }
.results-list { display:flex;flex-direction:column;gap:25px; }
.result-item { min-width:0; }
.result-source { display:flex;align-items:center;gap:10px;margin-bottom:4px;color:#d7e8ef;font-size:12px;line-height:1.4; }
.result-source-mark { display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;border:1px solid #294652;border-radius:50%;background:#0c1921;color:#9ac9d6;font-size:11px;font-weight:700; }
.result-source-lines { min-width:0; }
.result-host { overflow:hidden;color:#d6e7ee;text-overflow:ellipsis;white-space:nowrap; }
.result-url { overflow:hidden;color:#8aa2ae;text-overflow:ellipsis;white-space:nowrap;font-size:11px; }
.result-title { display:inline-block;max-width:100%;margin:1px 0 3px;color:#5dbfff;font-size:20px;font-weight:500;line-height:1.3;text-decoration:none;overflow-wrap:anywhere; }
.result-title:hover { color:#9beaff;text-decoration:underline;text-underline-offset:3px; }
.result-title:visited { color:#c3a5f8; }
.result-title-static { margin:1px 0 4px;color:#8feaff;font-size:20px;font-weight:500;line-height:1.3;overflow-wrap:anywhere; }
.result-snippet { margin:0;color:#b2c0c8;font-size:13px;line-height:1.65;overflow-wrap:anywhere; }
.result-detail { margin-top:4px;color:#8fa5b2;font-size:12px; }
.result-image-link { display:block;width:140px;height:94px;float:right;margin:2px 0 8px 16px;overflow:hidden;border:1px solid #24414e;border-radius:8px;background:#08141c; }
.result-image { display:block;width:100%;height:100%;object-fit:cover;background:#071119; }
.result-item::after { display:block;clear:both;content:""; }
.results-message { padding:24px 0 55px; }
.results-message h2 { margin:0 0 7px;color:#e9f7fc;font-size:18px;font-weight:500; }
.results-message p { max-width:540px;margin:0;color:#a8bac5;font-size:13px;line-height:1.7; }
.retry-button { margin-top:17px;padding:8px 15px;border:1px solid #28505e;border-radius:18px;background:#0d1b23;color:#78e6f5;cursor:pointer;font-size:12px; }
.retry-button:hover { background:#132b36; }
body.images-active .results-view { padding-inline:18px; }
body.images-active .results-content { padding-inline:0; }
body.images-active .results-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:16px; }
body.images-active .result-item { display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #1c3946;border-radius:11px;background:linear-gradient(180deg,#08151d,#050b10); }
body.images-active .result-source { order:0;padding:10px 10px 0;font-size:11px; }
body.images-active .result-image-link { order:1;float:none;width:100%;height:auto;aspect-ratio:4/3;margin:9px 0 0;border:0;border-top:1px solid #18323e;border-bottom:1px solid #18323e;border-radius:0;background:#040a0f; }
body.images-active .result-image { object-fit:contain; }
body.images-active .result-title,body.images-active .result-title-static { order:2;margin:10px 10px 0;font-size:15px; }
body.images-active .result-snippet { order:3;margin:6px 10px 12px;font-size:12px; }
body.images-active .result-detail { margin:0 10px 10px; }

.panel-footer { display:flex;flex:0 0 auto;flex-direction:column;gap:9px;padding:12px 26px 14px;border-top:1px solid #172b36;color:#718894;font-size:10px;line-height:1.5; }
.panel-footer a { color:#8eb6c5;text-decoration:none; }
.panel-footer a:hover { color:#7cecff;text-decoration:underline;text-underline-offset:3px; }
.left-footer nav { display:flex;flex-wrap:wrap;gap:6px 15px; }
.right-footer { flex-direction:row;align-items:flex-start;justify-content:space-between;gap:14px; }
.right-footer > span { max-width:640px; }

@media (min-width:1200px) {
  .home-center { margin-top:-48px; }
  .home-logo-art { width:min(100%,485px); }
  .home-features { margin-top:42px; }
}
@media (max-height:760px) and (min-width:761px) {
  .site-header,.results-header { min-height:60px;padding-block:7px; }
  .home-view { padding-top:4px;padding-bottom:6px; }
  .home-center { margin-top:-16px; }
  .home-logo-art { width:min(100%,390px); }
  .home-byline { margin-bottom:16px; }
  .home-features { margin-top:23px; }
  .panel-footer { padding-block:8px; }
}
@media (max-width:900px) {
  .site-header,.results-header { padding-inline:18px;gap:12px; }
  .brand-symbol,.results-brand img { width:32px;height:32px; }
  .brand-name,.results-brand span { font-size:14px; }
  .top-nav { gap:12px; }
  .top-nav a { font-size:11px; }
  .home-view { padding-inline:20px; }
  .home-center { margin-top:-24px; }
  .home-logo-art { width:min(100%,420px); }
  .home-features { margin-top:26px; }
  .results-header .search-form { gap:7px;padding-left:12px; }
  .results-brand { gap:5px; }
  .results-brand span { letter-spacing:0; }
}
@media (max-width:760px) {
  .app-shell { display:flex;flex-direction:column;min-height:100svh; }
  .home-panel,.results-panel { min-height:100svh;width:100%; }
  .home-panel { border-right:0; }
  .results-panel { display:none; }
  .app-shell.has-results .home-panel { display:none; }
  .app-shell.has-results .results-panel { display:flex; }
  .site-header { min-height:60px;padding:8px 15px; }
  .brand-symbol { width:31px;height:31px; }
  .brand-name { font-size:15px; }
  .top-nav { gap:12px; }
  .top-nav a { font-size:11px; }
  .home-view { padding:15px 16px 35px; }
  .home-center { margin-top:-14px; }
  .home-logo-art { width:min(100%,400px); }
  .home-byline { margin-bottom:18px;font-size:15px; }
  .orbitron-brand { font-size:16px; }
  .home-search-form { height:54px; }
  .home-features { margin-top:28px; }
  .feature svg { width:23px;height:23px; }
  .feature strong { font-size:11px; }
  .feature span { font-size:9px; }
  .left-footer nav { gap:8px 12px; }
  .results-header { min-height:61px;padding:8px 12px;gap:8px; }
  .results-brand img { width:27px;height:27px; }
  .results-brand span { font-size:10px;letter-spacing:0; }
  .results-header .search-form { height:40px;gap:4px;padding:0 5px 0 10px; }
  .results-header .search-icon { width:15px;height:15px; }
  .results-header .search-form input { font-size:12px; }
  .results-header .search-button { width:30px;min-width:30px;height:30px; }
  .results-header .search-button svg { width:17px;height:17px; }
  .results-view { padding-inline:13px; }
  .search-tabs { min-height:44px;gap:clamp(12px,4vw,22px);overflow-x:auto; }
  .search-tab { font-size:12px; }
  .results-content { padding:14px 2px 30px; }
  .results-summary { font-size:11px;margin-bottom:17px; }
  .result-title,.result-title-static { font-size:18px; }
  .right-footer { padding:10px 15px; }
  body.images-active .results-view { padding-inline:10px; }
  body.images-active .results-list { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  body.images-active .result-source { gap:6px;padding:8px 8px 0;font-size:10px; }
  body.images-active .result-source-mark { width:17px;height:17px; }
  body.images-active .result-title,body.images-active .result-title-static { margin:9px 8px 0;font-size:13px; }
  body.images-active .result-snippet { margin:6px 8px 10px;font-size:11px; }
}
@media (max-width:420px) {
  .site-header { padding-inline:10px;gap:8px; }
  .brand-symbol { width:27px;height:27px; }
  .brand-name { font-size:12px;letter-spacing:0; }
  .top-nav { gap:9px; }
  .top-nav a { font-size:10px; }
  .home-view { padding-inline:10px; }
  .home-logo-art { width:min(100%,350px); }
  .home-features { gap:0;margin-top:22px; }
  .feature { padding-inline:5px; }
  .feature span { max-width:100px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important; }
}
