/* Base. Escenario negro, tipografía serif + sans, las obras con su color. El semitono es solo de Diseños. */
@font-face{font-family:"Serif";src:url(../fonts/serif.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Serif";src:url(../fonts/serif-italic.woff2) format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:"Sans";src:url(../fonts/sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
@property --r{syntax:"<length>";inherits:false;initial-value:0px}
:root{
  --ink:#000;--paper:#efebe3;--dim:rgba(239,235,227,.58);--faint:rgba(239,235,227,.16);--red:#ff4a3d;--panel:rgba(14,14,14,.97);
  --serif:"Serif",Georgia,serif;--sans:"Sans",system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--deck:128px;--hd:64px;--gut:clamp(20px,3vw,44px);
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
[hidden]{display:none!important}
html{background:var(--ink)}
html,body{height:100%}
body{background:var(--ink);color:var(--paper);font:400 16px/1.45 var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
a{color:inherit;text-decoration:none}
img,video,canvas{display:block}
ol,ul{list-style:none;padding:0}
::selection{background:var(--paper);color:var(--ink)}
:focus-visible{outline:1.5px solid var(--paper);outline-offset:3px}
*{scrollbar-width:thin;scrollbar-color:var(--faint) transparent}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-thumb{background:var(--faint);border-radius:3px}
::-webkit-scrollbar-track{background:transparent}

#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0}
#gl.off{background:radial-gradient(circle at 70% 40%,#1a1a1a,#000 60%)}
#stage{position:fixed;inset:0;z-index:1;outline:0}
#stage>:not(.sec){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#wipe{position:fixed;inset:0;width:100%;height:100%;z-index:40;pointer-events:none;display:none}
#wipe.on{display:block}

.skip{position:fixed;left:8px;top:-60px;z-index:60;background:var(--paper);color:var(--ink);padding:8px 12px}
.skip:focus{top:8px}

/* iconos y botones de icono */
.i{width:22px;height:22px;flex:none}
.ib{flex:none;width:40px;height:40px;display:inline-grid;place-items:center;border-radius:50%;color:var(--paper);transition:background .3s var(--ease),color .3s var(--ease),opacity .3s}
.ib:hover:not(:disabled){background:rgba(239,235,227,.12)}
.ib:active:not(:disabled){transform:scale(.94)}
.ib:disabled{opacity:.25;pointer-events:none}
.ib.txt{width:auto;display:inline-flex;gap:10px;padding:0 16px 0 12px;border-radius:21px;font:500 13px/1 var(--sans)}

/* volumen: un riel fino con relleno */
.volw{display:flex;align-items:center;gap:2px}
.vol{width:84px;height:20px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;--v:85%}
.vol::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(90deg,var(--paper) var(--v),rgba(239,235,227,.2) 0)}
.vol::-moz-range-track{height:3px;border-radius:2px;background:rgba(239,235,227,.2)}
.vol::-moz-range-progress{height:3px;border-radius:2px;background:var(--paper)}
.vol::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4.5px;border-radius:50%;background:var(--paper);transition:transform .2s}
.vol::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--paper)}
.vol:hover::-webkit-slider-thumb{transform:scale(1.25)}

