Showing
1 changed file
with
412 additions
and
62 deletions
| ... | @@ -2,6 +2,14 @@ | ... | @@ -2,6 +2,14 @@ |
| 2 | import { onMount } from 'svelte'; | 2 | import { onMount } from 'svelte'; |
| 3 | import { landingSearchMode, landingSelectedClassifiers, landingSearchQuery } from '$lib/stores/landingSearchState'; | 3 | import { landingSearchMode, landingSelectedClassifiers, landingSearchQuery } from '$lib/stores/landingSearchState'; |
| 4 | 4 | ||
| 5 | + // Theme | ||
| 6 | + let isDark = true; | ||
| 7 | + function toggleTheme() { | ||
| 8 | + isDark = !isDark; | ||
| 9 | + document.documentElement.classList.toggle('dark', isDark); | ||
| 10 | + localStorage.setItem('theme', isDark ? 'dark' : 'light'); | ||
| 11 | + } | ||
| 12 | + | ||
| 5 | // Estado base | 13 | // Estado base |
| 6 | let mounted = false; | 14 | let mounted = false; |
| 7 | let heroInView = true; | 15 | let heroInView = true; |
| ... | @@ -64,11 +72,31 @@ | ... | @@ -64,11 +72,31 @@ |
| 64 | } | 72 | } |
| 65 | } | 73 | } |
| 66 | 74 | ||
| 67 | - $: sortedHits = filteredHits.length > 0 ? [...filteredHits].sort((a, b) => { | 75 | + $: sortedHits = (() => { |
| 68 | - const dir = sortOrder === 'desc' ? 1 : -1; | 76 | + if (filteredHits.length === 0) return []; |
| 69 | - if (sortBy === 'alpha') return dir * (a.document.texto || '').localeCompare(b.document.texto || ''); | 77 | + const isFlatMode = isMixedClassSearch || searchMode === 'todo'; |
| 70 | - return dir * ((b.document.devengado || 0) - (a.document.devengado || 0)); | 78 | + |
| 71 | - }) : []; | 79 | + // Filtrar duplicados de finfun y categorías ocultas |
| 80 | + let hits = filteredHits.filter(hit => { | ||
| 81 | + const cls = CLASS_REVERSE_MAP[hit.document.class_] || hit.document.class_ || 'otros'; | ||
| 82 | + if (isFlatMode && hiddenCategories.has(cls)) return false; | ||
| 83 | + if (hit.document.class_ === 'finfun' || hit.document.class_ === 'finalidad') { | ||
| 84 | + const m = parseMetadatos(hit.document.metadatos); | ||
| 85 | + if (m.finfun_funcion === 0 && m.finfun_grpfuncion !== undefined) return false; | ||
| 86 | + } | ||
| 87 | + return true; | ||
| 88 | + }); | ||
| 89 | + | ||
| 90 | + // En modo todo/mixto: mantener orden de la API (relevancia) | ||
| 91 | + if (isFlatMode) return hits; | ||
| 92 | + | ||
| 93 | + // En otros modos: ordenar por criterio del usuario | ||
| 94 | + return [...hits].sort((a, b) => { | ||
| 95 | + const dir = sortOrder === 'desc' ? 1 : -1; | ||
| 96 | + if (sortBy === 'alpha') return dir * (a.document.texto || '').localeCompare(b.document.texto || ''); | ||
| 97 | + return dir * ((b.document.devengado || 0) - (a.document.devengado || 0)); | ||
| 98 | + }); | ||
| 99 | + })(); | ||
| 72 | 100 | ||
| 73 | // Detectar tipos de clasificadores presentes en los resultados | 101 | // Detectar tipos de clasificadores presentes en los resultados |
| 74 | // Mapeo inverso: API class_ → id interno del clasificador | 102 | // Mapeo inverso: API class_ → id interno del clasificador |
| ... | @@ -123,11 +151,50 @@ | ... | @@ -123,11 +151,50 @@ |
| 123 | finfun: 'Para qué se gasta', | 151 | finfun: 'Para qué se gasta', |
| 124 | ubigeo: 'Dónde se gasta', | 152 | ubigeo: 'Dónde se gasta', |
| 125 | acteco: 'En qué sectores', | 153 | acteco: 'En qué sectores', |
| 154 | + sectores: 'En qué sectores', | ||
| 126 | rubro: 'Con qué recursos', | 155 | rubro: 'Con qué recursos', |
| 127 | organismo: 'Quién financia', | 156 | organismo: 'Quién financia', |
| 128 | fuente: 'Origen del ingreso', | 157 | fuente: 'Origen del ingreso', |
| 158 | + geografico: 'Dónde se gasta', | ||
| 159 | + }; | ||
| 160 | + | ||
| 161 | + const CLASS_COLORS = { | ||
| 162 | + entidad: '#6B8CA6', | ||
| 163 | + objeto: '#C9A751', | ||
| 164 | + finfun: '#8B6E9B', | ||
| 165 | + geografico: '#4A8B6E', | ||
| 166 | + ubigeo: '#4A8B6E', | ||
| 167 | + sectores: '#C44B3F', | ||
| 168 | + acteco: '#C44B3F', | ||
| 169 | + rubro: '#D4A017', | ||
| 170 | + organismo: '#5A9BD5', | ||
| 171 | + fuente: '#7CB68E', | ||
| 172 | + otros: '#6B6860', | ||
| 173 | + programa_proyecto: '#6B6860', | ||
| 129 | }; | 174 | }; |
| 130 | 175 | ||
| 176 | + // Filtros de categoría visibles en modo todo (vista plana) | ||
| 177 | + let hiddenCategories = new Set(); | ||
| 178 | + | ||
| 179 | + function toggleCategory(cls) { | ||
| 180 | + const next = new Set(hiddenCategories); | ||
| 181 | + if (next.has(cls)) next.delete(cls); | ||
| 182 | + else next.add(cls); | ||
| 183 | + hiddenCategories = next; | ||
| 184 | + } | ||
| 185 | + | ||
| 186 | + // Categorías presentes en los resultados actuales con conteos | ||
| 187 | + $: presentCategories = (() => { | ||
| 188 | + const counts = {}; | ||
| 189 | + filteredHits.forEach(h => { | ||
| 190 | + const cls = CLASS_REVERSE_MAP[h.document.class_] || h.document.class_ || 'otros'; | ||
| 191 | + counts[cls] = (counts[cls] || 0) + 1; | ||
| 192 | + }); | ||
| 193 | + return Object.entries(counts) | ||
| 194 | + .map(([id, count]) => ({ id, count, label: CLASS_EASY_LABELS[id] || CLASS_LABELS[id] || id, color: CLASS_COLORS[id] || '#6B6860' })) | ||
| 195 | + .sort((a, b) => b.count - a.count); | ||
| 196 | + })(); | ||
| 197 | + | ||
| 131 | // Extraer código de finfun desde metadatos (formato con puntos: 1, 1.1, 1.1.3) | 198 | // Extraer código de finfun desde metadatos (formato con puntos: 1, 1.1, 1.1.3) |
| 132 | function getFinfunCodigo(meta) { | 199 | function getFinfunCodigo(meta) { |
| 133 | const fin = String(meta.finfun_finalidad || ''); | 200 | const fin = String(meta.finfun_finalidad || ''); |
| ... | @@ -155,38 +222,9 @@ | ... | @@ -155,38 +222,9 @@ |
| 155 | $: groupedHits = (() => { | 222 | $: groupedHits = (() => { |
| 156 | if (filteredHits.length === 0) return null; | 223 | if (filteredHits.length === 0) return null; |
| 157 | 224 | ||
| 158 | - // Búsqueda mixta o global: agrupar por tipo | 225 | + // Búsqueda mixta o global: vista plana (sin agrupar) |
| 159 | if (isMixedClassSearch || searchMode === 'todo') { | 226 | if (isMixedClassSearch || searchMode === 'todo') { |
| 160 | - // Filtrar duplicados de finfun | 227 | + return null; |
| 161 | - const filtered = filteredHits.filter(hit => { | ||
| 162 | - if (hit.document.class_ !== 'finfun' && hit.document.class_ !== 'finalidad') return true; | ||
| 163 | - const m = parseMetadatos(hit.document.metadatos); | ||
| 164 | - return !(m.finfun_funcion === 0 && m.finfun_grpfuncion !== undefined); | ||
| 165 | - }); | ||
| 166 | - | ||
| 167 | - const groups = {}; | ||
| 168 | - filtered.forEach(hit => { | ||
| 169 | - const type = CLASS_REVERSE_MAP[hit.document.class_] || hit.document.class_ || 'otros'; | ||
| 170 | - const groupName = CLASS_LABELS[type] || type; | ||
| 171 | - if (!groups[groupName]) { | ||
| 172 | - groups[groupName] = { name: groupName, hits: [], totalMonto: 0, classType: type }; | ||
| 173 | - } | ||
| 174 | - groups[groupName].hits.push(hit); | ||
| 175 | - groups[groupName].totalMonto += hit.document.devengado || 0; | ||
| 176 | - }); | ||
| 177 | - | ||
| 178 | - const dir = sortOrder === 'desc' ? 1 : -1; | ||
| 179 | - Object.values(groups).forEach(group => { | ||
| 180 | - group.hits.sort((a, b) => { | ||
| 181 | - if (sortBy === 'alpha') return dir * (a.document.texto || '').localeCompare(b.document.texto || ''); | ||
| 182 | - return dir * ((b.document.devengado || 0) - (a.document.devengado || 0)); | ||
| 183 | - }); | ||
| 184 | - }); | ||
| 185 | - | ||
| 186 | - // Menos hits primero (clasificadores arriba, programas abajo) | ||
| 187 | - const sortedGroups = Object.values(groups); | ||
| 188 | - sortedGroups.sort((a, b) => a.hits.length - b.hits.length); | ||
| 189 | - return sortedGroups; | ||
| 190 | } | 228 | } |
| 191 | 229 | ||
| 192 | if (isEntidadSearchActive) { | 230 | if (isEntidadSearchActive) { |
| ... | @@ -373,6 +411,9 @@ | ... | @@ -373,6 +411,9 @@ |
| 373 | searchMode = mode; | 411 | searchMode = mode; |
| 374 | if (mode === 'programas') { | 412 | if (mode === 'programas') { |
| 375 | selectedClassifiers = []; | 413 | selectedClassifiers = []; |
| 414 | + } else if (mode === 'clasificadores') { | ||
| 415 | + // Seleccionar todos los clasificadores habilitados | ||
| 416 | + selectedClassifiers = CLASIFICADORES.filter(c => !c.disabled).map(c => c.id); | ||
| 376 | } | 417 | } |
| 377 | } | 418 | } |
| 378 | } | 419 | } |
| ... | @@ -519,6 +560,7 @@ | ... | @@ -519,6 +560,7 @@ |
| 519 | // Observer para actualizar sección activa | 560 | // Observer para actualizar sección activa |
| 520 | let sectionObserver; | 561 | let sectionObserver; |
| 521 | onMount(() => { | 562 | onMount(() => { |
| 563 | + isDark = document.documentElement.classList.contains('dark'); | ||
| 522 | setTimeout(() => { mounted = true; }, 80); | 564 | setTimeout(() => { mounted = true; }, 80); |
| 523 | fetchDaily(); | 565 | fetchDaily(); |
| 524 | 566 | ||
| ... | @@ -633,6 +675,7 @@ | ... | @@ -633,6 +675,7 @@ |
| 633 | resetSeenHits(); | 675 | resetSeenHits(); |
| 634 | expandedGroups = []; | 676 | expandedGroups = []; |
| 635 | collapsedGroups = []; | 677 | collapsedGroups = []; |
| 678 | + hiddenCategories = new Set(); | ||
| 636 | allHits = data.hits; | 679 | allHits = data.hits; |
| 637 | } else { | 680 | } else { |
| 638 | allHits = [...allHits, ...data.hits]; | 681 | allHits = [...allHits, ...data.hits]; |
| ... | @@ -901,16 +944,33 @@ | ... | @@ -901,16 +944,33 @@ |
| 901 | 944 | ||
| 902 | <div class="hero-topbar"> | 945 | <div class="hero-topbar"> |
| 903 | <div class="nav-logo" class:nav-hidden={!heroInView}> | 946 | <div class="nav-logo" class:nav-hidden={!heroInView}> |
| 904 | - <img src="/logos_oscuro/05_Imago MEFP horizontal espacio negativo.png" alt="MEFP" /> | 947 | + {#if isDark} |
| 948 | + <img src="/logos_oscuro/05_Imago MEFP horizontal espacio negativo.png" alt="MEFP" /> | ||
| 949 | + {:else} | ||
| 950 | + <img src="/logos_claro/06_Isologo MEFP horizontal escala de grises.png" alt="MEFP" /> | ||
| 951 | + {/if} | ||
| 905 | </div> | 952 | </div> |
| 906 | 953 | ||
| 907 | - <button class="nav-menu-btn" class:nav-hidden={!heroInView} aria-label="Menú"> | 954 | + <div class="hero-topbar-right" class:nav-hidden={!heroInView}> |
| 908 | - <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"> | 955 | + <button class="nav-theme-btn" on:click={toggleTheme} aria-label={isDark ? 'Cambiar a modo claro' : 'Cambiar a modo oscuro'}> |
| 909 | - <line x1="3" y1="6" x2="21" y2="6"/> | 956 | + {#if isDark} |
| 910 | - <line x1="3" y1="12" x2="21" y2="12"/> | 957 | + <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20"> |
| 911 | - <line x1="3" y1="18" x2="21" y2="18"/> | 958 | + <path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"/> |
| 912 | - </svg> | 959 | + </svg> |
| 913 | - </button> | 960 | + {:else} |
| 961 | + <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20"> | ||
| 962 | + <path fill-rule="evenodd" d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" clip-rule="evenodd"/> | ||
| 963 | + </svg> | ||
| 964 | + {/if} | ||
| 965 | + </button> | ||
| 966 | + <button class="nav-menu-btn" aria-label="Menú"> | ||
| 967 | + <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"> | ||
| 968 | + <line x1="3" y1="6" x2="21" y2="6"/> | ||
| 969 | + <line x1="3" y1="12" x2="21" y2="12"/> | ||
| 970 | + <line x1="3" y1="18" x2="21" y2="18"/> | ||
| 971 | + </svg> | ||
| 972 | + </button> | ||
| 973 | + </div> | ||
| 914 | </div> | 974 | </div> |
| 915 | 975 | ||
| 916 | <div class="search-container anim" style="--d:200ms"> | 976 | <div class="search-container anim" style="--d:200ms"> |
| ... | @@ -966,6 +1026,24 @@ | ... | @@ -966,6 +1026,24 @@ |
| 966 | </div> | 1026 | </div> |
| 967 | </div> | 1027 | </div> |
| 968 | 1028 | ||
| 1029 | + <!-- Filtros de categoría (pegados al search bar) --> | ||
| 1030 | + {#if (searchMode === 'todo' || isMixedClassSearch) && presentCategories.length > 1 && allHits.length > 0} | ||
| 1031 | + <div class="cat-filters"> | ||
| 1032 | + {#each presentCategories as cat} | ||
| 1033 | + <button | ||
| 1034 | + class="cat-filter-chip" | ||
| 1035 | + class:cat-filter-hidden={hiddenCategories.has(cat.id)} | ||
| 1036 | + on:click={() => toggleCategory(cat.id)} | ||
| 1037 | + style="--cat-color:{cat.color}" | ||
| 1038 | + > | ||
| 1039 | + <span class="cat-filter-dot"></span> | ||
| 1040 | + <span class="cat-filter-label">{cat.label}</span> | ||
| 1041 | + <span class="cat-filter-count">{cat.count}</span> | ||
| 1042 | + </button> | ||
| 1043 | + {/each} | ||
| 1044 | + </div> | ||
| 1045 | + {/if} | ||
| 1046 | + | ||
| 969 | <!-- ─── ÁREA DE RESULTADOS ─── --> | 1047 | <!-- ─── ÁREA DE RESULTADOS ─── --> |
| 970 | <div class="results-area" bind:this={resultsAreaEl}> | 1048 | <div class="results-area" bind:this={resultsAreaEl}> |
| 971 | 1049 | ||
| ... | @@ -1047,13 +1125,7 @@ | ... | @@ -1047,13 +1125,7 @@ |
| 1047 | on:click|stopPropagation={() => { if (!clf.disabled) toggleClassifier(clf.id); }} | 1125 | on:click|stopPropagation={() => { if (!clf.disabled) toggleClassifier(clf.id); }} |
| 1048 | disabled={clf.disabled} | 1126 | disabled={clf.disabled} |
| 1049 | > | 1127 | > |
| 1050 | - <span class="clf-check"> | 1128 | + <span class="clf-dot"></span> |
| 1051 | - {#if selectedClassifiers.includes(clf.id)} | ||
| 1052 | - <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"> | ||
| 1053 | - <polyline points="20 6 9 17 4 12"/> | ||
| 1054 | - </svg> | ||
| 1055 | - {/if} | ||
| 1056 | - </span> | ||
| 1057 | <span class="clf-label">{clf.label}</span> | 1129 | <span class="clf-label">{clf.label}</span> |
| 1058 | </button> | 1130 | </button> |
| 1059 | {/each} | 1131 | {/each} |
| ... | @@ -1348,8 +1420,8 @@ | ... | @@ -1348,8 +1420,8 @@ |
| 1348 | > | 1420 | > |
| 1349 | <div class="result-content"> | 1421 | <div class="result-content"> |
| 1350 | <div class="result-text"> | 1422 | <div class="result-text"> |
| 1351 | - {#if isMixedClassSearch && hitType} | 1423 | + {#if (isMixedClassSearch || searchMode === 'todo') && hitType} |
| 1352 | - <span class="result-type-badge">{CLASS_LABELS[hitType] || hitType}</span> | 1424 | + <span class="result-cat-tag" style="--cat-color:{CLASS_COLORS[hitType] || '#6B6860'}">{CLASS_EASY_LABELS[hitType] || CLASS_LABELS[hitType] || hitType}</span> |
| 1353 | {/if} | 1425 | {/if} |
| 1354 | {#if hit.highlights?.[0]?.snippet} | 1426 | {#if hit.highlights?.[0]?.snippet} |
| 1355 | {@html hit.highlights[0].snippet} | 1427 | {@html hit.highlights[0].snippet} |
| ... | @@ -1875,8 +1947,10 @@ | ... | @@ -1875,8 +1947,10 @@ |
| 1875 | <style> | 1947 | <style> |
| 1876 | @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500&display=swap'); | 1948 | @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500&display=swap'); |
| 1877 | :global(*){margin:0;padding:0;box-sizing:border-box} | 1949 | :global(*){margin:0;padding:0;box-sizing:border-box} |
| 1878 | - :global(html){width:100%;height:100%;margin:0;padding:0;overflow-x:hidden;background:#1C1C1A;scroll-behavior:smooth} | 1950 | + :global(html){width:100%;height:100%;margin:0;padding:0;overflow-x:hidden;background:#1C1C1A;scroll-behavior:smooth;transition:background 0.3s} |
| 1879 | - :global(body){width:100%;min-height:100%;margin:0;padding:0;overflow-x:hidden;background:#1C1C1A} | 1951 | + :global(html:not(.dark)){background:#ffffff} |
| 1952 | + :global(body){width:100%;min-height:100%;margin:0;padding:0;overflow-x:hidden;background:#1C1C1A;transition:background 0.3s} | ||
| 1953 | + :global(html:not(.dark)) body{background:#ffffff} | ||
| 1880 | :global(::selection){background:#C9A751;color:#1C1C1A} | 1954 | :global(::selection){background:#C9A751;color:#1C1C1A} |
| 1881 | :global(::-webkit-scrollbar){width:5px} | 1955 | :global(::-webkit-scrollbar){width:5px} |
| 1882 | :global(::-webkit-scrollbar-track){background:#1C1C1A} | 1956 | :global(::-webkit-scrollbar-track){background:#1C1C1A} |
| ... | @@ -2075,6 +2149,24 @@ | ... | @@ -2075,6 +2149,24 @@ |
| 2075 | .mode-card-active{background:rgba(240,193,77,0.06);border-color:rgba(240,193,77,0.25);box-shadow:0 8px 32px rgba(0,0,0,0.2),0 0 0 1px rgba(240,193,77,0.1)} | 2149 | .mode-card-active{background:rgba(240,193,77,0.06);border-color:rgba(240,193,77,0.25);box-shadow:0 8px 32px rgba(0,0,0,0.2),0 0 0 1px rgba(240,193,77,0.1)} |
| 2076 | .mode-card-active:hover{background:rgba(240,193,77,0.08);border-color:rgba(240,193,77,0.35)} | 2150 | .mode-card-active:hover{background:rgba(240,193,77,0.08);border-color:rgba(240,193,77,0.35)} |
| 2077 | 2151 | ||
| 2152 | + /* Category filter chips */ | ||
| 2153 | + .cat-filters{display:flex;flex-wrap:wrap;gap:6px;padding:8px 4px 0;z-index:10} | ||
| 2154 | + .cat-filter-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);cursor:pointer;transition:all 0.2s;font-family:var(--sans);font-size:11px} | ||
| 2155 | + .cat-filter-chip:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.15)} | ||
| 2156 | + .cat-filter-hidden{opacity:0.35} | ||
| 2157 | + .cat-filter-hidden:hover{opacity:0.6} | ||
| 2158 | + .cat-filter-dot{width:6px;height:6px;border-radius:50%;background:var(--cat-color);flex-shrink:0;transition:opacity 0.2s} | ||
| 2159 | + .cat-filter-hidden .cat-filter-dot{opacity:0.4} | ||
| 2160 | + .cat-filter-label{color:#D0CCC4;transition:color 0.2s} | ||
| 2161 | + .cat-filter-hidden .cat-filter-label{color:#6B6860} | ||
| 2162 | + .cat-filter-count{font-family:var(--mono);font-size:10px;color:#6B6860;transition:color 0.2s} | ||
| 2163 | + | ||
| 2164 | + /* Result category tag */ | ||
| 2165 | + .result-cat-tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;letter-spacing:0.02em;color:var(--cat-color);flex-shrink:0;white-space:nowrap} | ||
| 2166 | + .result-cat-tag::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--cat-color);flex-shrink:0} | ||
| 2167 | + | ||
| 2168 | + /* Cards y search elevados en light mode */ | ||
| 2169 | + | ||
| 2078 | .mode-card-header{display:flex;align-items:center;gap:10px} | 2170 | .mode-card-header{display:flex;align-items:center;gap:10px} |
| 2079 | .mode-card-icon{display:flex;align-items:center;justify-content:center;color:#9B9890;transition:color 0.3s} | 2171 | .mode-card-icon{display:flex;align-items:center;justify-content:center;color:#9B9890;transition:color 0.3s} |
| 2080 | .mode-card:hover .mode-card-icon{color:#D0CCC4} | 2172 | .mode-card:hover .mode-card-icon{color:#D0CCC4} |
| ... | @@ -2093,8 +2185,9 @@ | ... | @@ -2093,8 +2185,9 @@ |
| 2093 | .clf-chip-active{background:rgba(90,175,138,0.15);border-color:rgba(90,175,138,0.4);color:#6BC99E} | 2185 | .clf-chip-active{background:rgba(90,175,138,0.15);border-color:rgba(90,175,138,0.4);color:#6BC99E} |
| 2094 | .clf-chip-disabled{opacity:0.35;cursor:not-allowed} | 2186 | .clf-chip-disabled{opacity:0.35;cursor:not-allowed} |
| 2095 | .clf-chip-disabled:hover{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08)} | 2187 | .clf-chip-disabled:hover{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08)} |
| 2096 | - .clf-check{width:14px;height:14px;border-radius:4px;border:1.5px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;transition:all 0.2s;flex-shrink:0} | 2188 | + .clf-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.15);flex-shrink:0;transition:all 0.3s cubic-bezier(0.16,1,0.3,1)} |
| 2097 | - .clf-chip-active .clf-check{background:#4A8B6E;border-color:#4A8B6E} | 2189 | + .clf-chip:hover .clf-dot{background:rgba(255,255,255,0.3)} |
| 2190 | + .clf-chip-active .clf-dot{background:#4A8B6E;box-shadow:0 0 6px rgba(74,139,110,0.3)} | ||
| 2098 | .clf-label{line-height:1} | 2191 | .clf-label{line-height:1} |
| 2099 | 2192 | ||
| 2100 | .mode-card-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;align-items:center} | 2193 | .mode-card-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;align-items:center} |
| ... | @@ -2238,8 +2331,11 @@ | ... | @@ -2238,8 +2331,11 @@ |
| 2238 | /* Nav elements in hero */ | 2331 | /* Nav elements in hero */ |
| 2239 | .hero-topbar{display:contents} | 2332 | .hero-topbar{display:contents} |
| 2240 | main[data-section="hero"] .nav-logo{position:fixed;top:24px;left:24px;z-index:100;transition:opacity 0.4s ease,transform 0.4s ease} | 2333 | main[data-section="hero"] .nav-logo{position:fixed;top:24px;left:24px;z-index:100;transition:opacity 0.4s ease,transform 0.4s ease} |
| 2241 | - .nav-menu-btn{position:fixed;top:24px;right:24px;z-index:100;background:rgba(255,255,255,0.06);border:none;border-radius:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#B8B5AD;transition:all 0.3s ease} | 2334 | + .hero-topbar-right{position:fixed;top:24px;right:24px;z-index:100;display:flex;align-items:center;gap:8px;transition:opacity 0.4s ease,transform 0.4s ease} |
| 2335 | + .nav-menu-btn{background:rgba(255,255,255,0.06);border:none;border-radius:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#B8B5AD;transition:all 0.3s ease} | ||
| 2242 | .nav-menu-btn:hover{background:rgba(255,255,255,0.1);color:#F5F0E8} | 2336 | .nav-menu-btn:hover{background:rgba(255,255,255,0.1);color:#F5F0E8} |
| 2337 | + .nav-theme-btn{background:rgba(255,255,255,0.06);border:none;border-radius:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#B8B5AD;transition:all 0.3s ease} | ||
| 2338 | + .nav-theme-btn:hover{background:rgba(255,255,255,0.1);color:#F5F0E8} | ||
| 2243 | .nav-hidden{opacity:0;pointer-events:none;transform:translateY(-10px)} | 2339 | .nav-hidden{opacity:0;pointer-events:none;transform:translateY(-10px)} |
| 2244 | 2340 | ||
| 2245 | /* ── DIRECTORY ── */ | 2341 | /* ── DIRECTORY ── */ |
| ... | @@ -2415,6 +2511,247 @@ | ... | @@ -2415,6 +2511,247 @@ |
| 2415 | .footer-right{font-family:var(--mono);font-size:12px;letter-spacing:0.1em;color:#6B6860} | 2511 | .footer-right{font-family:var(--mono);font-size:12px;letter-spacing:0.1em;color:#6B6860} |
| 2416 | 2512 | ||
| 2417 | /* ══════════════════════════════════════════════════════════════════════════ | 2513 | /* ══════════════════════════════════════════════════════════════════════════ |
| 2514 | + MODO CLARO (LIGHT MODE) | ||
| 2515 | + ══════════════════════════════════════════════════════════════════════════ */ | ||
| 2516 | + :global(html:not(.dark)) .page{color:#1C1C1A} | ||
| 2517 | + :global(html:not(.dark)){background:#ffffff} | ||
| 2518 | + :global(html:not(.dark)) body{background:#ffffff} | ||
| 2519 | + :global(html:not(.dark)) ::-webkit-scrollbar-track{background:#f5f5f7} | ||
| 2520 | + :global(html:not(.dark)) ::-webkit-scrollbar-thumb{background:#c0c0c0} | ||
| 2521 | + :global(html:not(.dark)) ::selection{background:#C9A751;color:#ffffff} | ||
| 2522 | + | ||
| 2523 | + /* Hero */ | ||
| 2524 | + :global(html:not(.dark)) main[data-section="hero"]{background:#f2f2f4} | ||
| 2525 | + :global(html:not(.dark)) .hero-title{color:#1d1d1f} | ||
| 2526 | + :global(html:not(.dark)) .gold{color:#D4A017} | ||
| 2527 | + :global(html:not(.dark)) .hero-sub{color:#424245} | ||
| 2528 | + :global(html:not(.dark)) .ambient-glow{background:radial-gradient(ellipse at center,rgba(212,160,23,0.06) 0%,rgba(212,160,23,0.02) 35%,transparent 70%)} | ||
| 2529 | + | ||
| 2530 | + /* Nav elements in hero */ | ||
| 2531 | + :global(html:not(.dark)) .nav-menu-btn{background:rgba(0,0,0,0.05);color:#555} | ||
| 2532 | + :global(html:not(.dark)) .nav-menu-btn:hover{background:rgba(0,0,0,0.1);color:#1d1d1f} | ||
| 2533 | + :global(html:not(.dark)) .nav-theme-btn{background:rgba(0,0,0,0.05);color:#555} | ||
| 2534 | + :global(html:not(.dark)) .nav-theme-btn:hover{background:rgba(0,0,0,0.1);color:#1d1d1f} | ||
| 2535 | + | ||
| 2536 | + /* Search bar */ | ||
| 2537 | + :global(html:not(.dark)) .search-bar{background:#ffffff;box-shadow:none} | ||
| 2538 | + :global(html:not(.dark)) .search-focused{background:#ffffff;backdrop-filter:blur(24px);box-shadow:none} | ||
| 2539 | + :global(html:not(.dark)) .has-results{background:#ffffff} | ||
| 2540 | + :global(html:not(.dark)) .search-input-wrap input{color:#1d1d1f;caret-color:transparent} | ||
| 2541 | + :global(html:not(.dark)) .search-input-wrap input.has-text{caret-color:#1d1d1f} | ||
| 2542 | + :global(html:not(.dark)) .search-icon{stroke:#D4A017} | ||
| 2543 | + :global(html:not(.dark)) .blink-cursor{background:#D4A017} | ||
| 2544 | + :global(html:not(.dark)) .placeholder-text{color:#999} | ||
| 2545 | + :global(html:not(.dark)) .search-clear{color:#999} | ||
| 2546 | + :global(html:not(.dark)) .search-clear:hover{color:#333} | ||
| 2547 | + :global(html:not(.dark)) .search-divider{background:rgba(0,0,0,0.08)} | ||
| 2548 | + :global(html:not(.dark)) .loading-dot{background:#9A8550} | ||
| 2549 | + | ||
| 2550 | + /* Search meta */ | ||
| 2551 | + :global(html:not(.dark)) .search-badge{color:#4A8B6E;background:rgba(74,139,110,0.1)} | ||
| 2552 | + :global(html:not(.dark)) .search-diario-link{color:#9A8550;background:rgba(154,133,80,0.1)} | ||
| 2553 | + :global(html:not(.dark)) .search-diario-link:hover{background:rgba(154,133,80,0.18);color:#857040} | ||
| 2554 | + | ||
| 2555 | + /* Section labels */ | ||
| 2556 | + :global(html:not(.dark)) .section-label{color:#D4A017} | ||
| 2557 | + | ||
| 2558 | + /* Mode cards */ | ||
| 2559 | + :global(html:not(.dark)) .mode-card{background:#ffffff;border-color:rgba(0,0,0,0.06);box-shadow:none} | ||
| 2560 | + :global(html:not(.dark)) .mode-card:hover{background:#ffffff;border-color:rgba(0,0,0,0.1);box-shadow:none} | ||
| 2561 | + :global(html:not(.dark)) .mode-card-active{background:#ffffff;border-color:rgba(212,160,23,0.35);box-shadow:none} | ||
| 2562 | + :global(html:not(.dark)) .mode-card-active:hover{background:#ffffff;border-color:rgba(212,160,23,0.45);box-shadow:none} | ||
| 2563 | + :global(html:not(.dark)) .mode-card-icon{color:#999} | ||
| 2564 | + :global(html:not(.dark)) .mode-card:hover .mode-card-icon{color:#666} | ||
| 2565 | + :global(html:not(.dark)) .mode-card-active .mode-card-icon{color:#D4A017} | ||
| 2566 | + :global(html:not(.dark)) .mode-card-title{color:#1d1d1f} | ||
| 2567 | + :global(html:not(.dark)) .mode-card-desc{color:#666} | ||
| 2568 | + :global(html:not(.dark)) .mode-card-desc strong{color:#333} | ||
| 2569 | + :global(html:not(.dark)) .mode-card-active .mode-card-desc{color:#555} | ||
| 2570 | + :global(html:not(.dark)) .mode-card-active .mode-card-desc strong{color:#D4A017} | ||
| 2571 | + | ||
| 2572 | + /* Classifier chips */ | ||
| 2573 | + :global(html:not(.dark)) .clf-chip{background:rgba(0,0,0,0.03);border-color:rgba(0,0,0,0.08);color:#666} | ||
| 2574 | + :global(html:not(.dark)) .clf-chip:hover{background:rgba(0,0,0,0.06);border-color:rgba(0,0,0,0.15);color:#333} | ||
| 2575 | + :global(html:not(.dark)) .clf-chip-active{background:rgba(212,160,23,0.08);border-color:rgba(212,160,23,0.3);color:#9A8520} | ||
| 2576 | + :global(html:not(.dark)) .clf-dot{background:rgba(0,0,0,0.1)} | ||
| 2577 | + :global(html:not(.dark)) .clf-chip:hover .clf-dot{background:rgba(0,0,0,0.2)} | ||
| 2578 | + :global(html:not(.dark)) .clf-chip-active .clf-dot{background:#D4A017;box-shadow:0 0 6px rgba(212,160,23,0.25)} | ||
| 2579 | + | ||
| 2580 | + /* Radio dots */ | ||
| 2581 | + :global(html:not(.dark)) .radio-dot{border-color:rgba(0,0,0,0.2)} | ||
| 2582 | + :global(html:not(.dark)) .radio-dot::after{background:#D4A017} | ||
| 2583 | + :global(html:not(.dark)) .radio-dot-active{border-color:#D4A017} | ||
| 2584 | + | ||
| 2585 | + /* Mode pills */ | ||
| 2586 | + :global(html:not(.dark)) .mode-pill{border-color:rgba(0,0,0,0.12);background:rgba(0,0,0,0.04);color:#555} | ||
| 2587 | + :global(html:not(.dark)) .mode-pill:hover{background:rgba(0,0,0,0.08);border-color:rgba(0,0,0,0.2);color:#1d1d1f} | ||
| 2588 | + :global(html:not(.dark)) .pills-hint{color:#999} | ||
| 2589 | + | ||
| 2590 | + /* Gear / settings */ | ||
| 2591 | + :global(html:not(.dark)) .gear-btn{background:rgba(0,0,0,0.05)} | ||
| 2592 | + :global(html:not(.dark)) .gear-btn:hover,:global(html:not(.dark)) .gear-active{background:rgba(0,0,0,0.1)} | ||
| 2593 | + :global(html:not(.dark)) .gear-menu{background:rgba(255,255,255,0.92);box-shadow:0 12px 48px rgba(0,0,0,0.15);border:1px solid rgba(0,0,0,0.08)} | ||
| 2594 | + :global(html:not(.dark)) .gear-menu-title{color:#999} | ||
| 2595 | + :global(html:not(.dark)) .gear-row:hover{background:rgba(0,0,0,0.04)} | ||
| 2596 | + :global(html:not(.dark)) .gear-check{border-color:rgba(0,0,0,0.15)} | ||
| 2597 | + :global(html:not(.dark)) .gear-check-on{background:#9A8550;color:#fff} | ||
| 2598 | + :global(html:not(.dark)) .gear-row-question{color:#aaa} | ||
| 2599 | + :global(html:not(.dark)) .gear-row-label{color:#888} | ||
| 2600 | + :global(html:not(.dark)) .gear-row-label-on{color:#1d1d1f} | ||
| 2601 | + :global(html:not(.dark)) .gear-row-count{color:#bbb} | ||
| 2602 | + | ||
| 2603 | + /* Mobile settings */ | ||
| 2604 | + :global(html:not(.dark)) .mobile-settings-btn{background:rgba(0,0,0,0.05)} | ||
| 2605 | + :global(html:not(.dark)) .mobile-settings-btn:hover,:global(html:not(.dark)) .mobile-settings-open{background:rgba(0,0,0,0.1)} | ||
| 2606 | + :global(html:not(.dark)) .mobile-filter-section{border-top-color:rgba(0,0,0,0.06)} | ||
| 2607 | + :global(html:not(.dark)) .mobile-filter-title{color:#999} | ||
| 2608 | + :global(html:not(.dark)) .mobile-filter-chip{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.08);color:#888} | ||
| 2609 | + :global(html:not(.dark)) .mobile-filter-chip.filter-chip-active{background:rgba(0,0,0,0.08);border-color:rgba(0,0,0,0.15);color:#1d1d1f} | ||
| 2610 | + :global(html:not(.dark)) .mobile-meta-item{color:#555} | ||
| 2611 | + :global(html:not(.dark)) .mobile-search-badge{color:#4A8B6E;background:rgba(74,139,110,0.08)} | ||
| 2612 | + :global(html:not(.dark)) .mobile-diario-link{color:#9A8550;background:rgba(154,133,80,0.08)} | ||
| 2613 | + | ||
| 2614 | + /* Results area */ | ||
| 2615 | + :global(html:not(.dark)) .results-content-visible{background:#ffffff;box-shadow:none} | ||
| 2616 | + :global(html:not(.dark)) .results-summary{border-bottom-color:rgba(0,0,0,0.08)} | ||
| 2617 | + :global(html:not(.dark)) .summary-count{color:#333} | ||
| 2618 | + :global(html:not(.dark)) .summary-label{color:#666} | ||
| 2619 | + :global(html:not(.dark)) .summary-sep{color:#ccc} | ||
| 2620 | + :global(html:not(.dark)) .summary-tag{color:#888} | ||
| 2621 | + :global(html:not(.dark)) .summary-tag-gold{color:#3d7a5e} | ||
| 2622 | + :global(html:not(.dark)) .updating-dot{background:#9A8550} | ||
| 2623 | + | ||
| 2624 | + /* Sort buttons */ | ||
| 2625 | + :global(html:not(.dark)) .sort-btn{color:#888;background:rgba(0,0,0,0.03)} | ||
| 2626 | + :global(html:not(.dark)) .sort-btn:hover{background:rgba(0,0,0,0.06);color:#333} | ||
| 2627 | + :global(html:not(.dark)) .sort-btn-active{background:rgba(0,0,0,0.08);color:#1d1d1f} | ||
| 2628 | + | ||
| 2629 | + /* Result groups */ | ||
| 2630 | + :global(html:not(.dark)) .result-group{border-bottom-color:rgba(0,0,0,0.06)} | ||
| 2631 | + :global(html:not(.dark)) .result-group-header{background:rgba(0,0,0,0.03)} | ||
| 2632 | + :global(html:not(.dark)) .result-group-header:hover{background:rgba(0,0,0,0.06)} | ||
| 2633 | + :global(html:not(.dark)) .result-group-name{color:#1d1d1f} | ||
| 2634 | + :global(html:not(.dark)) .result-group-tecnico{color:#999} | ||
| 2635 | + :global(html:not(.dark)) .result-group-count{color:#666;background:rgba(0,0,0,0.06)} | ||
| 2636 | + :global(html:not(.dark)) .group-chevron{color:#999} | ||
| 2637 | + :global(html:not(.dark)) .group-show-more{color:#888} | ||
| 2638 | + :global(html:not(.dark)) .group-show-more:hover{color:#333} | ||
| 2639 | + | ||
| 2640 | + /* Result cards */ | ||
| 2641 | + :global(html:not(.dark)) .result-card{border-bottom-color:rgba(0,0,0,0.06)} | ||
| 2642 | + :global(html:not(.dark)) .result-card:hover{background:rgba(0,0,0,0.03)} | ||
| 2643 | + :global(html:not(.dark)) .result-card-selected{background:rgba(154,133,80,0.08);border-left-color:#9A8550} | ||
| 2644 | + :global(html:not(.dark)) .result-card-grouped{border-bottom-color:rgba(0,0,0,0.04)} | ||
| 2645 | + :global(html:not(.dark)) .result-card-grouped:hover{background:rgba(0,0,0,0.03)} | ||
| 2646 | + :global(html:not(.dark)) .result-text{color:#1d1d1f} | ||
| 2647 | + :global(html:not(.dark)) .result-text :global(mark){background:rgba(154,133,80,0.25);color:#1d1d1f} | ||
| 2648 | + :global(html:not(.dark)) .result-type-badge{background:rgba(154,133,80,0.1);color:#9A8550} | ||
| 2649 | + :global(html:not(.dark)) .result-parent,:global(html:not(.dark)) .result-subarea,:global(html:not(.dark)) .result-class-type,:global(html:not(.dark)) .result-objeto-nivel{color:#888} | ||
| 2650 | + :global(html:not(.dark)) .result-objeto-codigo{color:#9A8550} | ||
| 2651 | + :global(html:not(.dark)) .result-year{color:#666;background:rgba(0,0,0,0.04)} | ||
| 2652 | + :global(html:not(.dark)) .result-monto{color:#3d7a5e} | ||
| 2653 | + :global(html:not(.dark)) .result-entity{color:#888} | ||
| 2654 | + :global(html:not(.dark)) .result-sep{color:#ccc} | ||
| 2655 | + :global(html:not(.dark)) .result-link-icon{color:#ccc} | ||
| 2656 | + | ||
| 2657 | + /* Load more */ | ||
| 2658 | + :global(html:not(.dark)) .load-more-container{border-top-color:rgba(0,0,0,0.06)} | ||
| 2659 | + :global(html:not(.dark)) .load-more-btn{color:#666;background:rgba(0,0,0,0.03);border-color:rgba(0,0,0,0.08)} | ||
| 2660 | + :global(html:not(.dark)) .load-more-btn:hover{background:rgba(0,0,0,0.06);color:#1d1d1f} | ||
| 2661 | + | ||
| 2662 | + /* Category filters light */ | ||
| 2663 | + /* cat-filters light - no extra bg needed, inherits from hero */ | ||
| 2664 | + :global(html:not(.dark)) .cat-filter-chip{background:rgba(0,0,0,0.03);border-color:rgba(0,0,0,0.06)} | ||
| 2665 | + :global(html:not(.dark)) .cat-filter-chip:hover{background:rgba(0,0,0,0.06);border-color:rgba(0,0,0,0.1)} | ||
| 2666 | + :global(html:not(.dark)) .cat-filter-label{color:#555} | ||
| 2667 | + :global(html:not(.dark)) .cat-filter-hidden .cat-filter-label{color:#bbb} | ||
| 2668 | + :global(html:not(.dark)) .cat-filter-count{color:#aaa} | ||
| 2669 | + | ||
| 2670 | + /* Context / messages */ | ||
| 2671 | + :global(html:not(.dark)) .search-context-title{color:#888} | ||
| 2672 | + :global(html:not(.dark)) .search-explain-link{color:#888;border-bottom-color:#bbb} | ||
| 2673 | + :global(html:not(.dark)) .search-explain-link:hover{color:#9A8550;border-bottom-color:#9A8550} | ||
| 2674 | + :global(html:not(.dark)) .results-hint,:global(html:not(.dark)) .results-loading{color:#999} | ||
| 2675 | + :global(html:not(.dark)) .results-empty{color:#888} | ||
| 2676 | + | ||
| 2677 | + /* Daily card */ | ||
| 2678 | + :global(html:not(.dark)) .daily-card{background:#ffffff;border-color:rgba(212,160,23,0.2);box-shadow:none} | ||
| 2679 | + :global(html:not(.dark)) .daily-card:hover{background:#ffffff;border-color:rgba(212,160,23,0.35);box-shadow:none} | ||
| 2680 | + :global(html:not(.dark)) .daily-card-title{color:#9A8550} | ||
| 2681 | + :global(html:not(.dark)) .daily-card-text{color:#666} | ||
| 2682 | + :global(html:not(.dark)) .daily-card-text strong{color:#9A8550} | ||
| 2683 | + :global(html:not(.dark)) .daily-card-arrow{color:#9A8550} | ||
| 2684 | + | ||
| 2685 | + /* Scroll hint */ | ||
| 2686 | + :global(html:not(.dark)) .scroll-hint{color:#999} | ||
| 2687 | + :global(html:not(.dark)) .scroll-hint span{color:#999} | ||
| 2688 | + | ||
| 2689 | + /* Pills (hero) */ | ||
| 2690 | + :global(html:not(.dark)) .pills-label{color:#888} | ||
| 2691 | + :global(html:not(.dark)) .pill::before{background:rgba(0,0,0,0.08)} | ||
| 2692 | + | ||
| 2693 | + /* Section dots */ | ||
| 2694 | + :global(html:not(.dark)) .section-dots{background:rgba(0,0,0,0.06);backdrop-filter:blur(8px)} | ||
| 2695 | + :global(html:not(.dark)) .section-dot{border-color:rgba(0,0,0,0.15);background:rgba(0,0,0,0.05)} | ||
| 2696 | + :global(html:not(.dark)) .section-dot:hover{border-color:rgba(0,0,0,0.3);background:rgba(0,0,0,0.1)} | ||
| 2697 | + :global(html:not(.dark)) .section-dot-active{background:#9A8550;border-color:#9A8550} | ||
| 2698 | + :global(html:not(.dark)) .section-dot-label{color:#888} | ||
| 2699 | + | ||
| 2700 | + /* Stats */ | ||
| 2701 | + :global(html:not(.dark)) .hero-stats{color:#888} | ||
| 2702 | + :global(html:not(.dark)) .stat-num{color:#1d1d1f} | ||
| 2703 | + :global(html:not(.dark)) .stat-link{border-bottom-color:rgba(0,0,0,0.2)} | ||
| 2704 | + :global(html:not(.dark)) .stat-link:hover{color:#9A8550;border-bottom-color:#9A8550} | ||
| 2705 | + | ||
| 2706 | + /* Nav */ | ||
| 2707 | + :global(html:not(.dark)) nav{background:#ffffff} | ||
| 2708 | + :global(html:not(.dark)) .nav-link{color:#666} | ||
| 2709 | + :global(html:not(.dark)) .nav-link:hover{color:#1d1d1f} | ||
| 2710 | + :global(html:not(.dark)) .nav-date{color:#888} | ||
| 2711 | + :global(html:not(.dark)) .date-label{color:#aaa} | ||
| 2712 | + :global(html:not(.dark)) .nav-sep{background:rgba(0,0,0,0.08)} | ||
| 2713 | + | ||
| 2714 | + /* ── CLASIFICADORES (already light, minor tweaks) ── */ | ||
| 2715 | + :global(html:not(.dark)) .clasificadores{background:#f0f0f2} | ||
| 2716 | + :global(html:not(.dark)) .clas-group-card{background:#f7f7f9;border-color:rgba(0,0,0,0.04)} | ||
| 2717 | + :global(html:not(.dark)) .clas-subgroup{background:#fafafa} | ||
| 2718 | + | ||
| 2719 | + /* ── HISTORIAS ── */ | ||
| 2720 | + :global(html:not(.dark)) .historias{background:#ffffff} | ||
| 2721 | + :global(html:not(.dark)) .historias .section-title{color:#1d1d1f} | ||
| 2722 | + :global(html:not(.dark)) .hist-subtitle{color:#888} | ||
| 2723 | + :global(html:not(.dark)) .hist-tag-row svg{stroke:#999} | ||
| 2724 | + :global(html:not(.dark)) .hist-tag-row .section-tag{color:#999} | ||
| 2725 | + :global(html:not(.dark)) .hist-card{background:color-mix(in srgb, var(--card-color) 8%, #ffffff);border-color:color-mix(in srgb, var(--card-color) 18%, rgba(0,0,0,0.06))} | ||
| 2726 | + :global(html:not(.dark)) .hist-card-hovered{background:color-mix(in srgb, var(--card-color) 12%, #ffffff);border-color:color-mix(in srgb, var(--card-color) 28%, rgba(0,0,0,0.06));transform:translateY(-3px)} | ||
| 2727 | + :global(html:not(.dark)) .hist-title{color:#1d1d1f} | ||
| 2728 | + :global(html:not(.dark)) .hist-desc{color:#666} | ||
| 2729 | + :global(html:not(.dark)) .hist-cta{color:#999} | ||
| 2730 | + :global(html:not(.dark)) .gold-link{color:#9A8550} | ||
| 2731 | + | ||
| 2732 | + /* ── VISUALIZACIONES (already light, minor tweaks) ── */ | ||
| 2733 | + :global(html:not(.dark)) .visualizaciones{background:#f5f5f7} | ||
| 2734 | + :global(html:not(.dark)) .vis-card{background:#ffffff} | ||
| 2735 | + | ||
| 2736 | + /* ── MANIFIESTO ── */ | ||
| 2737 | + :global(html:not(.dark)) .manifiesto{background:#f5f5f7} | ||
| 2738 | + :global(html:not(.dark)) .dot-pattern{opacity:0.03;background-image:radial-gradient(circle at 1px 1px,#333 0.5px,transparent 0)} | ||
| 2739 | + :global(html:not(.dark)) .section-tag-light{color:#888} | ||
| 2740 | + :global(html:not(.dark)) .manifiesto-title{color:#1d1d1f} | ||
| 2741 | + | ||
| 2742 | + /* ── DESCARGAS ── */ | ||
| 2743 | + :global(html:not(.dark)) .descargas{background:#ffffff} | ||
| 2744 | + :global(html:not(.dark)) .descargas-title{color:#1d1d1f} | ||
| 2745 | + :global(html:not(.dark)) .format-pill{color:#666;background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.08)} | ||
| 2746 | + :global(html:not(.dark)) .descargas-link{color:#9A8550} | ||
| 2747 | + :global(html:not(.dark)) .descargas-link:hover{color:#857040} | ||
| 2748 | + | ||
| 2749 | + /* ── FOOTER ── */ | ||
| 2750 | + :global(html:not(.dark)) footer{background:#f5f5f7;border-top-color:rgba(0,0,0,0.06)} | ||
| 2751 | + :global(html:not(.dark)) .footer-org{color:#999} | ||
| 2752 | + :global(html:not(.dark)) .footer-right{color:#999} | ||
| 2753 | + | ||
| 2754 | + /* ══════════════════════════════════════════════════════════════════════════ | ||
| 2418 | RESPONSIVE - TABLET (768px) | 2755 | RESPONSIVE - TABLET (768px) |
| 2419 | ══════════════════════════════════════════════════════════════════════════ */ | 2756 | ══════════════════════════════════════════════════════════════════════════ */ |
| 2420 | @media(max-width:768px){ | 2757 | @media(max-width:768px){ |
| ... | @@ -2432,7 +2769,9 @@ | ... | @@ -2432,7 +2769,9 @@ |
| 2432 | nav{padding:12px 24px} | 2769 | nav{padding:12px 24px} |
| 2433 | .hero-topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 0;width:100%;flex-shrink:0} | 2770 | .hero-topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 0;width:100%;flex-shrink:0} |
| 2434 | main[data-section="hero"] .nav-logo{position:static;height:52px;opacity:1;transform:none} | 2771 | main[data-section="hero"] .nav-logo{position:static;height:52px;opacity:1;transform:none} |
| 2435 | - main[data-section="hero"] .nav-menu-btn{position:static;width:40px;height:40px} | 2772 | + .hero-topbar-right{position:static;gap:6px} |
| 2773 | + .nav-menu-btn{width:40px;height:40px} | ||
| 2774 | + .nav-theme-btn{width:40px;height:40px} | ||
| 2436 | 2775 | ||
| 2437 | /* Hero */ | 2776 | /* Hero */ |
| 2438 | .hero{padding:32px 24px} | 2777 | .hero{padding:32px 24px} |
| ... | @@ -2480,7 +2819,7 @@ | ... | @@ -2480,7 +2819,7 @@ |
| 2480 | .mode-card-title{font-size:14px} | 2819 | .mode-card-title{font-size:14px} |
| 2481 | .mode-card-desc{font-size:11px;line-height:1.3} | 2820 | .mode-card-desc{font-size:11px;line-height:1.3} |
| 2482 | .clf-chip{padding:5px 10px;font-size:11px} | 2821 | .clf-chip{padding:5px 10px;font-size:11px} |
| 2483 | - .clf-check{width:12px;height:12px} | 2822 | + .clf-dot{width:5px;height:5px} |
| 2484 | .mode-pill{font-size:12px;padding:7px 12px} | 2823 | .mode-pill{font-size:12px;padding:7px 12px} |
| 2485 | .hint-desktop{display:none} | 2824 | .hint-desktop{display:none} |
| 2486 | .hint-mobile{display:inline} | 2825 | .hint-mobile{display:inline} |
| ... | @@ -2504,8 +2843,12 @@ | ... | @@ -2504,8 +2843,12 @@ |
| 2504 | .summary-tag{font-size:10px} | 2843 | .summary-tag{font-size:10px} |
| 2505 | .sort-buttons{flex-shrink:0} | 2844 | .sort-buttons{flex-shrink:0} |
| 2506 | .sort-btn{font-size:11px;padding:5px 8px} | 2845 | .sort-btn{font-size:11px;padding:5px 8px} |
| 2846 | + .cat-filters{gap:5px} | ||
| 2847 | + .cat-filter-chip{padding:3px 8px;font-size:10px} | ||
| 2848 | + .cat-filter-dot{width:5px;height:5px} | ||
| 2507 | .result-card{padding:12px 14px} | 2849 | .result-card{padding:12px 14px} |
| 2508 | .result-text{font-size:13px} | 2850 | .result-text{font-size:13px} |
| 2851 | + .result-cat-tag{font-size:9px} | ||
| 2509 | .result-monto{font-size:11px} | 2852 | .result-monto{font-size:11px} |
| 2510 | .result-year{font-size:11px;padding:2px 6px} | 2853 | .result-year{font-size:11px;padding:2px 6px} |
| 2511 | .result-entity{font-size:11px} | 2854 | .result-entity{font-size:11px} |
| ... | @@ -2606,7 +2949,8 @@ | ... | @@ -2606,7 +2949,8 @@ |
| 2606 | .hero-title{font-size:clamp(34px,10vw,44px)} | 2949 | .hero-title{font-size:clamp(34px,10vw,44px)} |
| 2607 | .hero-sub{font-size:13px;margin-bottom:16px} | 2950 | .hero-sub{font-size:13px;margin-bottom:16px} |
| 2608 | main[data-section="hero"] .nav-logo{height:44px} | 2951 | main[data-section="hero"] .nav-logo{height:44px} |
| 2609 | - main[data-section="hero"] .nav-menu-btn{width:36px;height:36px} | 2952 | + .nav-menu-btn{width:36px;height:36px} |
| 2953 | + .nav-theme-btn{width:36px;height:36px} | ||
| 2610 | .mode-cards{gap:10px;margin-top:12px} | 2954 | .mode-cards{gap:10px;margin-top:12px} |
| 2611 | .mode-card{padding:12px;gap:5px;border-radius:14px} | 2955 | .mode-card{padding:12px;gap:5px;border-radius:14px} |
| 2612 | .mode-card-icon svg{width:16px;height:16px} | 2956 | .mode-card-icon svg{width:16px;height:16px} |
| ... | @@ -2614,7 +2958,7 @@ | ... | @@ -2614,7 +2958,7 @@ |
| 2614 | .mode-card-desc{font-size:10px;line-height:1.3} | 2958 | .mode-card-desc{font-size:10px;line-height:1.3} |
| 2615 | .mode-card-classifiers{gap:4px} | 2959 | .mode-card-classifiers{gap:4px} |
| 2616 | .clf-chip{padding:4px 8px;font-size:10px;gap:4px} | 2960 | .clf-chip{padding:4px 8px;font-size:10px;gap:4px} |
| 2617 | - .clf-check{width:10px;height:10px} | 2961 | + .clf-dot{width:4px;height:4px} |
| 2618 | .mode-pill{font-size:11px;padding:6px 10px;border-radius:8px} | 2962 | .mode-pill{font-size:11px;padding:6px 10px;border-radius:8px} |
| 2619 | .mode-card-radio{top:12px;right:12px} | 2963 | .mode-card-radio{top:12px;right:12px} |
| 2620 | .radio-dot{width:14px;height:14px} | 2964 | .radio-dot{width:14px;height:14px} |
| ... | @@ -2636,6 +2980,12 @@ | ... | @@ -2636,6 +2980,12 @@ |
| 2636 | .summary-tag{font-size:9px} | 2980 | .summary-tag{font-size:9px} |
| 2637 | .summary-sep{font-size:9px} | 2981 | .summary-sep{font-size:9px} |
| 2638 | .sort-btn{font-size:10px;padding:4px 6px} | 2982 | .sort-btn{font-size:10px;padding:4px 6px} |
| 2983 | + .cat-filters{gap:4px} | ||
| 2984 | + .cat-filter-chip{padding:3px 7px;font-size:9px;gap:4px} | ||
| 2985 | + .cat-filter-dot{width:4px;height:4px} | ||
| 2986 | + .cat-filter-count{font-size:9px} | ||
| 2987 | + .result-cat-tag{font-size:8px} | ||
| 2988 | + .result-cat-tag::before{width:4px;height:4px} | ||
| 2639 | .summary-header-text{font-size:12px} | 2989 | .summary-header-text{font-size:12px} |
| 2640 | .result-group-header{padding:10px 12px} | 2990 | .result-group-header{padding:10px 12px} |
| 2641 | .result-group-name{font-size:12px} | 2991 | .result-group-name{font-size:12px} | ... | ... |
-
Please register or login to post a comment