@font-face{font-family:"Melody3";src:url(/marca.woff?v=1) format("woff");font-display:swap}
/* frikis.com: la agenda friki de España. Misma familia que dreamers.es (masthead de fanzine, columna de lectura, un color por sección)
   pero con papel crema, masthead violeta, marcador rosa y los eventos como ENTRADAS: un taco de color con la fecha a un lado. */
:root{
--paper:#fbf6ee;--surface:#fff;--surface2:#f3ebdd;--ink:#1b1230;--muted:#5b4d70;--rule:#e4d8c8;--edge:#8a7a9c;
--link:#5b21b6;--visited:#7c3aed;--hot:#ff3d81;--on-hot:#1b1230;--mast:#2e1065;--on-mast:#fbf6ee;--mast-2:#4c1d95;--focus:#5b21b6;
--on-k:#fff;--k-comic:#1d4ed8;--k-manga:#c0185f;--k-videojuegos:#0f766e;--k-rol:#a14a07;--k-cine:#7e22ce;--k-literatura:#4d7c0f;--k-cosplay:#c2410c;--k-musica:#0369a1;--k-otros:#475569;
--font-ui:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--font-brand:"Melody3","Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
--font-titulo:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
--wrap:1160px}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]){--paper:#120a22;--surface:#1c1233;--surface2:#261a44;--ink:#f3eefc;--muted:#b7a9d1;--rule:#3a2a5f;--edge:#8f7fb0;--link:#c4a8ff;--visited:#d9c5ff;--mast:#0a0416;--mast-2:#2e1065;--focus:#c4a8ff;
--on-k:#120a22;--k-comic:#7aa2ff;--k-manga:#ff7ab3;--k-videojuegos:#3fd6c4;--k-rol:#f0a050;--k-cine:#c999ff;--k-literatura:#a8d65a;--k-cosplay:#ff9a62;--k-musica:#5cc0f2;--k-otros:#9fb0c8}}
:root[data-tema="oscuro"]{--paper:#120a22;--surface:#1c1233;--surface2:#261a44;--ink:#f3eefc;--muted:#b7a9d1;--rule:#3a2a5f;--edge:#8f7fb0;--link:#c4a8ff;--visited:#d9c5ff;--mast:#0a0416;--mast-2:#2e1065;--focus:#c4a8ff;
--on-k:#120a22;--k-comic:#7aa2ff;--k-manga:#ff7ab3;--k-videojuegos:#3fd6c4;--k-rol:#f0a050;--k-cine:#c999ff;--k-literatura:#a8d65a;--k-cosplay:#ff9a62;--k-musica:#5cc0f2;--k-otros:#9fb0c8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:1.0625rem;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:visited{color:var(--visited)}
a:hover{background:var(--hot);color:var(--on-hot)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
h1,h2,h3{text-wrap:balance;line-height:1.15;margin:0}
.fk-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--hot);color:var(--on-hot);padding:10px 14px;font-weight:700;border-radius:4px;text-decoration:none}
.fk-skip:focus{top:8px}
.fk-wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
.fk-page{padding-block:24px 64px;display:grid;gap:32px;align-content:start}
/* masthead */
.fk-mast{background:var(--mast);color:var(--on-mast);border-bottom:4px solid var(--hot)}
.fk-mast-in{display:flex;align-items:center;gap:10px 28px;flex-wrap:wrap;padding-block:12px}
.fk-brand{font-family:var(--font-brand);font-size:2.4rem;font-weight:400;letter-spacing:0;line-height:1;color:var(--on-mast);text-decoration:none;padding-bottom:3px}
.fk-brand:hover,.fk-brand:visited{background:none;color:var(--on-mast)}
.fk-brand b{color:var(--hot);font-weight:400}
.fk-com{font-size:.45em;font-weight:400;letter-spacing:0;opacity:.7;margin-left:1px}
.fk-nav{flex:1 1 auto}
.fk-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:wrap}
.fk-tab{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:var(--on-mast);text-decoration:none;font-weight:700;font-size:.9375rem;letter-spacing:.02em}
.fk-tab:visited{color:var(--on-mast)}
.fk-tab:hover{background:var(--hot);color:var(--on-hot)}
.fk-tab.on{box-shadow:inset 0 -4px 0 var(--hot)}
.fk-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.fk-tool{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--edge);background:transparent;color:var(--on-mast);border-radius:4px;cursor:pointer}
.fk-tool:hover{background:var(--hot);border-color:var(--hot);color:var(--on-hot)}
/* botones */
.fk-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:2px solid var(--ink);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
a.fk-btn:visited{color:var(--ink)}
.fk-btn:hover{background:var(--ink);color:var(--paper)}
.fk-btn-hi{background:var(--hot);border-color:var(--hot);color:var(--on-hot)}
a.fk-btn-hi:visited{color:var(--on-hot)}
.fk-btn-hi:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.fk-btn-l{border-color:var(--edge);font-weight:600}
.fk-btn[hidden]{display:none}
.fk-acc{display:flex;flex-wrap:wrap;gap:10px;margin:0}
/* titulares */
.fk-kicker{margin:0 0 6px;font-size:.8125rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--k,var(--link))}
.fk-h{font-size:1.4rem;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.fk-h-fila{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;border-bottom:2px solid var(--ink)}
.fk-h-fila .fk-h{border:0;margin:0}
.fk-mas{font-weight:700}
.fk-ph{display:grid;gap:8px}
.fk-ph h1{font-size:clamp(1.8rem,5vw,2.6rem)}
.fk-lede{margin:0;font-size:1.1875rem;color:var(--muted);max-width:62ch}
.fk-nota{margin:0;color:var(--muted)}
.fk-vacio{padding:18px;background:var(--surface);border:2px dashed var(--rule);margin:0}
.fk-bc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.9375rem;color:var(--muted)}
.fk-bc li+li::before{content:"/";margin-right:8px}
/* portada */
.fk-hero{background:linear-gradient(135deg,var(--mast-2),var(--mast));color:var(--on-mast)}
.fk-hero-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px 40px;align-items:center;padding-block:44px}
.fk-hero h1{font-family:var(--font-titulo);font-size:clamp(2.2rem,6vw,3.6rem);letter-spacing:-.02em}
.fk-hero .fk-lede{color:#e6dcf7;margin:14px 0 22px}
.fk-hero .fk-kicker{color:var(--hot)}
.fk-hero .fk-btn{background:transparent;border-color:var(--on-mast);color:var(--on-mast)}
.fk-hero .fk-btn:hover{background:var(--on-mast);color:var(--mast)}
.fk-hero .fk-btn-hi{background:var(--hot);border-color:var(--hot);color:var(--on-hot)}
.fk-hero .fk-btn-hi:hover{background:var(--on-mast);border-color:var(--on-mast);color:var(--mast)}
.fk-hero-s{transform:rotate(1.5deg)}
@media (max-width:760px){.fk-hero-in{grid-template-columns:1fr;padding-block:30px}.fk-hero-s{transform:none}}
@media (max-width:640px){.fk-mast-in{gap:4px 12px;padding-block:10px}.fk-brand{font-size:2rem}.fk-nav{order:3;flex:1 0 100%;overflow-x:auto;scrollbar-width:none;margin-inline:-6px}.fk-nav::-webkit-scrollbar{display:none}.fk-nav ul{flex-wrap:nowrap}.fk-tab{white-space:nowrap;padding:0 12px}.fk-tools .fk-btn{min-height:40px;padding:0 12px;font-size:.9375rem}}
/* chips */
.fk-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fk-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:2px solid var(--k,var(--edge));border-radius:999px;background:var(--surface);color:var(--ink);font-weight:600;text-decoration:none}
a.fk-chip:visited{color:var(--ink)}
.fk-chip:hover{background:var(--k,var(--hot));color:var(--on-k)}
.fk-n{display:inline-block;min-width:1.6em;padding:0 6px;border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.8125rem;text-align:center}
.fk-chip:hover .fk-n{background:rgba(255,255,255,.25);color:inherit}
/* colores por tipo de evento */
.fk-k-comic{--k:var(--k-comic)}.fk-k-manga{--k:var(--k-manga)}.fk-k-videojuegos{--k:var(--k-videojuegos)}.fk-k-rol{--k:var(--k-rol)}
.fk-k-cine{--k:var(--k-cine)}.fk-k-musica{--k:var(--k-musica)}.fk-k-literatura{--k:var(--k-literatura)}.fk-k-cosplay{--k:var(--k-cosplay)}.fk-k-otros{--k:var(--k-otros)}
.ag-k-comic{--k:var(--k-comic)}.ag-k-manga{--k:var(--k-manga)}.ag-k-videojuegos{--k:var(--k-videojuegos)}.ag-k-rol{--k:var(--k-rol)}
.ag-k-cine{--k:var(--k-cine)}.ag-k-literatura{--k:var(--k-literatura)}.ag-k-cosplay{--k:var(--k-cosplay)}.ag-k-otros{--k:var(--k-otros)}
/* LA ENTRADA: taco de color con la fecha, perforado, y el cuerpo con nombre, sitio y tipo */
.fk-tks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:16px}
.fk-tks-1{grid-template-columns:1fr}
.fk-tk-a{display:grid;grid-template-columns:100px minmax(0,1fr);min-height:104px;text-decoration:none;color:var(--ink);background:var(--surface);border:2px solid var(--k,var(--ink));border-radius:10px;overflow:hidden;box-shadow:4px 4px 0 var(--k,var(--ink))}
a.fk-tk-a:visited{color:var(--ink)}
.fk-tk-a:hover{background:var(--surface);color:var(--ink);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--k,var(--ink))}
.fk-tk-fecha{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:10px 6px;background:var(--k,var(--ink));color:var(--on-k);text-align:center;line-height:1}
.fk-tk-dia{font-size:1.75rem;font-weight:900;letter-spacing:-.04em;white-space:nowrap}
.fk-tk-mes{margin-top:4px;font-size:.9375rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.fk-tk-sem{margin-top:3px;font-size:.75rem;opacity:.85;text-transform:uppercase;letter-spacing:.06em}
.fk-tk-cuerpo{position:relative;display:flex;flex-direction:column;gap:3px;justify-content:center;padding:12px 14px 12px 18px;border-left:2px dashed var(--k,var(--ink));min-width:0}
.fk-tk-cuerpo::before,.fk-tk-cuerpo::after{content:"";position:absolute;left:-9px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid var(--k,var(--ink))}
.fk-tk-cuerpo::before{top:-9px}.fk-tk-cuerpo::after{bottom:-9px}
.fk-tk-tipo{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--k,var(--muted))}
.fk-tk-n{font-weight:800;font-size:1.0625rem;line-height:1.2;overflow-wrap:anywhere}
.fk-tk-l{color:var(--muted);font-size:.9375rem}
.fk-tk-e{display:block}
.fk-s-cancelado .fk-tk-n{text-decoration:line-through}
.fk-s-cancelado .fk-tk-a{border-style:dashed;box-shadow:none}
.fk-b{display:inline-block;padding:0 7px;font-size:.8125rem;font-weight:700;background:var(--hot);color:var(--on-hot);border-radius:3px}
.fk-b-x{background:#b3261e;color:#fff}
/* el directorio de enlaces: tarjetas con el color del tipo */
.fk-ens{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px}
.fk-en{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--surface);border:2px solid var(--rule);border-left:8px solid var(--k,var(--edge));border-radius:6px;min-width:0}
.fk-en-n{font-size:1.125rem;overflow-wrap:anywhere}
.fk-en-n a{color:var(--ink);text-decoration-color:var(--k)}
.fk-en-n a:hover{background:var(--k);color:var(--on-k)}
.fk-en-h{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.04em;color:var(--k,var(--muted));overflow-wrap:anywhere}
.fk-en-x{margin:2px 0 0}
.fk-en-u{margin:2px 0 0;font-size:.9375rem}.fk-en-u span{color:var(--muted)}
.fk-chips-s{margin-top:6px;gap:6px}.fk-chips-s .fk-chip{min-height:30px;padding:0 10px;font-size:.8125rem;border-width:1px;border-color:var(--rule)}
.fk-nov{list-style:none;margin:0;padding:0;display:grid;gap:8px}.fk-nov li{padding:8px 12px;background:var(--surface);border-left:4px solid var(--hot)}.fk-nov-d{color:var(--muted);font-size:.9375rem}
/* calendario del mes (la misma tabla que en dreamers.es, con el color de cada tipo) */
.ag-cal{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--surface);border:2px solid var(--ink);margin:0}
.ag-cal caption{display:none}
.ag-cal th{font-size:.8125rem;color:var(--muted);padding:6px 4px;border-bottom:2px solid var(--ink);text-align:center;background:var(--surface2)}
.ag-sem{border-top:1px solid var(--rule)}
.ag-c,.ag-v,.ag-ev{padding:0;border-left:1px solid var(--rule);min-width:0}
.ag-c:first-child,.ag-v:first-child,.ag-ev:first-child{border-left:0}
.ag-c{vertical-align:top;height:2rem;padding:4px 6px 0}
.ag-v,.ag-ev{vertical-align:top}
.ag-car:last-child .ag-v,.ag-car:last-child .ag-ev{padding-bottom:6px}
.ag-v{height:1px}
.ag-fuera{background:var(--surface2);color:var(--muted)}
.ag-d{display:block;font-size:.8125rem;font-weight:700}
.ag-hoy .ag-d{display:inline-block;padding:0 7px;border-radius:999px;background:var(--hot);color:var(--on-hot)}
.ag-ev{padding:0 3px 3px}
.ag-e{display:block;height:100%;padding:3px 7px 4px;font-size:.8125rem;line-height:1.25;color:var(--ink);text-decoration:none;border-left:4px solid var(--k,var(--link));border-radius:2px;background:color-mix(in srgb,var(--k,var(--link)) 16%,transparent)}
a.ag-e:visited{color:var(--ink)}
a.ag-e:hover,a.ag-e:focus-visible{background:var(--k,var(--hot));color:var(--on-k);border-left-color:var(--ink)}
.ag-sigue{border-right:2px dotted var(--k)}.ag-viene{border-left:2px dotted var(--k)}
.ag-s-cancelado .ag-en{text-decoration:line-through}
.ag-en{display:block;font-weight:700;overflow-wrap:anywhere}
.ag-ec{display:block;margin-top:1px;font-size:.75rem;color:var(--muted)}
a.ag-e:hover .ag-ec,a.ag-e:focus-visible .ag-ec{color:inherit}
.ag-mas{display:block;margin:2px 4px 0;font-size:.75rem;font-weight:700}
.ag-nav{display:flex;justify-content:space-between;gap:12px;margin:0 0 4px}
.fk-mes-t{font-size:1.6rem;margin:0 0 6px}
.ag-nav a{display:inline-block;padding-block:8px;font-weight:700}
@media (max-width:640px){.ag-c{height:1.5rem;padding:2px 3px 0}.ag-d{font-size:.75rem}.ag-ev{padding:0 1px 2px}.ag-e{height:8px;padding:0;border:0;background:var(--k)}.ag-en,.ag-ec{display:none}.ag-mas{font-size:.6875rem;margin:1px 2px 0}}
/* la ficha de un evento */
.fk-evento{border:2px solid var(--k);border-top-width:10px;border-radius:10px;background:var(--surface);padding:22px clamp(16px,3vw,32px) 26px;display:grid;gap:18px}
.fk-ev-g{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start}
.fk-ev-m{display:grid;gap:16px;max-width:64ch}
.fk-ev-x{margin:0;font-size:1.125rem}
.fk-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}
.fk-dl dt{font-weight:800;color:var(--muted)}.fk-dl dd{margin:0}
.fk-cartel img{max-width:300px;border:2px solid var(--ink);border-radius:6px;box-shadow:5px 5px 0 var(--k)}
@media (max-width:760px){.fk-ev-g{grid-template-columns:1fr}.fk-cartel img{max-width:220px}}
.fk-cta{background:var(--surface);border:2px dashed var(--hot);border-radius:10px;padding:20px 24px}
.fk-cta .fk-h{border:0;padding:0;margin:0 0 8px}
.fk-cta p{margin:0;max-width:70ch}
/* pie */
.fk-pie{background:var(--mast);color:var(--on-mast);border-top:4px solid var(--hot)}
.fk-pie a{color:#e6dcf7}.fk-pie a:visited{color:#e6dcf7}.fk-pie a:hover{color:var(--on-hot)}
.fk-pie-in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;padding-block:32px}
.fk-pie-in p{margin:8px 0 0;max-width:46ch;color:#cfc2ea}
.fk-pie-h{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--hot);margin:0 0 8px}
.fk-pie ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fk-brand-pie{font-size:1.7rem}
@media (max-width:760px){.fk-pie-in{grid-template-columns:1fr}}
/* aviso de cambio */
.fk-dlg{width:min(520px,94vw);padding:20px;border:2px solid var(--ink);border-radius:10px;background:var(--surface);color:var(--ink)}
.fk-dlg::backdrop{background:rgba(18,10,34,.65)}
.fk-dlg h2{margin:0 0 4px;font-size:1.25rem}.fk-dlg-ev{margin:0 0 14px;color:var(--muted);font-weight:700}
.fk-fr{margin:0 0 12px}.fk-fr label{display:block;margin:0 0 4px;font-weight:700}
.fk-fr input[type=url],.fk-fr input[type=email],.fk-fr textarea{display:block;width:100%;padding:8px 12px;border:2px solid var(--edge);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit}
.fk-fr textarea{min-height:6rem;resize:vertical}
.fk-opc,.fk-ayuda{color:var(--muted);font-weight:400;font-size:.875rem;margin:4px 0 0}
.fk-err{margin:4px 0 0;color:#b3261e;font-weight:700}.fk-ok{margin:8px 0 0;color:#0b7a53;font-weight:700}
.fk-err[hidden],.fk-ok[hidden]{display:none}
.fk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fk-fb{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
@media (prefers-reduced-motion:reduce){.fk-tk-a{transition:none}.fk-tk-a:hover{transform:none}}
