:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d12;--bg-elevated:#14161d;--border:#262a35;--border-hover:#3a3f4f;--text:#e8e9ed;--text-muted:#9498a6;--accent:#7c9eff;--accent-soft:#7c9eff24;--surface-subtle:#ffffff0d;--accent-console:#4ddba3;--accent-console-soft:#4ddba324;--font-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top, #12141c 0%, var(--bg) 55%);color:var(--text);min-height:100vh;margin:0;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 3px);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(to bottom, transparent 0%, var(--accent-console-soft) 50%, transparent 100%);height:160px;animation:10s linear infinite scan-sweep;position:fixed;top:-160px;left:0;right:0}@keyframes scan-sweep{to{top:100vh}}.app{max-width:1120px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.app-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.app-header h1{letter-spacing:-.02em;margin:0;font-size:2rem}.terminal-cursor{color:var(--accent-console);margin-left:.15em;animation:1.1s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{50%{opacity:0}}.app-header__subtitle{color:var(--text-muted);font-family:var(--font-mono);margin:.35rem 0 0;font-size:.85rem}.app-header__subtitle:before{content:"> ";color:var(--accent-console)}.locale-switcher{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.locale-switcher button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.4rem .75rem;font-size:.8rem;font-weight:600}.locale-switcher button:hover{color:var(--text)}.locale-switcher__active{background:var(--accent-soft);color:var(--accent)!important}.locale-switcher button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.project-card{--card-accent:var(--border);--card-glow:none;background:var(--bg-elevated);background-image:var(--card-glow);border:1px solid var(--border);border-top:3px solid var(--card-accent);border-radius:14px;flex-direction:column;gap:.75rem;padding:1.15rem 1.25rem 1.25rem;transition:border-color .15s,transform .15s;display:flex;position:relative}.project-card:hover{border-color:var(--border-hover);border-top-color:var(--card-accent);transform:translateY(-2px)}.project-card:before,.project-card:after{content:"";border:2px solid var(--accent-console);opacity:0;pointer-events:none;width:14px;height:14px;transition:opacity .2s;position:absolute}.project-card:before{border-bottom:none;border-right:none;border-top-left-radius:4px;top:-1px;left:-1px}.project-card:after{border-top:none;border-left:none;border-bottom-right-radius:4px;bottom:-1px;right:-1px}.project-card:hover:before,.project-card:hover:after,.project-card:focus-within:before,.project-card:focus-within:after{opacity:.85}.project-card[data-project=arccraft]{--card-accent:#ff8a2a;--card-glow:radial-gradient(ellipse 70% 55% at 100% 0%, #ff8a2a33 0%, transparent 60%), radial-gradient(ellipse 50% 40% at 0% 100%, #ffa14d1f 0%, transparent 55%)}.project-card[data-project=devdeck]{--card-accent:var(--accent);--card-glow:radial-gradient(ellipse 80% 60% at 100% 0%, var(--accent-soft) 0%, transparent 65%)}.project-card[data-project=evoprecio]{--card-accent:#4f9eff;--card-glow:radial-gradient(ellipse 75% 60% at 100% 0%, #4f9eff2e 0%, transparent 62%), radial-gradient(ellipse 60% 50% at 0% 100%, #b8860b24 0%, transparent 58%)}.project-card[data-project=fobforge]{--card-accent:#00d4a0;--card-glow:radial-gradient(ellipse 85% 65% at 100% 0%, #00d4a029 0%, transparent 62%)}.project-card[data-project=selfforge]{--card-accent:#f97316;--card-glow:radial-gradient(ellipse 70% 55% at 0% 100%, #b43c0c38 0%, transparent 62%), radial-gradient(ellipse 55% 50% at 100% 0%, #962d0a2e 0%, transparent 58%)}.project-card[data-project=repasosDePrimaria]{--card-accent:#ff9e80;--card-glow:radial-gradient(ellipse 65% 50% at 100% 0%, #ffd84d29 0%, transparent 60%), radial-gradient(ellipse 55% 45% at 0% 100%, #4fd1c529 0%, transparent 58%)}.project-card[data-project=trailstats]{--card-accent:#fc5200;--card-glow:radial-gradient(ellipse 75% 60% at 0% 0%, #3f7d5a3d 0%, transparent 60%), radial-gradient(ellipse 50% 40% at 100% 100%, #fc520024 0%, transparent 55%)}.project-card__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.project-card__name{letter-spacing:-.01em;margin:0;font-size:1.15rem}.project-card__description{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.project-card__meta{gap:1.5rem;margin:0;display:flex}.project-card__meta dt{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.7rem}.project-card__meta dd{font-size:.9rem;font-weight:600;font-family:var(--font-mono);margin:.1rem 0 0}.version-counter,.counter-value{font-variant-numeric:tabular-nums}.project-card__stack{flex-wrap:wrap;gap:.4rem;display:flex}.stack-tag{background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);border-radius:6px;padding:.2rem .55rem;font-size:.75rem}.project-card__github{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.75rem 1.25rem;margin:0;padding:.6rem 0;display:flex}.project-card__github dt{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.65rem}.project-card__github dd{font-size:.85rem;font-weight:600;font-family:var(--font-mono);margin:.1rem 0 0}.project-card__topics{flex-wrap:wrap;gap:.4rem;display:flex}.topic-tag{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);border-radius:999px;padding:.15rem .5rem;font-size:.7rem}.project-card__header--manifest{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.project-card__kind{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-console);border:1px solid var(--accent-console);background:var(--accent-console-soft);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.65rem}.project-card__header-meta{flex:none;align-items:center;gap:.5rem;display:flex}.data-source{border:1px solid var(--text-muted);opacity:.6;cursor:help;border-radius:50%;width:.4rem;height:.4rem;transition:opacity .2s;display:inline-block}.project-card:hover .data-source,.data-source:hover{opacity:.95}.data-source[data-source=live]{background:var(--accent-console);border-color:var(--accent-console)}.data-source[data-source=snapshot]{background:0 0}.data-source[data-source=static]{background:0 0;border-style:dotted}@media (prefers-reduced-motion:reduce){.data-source{transition:none}}.project-card__tagline{color:var(--text-muted);margin:-.4rem 0 0;font-size:.85rem;font-style:italic}.project-card__showcase{color:var(--text-muted);font-size:.85rem}.project-card__showcase summary{cursor:pointer;color:var(--text);padding:.25rem 0;font-weight:600}.project-card__showcase summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-card__showcase p{margin:.5rem 0 0;line-height:1.5}.stack-tag--link{text-decoration:none;transition:border-color .15s,color .15s}.stack-tag--link:hover{color:var(--accent-console);border-color:var(--accent-console)}.project-card__links{border-top:1px solid var(--border);flex-wrap:wrap;gap:.75rem;margin-top:auto;padding-top:.5rem;display:flex}.project-link{color:var(--accent);font-size:.85rem;font-weight:600;text-decoration:none}.project-link:hover{text-decoration:underline}.project-link--disabled{color:var(--text-muted);opacity:.5;cursor:default;text-decoration:none}.app-footer{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin-top:3rem;padding-top:1.25rem;font-size:.8rem;display:flex}.app-footer__version{color:var(--text);font-weight:600;font-family:var(--font-mono)}.app-footer__legend{font-family:var(--font-mono);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.25rem .9rem;margin:0;font-size:.7rem;display:flex}.app-footer__legend dt{text-transform:uppercase;letter-spacing:.05em}.app-footer__legend dd{align-items:center;gap:.4rem;margin:0;display:flex}.app-footer__privacy{color:var(--text-muted);text-underline-offset:.2em;text-decoration:underline}.app-footer__privacy:hover,.app-footer__privacy:focus-visible{color:var(--accent)}.privacy{border:1px solid var(--border);background:var(--bg-elevated);width:calc(100vw - 2rem);max-width:46rem;max-height:calc(100vh - 4rem);color:var(--text);border-radius:10px;padding:0;overflow:hidden}.privacy::backdrop{background:#06080cb8}.privacy__body{max-height:calc(100vh - 9rem);padding:1.75rem;line-height:1.6;overflow-y:auto}.privacy__body h2{margin:0;font-size:1.35rem}.privacy__body h3{font-size:.95rem;font-family:var(--font-mono);color:var(--accent-console);margin:1.75rem 0 .4rem}.privacy__body p{color:var(--text);margin:0}.privacy__updated{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)!important;margin-top:.35rem!important}.privacy__body a{color:var(--accent)}.privacy__actions{border-top:1px solid var(--border);background:var(--surface-subtle);justify-content:flex-end;padding:.9rem 1.75rem;display:flex}.privacy__close{border:1px solid var(--border-hover);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.45rem 1.1rem;font-size:.85rem}.privacy__close:hover,.privacy__close:focus-visible{border-color:var(--accent);color:var(--accent)}.app-footer__privacy:focus-visible,.privacy__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.privacy__body:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
