/* Tutorial del taller: una carta por zona y el resto velado en negro con desenfoque.
   El hueco es una máscara con degradé, así el corte queda difuminado y se desliza entre pasos. */
@property --tuto-l{syntax:'<length>';inherits:false;initial-value:0px}
@property --tuto-t{syntax:'<length>';inherits:false;initial-value:0px}
@property --tuto-r{syntax:'<length>';inherits:false;initial-value:0px}
@property --tuto-b{syntax:'<length>';inherits:false;initial-value:0px}

dialog.tuto{--tuto-curva:cubic-bezier(.22,1,.36,1);position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;color:#efefef}
dialog.tuto::backdrop{background:transparent}

.tuto__velo{
  --tuto-pluma:40px;
  position:absolute;inset:0;
  background:rgba(0,0,0,.7);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  -webkit-mask-image:
    linear-gradient(90deg,#000 calc(var(--tuto-l) - var(--tuto-pluma)),transparent var(--tuto-l),transparent var(--tuto-r),#000 calc(var(--tuto-r) + var(--tuto-pluma))),
    linear-gradient(180deg,#000 calc(var(--tuto-t) - var(--tuto-pluma)),transparent var(--tuto-t),transparent var(--tuto-b),#000 calc(var(--tuto-b) + var(--tuto-pluma)));
  mask-image:
    linear-gradient(90deg,#000 calc(var(--tuto-l) - var(--tuto-pluma)),transparent var(--tuto-l),transparent var(--tuto-r),#000 calc(var(--tuto-r) + var(--tuto-pluma))),
    linear-gradient(180deg,#000 calc(var(--tuto-t) - var(--tuto-pluma)),transparent var(--tuto-t),transparent var(--tuto-b),#000 calc(var(--tuto-b) + var(--tuto-pluma)));
  -webkit-mask-composite:source-over;mask-composite:add;
  opacity:0;
  transition:--tuto-l .75s var(--tuto-curva),--tuto-t .75s var(--tuto-curva),--tuto-r .75s var(--tuto-curva),--tuto-b .75s var(--tuto-curva),opacity .5s ease;
}
dialog.tuto.tuto--visible .tuto__velo{opacity:1}
dialog.tuto.tuto--quieto .tuto__velo,dialog.tuto.tuto--quieto .tuto__carta{transition:none}

.tuto__carta{
  position:absolute;left:0;top:0;box-sizing:border-box;
  width:min(327px,calc(100vw - 45px));min-height:103px;
  display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:7px;align-items:start;
  padding:20px 56px 18px 11px;background:#f66227;border-radius:8px 8px 8px 0;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  opacity:0;scale:.94;filter:blur(6px);
  transition:translate .75s var(--tuto-curva),opacity .4s ease,scale .55s var(--tuto-curva),filter .45s ease;
  will-change:translate,opacity;
}
dialog.tuto.tuto--visible .tuto__carta{opacity:1;scale:1;filter:none}
/* El foco mide 32 px y el dibujo conserva los 25 px de alto de la referencia. */
dialog.tuto .tuto__foco{display:block;width:32px;height:32px;margin-top:-4px;fill:#e4fe44}
.tuto__texto{transition:opacity .2s ease,translate .3s var(--tuto-curva)}
.tuto__texto--cambia{opacity:0;translate:0 4px}
.tuto__texto h2{margin:0;font:500 20px/24px 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.01em;color:#e4fe44}
.tuto__texto p{margin:2px 0 0;font:400 14px/21px Archivo,Arial,sans-serif;letter-spacing:0;color:#efefef}

.tuto__siguiente{position:absolute;right:-13px;bottom:-15px;width:45px;height:45px;display:grid;place-items:center;padding:0;border:0;border-radius:0;background:#202020;color:#e3e3e3;cursor:pointer;transition:color .25s ease,scale .25s var(--tuto-curva)}
dialog.tuto .tuto__siguiente svg{display:block;width:32px;height:32px;fill:currentColor}
.tuto__flecha{transition:transform .35s var(--tuto-curva)}
.tuto__siguiente:hover{color:#e4fe44}
.tuto__siguiente:hover .tuto__flecha{transform:translateX(1.5px)}
.tuto__siguiente:active{scale:.94}
.tuto__siguiente:focus-visible{outline:3px solid #e4fe44;outline-offset:3px}
.tuto__tramo{transition:fill .5s ease,opacity .5s ease}
.tuto__tramo--apagado{fill:#3a3a3a}

/* Accesibilidad: el modo contraste no le pone fondo al velo y oscurece los textos de la carta. */
html[data-color=contraste] dialog.tuto{background:transparent;border:0}
html[data-color=contraste] .tuto__texto :is(h2,p){color:#000}
html[data-color=contraste] .tuto__foco{fill:#000}
html[data-texto-grande=true] .tuto__carta{width:min(400px,calc(100vw - 45px))}
html[data-texto-grande=true] .tuto__texto h2{font-size:24px;line-height:29px}
html[data-texto-grande=true] .tuto__texto p{font-size:17px;line-height:25px}

@media(prefers-reduced-motion:reduce){.tuto__velo,.tuto__carta,.tuto__texto,.tuto__flecha,.tuto__tramo,.tuto__siguiente{transition:none}.tuto__carta{filter:none;scale:1}}
html[data-detener=true] :is(.tuto__velo,.tuto__carta,.tuto__texto,.tuto__flecha,.tuto__tramo,.tuto__siguiente){transition:none}
html[data-detener=true] .tuto__carta{filter:none;scale:1}
