
:root{--bg:#0b1011;--surface:#101718;--panel:#0e1516;--border:#a98a50;--text:#efe3c9;--muted:#b7b5ae;--link:#82b5ff;--url:#78d777;--gold:#f2c36d;--accent:#e9aa45;--red:#b91b25;--input:#0b1112;--font:"Georgia","Times New Roman",serif}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body{margin:0;font-family:var(--font);font-size:16px;background:radial-gradient(ellipse at 45% 16%,color-mix(in srgb,var(--surface),transparent 18%),transparent 52%),var(--bg)}
button,input,select{font:inherit}button{cursor:pointer}a{color:var(--link)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.site-shell{max-width:1580px;margin:12px auto;border:1px solid var(--border);min-height:calc(100vh - 24px)}
.topbar{height:70px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:18px;padding:0 20px}
.brand{display:flex;align-items:center;width:230px;height:70px}.brand img{display:block;width:100%;height:auto}
.topnav{display:flex;justify-content:center;gap:22px;align-self:stretch;align-items:center}.nav-tab{border:0;background:none;color:var(--link);padding:12px 2px;font-size:16px}.nav-tab.selected{color:var(--gold);border-bottom:2px solid var(--gold);font-weight:bold}
.header-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.theme-label{color:var(--gold)}select{background:var(--panel);color:var(--link);border:1px solid var(--border);padding:7px;border-radius:2px;max-width:145px}
.layout{display:grid;grid-template-columns:238px minmax(0,1fr) 240px;gap:10px;padding:22px 17px 12px}.left-rail,.right-rail{min-width:0}.left-rail,.right-rail{padding-top:0}
.panel{border:1px solid var(--border);padding:14px 15px;margin-bottom:14px;background:color-mix(in srgb,var(--panel),transparent 18%)}.panel h2{margin:0 0 13px;text-transform:uppercase;font:700 14px Arial,Helvetica,sans-serif;color:var(--gold);letter-spacing:.25px}
.side-links{list-style:none;margin:0;padding:0}.side-links li{margin:0}.side-links button{display:flex;gap:12px;align-items:center;width:100%;padding:8px 0;border:0;background:none;color:var(--link);text-align:left;font-size:16px}.side-links button:hover span,.small-links button:hover{text-decoration:underline}.side-links button span{line-height:1.25}
.main-column{min-width:0}.hero{min-height:0;display:grid;grid-template-columns:minmax(220px,34%) minmax(0,1fr);gap:24px;align-items:start}.morag{display:block;width:100%;height:auto;object-fit:contain;object-position:center bottom;align-self:end;filter:drop-shadow(0 4px 9px #0009)}.hero-content{text-align:center;min-width:0;padding:0 8px 24px 0}.hero-logo{display:block;width:100%;max-width:470px;height:auto;margin:0 auto 20px}.tagline{font-size:clamp(20px,2vw,29px);margin:0;color:var(--text)}.red-swish{height:5px;width:165px;margin:9px auto 22px;background:var(--red);transform:skew(-32deg) rotate(-2deg);border-radius:100%}
.search-form{display:flex;gap:10px;width:100%}.search-form input{min-width:0;flex:1;border:2px solid #e4dcc4;background:var(--input);color:var(--text);font:21px Arial,Helvetica,sans-serif;padding:13px 12px;border-radius:0}.search-form button{background:var(--accent);border:1px solid #c58e35;color:#17120a;font:700 20px Georgia,serif;padding:0 20px;border-radius:3px;white-space:nowrap}.search-form button:hover{filter:brightness(1.12)}
.categories{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 16px;border:0;padding:15px 0 0;margin:0;color:var(--link);font:14px Arial,Helvetica,sans-serif}.categories legend{float:left;margin-right:13px;color:var(--text);padding-top:15px}.categories label{white-space:nowrap;cursor:pointer}.categories input{accent-color:var(--accent)}
.results-panel{border:1px solid var(--border);min-height:490px}.results-heading{border-bottom:1px solid #555b59;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 13px}.results-heading h1{font-weight:normal;font-size:22px;margin:0}.results-heading strong{color:var(--gold);font-weight:600}.results-heading span{font:13px Arial,Helvetica,sans-serif;color:var(--muted);white-space:nowrap}
.results-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:16px;padding:9px}.results{padding:0 7px}.result{display:grid;grid-template-columns:33px minmax(0,1fr);gap:5px;padding:10px 0 17px}.result-number{color:var(--gold);font-size:19px;font-weight:bold}.result h3{font-size:19px;margin:0 0 3px;line-height:1.3}.result h3 a{color:var(--link)}.result-url{color:var(--url);font:16px Arial,Helvetica,sans-serif;overflow-wrap:anywhere}.result p{font:16px/1.43 Arial,Helvetica,sans-serif;color:#d3d3d3;margin:6px 0}.result-meta{font:13px Arial,Helvetica,sans-serif;color:var(--muted)}.result-meta a{margin-right:12px}.compact{margin-bottom:11px;padding:12px}.small-links{display:flex;flex-direction:column;align-items:start;gap:8px}.small-links button{border:0;background:none;color:var(--link);padding:0;text-align:left;font-size:16px;text-decoration:underline}.tips{padding:17px}.tips .small-links{padding:2px 10px;gap:11px}.tips blockquote{border-top:1px solid var(--border);padding-top:22px;margin:25px 0 0;text-align:center;font-style:italic;font-size:19px;line-height:1.55}.tips cite{display:block;text-align:right;font-size:15px;margin-top:9px;font-style:normal}.backend-info{font-size:14px;color:var(--muted)}.backend-info p{margin:8px 0}.pagination{padding:12px 15px;display:flex;gap:8px;justify-content:center}.pagination button{border:1px solid var(--border);background:var(--panel);color:var(--link);padding:6px 12px}.pagination button:disabled{opacity:.45;cursor:default}
footer{text-align:center;border-top:1px solid var(--border);padding:13px;font:12px Arial,Helvetica,sans-serif;color:var(--muted)}
dialog{max-width:min(550px,90vw);border:1px solid var(--border);background:var(--panel);color:var(--text);padding:25px;line-height:1.5}dialog::backdrop{background:#000b}.dialog-close{float:right;background:none;border:0;color:var(--text);font-size:28px}.dialog-ok{background:var(--accent);color:#111;border:0;padding:8px 22px;margin-top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
[data-theme="terminal"]{--bg:#030903;--surface:#081609;--panel:#071308;--border:#367b3a;--text:#a3ff9b;--muted:#80a983;--link:#79f878;--url:#39b85a;--gold:#b6ff99;--accent:#39ff14;--red:#24b723;--input:#030903;--font:monospace}
[data-theme="miami"]{--bg:#101026;--surface:#20173d;--panel:#1b1535;--border:#8d49af;--text:#ffe6f8;--muted:#b5a5d0;--link:#00e5ff;--url:#67e8b7;--gold:#ff99db;--accent:#ff4db8;--red:#ff4db8;--input:#110e28}
[data-theme="synthwave"]{--bg:#160e29;--surface:#25113e;--panel:#261744;--border:#8150ae;--text:#fff1e6;--muted:#c0acd8;--link:#68d9ff;--url:#78e5ad;--gold:#ffb177;--accent:#ff7b54;--red:#ff3cac;--input:#1a102e}
[data-theme="catppuccin"]{--bg:#1e1e2e;--surface:#252538;--panel:#313244;--border:#a6adc8;--text:#cdd6f4;--muted:#a6adc8;--link:#89b4fa;--url:#a6e3a1;--gold:#f9e2af;--accent:#f5c2e7;--red:#f38ba8;--input:#181825}
[data-theme="nord"]{--bg:#2e3440;--surface:#343b49;--panel:#3b4252;--border:#81a1c1;--text:#eceff4;--muted:#d8dee9;--link:#88c0d0;--url:#a3be8c;--gold:#ebcb8b;--accent:#d08770;--red:#bf616a;--input:#242933}
[data-theme="gruvbox"]{--bg:#282828;--surface:#302e2b;--panel:#3c3836;--border:#a89984;--text:#ebdbb2;--muted:#bdae93;--link:#83a598;--url:#b8bb26;--gold:#fabd2f;--accent:#fe8019;--red:#fb4934;--input:#1d2021}
[data-theme="dracula"]{--bg:#282a36;--surface:#343746;--panel:#44475a;--border:#6272a4;--text:#f8f8f2;--muted:#bfbfc9;--link:#8be9fd;--url:#50fa7b;--gold:#f1fa8c;--accent:#ffb86c;--red:#ff79c6;--input:#21222c}
[data-theme="rosepine"]{--bg:#191724;--surface:#211f2e;--panel:#26233a;--border:#908caa;--text:#e0def4;--muted:#908caa;--link:#9ccfd8;--url:#31748f;--gold:#f6c177;--accent:#ebbcba;--red:#eb6f92;--input:#15131f}

.result h3,.results-heading h1{overflow-wrap:anywhere}
@media(max-width:1400px){.layout{grid-template-columns:205px minmax(0,1fr) 205px}.hero{grid-template-columns:minmax(180px,34%) minmax(0,1fr);gap:18px}.search-form{flex-wrap:wrap}.search-form input{flex-basis:100%;width:100%}.search-form button{min-height:46px;width:100%}.results-layout{grid-template-columns:minmax(0,1fr) 195px}.results-heading{flex-wrap:wrap}.results-heading span{white-space:normal}}
@media(max-width:1200px){.layout{grid-template-columns:205px minmax(0,1fr)}.right-rail{display:none}.topbar{grid-template-columns:210px 1fr auto}.brand{width:205px}.hero{grid-template-columns:minmax(210px,36%) minmax(0,1fr)}}
@media(max-width:850px){.topbar{height:auto;grid-template-columns:minmax(0,1fr) auto;padding:10px}.brand{height:53px;width:min(205px,100%)}.topnav{grid-column:1/-1;grid-row:2;justify-content:space-around;gap:8px}.layout{grid-template-columns:minmax(0,1fr);padding:10px}.left-rail{display:none}.hero{grid-template-columns:minmax(200px,36%) minmax(0,1fr);min-height:0}.morag{height:auto}.hero-content{padding:0 4px 24px 0}.results-layout{grid-template-columns:1fr}.result-rail{display:none}}
@media(max-width:600px){.site-shell{margin:0;border:0}.topbar{gap:4px}.brand{width:min(175px,100%)}.header-actions{gap:4px}.theme-label{display:none}select{max-width:130px;font-size:12px}.hero{grid-template-columns:minmax(0,1fr);gap:0}.morag{width:min(300px,85%);height:auto;justify-self:center}.hero-content{padding:20px 6px 28px}.hero-logo{max-width:360px;margin-bottom:14px}.tagline{font-size:22px}.search-form{gap:10px}.search-form input{font-size:18px}.search-form button{font-size:18px}.categories{gap:10px}.categories legend{float:none;padding-top:12px;margin:0 auto}.results-heading{display:block}.results-heading h1{font-size:20px}.results-heading span{display:block;margin-top:7px}.result h3{font-size:18px}.result p,.result-url{font-size:14px}}

/* Approved v2 vector symbols inherit the active theme. */
.ui-icon{width:1.1em;height:1.1em;vertical-align:-.15em;flex-shrink:0}
.theme-label{display:inline-flex;align-items:center;gap:5px}
.search-form button .ui-icon{margin-right:4px}
@media(max-width:600px){.theme-label{display:none}}
/* Live engine snippets may contain long code identifiers and unbroken tokens. */
.result p,.result-meta{overflow-wrap:anywhere}

/* Images category: source-linked thumbnails instead of web-result rows. */
.results-layout.image-layout{grid-template-columns:minmax(0,1fr)}
.image-layout .result-rail{display:none}
.results.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:12px;padding:6px;align-items:start}
.image-result{min-width:0;border:1px solid var(--border);background:var(--panel)}
.image-preview{display:flex;width:100%;height:175px;align-items:center;justify-content:center;background:var(--input);overflow:hidden;text-decoration:none}
.image-preview img{display:block;width:100%;height:100%;object-fit:contain}
.image-preview:hover{filter:brightness(1.08)}
.image-unavailable{color:var(--muted);font:14px/1.5 Arial,sans-serif;text-align:center;padding:15px}
.image-caption{padding:10px;overflow-wrap:anywhere}
.image-caption h3{font-size:16px;line-height:1.3;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.image-source{font:13px/1.4 Arial,sans-serif;color:var(--url);margin-bottom:5px}
.image-original{display:inline-block;font-size:14px;margin-top:8px}
@media(max-width:530px){.results.image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0}.image-preview{height:135px}.image-caption{padding:8px}.image-caption h3{font-size:14px}}

.learning-note{font:13px/1.5 Arial,sans-serif;color:var(--muted);margin:7px 0;overflow-wrap:anywhere}
.source-recommendation{padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--border),transparent 60%);overflow-wrap:anywhere}
.source-recommendation:last-child{border:0}.source-recommendation a{font-weight:bold}
.feedback{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.feedback-button,.learning-manage,.learning-controls button{border:1px solid var(--border);background:var(--input);color:var(--link);padding:5px 9px;font:12px Arial,sans-serif;cursor:pointer}
.feedback-button[aria-pressed="true"]{background:var(--accent);color:#17120a;border-color:var(--accent)}
.learning-manage{margin-top:14px}.learning-controls{display:flex;flex-direction:column;align-items:start;gap:14px;margin-top:20px}.import-label{font:14px Arial,sans-serif}.import-label input{display:block;max-width:100%;margin-top:8px}
@media(max-width:850px){.layout>.left-rail{display:block;padding:0;grid-row:2}.left-rail>.panel:not(.recommend){display:none}.layout>.main-column{grid-row:1}}

/* Readable, scrollable search-help overlays. */
dialog{width:620px;max-width:calc(100vw - 28px);max-height:85vh;overflow-y:auto}
.help-list{padding-left:22px;margin:18px 0}.help-list li{margin:0 0 14px;line-height:1.55}
.help-list code{font:13px/1.6 monospace;background:var(--input);color:var(--gold);padding:3px 5px;overflow-wrap:anywhere;white-space:normal}
#dialog-body p{overflow-wrap:anywhere}#dialog-body>a{display:inline-block;margin:6px 0 10px}

.search-options{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);font:14px Arial,sans-serif}
.search-options label{display:flex;gap:8px;align-items:center}.search-options select{max-width:205px;font-size:13px}.search-options button,.corrections button{border:1px solid var(--border);padding:6px 9px;background:var(--input);color:var(--link);cursor:pointer}.search-options button:disabled{opacity:.45;cursor:default}
.search-options .learning-note{margin:0}.filter-support{width:100%;font-size:12px;color:var(--muted)}
.engine-notice,.corrections{padding:10px 14px;border-bottom:1px solid var(--border);font:13px/1.5 Arial,sans-serif;color:var(--muted);overflow-wrap:anywhere}.engine-notice summary{cursor:pointer}.engine-notice ul{margin-bottom:0}.corrections{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.corrections button{font:inherit;text-decoration:underline}
.pagination{align-items:center;flex-wrap:wrap}.page-label{color:var(--text);font:14px Arial,sans-serif}.pagination-note{font:13px Arial,sans-serif;color:var(--muted)}button[data-time][aria-pressed="true"]{color:var(--gold);font-weight:bold}
@media(max-width:530px){.search-options{gap:10px;padding:10px}.search-options label{flex-wrap:wrap}.search-options select{max-width:185px}.search-options #filter-summary{width:100%}}

.request-status{margin:0;padding:10px 14px;font:13px Arial,sans-serif;color:var(--gold)}.request-status:empty{display:none}

.feedback-button{min-height:32px;transition:background-color .12s,border-color .12s}
.feedback-button.is-selected,.feedback-button[aria-pressed="true"]{background:var(--accent);color:#17120a;border:2px solid var(--text);font-weight:700;padding:4px 8px;box-shadow:0 0 0 1px var(--accent)}
.feedback-status{flex-basis:100%;font:12px/1.4 Arial,sans-serif;color:var(--muted);overflow-wrap:anywhere}.feedback-status:empty{display:none}

[hidden]{display:none!important}.topnav{flex-wrap:wrap;gap:10px 18px}.topbar{height:auto;min-height:70px}.media-thumb{width:160px;height:95px;object-fit:contain;display:block;margin:8px 0}#backend-status,.restart-search{border:1px solid var(--border);background:var(--input);color:var(--link);padding:6px 9px;cursor:pointer}.search-options label[hidden]{display:none}

/* A shared flex baseline instead of browser-specific legend positioning. */
.categories{display:flex;align-items:center;justify-content:center;gap:10px 14px;padding-top:15px}
.categories legend.sr-only{float:none;margin:0;padding:0}
.category-caption{color:var(--text);line-height:20px}.categories label{display:inline-flex;align-items:center;gap:5px;line-height:20px}.categories input{margin:0;vertical-align:middle}
.search-form button.clear-search{background:var(--input);color:var(--link);border:1px solid var(--border);padding:10px 12px;min-height:44px;font:15px Arial,sans-serif;width:auto}
.welcome-message{font:16px/1.6 Arial,sans-serif;color:var(--muted);padding:12px 7px}
@media(max-width:1400px){.search-form button.clear-search{width:auto;flex:0 0 auto}.search-form button[type="submit"]{flex:1;width:auto}}

.directory-hidden{display:none!important}.results-layout:has(.directory-results){grid-template-columns:minmax(0,1fr)}.directory-results{padding:10px!important}
.directory-intro{border-bottom:1px solid var(--border);padding:5px 5px 15px}.directory-breadcrumbs{line-height:1.7;overflow-wrap:anywhere}.directory-breadcrumbs button{display:inline;border:0;padding:0;background:none;color:var(--link);text-decoration:underline;font:inherit}
.directory-categories{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.directory-categories button,.directory-search{padding:7px 10px;border:1px solid var(--border);background:var(--panel);color:var(--link);text-align:left;font:14px Arial,sans-serif}.directory-attribution{font:12px/1.5 Arial,sans-serif;color:var(--muted);margin:12px 0}.directory-description{font:14px/1.6 Arial,sans-serif;overflow-wrap:anywhere}
.directory-site{padding:14px 5px;border-bottom:1px solid color-mix(in srgb,var(--border),transparent 60%)}.directory-site h3{font-size:18px;margin:0 0 5px;overflow-wrap:anywhere}.directory-site p{font:14px/1.6 Arial,sans-serif;overflow-wrap:anywhere}
@media(max-width:850px){.left-rail>#topics,.left-rail>.panel:first-child{display:block!important}.layout>.left-rail{grid-row:2}.left-rail .side-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}}

.directory-intro>select{display:block;max-width:100%;margin:10px 0}

/* Keep information and privacy controls reachable when the third column collapses. */
.dialog-mascot{float:right;width:130px;height:150px;object-fit:contain;margin:0 0 12px 18px}
#dialog-body::after{content:"";display:block;clear:both}
@media(max-width:1200px){.right-rail{display:block;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.right-rail .panel{margin-bottom:0}}
@media(max-width:600px){.right-rail{grid-template-columns:1fr}.dialog-mascot{width:90px;height:115px;margin-left:10px}}

.mobile-help{display:none}
@media(max-width:1200px){.mobile-help{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;padding:10px 12px;border-bottom:1px solid var(--border)}.mobile-help button{border:0;background:none;color:var(--link);font:inherit;text-decoration:underline}}
