/* Prism 7 · accessible high-density creative studio, scoped extensions */
.v7-section{border:1px solid #775ba968;background:linear-gradient(147deg,#251c3d9e,#15192b 72%);box-shadow:inset 0 1px rgba(255,255,255,.04);contain:layout style}
.v7-section h3{color:#d9d1f9}
.v7-section .field{margin:5px 0 10px}
.v7-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:425px;overflow-y:auto;padding:4px 2px}
.v7-template{display:flex;flex-direction:column;gap:7px;min-height:118px;text-align:left;padding:8px;border:1px solid #52466f;background:linear-gradient(140deg,#29203b,#1b2436);border-radius:12px;transition:transform .2s ease,border-color .2s,box-shadow .2s}
.v7-template:hover{transform:translateY(-2px);border-color:#b79cff;box-shadow:0 0 26px #835df125}
.v7-template:focus-visible{outline:2px solid #94ebff}
.v7-template span{font-size:11px;line-height:1.35;color:#f0eaff}
.v7-template-preview{--glow:#ac9fff;position:relative;height:70px;background:radial-gradient(ellipse at 45% 37%,#412b68,#0f1325);border-radius:7px;overflow:hidden;border:1px solid var(--glow);box-shadow:inset 0 0 14px #aa83ef44}
.v7-template-preview-frame{position:absolute;inset:0;background:linear-gradient(135deg,#363c58,#2b1a47 40%,#112b3c);outline:1px solid var(--glow);box-shadow:inset 0 0 0 2px var(--glow),inset 0 0 17px #ffffff25}
.v7-template-preview-frame:nth-child(2){background:linear-gradient(115deg,#154d61,#3b2146,#293c62)}.v7-template-preview-frame:nth-child(3){background:linear-gradient(115deg,#54314b,#1c2845)}.v7-template-preview-frame:nth-child(4){background:linear-gradient(145deg,#282044,#25556b)}
.v7-btn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.v7-btn-grid button{font-size:11px;min-height:42px;white-space:normal}
.v7-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.v7-style-tile{font-size:11px;min-height:42px;border-color:var(--swatch);color:#f6f0ff;background:linear-gradient(130deg,#1b152b,#24263d);text-shadow:0 0 13px var(--swatch);box-shadow:inset 0 0 0 1px #ffffff05,0 0 8px #0006}
.v7-style-tile:hover{box-shadow:0 0 16px var(--swatch);transform:translateY(-1px)}
.v7-section input[type=search]{font-size:12px}
/* Tiny transitions: cheap GPU composite only; save the canvas render thread for editing. */
.top .primary,.v7-section button,.vlt-submit{transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease}
.top .primary:hover,.vlt-submit:hover{transform:translateY(-1px);box-shadow:0 5px 24px #a67eff55}
#canvasHolder{filter:drop-shadow(0 12px 35px #080610a8) drop-shadow(0 0 12px #7062a53d)}
#canvasHolder:before{border-color:#8e7cffaa;box-shadow:0 0 15px #806deb33}
#artboard{cursor:default!important}
.vlt-modal-wrap:not([hidden]){animation:v7-backdrop .2s ease both}
.vlt-modal-wrap:not([hidden]) .vlt-modal{animation:v7-enter .3s cubic-bezier(.18,.82,.24,1) both}
@keyframes v7-backdrop{from{opacity:0}to{opacity:1}}@keyframes v7-enter{from{opacity:0;transform:translateY(20px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
.vlt-modal{position:relative;isolation:isolate;overflow:hidden!important;border:1px solid #a783ffb7!important;background:linear-gradient(152deg,#251a3e,#111727 77%)!important;box-shadow:0 28px 110px #02030de9,0 0 48px #936aff40!important}
.vlt-modal::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#63e4ff,#b58bff,#ff7eb8);box-shadow:0 0 16px #a681ff;pointer-events:none}
.vlt-modal h2{font-size:25px!important;letter-spacing:-.025em}
.vlt-modal input{border-radius:12px!important;background:#120f21!important;border:1px solid #5c4a80!important;min-height:43px}
.vlt-modal input:focus{border-color:#ab8bff!important;box-shadow:0 0 0 4px #9279fc33!important}
.vlt-tabs button.active{background:linear-gradient(115deg,#5b477e,#4b5d9d)!important;border-color:#c19aff!important}
.vlt-submit{background:linear-gradient(120deg,#83dfff,#b694ff 50%,#ee85cf)!important;box-shadow:0 7px 23px #9868ec46}
.vlt-google{padding-top:9px;border-top:1px solid #ffffff15}
@media (max-width:640px){.v7-template-grid{max-height:250px}.v7-template{min-height:108px}.v7-section{padding:11px}.vlt-modal{max-height:92dvh}}
@media (prefers-reduced-motion:reduce){.v7-template,.vlt-modal-wrap,.vlt-modal,.v7-section button,.top .primary{animation:none!important;transition:none!important}}

/* Prism 12.2: el dialogo Sí/No no debe mostrar un campo «Valor». */
#v7PrettyModal #v7DialogFieldWrap[hidden]{display:none!important;visibility:hidden!important}
#v7PrettyModal #v7DialogFieldWrap:not([hidden]){display:grid!important}

/* Prism 13: un campo de texto solo existe para preguntas que piden escribir. */
#v7DialogPromptHost:empty{display:none!important}
#v7DialogPromptHost label{display:grid;gap:8px;margin:10px 0}
#v7PrettyModal .v7-dialog-actions button[hidden]{display:none!important}