/* ---------- deck: el reproductor-navegador de las secciones (abajo a la izquierda) */
.deck{position:fixed;left:16px;bottom:16px;z-index:30;width:356px;display:flex;flex-direction:column;gap:8px;transition:transform .7s var(--ease),opacity .5s var(--ease)}
.d-bar,.d-slot{border-radius:16px;background:var(--panel);border:1px solid rgba(239,235,227,.1);box-shadow:0 20px 60px rgba(0,0,0,.55)}
.d-bar{position:relative;display:flex;gap:14px;padding:12px 12px 10px}
.d-slot{display:none;max-height:min(46vh,340px);overflow-y:auto;overscroll-behavior:contain;padding:6px;scrollbar-width:thin}
.d-slot.has{display:block}
body:not(.in-sec) .deck{transform:translateY(calc(100% + 40px));opacity:0;pointer-events:none}
.d-cover{flex:none;width:76px;height:76px;display:grid;place-items:center;border-radius:10px;background:#0a0a0a;border:1px solid rgba(239,235,227,.08);color:var(--paper);transition:background .4s,transform .5s var(--ease)}
.d-cover .logo{width:62%;height:62%;transition:transform .6s var(--ease)}
.d-cover:hover{background:#161616}
.d-cover:hover .logo{transform:rotate(-10deg) scale(1.06)}
.d-main{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.d-now{display:flex;align-items:baseline;gap:9px;padding:2px 2px 0;white-space:nowrap;overflow:hidden}
.d-now b{font:500 11px/1 var(--sans);color:var(--red)}
.d-now span{font:italic 400 24px/1 var(--serif)}
.d-seg{display:flex;gap:4px;padding:7px 2px 4px}
.d-seg li{flex:1;position:relative}
.d-seg a{display:block;padding:6px 0}
.d-seg i{display:block;height:3px;border-radius:2px;background:rgba(239,235,227,.18);transition:background .4s,transform .3s var(--ease)}
.d-seg .done i{background:rgba(239,235,227,.55)}
.d-seg .cur i{background:var(--paper)}
.d-seg a:hover i{transform:scaleY(1.8);background:var(--paper)}
.d-tip{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%,4px);padding:5px 9px;border-radius:7px;background:var(--paper);color:var(--ink);font:500 12px/1 var(--sans);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .3s var(--ease)}
.d-seg a:hover .d-tip,.d-seg a:focus-visible .d-tip{opacity:1;transform:translate(-50%,0)}
.d-ctl{display:flex;align-items:center;gap:0;margin:0 -6px -4px}
.d-ctl .ib{width:36px;height:36px}
.d-ctl .ib .i{width:19px;height:19px}
.sp{flex:1}
.d-ctl .vol{width:70px}
/* transporte traído desde una sección (móvil): reproducir en la fila de controles; barra y tiempo en lugar de los segmentos */
.d-txp,.d-txs,.d-txt{display:none}
.deck.has-tx .d-txp{display:contents}
.deck.tx-seek .d-txs{display:block}
.deck.tx-seek .d-seg{display:none}
.deck.tx-seek .d-txt{display:block;margin-left:auto}
.d-txs .sk{margin:0}
.d-txs .sk::before{content:"";position:absolute;left:0;right:0;top:-8px;bottom:-4px}
.d-txt .st-time{display:block;min-width:0;font:500 12px/1 var(--sans);color:var(--dim)}
.d-ctl .bigplay{width:38px;height:38px;margin:0 6px 0 4px}
.d-ctl .bigplay .i{width:17px;height:17px}
.d-ctl .bigplay .load{font-size:11px}

.d-pop{position:absolute;left:-1px;bottom:calc(100% + 10px);width:calc(100% + 2px);z-index:5;padding:8px;border-radius:14px;background:var(--panel);border:1px solid rgba(239,235,227,.1);box-shadow:0 20px 60px rgba(0,0,0,.5);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .4s var(--ease)}
.d-pop.on{opacity:1;transform:none;pointer-events:auto}
.d-pop a{display:flex;align-items:baseline;gap:12px;padding:9px 10px;border-radius:9px;transition:background .25s}
.d-pop a:hover,.d-pop a:focus-visible{background:rgba(239,235,227,.1);outline:0}
.d-pop b{width:20px;font:500 11px/1 var(--sans);color:var(--dim)}
.d-pop b .i{width:15px;height:15px;transform:translateY(2px)}
.d-pop span{font:400 21px/1.1 var(--serif)}
.d-pop a[aria-current] span{font-style:italic}
.d-pop a[aria-current] b{color:var(--red)}

.top{position:fixed;top:0;left:0;right:0;height:var(--hd);z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 calc(var(--gut) - 8px) 0 calc(var(--gut) - 10px);pointer-events:none}
.top::before{content:"";position:absolute;inset:0 0 -24px;background:linear-gradient(rgba(0,0,0,.72),transparent);pointer-events:none;z-index:-1}
.top>*{pointer-events:auto}
.t-l,.t-r{display:flex;align-items:center;min-width:0}
.t-soc{display:flex;align-items:center;min-width:0}
.t-div{width:1px;height:20px;margin:0 8px;background:var(--faint)}
.back{height:40px;padding:0 16px 0 10px;transition:background .3s var(--ease),opacity .4s,transform .5s var(--ease)}
.back .bk{display:grid}
.back .bk .i{width:20px;height:20px;transform:scaleX(-1);transition:transform .45s var(--ease)}
.back:hover .bk .i{transform:scaleX(-1) translateX(-4px)}
.top.home .back{opacity:0;pointer-events:none;transform:translateX(-10px)}
.net{position:relative}
.net .i{width:21px;height:21px;transition:transform .4s var(--ease)}
.net:hover .i{transform:translateY(-2px)}
.net::after{content:attr(data-tip);position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%,-4px);padding:5px 9px;border-radius:7px;background:var(--paper);color:var(--ink);font:500 12px/1 var(--sans);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .3s var(--ease)}
.net:hover::after,.net:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.cbtn{height:40px;min-width:122px;justify-content:center;border:1px solid rgba(239,235,227,.22);padding:0 16px 0 12px;transition:background .3s,color .3s,border-color .3s}
.cbtn:hover{background:var(--paper)!important;color:var(--ink);border-color:var(--paper)}
.cbtn[aria-expanded="true"]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cbtn .ci{display:grid}
.cbtn .i{width:19px;height:19px}
body.in-sec .only-home{display:none}
body.watching .deck,body.contact-open .deck{opacity:0;pointer-events:none;transform:translateY(20px)}
.cpanel{position:fixed;inset:0;z-index:25;display:flex;overflow-y:auto;padding:calc(var(--hd) + 10px) var(--gut) 40px;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.cpanel>.contact{margin:auto}

#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,8px);z-index:50;background:var(--paper);color:var(--ink);padding:10px 16px;border-radius:22px;font:500 14px/1.2 var(--sans);opacity:0;pointer-events:none;transition:opacity .3s,transform .4s var(--ease);max-width:90vw;text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}

.sec{position:absolute;inset:0;padding:calc(var(--hd) + 6px) var(--gut) var(--deck)}
.fail{display:grid;place-items:center;height:100%;font:italic 28px/1.2 var(--serif)}
.fail button{text-decoration:underline}
.sec-h{display:flex;align-items:baseline;gap:14px;font:italic 400 clamp(34px,3.6vw,56px)/1 var(--serif)}
.sec-h small{font:500 13px/1 var(--sans);font-style:normal;color:var(--dim)}

/* pie de obra: número + título */
.cap{display:flex;align-items:baseline;gap:10px;margin-top:12px;font:italic 400 22px/1.1 var(--serif)}
.cap b{font:500 11px/1 var(--sans);color:var(--dim);font-style:normal;letter-spacing:.04em}
.cap time{margin-left:auto;font:500 12px/1 var(--sans);color:var(--dim);font-style:normal}

/* ---------- reproductor de video */
.scrim{position:absolute;inset:0;z-index:20;background:rgba(0,0,0,.88);cursor:pointer}
.player{position:absolute;z-index:21;background:#000;overflow:hidden;overflow:clip;border-radius:16px;box-shadow:0 0 0 1px var(--faint),0 40px 120px rgba(0,0,0,.8)}
.player{container-type:inline-size}
.player:focus{outline:0}
.player.fill{inset:0;border-radius:inherit;box-shadow:none}
.player>.yt{position:absolute;inset:0;background:#000}
.yt-box{position:absolute;inset:0;overflow:hidden}
.yt iframe{position:absolute;left:0;top:0;display:block;width:100%;height:100%;border:0;pointer-events:none}
.player>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.player>.develop{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .7s var(--ease);filter:brightness(.7)}
.player.shown>.develop{opacity:0;pointer-events:none}
.player-ui{position:absolute;inset:0;display:flex;flex-direction:column}
.player-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 26px 24px;background:linear-gradient(rgba(0,0,0,.72),transparent);transition:opacity .4s}
.player-top .ib{background:rgba(0,0,0,.4);box-shadow:inset 0 0 0 1px var(--faint)}
.player-top .ib:hover:not(:disabled){background:rgba(239,235,227,.16)}
.player-top p{font:italic 32px/1.2 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:6px}
.player-bot{position:relative;padding:30px 20px 14px;background:linear-gradient(transparent,rgba(0,0,0,.84) 50%);transition:opacity .4s}
.player-mid{flex:1;min-height:0;cursor:pointer;display:grid;place-items:center}
.player-mid>*{grid-area:1/1}
.vbig{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--ink);opacity:0;transform:scale(.82);transition:opacity .35s var(--ease),transform .6s var(--ease);pointer-events:none}
.vbig .i{width:32px;height:32px;margin-left:3px}
.player:not(.playing):not(.wait) .vbig{opacity:1;transform:none}
.player:not(.playing):not(.wait) .player-mid:hover .vbig{transform:scale(1.07)}
.pb-row{display:flex;align-items:center;gap:4px}
.pb-row .pp{width:50px;height:50px;margin-right:10px;background:var(--paper);color:var(--ink);transition:transform .5s var(--ease)}
.pb-row .pp:hover:not(:disabled){background:var(--paper);transform:scale(1.07)}
.pb-row .pp .i{width:22px;height:22px}
.pt{font:500 14px/1 var(--sans);font-variant-numeric:tabular-nums;padding:0}
.pb-row .pt:first-of-type{margin-left:6px}
.pb-row .dim{margin:0 6px}
.dim{color:var(--dim)}
.player.idle{cursor:none}
.player.idle .player-top,.player.idle .player-bot{opacity:0}
/* reproductor angosto (reels): sin barra de volumen, el botón de silencio basta */
@container (max-width:560px){.pb-row .vol{display:none}.pb-row .pp{margin-right:6px}.pb-row .dim{margin:0 4px}}
/* ajustes (calidad y velocidad) y salto de 10 s */
.pmenu{position:absolute;right:16px;bottom:calc(100% - 20px);display:none;flex-direction:column;gap:6px;padding:8px;border-radius:16px;background:#0d0d0d;box-shadow:0 0 0 1px var(--faint),0 -14px 40px rgba(0,0,0,.55);max-width:calc(100% - 32px)}
.player.menu .pmenu{display:flex}
.pm-col{display:flex;align-items:center;gap:2px;min-width:0}
.pm-col+.pm-col{padding-top:6px;border-top:1px solid var(--faint)}
.pm-h{flex:none;width:40px;height:40px;display:grid;place-items:center;color:rgba(239,235,227,.78)}
.pm-h .i{width:24px;height:24px}
.pm-list{display:flex;flex-wrap:wrap;gap:2px;min-width:0}
.pm-i{display:flex;align-items:baseline;gap:6px;padding:9px 12px;border-radius:10px;font:400 21px/1 var(--serif);font-variant-numeric:lining-nums tabular-nums;color:var(--paper);white-space:nowrap;outline:0;transition:background .2s,color .2s}
.pm-i small{font:500 11px/1 var(--sans);color:var(--dim)}
.pm-i:hover{background:rgba(239,235,227,.08)}
.pm-i:focus-visible{background:rgba(239,235,227,.14)}
.pm-i.on{color:var(--red);font-style:italic}
@container (max-width:430px){.pb-row{gap:0}.pb-row .pt:first-of-type{margin-left:4px}.pb-row .ib{width:34px}.pb-row .pp{width:44px;height:44px;margin-right:4px}.pb-row .dim{margin:0 3px}.pb-row .pt{font-size:13px}.pm-i{padding:9px 7px;font-size:19px}.pm-h{width:34px}.pmenu{right:10px;padding:6px}}
.skipfx{position:absolute;top:50%;width:92px;height:92px;margin-top:-46px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.55);box-shadow:inset 0 0 0 1px var(--faint);pointer-events:none;animation:skipfx .7s var(--ease) both}
.skipfx .i{width:46px;height:46px}
.skipfx.l{left:12%}
.skipfx.r{right:12%}
@keyframes skipfx{0%{opacity:0;transform:scale(.7)}25%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08)}}
@media (pointer:coarse) and (min-width:720px){.pm-i{padding:12px 13px}}
/* barra de tiempo */
.sk{position:relative;height:22px;margin:0 6px;cursor:pointer;touch-action:none;outline-offset:0}
.player .sk{margin:0}
.player .sk::before{content:"";position:absolute;left:0;right:0;top:-12px;bottom:-6px}
.sk-rail{position:absolute;left:0;right:0;top:9px;height:4px;border-radius:2px;background:rgba(239,235,227,.2);overflow:hidden;transition:height .2s,top .2s}
.sk-load,.sk-done{position:absolute;inset:0;transform-origin:left;transform:scaleX(0)}
.sk-load{background:rgba(239,235,227,.3)}
.sk-done{background:var(--paper)}
.sk-knob{position:absolute;top:11px;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--red);transform:scale(0);transition:transform .2s var(--ease)}
.sk-tip{position:absolute;bottom:22px;transform:translateX(-50%);padding:4px 8px;border-radius:6px;background:var(--paper);color:var(--ink);font:600 12px/1 var(--sans);font-variant-numeric:tabular-nums;opacity:0;pointer-events:none;transition:opacity .2s}
.sk:hover .sk-rail,.seeking .sk-rail{top:8px;height:6px}
.sk:hover .sk-knob,.seeking .sk-knob,.sk:focus-visible .sk-knob{transform:scale(1)}
.sk:hover .sk-tip{opacity:1}
/* cargando: un anillo en el centro, para que nunca parezca que el clic no hizo nada */
.buf{width:54px;height:54px;border-radius:50%;border:2px solid rgba(239,235,227,.18);border-top-color:var(--paper);opacity:0;transition:opacity .3s;animation:spin .9s linear infinite;pointer-events:none}
.player.wait .buf{opacity:1;transition-delay:.15s}
@keyframes spin{to{transform:rotate(360deg)}}

