/* Qué ver — estilos propios sobre la base Jelly (base.css + glass.css) */
.qv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:absolute;top:0;left:0;right:0;z-index:20;margin:0;padding:calc(env(safe-area-inset-top,0px) + 24px) 18px 26px;background:linear-gradient(rgba(248,245,240,.75),rgba(248,245,240,.45) 60%,rgba(248,245,240,0));-webkit-backdrop-filter:blur(20px) saturate(1.7);backdrop-filter:blur(20px) saturate(1.7);-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);animation:none!important}
html[data-theme=dark] .qv-head{background:linear-gradient(rgba(16,12,12,.7),rgba(16,12,12,.4) 60%,rgba(16,12,12,0))}
.mg-app .mg-scroll{padding-top:104px}

.mg-tab>.qv-head{animation:none!important}
.qv-head .mg-title{margin:0;font-family:var(--ds-font-text);font-weight:650;font-size:20px;letter-spacing:-.03em}
.qv-logo{width:44px;height:44px;border-radius:13px;object-fit:cover;border:1px solid rgba(255,255,255,.7);box-shadow:0 6px 14px #42363022;flex:none}
html[data-theme=dark] .qv-logo{border-color:rgba(255,255,255,.2);box-shadow:0 6px 14px rgba(0,0,0,.45)}
.qv-search{padding:12px 14px;margin-bottom:12px}
.qv-inputwrap{position:relative;display:flex;align-items:center}
.qv-inputwrap .mg-input{width:100%;padding-right:44px}
.qv-clear{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;border:0;background:rgba(37,31,33,.08);color:var(--ds-ink-2);font-size:15px;line-height:1;display:none;align-items:center;justify-content:center;padding:0;cursor:pointer}
.qv-clear.on{display:inline-flex}
.qv-clear:active{transform:translateY(-50%) scale(.9)}
html[data-theme=dark] .qv-clear{background:rgba(255,255,255,.1)}
.qv-mode{margin-top:10px}
.qv-aita{margin-top:10px;display:flex;gap:8px}
.qv-aita .mg-input{flex:1}
.qv-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;margin-bottom:8px;cursor:pointer;font:inherit;color:var(--ds-ink)}
.qv-poster{width:52px;height:78px;object-fit:cover;border-radius:10px;flex:none;background:#251f2110;box-shadow:0 4px 10px #42363022;transition:opacity .35s ease}
img.qv-poster{opacity:0}
img.qv-poster.ld{opacity:1}
.qv-poster.big{width:110px;height:165px;border-radius:16px;box-shadow:0 10px 24px #42363033}
.qv-noposter{display:grid;place-items:center;font-size:20px;color:var(--ds-ink-3)}
.qv-row-info{flex:1;min-width:0}
.qv-row-title{font-weight:650;font-size:14.5px;line-height:1.3;letter-spacing:-.01em}
.qv-row-meta{margin-top:2px;font-size:12px;color:var(--ds-ink-2)}
.qv-row-plats{display:flex;align-items:center;gap:4px;margin-top:6px;min-height:18px}
.qv-pi{width:18px;height:18px;border-radius:5px;object-fit:cover;box-shadow:0 1px 3px #42363026}
.qv-pi.big{width:30px;height:30px;border-radius:9px}
.qv-noplats{font-size:11px;color:var(--ds-ink-3)}
.mg-input:focus-visible{outline:none}
.mg-input:focus{box-shadow:0 0 0 1.5px rgba(201,87,74,.55)}
html[data-theme=dark] .mg-input:focus{box-shadow:0 0 0 1.5px rgba(201,87,74,.6)}
#qv-dw,.qv-plats{transition:opacity .15s ease,transform .15s ease}
#qv-dw.qv-swap,.qv-plats.qv-swap{opacity:0;transform:translateY(4px)}
.qv-rt{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--ds-ink-2);white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.qv-rt.fresh{color:#5d9e52}
.qv-rt.rotten{color:var(--ds-red)}
.qv-num{flex:none;width:26px;text-align:center;font-weight:700;font-size:15px;color:var(--ds-ink-3)}
.qv-sec{padding:10px 12px 6px;margin-bottom:12px}
.qv-sec-head{display:flex;align-items:center;gap:8px;padding:2px 2px 8px;font-weight:650;font-size:14px}
.qv-sec-head .qv-pi{width:22px;height:22px;border-radius:6px}
.qv-count{margin-left:auto;font-size:11px;font-weight:700;color:#fff;background:var(--ds-teal);border-radius:999px;padding:2px 9px}
.qv-plat-chips .mg-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px}
.qv-plat-chips .mg-chip img{width:18px;height:18px;border-radius:5px}
.qv-badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ed313e;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.mg-tab-ico{position:relative}
.qv-dtop{display:flex;gap:14px;align-items:flex-start;margin:4px 0 6px}
.qv-dtitle{font-weight:700;font-size:19px;line-height:1.25;letter-spacing:-.02em}
.qv-dmeta{margin-top:4px;font-size:12.5px;color:var(--ds-ink-2)}
.qv-rt-big{margin-top:10px;display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:700;padding:6px 12px;border-radius:999px;background:rgba(237,49,62,.08);border:1px solid rgba(237,49,62,.25)}
.qv-rt-big.fresh{background:rgba(93,158,82,.12);border-color:rgba(93,158,82,.35)}
.qv-rt-big.none{background:rgba(37,31,33,.05);border-color:rgba(37,31,33,.12);color:var(--ds-ink-2);font-weight:600;font-size:12.5px}
html[data-theme=dark] .qv-rt-big.none{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.qv-plats{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}
.qv-plat{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(135deg,#fffc,#ffffff80);font-size:12.5px;font-weight:600}
html[data-theme=dark] .qv-plat{border-color:rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(43,37,37,.8),rgba(26,22,22,.68))}
.qv-field{margin:0 0 6px;font-size:13.5px;line-height:1.55}
.qv-field b{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ds-ink-2);margin-bottom:2px}
.qv-skel-chip{min-width:104px;min-height:35px;pointer-events:none;background:linear-gradient(100deg,#251f210d 40%,#251f211c 50%,#251f210d 60%);background-size:200% 100%;animation:qv-skel 1.2s ease-in-out infinite;border-color:rgba(37,31,33,.06)}
.qv-skel-line{display:block;height:13px;border-radius:7px;margin:5px 0;background:linear-gradient(100deg,#251f210d 40%,#251f211c 50%,#251f210d 60%);background-size:200% 100%;animation:qv-skel 1.2s ease-in-out infinite}
.qv-skel-line.w60{width:60%}
.qv-sheet .qv-field,.qv-sheet .qv-plats,.qv-sheet .qv-temps{animation:mg-fade .35s ease both}
.qv-syn{margin:0;font-size:13px;line-height:1.6;color:var(--ds-ink-2);display:block;max-height:6.4em;overflow:hidden;transition:max-height .22s ease}
.qv-syn.open{max-height:40em}
.qv-synmore{display:block;margin-top:3px;padding:0;border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--ds-teal);cursor:pointer}
.qv-actions{display:flex;gap:10px;margin-top:16px}
.qv-actions .mg-add-btn,.qv-actions .ui-button{flex:1;min-height:48px;font-size:14.5px}
.qv-actions .ui-button{border-radius:999px}
.qv-actions .mg-add-btn.off{background:rgba(37,31,33,.12);color:var(--ds-ink-2);box-shadow:none}
html[data-theme=dark] .qv-actions .mg-add-btn.off{background:rgba(255,255,255,.1)}
.qv-toast{position:fixed;top:max(12px,env(safe-area-inset-top));left:0;right:0;margin-inline:auto;width:fit-content;max-width:86vw;z-index:60;padding:10px 18px;border-radius:999px;background:rgba(21,25,23,.88);color:#f2f6f3;font-size:13px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.35);animation:mg-rise .3s cubic-bezier(.2,.7,.2,1) both;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.qv-keyrow{display:flex;gap:8px;margin-top:8px}
.qv-keyrow .mg-input{flex:1}
.qv-note{margin:8px 0 0;font-size:12px;line-height:1.55;color:var(--ds-ink-2)}
.qv-note a{color:var(--ds-teal)}
.qv-keystate{margin-top:8px;font-size:12px;font-weight:600;color:var(--ds-teal)}
.qv-keystate.err{color:var(--ds-red)}
.qv-emptyic{font-size:34px;margin-bottom:8px}
.qv-spin-wrap{display:flex;align-items:center;justify-content:center;gap:12px;padding:26px;font-size:13.5px;color:var(--ds-ink-2)}
.qv-foot{margin:16px 4px 0;text-align:center;font-size:11px;line-height:1.7;color:var(--ds-ink-3)}
/* sin el visor de Instinct no hay padding externo que compensar */
.mg-app{margin:0!important}
.mg-empty-title{font-family:var(--ds-font-text)!important;font-weight:650;letter-spacing:-.02em}

/* ===== v2: scroll iPhone, acento rojo, seg, swipe, ajustes ===== */
html,body,#root{height:100%}
.mg-app{margin:0!important;height:100%!important;padding-top:calc(env(safe-area-inset-top,0px) + 20px)!important}
.mg-tab{flex:1;min-height:0}
/* interruptor estilo dock (icono al lado del texto) */
.qv-seg{display:flex;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(28px) saturate(1.8);backdrop-filter:blur(28px) saturate(1.8);border:1px solid rgba(255,255,255,.75);box-shadow:0 8px 22px #42363022,inset 0 1px #ffffffe6}
.qv-seg button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:7px 10px;border:0;border-radius:999px;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--ds-ink-2);cursor:pointer;transition:background .25s ease,color .25s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}
.qv-seg button:active{transform:scale(.95)}
.qv-seg button.on{background:rgba(201,87,74,.18);color:var(--ds-teal)}
html[data-theme=dark] .qv-seg{background:rgba(26,20,20,.3);border-color:rgba(255,255,255,.13);box-shadow:0 10px 26px rgba(0,0,0,.4)}
/* swipe en pendientes */
.qv-swipe{position:relative;border-radius:22px;overflow:hidden;margin-bottom:8px}
.qv-swipe .qv-row{margin-bottom:0;position:relative;z-index:1;transition:transform .3s cubic-bezier(.2,.8,.25,1);touch-action:pan-y;will-change:transform}
.qv-swipe-act{position:absolute;top:0;right:0;bottom:0;z-index:0;display:flex;align-items:stretch;gap:6px;padding:6px;opacity:0;transition:opacity .18s ease}
.qv-swipe.on .qv-swipe-act{opacity:1}
.qv-sa{width:72px;border:1px solid rgba(255,255,255,.55);border-radius:16px;font-size:20px;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);box-shadow:0 8px 20px rgba(66,54,48,.18),inset 0 1px rgba(255,255,255,.35)}
.qv-sa-ok{background:rgba(201,111,96,.62)}
.qv-sa-del{background:rgba(237,49,62,.6)}
.qv-sa:active{transform:scale(.94)}
html[data-theme=dark] .qv-sa{border-color:rgba(255,255,255,.14);box-shadow:0 10px 24px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.08)}
/* interruptor modo oscuro debajo del icono en Ajustes */
.mg-tab.mg-has-theme-corner{position:static;padding-top:0}
.mg-tab[data-tab=ajustes] .mg-scroll{padding-top:150px}
.mg-app>.mg-theme-corner{position:absolute;top:calc(env(safe-area-inset-top,0px) + 78px);right:18px;z-index:21}
.mg-theme-corner .mg-theme-toggle{box-shadow:0 4px 14px rgba(66,54,48,.22)}
html[data-theme=dark] .mg-add-btn{background:linear-gradient(145deg,#5e3131,#4a2626);border:1px solid #ffffff5c;color:#fff}
html[data-theme=dark] .qv-actions .mg-add-btn.off{background:rgba(255,255,255,.1);border:0;color:var(--ds-ink-2)}
/* badge IMDb en filas */
.qv-rt{color:#c9862b;font-weight:700}
.qv-rt-big{color:#c9862b;background:rgba(201,134,43,.1);border:1px solid rgba(201,134,43,.3)}

/* ficha centrada */
.mg-sheet.qv-sheet{top:50%;bottom:auto;left:12px;right:12px;transform:translateY(-50%);border-radius:26px;max-height:calc(var(--mg-vb, 100vh) - 32px);animation-name:mg-sheet-pop;box-shadow:0 30px 90px rgba(30,20,18,.38),0 4px 18px rgba(30,20,18,.16);border:1px solid rgba(255,255,255,.6)}
html[data-theme=dark] .mg-sheet.qv-sheet{box-shadow:0 30px 90px rgba(0,0,0,.75),0 4px 18px rgba(0,0,0,.4);border-color:rgba(255,255,255,.12)}
.mg-backdrop{background:rgba(30,22,22,.42);-webkit-backdrop-filter:blur(6px) saturate(1.1);backdrop-filter:blur(6px) saturate(1.1)}
html[data-theme=dark] .mg-backdrop{background:rgba(8,6,6,.55)}
.mg-sheet.qv-sheet.leaving{animation-name:mg-sheet-pop-out}

/* v6: fondo continuo bajo la barra de estado + transición suave */
body{background:radial-gradient(620px 420px at 8% -6%,rgba(226,158,144,.5),transparent 62%),radial-gradient(520px 400px at 104% 6%,rgba(245,208,176,.55),transparent 60%),radial-gradient(560px 520px at 55% 112%,rgba(214,150,158,.4),transparent 65%),linear-gradient(165deg,#f8f5f0,#f0ede7);background-attachment:fixed}
html[data-theme=dark] body{background:radial-gradient(620px 420px at 8% -6%,rgba(160,74,62,.2),transparent 62%),radial-gradient(520px 400px at 104% 6%,rgba(120,95,60,.12),transparent 60%),radial-gradient(560px 520px at 55% 112%,rgba(130,62,72,.16),transparent 65%),linear-gradient(165deg,#151111,#0c0a0a);background-attachment:fixed}
.qv-pfwrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .32s cubic-bezier(.2,.7,.2,1),opacity .25s ease}
.qv-pfwrap>*{overflow:hidden;min-height:0}
.qv-pfwrap.hide{grid-template-rows:0fr;opacity:0}
.qv-pfwrap.hide>#qv-pf{margin-top:0}
#qv-pf{transition:margin-top .32s cubic-bezier(.2,.7,.2,1)}
.qv-fadein{animation:qv-swap .28s cubic-bezier(.2,.7,.2,1) both}
@keyframes qv-swap{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.qv-imdb{display:inline-block;background:#f5c518;color:#000;font-weight:800;font-size:.8em;line-height:1;padding:2px 5px;border-radius:4px;letter-spacing:-.02em}
.qv-rt-val{min-width:3ch;display:inline-block;text-align:center}
.qv-rt-big.none .qv-rt-val{min-width:0}
.qv-tbadge{margin-left:6px;font-size:11px;font-weight:700;color:#c9574a}
.qv-lbadge{margin-left:5px}
.qv-temps{margin:2px 0 10px}
.qv-tchip.qv-tskel{color:transparent;pointer-events:none;cursor:default;background:linear-gradient(100deg,#251f210d 40%,#251f211c 50%,#251f210d 60%);background-size:200% 100%;animation:qv-skel 1.2s ease-in-out infinite;border-color:rgba(37,31,33,.06)}
@keyframes qv-skel{0%{background-position:180% 0}100%{background-position:-20% 0}}
@media(prefers-reduced-motion:reduce){.qv-tchip.qv-tskel{animation:none}}

.qv-actions-lola{margin:8px 0 16px}
.qv-actions-lola .mg-add-btn{width:100%}

.qv-aireply{margin:0;font-size:14px;line-height:1.5;color:var(--ds-ink)}
.qv-aireply-note{opacity:.6;font-size:12px;margin-top:8px}

/* anim perf: isolate layout + kill backdrop blur during seg fold/fade */
.qv-pfwrap{contain:layout style}
#qv-lista{contain:layout style}
#qv-lista.qv-anim{will-change:transform,opacity}
.qv-anim .mg-card,.qv-anim .qv-sa,.qv-anim .qv-poster{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}

/* sheet head: title must never run under the close X */
.mg-sheet.qv-sheet .mg-sheet-head{align-items:flex-start}
.mg-sheet.qv-sheet .mg-sheet-title{flex:1;min-width:0;overflow-wrap:break-word;padding-right:6px}
.mg-sheet.qv-sheet .mg-sheet-head .ui-close{flex:none;margin:-8px -8px 0 0}

.qv-tchip.sel{border-color:var(--ds-teal);box-shadow:0 0 0 2px rgba(201,87,74,.35)}
/* Only render visible AI cards: iOS WebKit otherwise allocates a blur layer for
   every offscreen result and can terminate the tab on long Gemini lists. */
[data-ai-slot]{content-visibility:auto;contain-intrinsic-size:auto 112px}
#qv-q::-webkit-search-cancel-button{-webkit-appearance:none}
.qv-paste{margin-top:14px;padding-top:14px;border-top:1px solid var(--ds-hairline)}
.qv-paste-head{display:flex;flex-direction:column;align-items:center;gap:3px}.qv-paste-head .qv-note{margin:0}
.qv-paste-input{display:block;width:100%;height:64px;min-height:64px;max-height:64px;margin-top:8px;padding:10px 12px;resize:none;border-radius:16px;overflow:hidden}
.qv-paste-saved{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;margin-top:12px}.qv-paste-saved .qv-clear{position:static;flex:none;transform:none}
.qv-paste-check{font-size:12px;margin:8px 0 12px}.qv-paste-check summary{cursor:pointer;color:var(--ds-teal)}.qv-paste-check ol{max-height:180px;overflow:auto;padding-left:25px;margin:8px 0}
#qv-paste-load{width:100%}.qv-paste [hidden]{display:none!important}


/* Switching search modes animates geometry without live blur layers. */
.qv-mode-changing,.qv-mode-changing *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.qv-mode-changing .qv-search{will-change:height}
.qv-ai-options:empty{display:none}

.qv-info-ghost{position:absolute!important;top:0;left:0;right:0;margin:0!important;pointer-events:none}
.qv-placeholder-ghost{position:absolute;left:14px;right:40px;top:0;height:100%;display:flex;align-items:center;pointer-events:none;font:inherit;font-size:16px;color:var(--ds-ink-2);opacity:.65;white-space:nowrap;overflow:hidden}
.qv-placeholder-fade::placeholder{animation:qv-placeholder-in 210ms ease-in-out both}
@keyframes qv-placeholder-in{from{opacity:0}to{opacity:1}}
/* Motion audit v67: fade state changes and remove live filters while moving. */
.qv-motion,.qv-motion *,.qv-css-moving,.qv-css-moving *,.qv-interacting,.qv-interacting *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.qv-swipe.on,.qv-swipe.on *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.qv-tchip{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .15s ease}
.qv-actions .mg-add-btn{transition:background-color .18s ease,color .18s ease,opacity .18s ease,transform .15s ease}
.qv-clear{display:inline-flex;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}
.qv-clear.on{opacity:1;visibility:visible}
.mg-sheet.qv-sheet{animation-duration:.24s}.mg-sheet.qv-sheet.leaving{animation-duration:.18s}
.qv-syn{transition:none}.qv-syn.open{max-height:none}
@media(prefers-reduced-motion:reduce){.qv-tchip,.qv-actions .mg-add-btn,.qv-clear,.qv-pfwrap,#qv-pf{transition:none!important}.mg-sheet.qv-sheet{animation:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
.qv-motion::before,.qv-motion::after,.qv-motion *::before,.qv-motion *::after,.qv-css-moving::before,.qv-css-moving::after,.qv-css-moving *::before,.qv-css-moving *::after,.qv-interacting::before,.qv-interacting::after,.qv-interacting *::before,.qv-interacting *::after,[data-lifted]:not(.mg-tabs),[data-lifted]:not(.mg-tabs) *,[data-lifted]:not(.mg-tabs)::before,[data-lifted]:not(.mg-tabs)::after,[data-lifted]:not(.mg-tabs) *::before,[data-lifted]:not(.mg-tabs) *::after,.tswitch-drag,.tswitch-drag *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.mg-app.sheet-open .mg-tabs,.mg-app.sheet-open .mg-tabs *,.mg-app.sheet-open .mg-tabs *::before{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* v69: one owner per movement. Replaced legacy effects must stay off. */
.mg-tab>.mg-scroll{animation:none!important}
.qv-sheet .qv-field,.qv-sheet .qv-plats,.qv-sheet .qv-temps{animation:none!important}
.qv-fadein{animation:none!important}
.qv-platform-moving,.qv-platform-moving *, .qv-platform-moving::before,.qv-platform-moving::after,.qv-platform-moving *::before{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.qv-motion{transition:none!important}
.qv-motion .qv-poster{transition:opacity .18s ease!important}

/* v72: fade one fixed-blur backdrop layer. Never toggle its filter at sheet end. */
.mg-backdrop{animation: qv-backdrop-in .24s cubic-bezier(.22,.61,.36,1) both;will-change:opacity}
.mg-backdrop.leaving{animation:qv-backdrop-out .18s ease-out both}
@keyframes qv-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes qv-backdrop-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.mg-backdrop,.mg-backdrop.leaving{animation:none!important}}
