/* ---------- Insignias y tarjetas de proyecto ---------- */
.pbs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}
.pbad{display:inline-block;padding:0 .7rem;background:var(--line);color:var(--text);font:italic 700 .8rem var(--tag);text-transform:uppercase;letter-spacing:.06em;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.pbad.s-dev{background:#ffd34d;color:#000}.pbad.s-released{background:var(--red);color:#fff}.pbad.s-planned{background:var(--edge);color:var(--text)}
.pcov{display:block;width:calc(100% + 4rem);max-width:none;margin:-2rem -2rem 1rem;aspect-ratio:16/9;object-fit:cover}
.pj small{display:block;margin-top:.4rem}

/* ---------- Estudios ---------- */
.stgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.5rem}
.stcard{position:relative;display:grid;gap:.6rem;align-content:start;padding:2rem;background:var(--panel);border-top:6px solid var(--red);text-decoration:none;clip-path:polygon(0 0,100% 0,100% 94%,94% 100%,0 100%);transition:transform .25s,background .25s,color .25s}
.stcard:hover{transform:translateY(-.4rem);background:var(--coffee);color:#f6f1ec}
.stcard h3{font:italic 500 1.9rem/1.1 var(--display)}
.stcard p{margin:0;color:var(--muted)}.stcard:hover p{color:#e3d3c1}
.stcard small{color:var(--latte)}.stcard:hover small{color:#f2dcc3}
.stlogo{width:4.2rem;height:4.2rem;object-fit:contain}
.stlogo.st0{display:grid;place-items:center;background:var(--red);color:#fff;font:italic 500 2.4rem var(--display);clip-path:polygon(14% 0,100% 0,86% 100%,0 100%)}
.stgo{font:italic 700 1rem var(--tag);text-transform:uppercase;letter-spacing:.06em;color:var(--red-l)}.stcard:hover .stgo{color:#fff}
.stcard.flip{background:#c0c0c0;color:#000;border-top-color:#1084d0;clip-path:none;font-family:'VT323','DotGothic16',monospace;box-shadow:inset -1px -1px #808080,inset 1px 1px #fff,6px 6px 0 rgba(0,0,0,.4)}
.stcard.flip h3{font:400 .9rem/1.6 'Press Start 2P','DotGothic16',monospace;color:#000080}
.stcard.flip p{color:#222;font-size:1.3rem}.stcard.flip small{color:#444;font-size:1.15rem}.stcard.flip .stgo{color:#c4007a}
.stcard.flip:hover{background:#d4d4d4;color:#000}.stcard.flip:hover p{color:#222}.stcard.flip:hover small{color:#444}.stcard.flip:hover .stgo{color:#c4007a}
.stuhead .stbig{display:block;max-width:18rem;max-height:7rem;margin:1rem 0;object-fit:contain}
.about{max-width:46rem}
.sband{margin-top:3rem;padding-top:6rem}
.mbio{margin:.6rem 0 0;color:var(--latte);font-size:.95rem;line-height:1.45}

/* ---------- Videos (tipo YouTube) ---------- */
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.6rem 1.2rem}
.vcard{display:grid;gap:.4rem;align-content:start;color:inherit;text-decoration:none;transition:transform .25s}
.vcard:hover{transform:perspective(800px) translateY(-.3rem) rotateY(calc(var(--tx,0) * 5deg)) rotateX(calc(var(--ty,0) * -4deg))}
.vth{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--panel);border-left:4px solid var(--red);clip-path:polygon(0 0,100% 0,100% 90%,94% 100%,0 100%)}
.vth img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vcard:hover .vth img{transform:scale(1.07)}
.vph{position:absolute;inset:0;display:grid;place-items:center;font-size:3rem;color:var(--red-l)}
.vdur{position:absolute;right:.5rem;bottom:.5rem;padding:0 .5rem;background:rgba(0,0,0,.82);color:#fff;font:700 .85rem var(--sans);font-style:normal}
.vlock{position:absolute;left:.5rem;top:.5rem;padding:0 .6rem;background:#ffd34d;color:#000;font:italic 800 .8rem var(--tag);text-transform:uppercase}
.vcard b{font:600 1.05rem/1.3 var(--sans)}.vcard small{color:var(--muted)}
.watch{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:2.5rem;padding-block:2rem 4rem}
.wplayer{aspect-ratio:16/9;background:#000;border:1px solid var(--edge)}
.wplayer video{display:block;width:100%;height:100%;margin:0}
.wt1{margin:1rem 0 .4rem;font:italic 500 clamp(1.8rem,3.6vw,2.8rem)/1.1 var(--display)}
.wmeta{margin:0 0 .8rem;color:var(--muted)}
.wdesc{margin-top:1rem;max-width:none}
.wnext{display:grid;gap:1.2rem;align-content:start}
.vc{display:block;padding:0;margin-top:2rem;border:0}
@media (max-width:980px){.watch{grid-template-columns:1fr}}

.tools .vq{max-width:18rem;margin:0}

/* ---------- Adjuntos de las entradas ---------- */
.att{display:grid;gap:1.2rem;max-width:44rem;margin-top:1.4rem}
.att figure{margin:0}.att figcaption{margin-top:.3rem;color:var(--muted);font-size:.95rem}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.8rem}
.gal img{display:block;width:100%;margin:0;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--edge);cursor:zoom-in}
.avid video{display:block;width:100%;margin:0;background:#000;border:1px solid var(--edge)}
.aaud audio{width:100%}
.files{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.filechip{display:grid;padding:.7rem 1rem;background:var(--panel);border-left:5px solid var(--red);color:inherit;text-decoration:none;transition:background .2s,color .2s}
.filechip small{color:var(--muted)}.filechip:hover{background:var(--red);color:#fff}.filechip:hover small{color:#fff}
.body h2,.body h3,.body h4{margin:1.5rem 0 .5rem;font:italic 500 1.5rem/1.2 var(--display)}
.body blockquote{margin:1rem 0;padding:.5rem 1rem;border-left:4px solid var(--red);color:var(--muted)}
.body pre{overflow:auto;margin:1rem 0;padding:1rem;background:var(--stage);border:1px solid var(--edge)}
.body hr{height:2px;margin:2rem 0;border:0;background:var(--red)}
.body ol{padding-left:1.4rem}

/* ---------- Panel del estudio ---------- */
.grp{margin:1.6rem 0 .5rem;font:italic 500 1.5rem var(--display)}
.covrow{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:.75rem}
.covrow img{width:6rem;height:6rem;object-fit:cover;border:1px solid var(--edge)}
.mini-c{width:3rem;height:3rem;object-fit:cover}.mini-c.sq{border:1px solid var(--edge)}
.mini-c.ph1{display:grid;place-items:center;background:var(--red);color:#fff;font:italic 700 1.2rem var(--tag)}
.stu-form{margin-bottom:1.5rem}
.ulist button[disabled]{opacity:.4}

/* ---------- Ficha de un miembro ---------- */
.memd{position:relative;width:min(44rem,94vw);padding:0;background:var(--panel)}
.mem-in{display:grid;grid-template-columns:14rem 1fr}
.mem-ph{aspect-ratio:1;background:var(--coffee)}
.mem-ph img{display:block;width:100%;height:100%;object-fit:cover}
.mem-ph .ph0{display:grid;place-items:center;width:100%;height:100%;font:italic 500 6rem var(--display);color:#fff}
.mem-tx{padding:1.5rem}
.mem-tx h3{margin:.3rem 0;font:italic 500 2rem var(--display)}
.mroles{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 1rem;padding:0;list-style:none}
.mroles li{padding:.1rem .8rem;background:var(--line);font:italic 700 .85rem var(--tag);text-transform:uppercase;letter-spacing:.06em;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.memx{position:absolute;top:.5rem;right:.5rem}
.team>li[data-m]{cursor:pointer}
@media (max-width:640px){.mem-in{grid-template-columns:1fr}}

/* ---------- Editor v3 ---------- */
.ed-tabs{display:flex;gap:.4rem;padding:.8rem 1.75rem 0;border-bottom:1px solid var(--line)}
.ed-tabs button[aria-selected="true"]{background:var(--red);color:#fff}
.ed-pane[hidden]{display:none}
input.big{padding-block:.4rem;font:italic 500 1.8rem var(--display)}
#f-body{min-height:18rem;resize:vertical;font:500 1.05rem/1.6 var(--sans)}
.ed-meta{display:flex;justify-content:space-between;gap:1rem;margin:.2rem 0 0;color:var(--muted);font-size:.9rem}
.atts{display:grid;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none}
.at{display:flex;gap:.8rem;align-items:center;padding:.6rem;background:var(--line)}
.at img{width:3.6rem;height:3.6rem;object-fit:cover}
.at>div{flex:1;min-width:0}.at small{display:block;color:var(--muted)}.at input{margin:.2rem 0 0}
.atk{display:grid;place-items:center;flex:none;width:3.6rem;height:3.6rem;background:var(--red);color:#fff;font:italic 700 .85rem var(--tag);text-transform:uppercase}
progress{width:100%;accent-color:var(--red)}
.pcov+.pbs{margin-top:0}

/* ---------- Inicio con Google ---------- */
.gwrap{display:none;margin:1rem 0;text-align:center;color:var(--muted)}
html[data-g] .gwrap{display:block}
.gwrap .gbtn{display:flex;justify-content:center;margin-top:.5rem}

/* ---------- Fondo animado extra: partículas y manchas de luz ---------- */
#fx{position:absolute;inset:0;width:100%;height:100%}
.bg .blob{border-radius:50%;filter:blur(70px);opacity:.28;mix-blend-mode:screen}
.bg .b1{left:-12vw;top:30vh;width:48vw;height:48vw;background:radial-gradient(circle,#e01b2d,transparent 65%);animation:blobA 26s ease-in-out infinite alternate}
.bg .b2{right:-10vw;bottom:-8vw;width:40vw;height:40vw;background:radial-gradient(circle,#ffd34d,transparent 65%);opacity:.14;animation:blobB 32s ease-in-out infinite alternate}
@keyframes blobA{to{transform:translate(18vw,-12vh) scale(1.25)}}
@keyframes blobB{to{transform:translate(-20vw,-16vh) scale(1.3)}}
html[data-theme="light"] .bg .blob{mix-blend-mode:multiply;opacity:.16}

/* ---------- Preferencias y reproductor ---------- */
.pg{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--edge)}
.pg legend{padding:0 .5rem;font:italic 700 1rem var(--tag);text-transform:uppercase;letter-spacing:.08em;color:var(--red-l)}
.plist{display:grid;gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none}
.plist button{display:flex;justify-content:space-between;gap:1rem;width:100%;text-align:left}
.plist button[aria-current="true"]{background:var(--red);color:#fff}
#mprev,#mnext{flex:none;display:grid;place-items:center;width:2rem;height:2rem;padding:0;border-radius:50%;clip-path:none}
.player:hover,.player:focus-within{max-width:34rem}
.amp-pl button{display:flex;justify-content:space-between;gap:1rem;width:100%;padding:.2rem .5rem;border:0;background:none;color:#0f0;clip-path:none;font:400 1.3rem 'VT323',monospace;text-align:left;text-transform:none;letter-spacing:0}
.amp-pl button[aria-current="true"]{background:#0a0;color:#000}
.fs-prof{display:flex;gap:1rem;align-items:center;margin-bottom:.8rem}
.fs-plogo{width:5rem;height:5rem;object-fit:contain;image-rendering:pixelated}
.ph1.big{width:5rem;height:5rem;font-size:2rem}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
