
:root{--bg:#0d0f0e;--bg2:#111512;--panel:#171b18;--panel2:#1d231e;--ink:#f0ecdf;--muted:#aaa99d;--line:#343c35;--green2:#b2cb98;--gold:#cdbb84;--shadow:0 16px 50px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 20% 0%,rgba(77,102,68,.12),transparent 30rem),linear-gradient(180deg,var(--bg),var(--bg2) 46%,var(--bg));font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.55}
a{color:var(--green2);text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1220px,calc(100% - 32px));margin:auto}
.site-head{position:sticky;top:0;z-index:40;background:rgba(12,14,13,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.head-inner{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:12px 0}
.brand{font-weight:900;letter-spacing:.09em;color:var(--ink);text-transform:uppercase;white-space:nowrap}.brand small{display:block;font-size:.63rem;letter-spacing:.2em;color:var(--green2)}
.nav{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.nav a{color:var(--muted);padding:8px 10px;border-radius:8px;font-size:.88rem}.nav a:hover,.nav a.active{background:#1d231f;color:var(--ink);text-decoration:none}
.hero{padding:55px 0 30px;border-bottom:1px solid var(--line)}.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:var(--green2);font-weight:700}.hero h1,.page-title,.detail-title{font-family:Georgia,serif}.hero h1{font-size:clamp(2.5rem,7vw,5.7rem);line-height:.93;margin:.12em 0 .18em}.hero p{font-size:1.08rem;color:var(--muted);max-width:820px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:26px 0}.kpi{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:13px;padding:14px 16px}.kpi strong{display:block;font-family:Georgia,serif;font-size:1.8rem}.kpi span{font-size:.78rem;color:var(--muted)}
.toolbar{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin:26px 0 16px}input,select,textarea{width:100%;background:#0e110f;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:11px 12px;font:inherit}textarea{min-height:90px;resize:vertical}.result-note{color:var(--muted);font-size:.9rem;margin:0 0 18px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:14px;padding-bottom:30px}.card{display:flex;flex-direction:column;min-height:230px;border-radius:14px;padding:17px;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);transition:.16s transform,.16s border-color}.card:hover{transform:translateY(-3px);border-color:#5b6d5d;text-decoration:none}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mini-sigil{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;border:1px solid #445047;background:#111512;color:var(--green2);font-family:Georgia,serif;font-size:1.25rem}.card h2{font-family:Georgia,serif;font-size:1.42rem;line-height:1.08;margin:14px 0 2px}.original{color:var(--muted);font-style:italic}.meta{margin-top:auto;padding-top:17px;color:var(--muted);font-size:.86rem}
.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid #3b453d;background:#242a25;color:#dde4d7;font-size:.73rem}.badge.r{background:#243126}.badge.v{background:#29313b}.badge.o{background:#332e24}.badge.t{background:#3a2928}.badge.f{background:#302e38}.badge.a{background:#3a312a}
.pagination{display:flex;gap:8px;justify-content:center;align-items:center;padding:10px 0 50px}.pagination button,.btn{border:1px solid #475549;background:#223024;color:#edf4e9;border-radius:9px;padding:9px 12px;cursor:pointer;font:inherit}.pagination button[disabled]{opacity:.35;cursor:default}.btn.subtle{background:#171b18}.btn.gold{background:#342f21;border-color:#625a3d;color:#f1e7c9}
.page-hero{padding:35px 0 22px;border-bottom:1px solid var(--line)}.page-title{font-size:clamp(2.2rem,5vw,4.2rem);margin:.1em 0}.page-sub{color:var(--muted);max-width:800px}
.panel{background:rgba(23,27,24,.9);border:1px solid var(--line);border-radius:14px;padding:18px;margin:16px 0}.panel h2,.panel h3{font-family:Georgia,serif}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.data-table{width:100%;border-collapse:collapse;min-width:820px;background:#121512}.data-table th,.data-table td{text-align:left;padding:10px 11px;border-bottom:1px solid var(--line);vertical-align:top}.data-table th{background:#1b211c;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.data-table tr:hover td{background:#171c18}
.detail-hero{padding:36px 0 24px;border-bottom:1px solid var(--line)}.detail-title{font-size:clamp(2.7rem,6vw,5.4rem);line-height:.95;margin:.13em 0}.detail-id{font-size:.8rem;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:minmax(250px,350px) 1fr;gap:28px;padding:30px 0 60px}
.portrait{position:sticky;top:82px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:radial-gradient(circle at 50% 28%,#344034,#131714 64%);box-shadow:var(--shadow)}.portrait-img{aspect-ratio:4/5;display:grid;place-items:center;position:relative;overflow:hidden}.portrait-img img{width:100%;height:100%;object-fit:cover;display:none}.portrait-img.has-image img{display:block}.portrait-symbol{font-family:Georgia,serif;font-size:6rem;color:var(--green2);opacity:.65}.portrait-foot{padding:14px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.portrait-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.section{background:rgba(23,27,24,.86);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}.section h2{font-family:Georgia,serif;font-size:1.55rem;margin:0 0 14px}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.kv>div{background:#151916;padding:11px 12px}.kv b{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.option{border-top:1px solid var(--line);padding:13px 0}.option:first-child{border-top:0;padding-top:0}.option h3{margin:6px 0 5px}.navprev{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.group-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px}.group-card h3{margin:0;font-family:Georgia,serif}.group-card .count{font-size:1.7rem;color:var(--green2);font-family:Georgia,serif}
.image-manager{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}.image-item{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:14px}.image-item h3{font-family:Georgia,serif;margin:.15em 0}.image-links{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.img-preview{aspect-ratio:16/9;border-radius:9px;background:#101310;border:1px dashed #405043;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:.8rem;margin:8px 0}.img-preview img{width:100%;height:100%;object-fit:cover}.sticky-tools{position:sticky;top:62px;z-index:20;background:rgba(13,15,14,.96);padding:10px 0;border-bottom:1px solid var(--line)}
.footer{border-top:1px solid var(--line);padding:24px 0 42px;color:var(--muted);font-size:.86rem}.small{font-size:.82rem;color:var(--muted)}
@media(max-width:860px){.kpis{grid-template-columns:repeat(2,1fr)}.toolbar{grid-template-columns:1fr 1fr}.toolbar input{grid-column:1/-1}.detail-grid{grid-template-columns:1fr}.portrait{position:static}.portrait-img{aspect-ratio:16/9}.kv{grid-template-columns:1fr}.nav{display:none}}
@media print{.site-head,.portrait-actions,.navprev,.footer,.sticky-tools{display:none!important}body{background:white;color:#111}.section,.panel{border-color:#bbb;background:white}.detail-grid{grid-template-columns:260px 1fr}.portrait{position:static;box-shadow:none}.badge{color:#111;border-color:#999;background:white}}

/* v0.3: búsqueda avanzada y comparador */
.nav .new{color:var(--gold)}
.advanced-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;padding:24px 0 50px}.filters{align-self:start;position:sticky;top:74px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px}.filters h2{font-family:Georgia,serif;margin:.1em 0 .7em}.filter-block{margin:0 0 11px}.filter-block label{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px}.filter-check{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.88rem}.filter-check input{width:auto}.advanced-results{min-width:0}.search-card{display:grid;grid-template-columns:1fr auto;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px}.search-card h3{font-family:Georgia,serif;margin:.1em 0;font-size:1.25rem}.search-card .facts{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.search-actions{display:flex;flex-direction:column;gap:6px;justify-content:center}.compare-bar{position:sticky;bottom:0;z-index:30;background:rgba(13,15,14,.96);border-top:1px solid var(--line);padding:10px 0}.compare-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px}.compare-pills{display:flex;gap:6px;flex-wrap:wrap}.compare-pill{border:1px solid #536154;background:#1c241e;border-radius:999px;padding:5px 9px;font-size:.78rem}.compare-grid{overflow:auto;margin:24px 0 50px;border:1px solid var(--line);border-radius:14px}.compare-table{border-collapse:collapse;min-width:980px;width:100%;background:#121512}.compare-table th,.compare-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px;vertical-align:top}.compare-table th{background:#1c221d;position:sticky;top:0;z-index:5}.compare-table .rowhead{width:180px;position:sticky;left:0;background:#181d19;z-index:4;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.compare-selectors{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.compare-selectors select{min-width:0}.match{outline:1px solid #627764}.trait-text{white-space:pre-wrap}.sortrow{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-bottom:10px}.sortrow select{width:auto}.empty-state{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}
@media(max-width:900px){.advanced-layout{grid-template-columns:1fr}.filters{position:static}.compare-selectors{grid-template-columns:1fr 1fr}.search-card{grid-template-columns:1fr}.search-actions{flex-direction:row;justify-content:flex-start}}


/* v0.4 visual studio */
.visual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;padding:18px 0 46px}
.visual-card{display:grid;grid-template-columns:125px 1fr;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:220px}
.visual-thumb{background:radial-gradient(circle at 50% 30%,#354137,#101310 70%);display:grid;place-items:center;min-height:220px;color:var(--green2);font-family:Georgia,serif;font-size:3.4rem}
.visual-thumb img{width:100%;height:100%;object-fit:cover}.visual-body{padding:14px}.visual-body h3{font-family:Georgia,serif;font-size:1.35rem;margin:8px 0 2px}
.visual-traits{font-size:.8rem;color:var(--muted);max-height:6.3em;overflow:hidden}.visual-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.card-thumb{height:112px;margin:-17px -17px 14px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 30%,#2a342b,#111512 72%);overflow:hidden;display:grid;place-items:center;color:var(--green2);font-family:Georgia,serif;font-size:2.8rem}
.card-thumb img{width:100%;height:100%;object-fit:cover}
.family-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.family-links a{display:inline-flex;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
@media(max-width:560px){.visual-card{grid-template-columns:1fr}.visual-thumb{min-height:180px}}


/* v0.5 publication + review */
.production-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.publish-state{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:.74rem}.publish-state.ok{background:#243a28;color:#cde6d1}.publish-state.warn{background:#3c3421;color:#eadca6}.publish-state.bad{background:#412928;color:#ecc4c0}
.sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 0 50px}.sheet-card{display:grid;grid-template-columns:100px 1fr;gap:10px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:10px;min-height:140px}.sheet-img{height:120px;border-radius:8px;overflow:hidden;background:#101410;display:grid;place-items:center;color:var(--green2);font-family:Georgia,serif;font-size:1.4rem}.sheet-img img{width:100%;height:100%;object-fit:cover}.sheet-card b{font-family:Georgia,serif;font-size:1.05rem}.sheet-card small{display:block;color:var(--muted)}.sheet-card p{font-size:.72rem;color:var(--muted);margin:.35rem 0;max-height:5.2em;overflow:hidden}
.brief-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;padding:20px 0 50px}.brief-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.brief-head{display:flex;justify-content:space-between;gap:12px}.brief-card h2{font-family:Georgia,serif;margin:.25rem 0}.brief-card pre{white-space:pre-wrap;font-family:inherit;font-size:.78rem;color:var(--muted);background:#101310;padding:10px;border-radius:8px}.brief-card details{border-top:1px solid var(--line);padding-top:9px}.brief-card summary{cursor:pointer;color:var(--green2)}
@media(max-width:900px){.sheet-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.sheet-grid{grid-template-columns:1fr}.brief-grid{grid-template-columns:1fr}}
@media print{.sheet-grid{grid-template-columns:repeat(3,1fr);gap:6px}.sheet-card{break-inside:avoid;min-height:110px}.sheet-img{height:95px}.sheet-card p{font-size:6.5pt}.sheet-card b{font-size:9pt}}