/* escritorio: con un panel alto el reproductor se estira hasta debajo del encabezado */
@media (min-width:900px){
  .deck.tall{top:calc(var(--hd) + 6px)}
  .deck.tall .d-slot{flex:1;min-height:0;max-height:none;display:flex;flex-direction:column;padding:10px}
}
@media (max-width:719px){
  :root{--deck:124px;--gut:16px;--hd:54px}
  .deck{left:8px;right:8px;bottom:8px;width:auto}
  .d-bar{gap:10px;padding:8px 8px 6px}
  .d-slot{max-height:min(38vh,236px)}
  .d-cover{width:58px;height:58px}
  .d-now span{font-size:20px}
  .d-ctl .vol{display:none}
  .top{gap:4px;padding:0 8px}
  .back{width:40px;padding:0;justify-content:center}
  .back>span:not(.bk){display:none}
  .ib.net{width:32px;height:40px;border-radius:12px}
  .net .i{width:19px;height:19px}
  .net::after{display:none}
  .t-div{margin:0 4px}
  .t-r{margin-left:auto}
  .top::before{inset:0 0 -14px;background:linear-gradient(rgba(0,0,0,.94) 62%,transparent)}
  .top.home .t-l{display:none}
  .cbtn{min-width:0;gap:6px;padding:0 12px 0 10px;font-size:12.5px}
  .pb-row .vol{display:none}
  .player{border-radius:14px}
  .player-top{padding:6px 6px 14px 16px}
  .player-top p{font-size:22px}
  .player-bot{padding:18px 12px 6px}
  .pb-row{gap:0}
  .pb-row .pp{width:44px;height:44px;margin-right:6px}
  .pb-row .pt:first-of-type{margin-left:4px}
  .pb-row .dim{margin:0 4px}
  .pt{font-size:13px}
  .vbig{width:68px;height:68px}
  .vbig .i{width:26px;height:26px}
  .pmenu{right:10px;bottom:calc(100% - 14px);max-width:calc(100% - 20px)}
  .pmenu{gap:2px;padding:4px 6px}
  .pm-col{flex-wrap:nowrap}
  .pm-col+.pm-col{padding-top:2px}
  .pm-h{width:34px;height:36px}
  .pm-h .i{width:22px;height:22px}
  .pm-list{flex-wrap:nowrap;gap:0}
  .pm-i{font-size:18px;padding:9px 8px;gap:4px}
  .pm-i small{font-size:10px}
}
@media (max-width:339px){
  .ib.net{width:28px}
  .ib.only-home{width:36px}
  .t-div{margin:0 2px}
  .cbtn{padding:0 10px 0 8px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
