/* Filtro Vintage · mismo diseño y medidas que el revelador RAW (plugins/raw/raw.css) */
.vf-editor{position:fixed;inset:0;z-index:2000;display:grid;grid-template-rows:52px minmax(0,1fr);background:#121417;color:#e9edf4;font:13px/1.35 var(--sans,system-ui,sans-serif)}
.vf-topbar{display:flex;align-items:center;gap:12px;padding:0 14px;background:#1a1d21;border-bottom:1px solid #30353d}
.vf-topbar button{min-height:34px;padding:0 11px;background:#272b31;color:#e9edf4;border:1px solid #3b414b;border-radius:5px}
.vf-topbar .primary{background:#6794ff;color:#071120;border-color:#80a7ff;font-weight:700}
.vf-topbar button:disabled{opacity:.5}
.vf-close{display:none}
.vf-title{min-width:0;display:flex;flex-direction:column}
.vf-title span{font-size:11px;color:#9ca5b3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vf-actions{margin-left:auto;display:flex;gap:6px}
.vf-actions [data-action=seed]{font-size:18px;line-height:1}
.vf-workspace{min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr) 300px}
.vf-left,.vf-controls{overflow:auto;background:#1a1d21}
.vf-left{border-right:1px solid #30353d;padding:14px}
.vf-controls{border-left:1px solid #30353d}
.vf-preview{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:grab;background:#0d0f12;background-image:linear-gradient(45deg,#111419 25%,transparent 25%,transparent 75%,#111419 75%),linear-gradient(45deg,#111419 25%,#15191e 25%,#15191e 75%,#111419 75%);background-size:20px 20px;background-position:0 0,10px 10px}
.vf-preview.is-panning{cursor:grabbing}
.vf-preview canvas{display:block;max-width:96%;max-height:94%;object-fit:contain;box-shadow:0 8px 28px #0008;transition:transform .18s;will-change:transform}
.vf-preview.is-panning canvas{transition:none}
.vf-zoom{position:absolute;left:12px;bottom:10px;padding:4px 7px;border-radius:4px;background:#0008;font:11px var(--mono,monospace)}
.vf-fit{position:absolute;right:12px;bottom:10px;width:32px;height:32px;border:1px solid #414852;border-radius:5px;background:#20252b;color:#e9edf4}
.vf-hist span,.vf-help b{display:block;margin-bottom:7px;font-size:11px;color:#aab3c2;text-transform:uppercase;letter-spacing:.06em}
.vf-hist canvas{width:100%;height:76px;background:#101216}
.vf-help{display:grid;gap:3px;margin-top:20px;color:#c5ccd8}
.vf-help span{font-size:12px;color:#9ca5b3}
.vf-preset{display:block;padding:12px 14px 10px;border-bottom:1px solid #30353d}
.vf-preset span{display:block;margin-bottom:7px;font-size:11px;color:#aab3c2;text-transform:uppercase;letter-spacing:.06em}
.vf-preset select,.vf-mobile select{width:100%;height:34px;background:#252a31;border:1px solid #414852;color:#e9edf4;border-radius:4px;padding:0 8px;font:inherit}
.vf-groups{display:grid;grid-template-columns:repeat(3,1fr);padding:8px;gap:5px;border-bottom:1px solid #30353d}
.vf-groups button{position:relative;padding:8px 3px;background:transparent;border:1px solid transparent;border-radius:4px;color:#aab3c2;font:inherit}
.vf-groups button.on{background:#293b60;border-color:#547bbd;color:#e9edf4}
.vf-groups button.has-on::after{content:"";position:absolute;top:5px;right:6px;width:5px;height:5px;border-radius:50%;background:#91b4ff}
.vf-list{padding:8px 14px 22px}
.vf-field{display:block;padding:10px 0;border-bottom:1px solid #2b3038}
.vf-field>span{display:flex;justify-content:space-between;margin-bottom:7px;color:#cad1dc}
.vf-field b{font:12px var(--mono,monospace);font-weight:500;color:#6d7686}
.vf-field.is-on b{color:#91b4ff}
.vf-field input{width:100%;accent-color:#7fa6ff}
.vf-slider-row{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:8px;align-items:center}
.vf-slider-row input{min-width:0;margin:0;touch-action:none}
.vf-step{width:32px;height:32px;padding:0;border:1px solid #454e5d;border-radius:6px;background:#252c36;color:#dce6f8;font:20px/1 system-ui;cursor:pointer;touch-action:manipulation}
.vf-step:hover{background:#35455e}.vf-step:active{background:#476391}
.vf-step:focus-visible{outline:2px solid #9cbcff;outline-offset:2px}.vf-step:disabled{opacity:.4;cursor:default}
.vf-mobile{display:none}

/* Móvil: la foto a pantalla completa; debajo, dos desplegables y un deslizador */
@media (max-width:900px){
  .vf-editor{grid-template-rows:minmax(0,1fr) auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#060709}
  .vf-topbar{position:absolute;inset:calc(env(safe-area-inset-top) + 8px) 8px auto;background:transparent;border:0;padding:0;z-index:2}
  .vf-title,.vf-cancel,.vf-actions [data-action=undo],.vf-actions [data-action=redo]{display:none}
  .vf-close{display:block;width:38px;min-height:38px;padding:0;background:#0009!important;font-size:16px}
  .vf-actions button{min-height:38px;background:#0009}
  .vf-actions .primary{border-color:#7fa6ff;color:#e9edf4}
  .vf-workspace{display:block;min-height:0}
  .vf-left,.vf-controls{display:none}
  .vf-preview{height:100%;background:#050608}
  .vf-preview canvas{max-width:100%;max-height:100%;box-shadow:none}
  .vf-zoom{bottom:12px}
  .vf-fit{right:10px;bottom:12px;background:#000a}
  .vf-mobile{display:grid;gap:7px;padding:9px 12px max(9px,env(safe-area-inset-bottom));background:#13161a;border-top:1px solid #343a43}
  .vf-mobile select{height:42px;border-radius:7px;border:1px solid #3f4855;background:#222831;color:#eef3ff;padding:0 10px;font:14px inherit}
  .vf-mobile-slider .vf-field{padding:2px 0 0;border:0}
  .vf-mobile-slider .vf-field>span{display:flex;margin:0 0 4px}
  .vf-mobile-slider .vf-field input{min-height:42px}
  .vf-slider-row{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}
  .vf-step{width:44px;height:44px;font-size:24px}
}

/* ── Marco: botón y hoja de miniaturas ── */
.vf-frame-btn{width:100%;height:34px;display:flex;align-items:center;gap:8px;padding:0 10px;background:#252a31;border:1px solid #414852;color:#e9edf4;border-radius:4px;font:inherit;text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.vf-frame-btn::before{content:"";flex:none;width:14px;height:11px;border:2px solid #9ca5b3;border-radius:2px;box-shadow:inset 0 0 0 2px #252a31,inset 0 0 0 5px #5d6674}
.vf-frame-btn::after{content:"\25BE";margin-left:auto;padding-left:6px;color:#9ca5b3}
.vf-frame-btn.is-on{border-color:#547bbd}
.vf-frame-btn.is-on::before{border-color:#91b4ff}
.vf-frame-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vf-frame-btn:hover{background:#2c323b}
.vf-sheet{position:fixed;inset:0;z-index:2060;display:flex;align-items:center;justify-content:center;background:#000b}
.vf-sheet[hidden]{display:none}
.vf-sheet-panel{width:min(920px,94vw);height:min(760px,88vh);display:grid;grid-template-rows:auto minmax(0,1fr);background:#13161a;border:1px solid #343a43;border-radius:12px;padding:0 14px 14px;box-shadow:0 18px 60px #000a}
.vf-sheet-panel header{display:flex;align-items:center;gap:10px;padding:12px 2px 10px}
.vf-sheet-panel header b{font-size:15px}
.vf-sheet-cat{margin-left:auto;min-width:0;max-width:60%;height:36px;background:#222831;border:1px solid #3f4855;color:#eef3ff;border-radius:7px;padding:0 8px;font:inherit}
.vf-sheet-close{flex:none;width:38px;height:38px;padding:0;border:1px solid #3b414b;border-radius:7px;background:#272b31;color:#e9edf4;font-size:16px}
.vf-sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));align-items:start;grid-auto-rows:max-content;gap:8px;padding:2px 0 6px;overflow:auto;overscroll-behavior:contain}
.vf-sheet-grid h4{grid-column:1/-1;margin:10px 2px 0;font-size:11px;font-weight:600;color:#aab3c2;text-transform:uppercase;letter-spacing:.06em;scroll-margin-top:4px}
/* Tarjetas todas iguales: casilla cuadrada fija (la miniatura se encaja
   dentro, sea horizontal o vertical) y nombre en dos líneas como máximo. */
.vf-thumb{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;width:100%;overflow:hidden;padding:6px;background:#20252b;color:#dfe5ee;border:1px solid #30353d;border-radius:8px;font-family:inherit;font-size:12px;line-height:1.25;text-align:center;cursor:pointer}
.vf-thumb:hover{background:#262d36}
.vf-thumb.on{background:#293b60;border-color:#7fa6ff;color:#fff}
.vf-thumb-img{position:relative;display:block;width:100%;aspect-ratio:1;border-radius:5px;background:#0d0f12;overflow:hidden}
.vf-thumb-img img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain}
.vf-thumb-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:2.5em;overflow-wrap:anywhere}
@media (max-width:900px){
  .vf-mobile-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
  .vf-mobile .vf-frame-btn{height:42px;border-radius:7px;border-color:#3f4855;background:#222831;font-size:14px}
  .vf-sheet{align-items:flex-end}
  .vf-sheet-panel{width:100%;height:auto;max-height:82vh;max-height:82dvh;border-radius:14px 14px 0 0;border-width:1px 0 0;padding:0 12px max(12px,env(safe-area-inset-bottom))}
  .vf-sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
