#v9018-salon[hidden]{display:none!important}
#v9018-salon{position:fixed;inset:0;z-index:9000;background:#15100e;color:white;overflow:hidden}
#v9018-salon .v9018-stage{position:absolute;top:0;bottom:auto;left:50%;width:max(100vw, calc((100vh - 54px) * 1.333333));height:calc(max(100vw, calc((100vh - 54px) * 1.333333)) * .75);transform:translateX(-50%);overflow:hidden}
#v9018-salon .v9018-stage>img{width:100%;height:100%;object-fit:fill;display:block}
#v9018-salon .v9018-clock{position:absolute;left:45.0%;top:15.3%;width:10.6%;height:14.3%;pointer-events:none}
#v9018-salon .v9018-clock svg{width:100%;height:100%;overflow:visible}
#v9018-salon .v9018-mask{fill:#11100f}
#v9018-salon .v9018-alexa{position:absolute;left:39.0%;top:32.2%;width:3.4%;height:2.0%;background:#142839;color:#9ee8ff;display:flex;align-items:center;justify-content:center;font:600 clamp(6px,.9vw,13px) system-ui,sans-serif;transform:skewY(-2deg);border-radius:2px;pointer-events:none}
#v9018-salon .v9018-nav{position:absolute;bottom:0;left:0;right:0;height:54px;background:#121111f2;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font:600 13px system-ui,sans-serif;letter-spacing:.07em}
#v9018-salon button{border:1px solid #777;background:#292725;color:white;border-radius:7px;padding:9px 13px;font:inherit;cursor:pointer}
#v9018-salon button:focus-visible{outline:2px solid #ffbc48;outline-offset:3px}
@media(max-width:650px){#v9018-salon .v9018-nav{height:52px;padding:0 7px;font-size:11px}#v9018-salon .v9018-stage{bottom:auto;width:max(100vw, calc((100vh - 52px) * 1.333333));height:calc(max(100vw, calc((100vh - 52px) * 1.333333)) * .75)}#v9018-salon button{padding:8px}}

/* V90.20 · rail responsive de enigmas, sin barra inferior */
#v9018-salon .v9018-nav{display:none!important}
#v9018-salon .v9020-progress{position:fixed;z-index:9200;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:6px 8px;background:rgba(5,10,14,.72);border:1px solid rgba(218,229,219,.20);border-radius:10px;box-shadow:0 7px 25px #0007;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#v9018-salon .v9020-slots{display:flex;gap:4px}
#v9018-salon .v9020-cell{width:21px;height:21px;display:grid;place-items:center;background:linear-gradient(155deg,#414349,#282a2e);border:1px solid #c7d0d044;border-radius:5px;color:#858c90;font:700 14px system-ui}
#v9018-salon .v9020-cell[data-solved="true"]{color:#e0ffaa;background:linear-gradient(145deg,#28483b,#0d2d24);border-color:#acff77ad;box-shadow:0 0 6px #78e87b40}
#v9018-salon .v9020-back,#v9018-salon .v9020-forward{width:28px;height:26px;display:grid;place-items:center;margin:0;padding:0;border:1px solid #baf8937a;color:#dfffc9;background:#1c4234;border-radius:6px;font:700 19px/1 system-ui;cursor:pointer}
#v9018-salon .v9020-forward[hidden]{visibility:hidden!important;pointer-events:none!important}
#v9018-salon .v9020-hotspot{position:absolute;border:0;background:transparent;padding:0;margin:0;outline-offset:2px;cursor:pointer;border-radius:30%;z-index:4}
#v9018-salon .v9020-hotspot:hover{box-shadow:inset 0 0 18px 2px #ffffff12}
#v9018-salon .v9020-hotspot:focus-visible{outline:2px solid #d8ff9d}
#v9018-salon .v9020-calibrate{position:fixed;top:12px;right:12px;z-index:9500;background:#151b20ee;color:white;border:1px solid #aaa;padding:12px;border-radius:10px;display:grid;gap:8px;font:13px system-ui}
#v9018-salon .v9020-calibrate label{display:flex;align-items:center;gap:8px}
#v9018-salon .v9020-calibrate input{width:170px}
@media(max-width:560px){#v9018-salon .v9020-progress{gap:4px;padding:5px;bottom:max(7px,env(safe-area-inset-bottom))}#v9018-salon .v9020-cell{width:18px;height:18px}#v9018-salon .v9020-back,#v9018-salon .v9020-forward{width:24px;height:23px;font-size:16px}}

/* V90.21 */
#v9018-salon .v9021-trap-active{box-shadow:inset 0 0 20px #f4474766!important}
#v9018-salon .v9020-calibrate{max-height:90vh;overflow-y:auto}
#v60-sheet #v9018-salon{z-index:auto!important;position:absolute!important}

/* V90.22 NVR intro · ventana traslúcida, sin alterar el salón ni sus relojes */
#v9018-salon .v9022-overlay[hidden],#v9018-salon .v9022-single[hidden],#v9018-salon .v9022-grid[hidden],#v9018-salon .v9022-warning[hidden]{display:none!important}
#v9018-salon .v9022-overlay{position:fixed;inset:0;z-index:9300;display:grid;place-items:center;padding:clamp(8px,3vw,35px)}
#v9018-salon .v9022-backdrop{position:absolute;inset:0;background:rgba(4,11,12,.63);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#v9018-salon .v9022-window{position:relative;width:min(91vw,1020px);max-height:88vh;overflow:auto;background:rgba(11,18,19,.87);border:1px solid #779a8d66;border-radius:12px;box-shadow:0 18px 90px #000c,0 0 30px #2b85601c;backdrop-filter:blur(15px);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#b5d6c8}
#v9018-salon .v9022-header,#v9018-salon .v9022-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:clamp(9px,1.2vw,13px);letter-spacing:.12em}
#v9018-salon .v9022-header{padding-right:65px}
#v9018-salon .v9022-live{color:#8ad8b2;white-space:nowrap}#v9018-salon .v9022-live i{display:inline-block;background:#e64b47;width:7px;height:7px;border-radius:50%;box-shadow:0 0 8px #e64b47;animation:v9022blink 1.1s infinite}
#v9018-salon .v9022-close{position:absolute;top:5px;right:8px;z-index:5;background:transparent;border:0;color:#d6e7e0;font-size:25px;padding:3px 10px}
#v9018-salon .v9022-screen{position:relative;margin:0 14px;background:#050a09;aspect-ratio:16/9;overflow:hidden;border:2px solid #20352e;box-shadow:inset 0 0 25px #000}
#v9018-salon .v9022-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:2px;width:100%;height:100%}
#v9018-salon .v9022-cell{position:relative;overflow:hidden;background:#080d0b}#v9018-salon .v9022-cell img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.09) brightness(.82)}
#v9018-salon .v9022-cell span,#v9018-salon .v9022-camera-label{position:absolute;top:5px;left:7px;color:#b6e8c6;font-size:clamp(7px,1vw,12px);text-shadow:0 1px 5px #000}
#v9018-salon .v9022-dot{position:absolute;right:7px;top:8px;width:5px;height:5px;border-radius:50%;background:#53f09b;box-shadow:0 0 5px #53f09b;animation:v9022blink 1.4s infinite}#v9018-salon .v9022-cell:nth-child(3n) .v9022-dot{background:#ef4a4a;box-shadow:0 0 5px #ef4a4a;animation-delay:.5s}
#v9018-salon .v9022-single{position:relative;width:100%;height:100%;background:#030705}#v9018-salon .v9022-single img{width:100%;height:100%;object-fit:contain;filter:saturate(.85) contrast(1.06)}
#v9018-salon .v9022-warning{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);white-space:nowrap;max-width:96%;font-size:clamp(9px,1.5vw,17px);font-weight:800;letter-spacing:.07em;color:#fff;background:#9b1313d9;border:1px solid #ff6c6c;padding:clamp(6px,1vw,11px) clamp(9px,2vw,22px);box-shadow:0 0 30px #e00a;animation:v9022alarm 1.1s infinite}
#v9018-salon .v9022-warning-dot{display:inline-block;width:8px;height:8px;background:#fff;border-radius:50%;margin-right:8px}
#v9018-salon .v9022-footer{opacity:.8;gap:12px}#v9018-salon .v9022-status{color:#c0a98a;text-align:right}
@keyframes v9022blink{50%{opacity:.25}}@keyframes v9022alarm{50%{box-shadow:0 0 6px #e003;opacity:.85}}
@media(max-width:600px){#v9018-salon .v9022-overlay{padding:4px}#v9018-salon .v9022-window{width:98vw}#v9018-salon .v9022-screen{margin:0 5px}#v9018-salon .v9022-header,#v9018-salon .v9022-footer{padding:8px;font-size:8px}#v9018-salon .v9022-header{padding-right:40px}}

/* V90.23: el monitor permite revisar otras secuencias desde la alerta final */
#v9018-salon .v9022-screen:has(.v9022-warning:not([hidden])){cursor:pointer}
#v9018-salon .v9022-screen:has(.v9022-warning:not([hidden])):hover{box-shadow:inset 0 0 25px #000,0 0 10px #c22a}

/* V90.25: interfaz de consulta histórica. Fotografías originales sin alterar. */
#v9018-salon .v9025-brand{display:flex;justify-content:space-between;align-items:center;padding:9px 65px 4px 17px;color:#e1e9f3;gap:12px}#v9018-salon .v9025-brand strong{display:block;font-size:23px;letter-spacing:.18em}#v9018-salon .v9025-brand small{font-size:8px;letter-spacing:.14em;color:#8e9cac}#v9018-salon .v9025-now{font-size:10px;color:#b2c3d7}#v9018-salon .v9025-tabs{display:flex;gap:4px;padding:4px 14px 7px;flex-wrap:wrap}#v9018-salon .v9025-tabs span{background:#1d2a37;border:1px solid #33465b;border-radius:3px;color:#a5b5c7;padding:6px 9px;font-size:clamp(7px,1vw,11px)}#v9018-salon .v9025-tabs .selected{background:#244c76;border-color:#5688b5;color:white}#v9018-salon .v9025-history{margin:0 14px 7px;padding:6px 10px;background:#172638;border:1px solid #2b4763;display:flex;flex-direction:column;gap:3px;color:#d9e9ff}#v9018-salon .v9025-history span{font-size:9px;color:#9cc4f2}#v9018-salon .v9025-history strong{font-size:clamp(10px,1.25vw,15px);letter-spacing:.04em}#v9018-salon .v9025-history small{font-size:9px;color:#9eafc0}#v9018-salon .v9022-cell img{object-fit:contain;filter:none}#v9018-salon .v9022-single img{filter:none}#v9018-salon .v9022-window{background:rgba(13,23,34,.93);border-color:#56738e66}#v9018-salon .v9022-screen{border-color:#294059}#v9018-salon .v9022-cell{background:#060c13}@media(max-width:600px){#v9018-salon .v9025-brand{padding:7px 39px 4px 8px}#v9018-salon .v9025-now{font-size:8px}#v9018-salon .v9025-tabs{padding:3px 5px}#v9018-salon .v9025-tabs span{padding:4px}#v9018-salon .v9025-history{margin:0 5px 5px;padding:5px}}


/* V90.27 · Piano Yamaha: fotografía original sobre cristal translúcido */
#v9018-salon .v9027-overlay[hidden]{display:none!important}
#v9018-salon .v9027-overlay{position:fixed;inset:0;z-index:9400;display:grid;place-items:center;padding:clamp(8px,2.5vw,32px)}
#v9018-salon .v9027-glass{position:absolute;inset:0;background:rgba(10,14,16,.48);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}
#v9018-salon .v9027-frame{position:relative;width:min(95vw,1180px);max-height:92vh;border-radius:12px;overflow:hidden;border:1px solid #ffffff75;box-shadow:0 22px 85px #000a;background:#121212}
#v9018-salon .v9027-photo{position:relative;width:100%;aspect-ratio:1408/1024}
#v9018-salon .v9027-photo img{width:100%;height:100%;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}
#v9018-salon .v9027-keys{position:absolute;left:0;top:56.1%;width:100%;height:16.5%;cursor:crosshair;touch-action:none}
#v9018-salon .v9027-close{position:absolute;z-index:3;right:12px;top:12px;width:35px;height:35px;border-radius:50%;border:1px solid #ffffffa8;background:#0b0d0dc7;color:#fff;font:25px/1 system-ui;cursor:pointer}
#v9018-salon .v9027-close:hover{background:#343434}
@media(max-width:600px){#v9018-salon .v9027-overlay{padding:4px}#v9018-salon .v9027-frame{width:99vw}}

/* V90.28 · Encuadre panorámico Yamaha */
#v9018-salon .v9027-frame {
  width: min(94vw, 1180px);
  max-height: 76vh;
}
#v9018-salon .v9027-photo {
  aspect-ratio: 2.05 / 1;
  overflow: hidden;
}
#v9018-salon .v9027-photo img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#v9018-salon .v9027-keys {
  top: 44.5%;
  height: 31%;
}

/* V90.29: carpeta y atril superpuestos; las teclas siguen en su posición */
#v9018-salon .v9029-folder[hidden],#v9018-salon .v9029-score[hidden]{display:none!important}
#v9018-salon .v9029-folder{position:absolute;z-index:2;left:5%;top:10%;width:105px;height:66px;border:1px solid #cfa65b;border-radius:5px;background:linear-gradient(140deg,#a87937,#e7c078);color:#30200e;box-shadow:3px 5px 10px #0009;transform:rotate(-5deg);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
#v9018-salon .v9029-folder span{font-size:28px;line-height:1}#v9018-salon .v9029-folder small{font:bold 10px system-ui;letter-spacing:.08em}
#v9018-salon .v9029-score{position:absolute;z-index:2;left:27%;top:0%;width:46%;height:46%;background:#1a1310e8;border:4px solid #4b3124;border-radius:4px;box-shadow:0 9px 20px #000b;overflow:hidden;color:#222}
#v9018-salon .v9029-score-head{height:23px;display:flex;align-items:center;justify-content:space-between;color:#e8d8b9;padding:0 6px;font:9px system-ui;letter-spacing:.04em}
#v9018-salon .v9029-back{color:white;background:transparent;border:0;font:18px system-ui;cursor:pointer}
#v9018-salon .v9029-paper{background:#f7efd9;margin:0 8px;height:calc(100% - 43px);padding:5px 12px;overflow:hidden}
#v9018-salon .v9029-title{text-align:center;font:italic bold clamp(10px,1.5vw,18px) Georgia,serif}
#v9018-salon .v9029-subtitle{text-align:center;font:9px Georgia,serif}
#v9018-salon .v9029-staff{height:30px;position:relative;display:flex;align-items:center;gap:2px}
#v9018-salon .v9029-staff span{font-size:20px;z-index:1}
#v9018-salon .v9029-staff i{position:absolute;left:0;right:0;border-top:1px solid #777}
#v9018-salon .v9029-staff i:nth-of-type(1){top:6px}#v9018-salon .v9029-staff i:nth-of-type(2){top:11px}#v9018-salon .v9029-staff i:nth-of-type(3){top:16px}#v9018-salon .v9029-staff i:nth-of-type(4){top:21px}#v9018-salon .v9029-staff i:nth-of-type(5){top:26px}
#v9018-salon .v9029-note{z-index:1;white-space:nowrap;letter-spacing:.35em;font-size:clamp(9px,1.2vw,16px);margin-left:12px}
#v9018-salon .v9029-progress{height:3px;background:#c9bca6;margin-top:5px}#v9018-salon .v9029-progress div{height:100%;width:0;background:#8a5b28}
#v9018-salon .v9029-score p{margin:2px 4px;color:#f4e6cb;text-align:center;font:9px system-ui}
@media(max-width:650px){#v9018-salon .v9029-folder{width:58px;height:40px;top:6%}#v9018-salon .v9029-folder span{font-size:17px}#v9018-salon .v9029-folder small{font-size:6px}#v9018-salon .v9029-score{left:19%;width:62%;height:54%}#v9018-salon .v9029-staff{height:22px}#v9018-salon .v9029-staff:nth-of-type(2){display:none}}

/* V90.31: recorte superior más ajustado, conservando teclado y controles */
#v9018-salon .v9027-photo{aspect-ratio:2.35 / 1}
#v9018-salon .v9027-keys{top:60.5%;height:28.5%}
#v9018-salon .v9029-folder{top:8%;left:5%}
#v9018-salon .v9029-score{top:1%;height:56%;left:25%;width:50%}
#v9018-salon .v9031-selector{display:flex;gap:3px;padding:3px 5px;background:#2d211a;justify-content:center}
#v9018-salon .v9031-selector button{border:1px solid #94754c;border-radius:3px;background:#e2d0a9;color:#30251b;font:clamp(8px,.9vw,12px) Georgia,serif;padding:3px 6px;cursor:pointer;white-space:nowrap}
#v9018-salon .v9031-selector button[aria-pressed="true"]{background:#fff6dc;border-color:#fff0b8;box-shadow:0 0 5px #fff9}
#v9018-salon .v9029-paper{height:calc(100% - 73px)}
@media(max-width:650px){#v9018-salon .v9029-score{left:17%;width:66%;height:65%}#v9018-salon .v9031-selector button{font-size:7px;padding:2px}#v9018-salon .v9029-paper{height:calc(100% - 66px)}}

/* V90.32 · Proyector Sony, microescena aislada */
#v9018-salon .v9032-overlay[hidden]{display:none!important}
#v9018-salon .v9032-overlay{position:fixed;inset:0;z-index:9450;display:grid;place-items:center;padding:12px}
#v9018-salon .v9032-backdrop{position:absolute;inset:0;background:rgba(7,9,12,.72);backdrop-filter:blur(10px)}
#v9018-salon .v9032-window{position:relative;width:min(96vw,1160px);aspect-ratio:1448/1086;max-height:94vh;overflow:hidden;border-radius:13px;background:#111;box-shadow:0 25px 90px #000b;border:1px solid #ffffff66}
#v9018-salon .v9032-room{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;user-select:none;pointer-events:none}
#v9018-salon .v9032-night{opacity:0;transition:opacity 1.15s ease}
#v9018-salon .v9032-on .v9032-night{opacity:1}
#v9018-salon .v9032-projection{position:absolute;left:28.3%;top:27.8%;width:37.5%;height:24.5%;opacity:0;pointer-events:none;overflow:hidden;background:#090d15;box-shadow:0 0 28px 9px #cbd9ff19;transition:opacity 1.15s ease;transform:perspective(700px) rotateY(-1deg)}
#v9018-salon .v9032-on .v9032-projection{opacity:.95;pointer-events:auto}
#v9018-salon .v9032-projection iframe{display:block;width:100%;height:100%;border:0}
#v9018-salon .v9032-power{position:absolute;left:31.2%;top:55.5%;width:3.5%;height:5%;border:0;border-radius:50%;background:transparent;cursor:pointer;z-index:4}
#v9018-salon .v9032-power:hover{outline:2px solid #9ee6ad;box-shadow:0 0 13px #7cdb8b}
#v9018-salon .v9032-close{position:absolute;right:12px;top:12px;z-index:5;border-radius:50%;width:38px;height:38px;border:1px solid #fffa;background:#080b0bbd;color:white;font:28px/1 system-ui;cursor:pointer}
#v9018-salon .v9032-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:#000a;border-radius:18px;padding:6px 14px;color:#fff;font:12px system-ui;pointer-events:none;white-space:nowrap;z-index:3}
@media(max-width:600px){#v9018-salon .v9032-overlay{padding:3px}#v9018-salon .v9032-window{width:99vw}}

/* V90.33 · RIDER y calibración visual */
#v9018-salon .v9032-hint{display:none!important}
#v9018-salon .v9033-rider1,#v9018-salon .v9033-rider2{position:absolute;z-index:4;background:transparent;border:0;border-radius:40%;cursor:pointer}
#v9018-salon .v9033-rider1:hover,#v9018-salon .v9033-rider2:hover,#v9018-salon .v9032-power:hover{outline:2px solid #9ee6ad;box-shadow:0 0 13px #7cdb8b}
#v9018-salon .v9033-cal-toggle{position:absolute;right:57px;top:12px;z-index:7;width:38px;height:38px;background:#080b0bbd;color:white;border:1px solid #fffa;border-radius:50%;cursor:pointer;font-size:20px}
#v9018-salon .v9033-cal[hidden]{display:none!important}
#v9018-salon .v9033-cal{position:absolute;z-index:8;right:8px;top:56px;width:min(300px,90%);padding:12px;box-sizing:border-box;background:#101821f2;color:#fff;border:1px solid #fff8;border-radius:9px;display:flex;flex-direction:column;gap:8px;font:12px system-ui;box-shadow:0 5px 20px #000a}
#v9018-salon .v9033-cal label{display:flex;justify-content:space-between;align-items:center;gap:10px}
#v9018-salon .v9033-cal input{width:65%}
#v9018-salon .v9033-cal button,#v9018-salon .v9033-cal select{font:12px system-ui;padding:5px;border-radius:4px}
#v9018-salon .v9033-cal small{opacity:.75}
#v9018-salon .v9033-calibrating .v9032-projection{outline:2px dashed #facc15;opacity:.75;pointer-events:none}
#v9018-salon .v9033-calibrating .v9032-power,#v9018-salon .v9033-calibrating .v9033-rider1,#v9018-salon .v9033-calibrating .v9033-rider2{outline:2px dashed #facc15;background:#facc1533}

/* V90.41: stage centrado, escala proporcional y área segura en móvil. */
#v9018-salon .v9018-stage{top:50%;bottom:auto;left:50%;width:max(100vw,133.333333dvh);height:auto;aspect-ratio:4/3;transform:translate(-50%,-50%)}
#v9018-salon .v9020-progress{max-width:calc(100vw - 16px);box-sizing:border-box}
@media(max-width:650px){#v9018-salon .v9018-stage{top:50%;width:max(100vw,133.333333dvh);height:auto;aspect-ratio:4/3;transform:translate(-50%,-50%)}}
@media(prefers-reduced-motion:reduce){#v9018-salon{scroll-behavior:auto}}
