:root{--bg: #0f1116;--panel: #181b22;--panel-2: #20242e;--panel-3: #242936;--border: #2a2f3a;--border-strong: #3a4252;--text: #e6e8ee;--muted: #9aa3b2;--accent: #4f8cff;--accent-soft: #16203a;--gold: #ffd54a;--blue: #2b6cff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{max-width:1180px;margin:0 auto;padding:32px 20px 64px}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px}.header h1{margin:0;font-size:28px;background:linear-gradient(90deg,var(--blue),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.subtitle{margin:4px 0 0;color:var(--muted)}.header-link{text-decoration:none}.lang-toggle{display:flex;flex:0 0 auto;gap:3px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:3px;box-shadow:0 1px #ffffff08 inset}.lang-toggle button{min-width:38px;background:transparent;border:none;color:var(--muted);font:inherit;font-size:13px;font-weight:600;border-radius:6px;padding:5px 10px;cursor:pointer;transition:background .14s ease,color .14s ease}.lang-toggle button.active{background:var(--accent-soft);color:var(--text);box-shadow:0 0 0 1px #2b3a5a inset}.lang-toggle button:not(.active):hover{color:var(--text);background:var(--panel-2)}.lang-toggle button:focus-visible,.tab:focus-visible,.facet-row:focus-within,.search:focus-visible,.search-clear:focus-visible,.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tabs{display:flex;gap:4px;margin:22px 0 18px;border-bottom:1px solid var(--border)}.tab{background:none;border:none;color:var(--muted);font:inherit;font-size:15px;padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:8px 8px 0 0;transition:background .14s ease,color .14s ease}.tab:hover{color:var(--text);background:#ffffff08}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab-count{font-size:12px;color:var(--muted);background:var(--panel-2);border-radius:10px;padding:1px 7px;margin-left:4px}.tab.active .tab-count{color:var(--text);background:var(--accent-soft)}.catalog{display:flex;gap:24px;align-items:flex-start}.rail{width:230px;flex:0 0 230px;position:sticky;top:16px}.results{flex:1;min-width:0}.facet{border:1px solid var(--border);border-radius:10px;background:var(--panel);margin-bottom:10px;padding:4px 8px 8px;box-shadow:0 1px #ffffff08 inset}.facet>summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 4px;list-style:none;color:var(--text);border-radius:6px}.facet>summary::-webkit-details-marker{display:none}.facet>summary:before{content:"▸";color:var(--muted);font-size:10px}.facet[open]>summary:before{content:"▾"}.facet>summary:hover{background:#ffffff08}.facet-title{flex:1}.facet-selected{min-width:20px;border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:11px;line-height:18px;text-align:center;border:1px solid #2b3a5a}.facet-list{list-style:none;margin:2px 0 4px;padding:0}.facet-row{display:flex;align-items:center;gap:8px;padding:6px 7px;font-size:13px;border:1px solid transparent;border-radius:7px;cursor:pointer;color:var(--text);transition:background .14s ease,border-color .14s ease,opacity .14s ease}.facet-row:hover{background:#ffffff08}.facet-row input{accent-color:var(--accent);flex:0 0 auto}.facet-label{flex:1;line-height:1.3}.facet-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;background:var(--panel-2);border-radius:999px;min-width:24px;padding:1px 6px;text-align:center}.facet-row.is-selected{background:var(--accent-soft);border-color:#2b3a5a}.facet-row.is-selected .facet-count{color:var(--text);background:#233153}.facet-row.is-empty{opacity:.45}.search-row{position:relative;margin-bottom:12px}.search{width:100%;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 42px 11px 12px;font-size:14px;box-shadow:0 1px #ffffff08 inset}.search:focus{outline:none;border-color:var(--accent)}.search::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-clear{position:absolute;right:8px;top:50%;width:26px;height:26px;transform:translateY(-50%);border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.search-clear:hover{background:var(--panel-2);color:var(--text);border-color:var(--border-strong)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{display:inline-flex;align-items:center;gap:5px;background:var(--accent-soft);border:1px solid #2b3a5a;color:var(--text);border-radius:999px;padding:5px 9px 5px 10px;font-size:12px;cursor:pointer;max-width:100%;transition:border-color .14s ease,background .14s ease}.chip:hover{border-color:var(--accent);background:#1b2a4a}.chip-x{color:var(--muted);font-size:14px;line-height:1}.chip-clear{background:none;border-color:var(--border);color:var(--muted)}.chip-clear:hover{background:var(--panel);color:var(--text);border-color:var(--border-strong)}.result-count{color:var(--muted);font-size:13px;margin-bottom:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.tool-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column}.tool-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.tool-head h3{margin:0;font-size:16px}.tool-title{text-decoration:none;color:var(--text)}.tool-title:hover h3{color:var(--accent)}.status{font-size:11px;padding:3px 8px;border-radius:20px;white-space:nowrap;border:1px solid var(--border);color:var(--muted)}.status-live{color:#7ee08a;border-color:#2f6b3a;background:#14271a}.status-in-development{color:var(--gold);border-color:#6b5a1f;background:#271f0d}.status-pilot{color:#6fd0e0;border-color:#2a5a66;background:#0e2329}.status-announced{color:#c79bff;border-color:#4a3a6b;background:#1d1430}.tool-tagline{font-size:12px;color:var(--accent);margin:8px 0 7px}.card-sector-row{display:flex;margin:0 0 8px}.tool-desc{font-size:13px;line-height:1.5;color:#c7cdd9;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-extra{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;margin:0 0 10px;padding:8px 0 0;border-top:1px solid var(--border);font-size:12px}.card-extra dt{color:var(--muted)}.card-extra dd{margin:0;color:#c7cdd9;line-height:1.35}.tool-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tag{font-size:11px;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:2px 8px}.sector-tag{color:var(--accent);border-color:#2b3a5a}.sector-defense{color:#ff9d7a;border-color:#6a3a2d;background:#2a1712}.sector-business{color:#83d7a5;border-color:#2f6041;background:#102519}.sector-government{color:#89b8ff;border-color:#2f4c7d;background:#121f35}.sector-infrastructure{color:#8fd3ff;border-color:#2f5d78;background:#102331}.sector-legal{color:#c6b4ff;border-color:#51457d;background:#1f1936}.sector-health{color:#7ee2cf;border-color:#2a665d;background:#0f2825}.sector-media{color:#f1a7d6;border-color:#6a3b5b;background:#2b1625}.sector-education{color:#f0cf74;border-color:#6b5825;background:#281f0e}.sector-voice{color:#99d2ff;border-color:#365f7c;background:#122332}.sector-marketing{color:#ffb77a;border-color:#6b4a2a;background:#291c10}.sector-creative{color:#dea8ff;border-color:#5c3d78;background:#251634}.sector-other{color:var(--muted);border-color:var(--border-strong);background:var(--panel-2)}.origin-tag{color:var(--muted)}.tool-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:10px}.flag-review{font-size:11px;color:#ffb35e;white-space:nowrap}.src-count{font-size:11px;color:var(--muted)}.tool-link{margin-left:auto;font-size:13px;color:var(--accent);text-decoration:none;font-weight:600}.tool-link:hover{text-decoration:underline}.empty{color:var(--muted);text-align:center;padding:40px}.detail{max-width:760px}.back-link{display:inline-block;color:var(--accent);text-decoration:none;font-size:14px;margin:8px 0 20px}.back-link:hover{text-decoration:underline}.detail-head{display:flex;align-items:center;gap:12px}.detail-head h2{margin:0;font-size:24px}.detail-tagline{color:var(--accent);font-size:14px;margin:6px 0 12px}.review-banner{background:#2a1d10;border:1px solid #6b4a1f;color:#ffb35e;padding:8px 12px;border-radius:8px;font-size:13px;margin:0 0 16px}.detail-desc{font-size:15px;line-height:1.6;color:#c7cdd9;margin:14px 0 20px}.detail-meta{display:grid;grid-template-columns:150px 1fr;gap:10px 16px;margin:0 0 20px;font-size:14px}.detail-meta dt{width:fit-content;align-self:start;color:var(--accent);background:var(--accent-soft);border:1px solid #2b3a5a;border-radius:6px;padding:2px 8px;font-size:12px;line-height:1.4}.detail-meta dd{margin:0;line-height:1.5}.detail-meta-all{display:block;border-top:1px solid var(--border);padding-top:12px}.detail-field{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}.detail-field dd{min-width:0;word-break:break-word}.detail-field a{color:var(--accent)}.detail-source-list{margin:0;padding-left:18px}.detail-source-list li{margin:0 0 6px;word-break:break-all}.detail-visit{display:inline-block;color:var(--accent);text-decoration:none;font-weight:600;margin-bottom:24px}.detail-visit:hover{text-decoration:underline}.sources{border-top:1px solid var(--border);padding-top:16px}.sources h3{margin:0 0 10px;font-size:15px}.sources ul{margin:0;padding-left:18px}.sources li{margin:6px 0;font-size:13px;word-break:break-all}.sources a{color:var(--accent)}@media (max-width: 760px){.app{padding-top:24px}.header{align-items:center}.header h1{font-size:24px}.subtitle{font-size:14px}.tabs{overflow-x:auto;padding-bottom:1px}.tab{white-space:nowrap}.detail-field{grid-template-columns:1fr;gap:4px}.catalog{flex-direction:column;gap:16px}.rail{position:static;width:100%;flex:none;display:flex;flex-wrap:wrap;gap:10px}.facet{flex:1 1 100%;margin-bottom:0}}.footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--border);color:var(--muted);font-size:14px}.footer a{color:var(--accent);text-decoration:none}.footer a:hover{text-decoration:underline}
